@riverbankcms/sdk 0.95.0 → 0.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +47 -5
  2. package/dist/{PreviewEditorSidebar-6FQYKOSB.mjs → PreviewEditorSidebar-CG3SSJND.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-NPO2XMFB.mjs → PreviewEditorUI-RHNGKAAU.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-OV5PNJBB.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -10
  6. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +35 -1
  7. package/dist/_dts/api/src/bookingOperations.d.ts +246 -0
  8. package/dist/_dts/api/src/contentRuntime.d.ts +109 -40
  9. package/dist/_dts/api/src/endpoints.d.ts +80 -0
  10. package/dist/_dts/api/src/index.d.ts +3 -2
  11. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  12. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  14. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -1
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +7 -1
  16. package/dist/_dts/block-form/src/client/index.d.ts +1 -1
  17. package/dist/_dts/block-form/src/fields/types.d.ts +9 -1
  18. package/dist/_dts/block-form/src/registry/schemas.d.ts +4 -0
  19. package/dist/_dts/block-form/src/registry/widgets.d.ts +1 -0
  20. package/dist/_dts/block-form/src/widgets/InlineTextField/InlineTextField.d.ts +4 -0
  21. package/dist/_dts/block-form/src/widgets/InlineTextField/index.d.ts +3 -0
  22. package/dist/_dts/block-form/src/widgets/InlineTextField/inlineTextFieldDefaults.d.ts +2 -0
  23. package/dist/_dts/block-form/src/widgets/InlineTextField/inlineTextFieldSchema.d.ts +3 -0
  24. package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -1
  25. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -0
  26. package/dist/_dts/blocks/src/bindings/types.d.ts +1 -4
  27. package/dist/_dts/blocks/src/client/site-chrome.d.ts +7 -0
  28. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
  29. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +12 -12
  30. package/dist/_dts/blocks/src/index.d.ts +2 -0
  31. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -0
  32. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +2 -29631
  33. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -29614
  34. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +2 -29634
  35. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +2 -29627
  36. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -29585
  37. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +2 -0
  39. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +2 -29677
  40. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +2 -29655
  41. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  42. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +220 -0
  43. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +2 -29655
  44. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -29685
  45. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -29761
  46. package/dist/_dts/blocks/src/system/blocks/weekly-slot-availability.d.ts +34 -0
  47. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  48. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  49. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  50. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +4 -1
  52. package/dist/_dts/blocks/src/system/fragments/library/heroCopy.d.ts +9 -0
  53. package/dist/_dts/blocks/src/system/inlineText.d.ts +78 -0
  54. package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +3 -1
  55. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +15 -3
  56. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +188 -7
  57. package/dist/_dts/blocks/src/system/node/builder.d.ts +2 -0
  58. package/dist/_dts/blocks/src/system/node/schema.d.ts +13 -0
  59. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  60. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
  62. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  63. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +24 -0
  64. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -0
  65. package/dist/_dts/blocks/src/system/runtime/hooks/useAppointmentCheckoutVerification.d.ts +7 -0
  66. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +2 -2
  67. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +4 -0
  68. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +5 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +14 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +133 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/renderInlineText.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.controller.d.ts +3 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.d.ts +9 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.state.d.ts +14 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.server.d.ts +10 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.view.d.ts +11 -0
  79. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +31 -1
  80. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +5 -0
  81. package/dist/_dts/blocks/src/utils/date-formatting.d.ts +1 -1
  82. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  83. package/dist/_dts/content-editor/src/primitives/PreviewInlineTextEditor.d.ts +9 -0
  84. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
  85. package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +1 -1
  86. package/dist/_dts/content-model/src/templates/defaults.d.ts +30 -0
  87. package/dist/_dts/content-model/src/templates/types.d.ts +3 -6
  88. package/dist/_dts/core/src/branded.d.ts +8 -0
  89. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +505 -2
  90. package/dist/_dts/editor/src/inline/FloatingToolbar.d.ts +18 -0
  91. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +18 -1
  92. package/dist/_dts/editor/src/inline/InlineTextEditorStyles.d.ts +1 -0
  93. package/dist/_dts/editor/src/inline/domParse.d.ts +3 -0
  94. package/dist/_dts/editor/src/inline/presentation.d.ts +48 -0
  95. package/dist/_dts/editor/src/inline/selection.d.ts +12 -0
  96. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  97. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +3 -0
  98. package/dist/_dts/editor-blocks/src/widgets/inline-text/index.d.ts +1 -0
  99. package/dist/_dts/field-primitives/src/bindings/index.d.ts +8 -0
  100. package/dist/_dts/path-utils/src/index.d.ts +1 -0
  101. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  102. package/dist/_dts/sdk/src/cli/commands/content.d.ts +56 -0
  103. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +4 -0
  104. package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +15 -0
  105. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +4 -7
  106. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +5 -1
  107. package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +9 -3
  108. package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +56 -0
  109. package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +34 -0
  110. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +2 -1
  111. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +2 -0
  112. package/dist/_dts/sdk/src/cli/config-loader.d.ts +2 -0
  113. package/dist/_dts/sdk/src/cli/content/edit/format.d.ts +2 -0
  114. package/dist/_dts/sdk/src/cli/content/edit/path.d.ts +14 -0
  115. package/dist/_dts/sdk/src/cli/content/edit/planner.d.ts +46 -0
  116. package/dist/_dts/sdk/src/cli/content/fs-utils.d.ts +4 -0
  117. package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +29 -0
  118. package/dist/_dts/sdk/src/cli/content/reader.d.ts +16 -14
  119. package/dist/_dts/sdk/src/cli/content/writer.d.ts +8 -4
  120. package/dist/_dts/sdk/src/cli/env-scope.d.ts +2 -0
  121. package/dist/_dts/sdk/src/cli/helpers.d.ts +6 -7
  122. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -0
  123. package/dist/_dts/sdk/src/cli/merge-remote/mergeFieldChanges.d.ts +22 -0
  124. package/dist/_dts/sdk/src/cli/merge-remote/pageLocal.d.ts +3 -0
  125. package/dist/_dts/sdk/src/cli/merge-remote/pageMerge.d.ts +78 -0
  126. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePlan.d.ts +36 -0
  127. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +23 -0
  128. package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +29 -0
  129. package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +48 -0
  130. package/dist/_dts/sdk/src/cli/push-config.d.ts +13 -2
  131. package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +51 -0
  132. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +21 -0
  133. package/dist/_dts/sdk/src/cli/sync/diff.d.ts +3 -6
  134. package/dist/_dts/sdk/src/cli/sync/field-diff.d.ts +39 -0
  135. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -0
  136. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +1 -1
  137. package/dist/_dts/sdk/src/client/types.d.ts +18 -2
  138. package/dist/_dts/sdk/src/config/field-definitions.d.ts +8 -3
  139. package/dist/_dts/sdk/src/config/typed-entries.d.ts +5 -3
  140. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  141. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  142. package/dist/_dts/sdk/src/contracts/bindings.d.ts +4 -7
  143. package/dist/_dts/sdk/src/contracts/content.d.ts +18 -0
  144. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  145. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +16 -2
  146. package/dist/_dts/sdk/src/next/route-outcome-proxy.d.ts +3 -3
  147. package/dist/_dts/sdk/src/public-api/contracts.d.ts +174 -78
  148. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  149. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +4 -3
  150. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +52 -1
  151. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +2 -2
  152. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +18 -66
  153. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  154. package/dist/_dts/sdk/src/version.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  156. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -1
  157. package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
  158. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  159. package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
  160. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +42 -42
  161. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +2 -2
  162. package/dist/_dts/theme-core/src/schema.d.ts +44 -44
  163. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  164. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +16 -16
  165. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  166. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  167. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
  168. package/dist/{chunk-4A6NWO3X.mjs → chunk-6WDBXCPX.mjs} +73 -12
  169. package/dist/{chunk-VZBSD4AJ.mjs → chunk-DBRI3PQF.mjs} +2281 -322
  170. package/dist/{chunk-PJPFTVZG.mjs → chunk-H24OU7WG.mjs} +106 -4
  171. package/dist/{chunk-K2SJTZMX.mjs → chunk-PKDPQHB5.mjs} +2 -2
  172. package/dist/{chunk-VTPPVAOL.mjs → chunk-QPXE2OUZ.mjs} +1 -1
  173. package/dist/{chunk-7ED5UNHL.mjs → chunk-V2BYFSPW.mjs} +109 -0
  174. package/dist/cli/index.mjs +4182 -1165
  175. package/dist/cli/init-docs/content/cli-reference.md +72 -5
  176. package/dist/cli/init-docs/content/content-management.md +22 -0
  177. package/dist/cli/init-docs/content/getting-started.md +8 -0
  178. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +3 -1
  179. package/dist/cli/init-docs/content/workflow-preview-mode.md +6 -0
  180. package/dist/cli/init-docs/content/workflow-remote-setup.md +51 -0
  181. package/dist/client/{accordion-LGO4IO5U.mjs → accordion-Q2BDNL53.mjs} +1 -1
  182. package/dist/client/{bookingForm-MWLS4LGU.mjs → bookingForm-ZMP4P7EK.mjs} +16 -6
  183. package/dist/client/bookings.mjs +98 -18
  184. package/dist/client/{carousel-6AHNP5HA.mjs → carousel-LW3UXPWO.mjs} +1 -1
  185. package/dist/client/{cart-CIXGYAZB.mjs → cart-Z6D3KS6K.mjs} +5 -5
  186. package/dist/client/{checkout-OTX6O3DN.mjs → checkout-YMT2QJQM.mjs} +5 -5
  187. package/dist/client/{chunk-Y2PMKCXO.mjs → chunk-26ZBRXFR.mjs} +9 -3
  188. package/dist/client/{chunk-MYCXAKWP.mjs → chunk-DRRQ7QSL.mjs} +2 -2
  189. package/dist/client/{chunk-TREIML53.mjs → chunk-ET2MDQQT.mjs} +4 -4
  190. package/dist/client/{chunk-AVBQSUIS.mjs → chunk-HBQEAOG4.mjs} +1 -1
  191. package/dist/client/{chunk-INRIT6DP.mjs → chunk-IEOECM7U.mjs} +62 -43
  192. package/dist/client/{chunk-TNGL2WJF.mjs → chunk-KDP7ZRZV.mjs} +16 -0
  193. package/dist/client/{chunk-V67AT7ZW.mjs → chunk-R4XK3CKR.mjs} +18 -1
  194. package/dist/client/{chunk-R3NQTBWE.mjs → chunk-SK2BMD22.mjs} +2 -2
  195. package/dist/client/{chunk-HOP7MKAZ.mjs → chunk-XNTHVZ25.mjs} +1 -1
  196. package/dist/client/client.mjs +5172 -4177
  197. package/dist/client/{courseRegistration-2LU6C3JL.mjs → courseRegistration-DGKCMC77.mjs} +4 -4
  198. package/dist/client/{eventCalendar-OKUSISBZ.mjs → eventCalendar-74Z2NNFM.mjs} +7 -7
  199. package/dist/client/{eventCombined-CMF6CD4S.mjs → eventCombined-GK2ODOX2.mjs} +7 -7
  200. package/dist/client/{eventDetails-XYWH7WXI.mjs → eventDetails-MONAGT3N.mjs} +7 -7
  201. package/dist/client/{eventListing-EK5DJTAH.mjs → eventListing-SKGAO6PS.mjs} +7 -7
  202. package/dist/client/{eventRegistration-XDOSICV6.mjs → eventRegistration-6KISGXRD.mjs} +7 -7
  203. package/dist/client/{form-J6GOHKYG.mjs → form-FXPRTXHI.mjs} +2 -2
  204. package/dist/client/{headerSection-C5SYJTRW.mjs → headerSection-7NAN5WNB.mjs} +2 -2
  205. package/dist/client/hooks.mjs +1681 -1337
  206. package/dist/client/{locationMap-QSQIFVVT.mjs → locationMap-UERN74U4.mjs} +2 -2
  207. package/dist/client/{newsletterForm-47VXJRWK.mjs → newsletterForm-SGWXMJ7U.mjs} +2 -2
  208. package/dist/client/{productDetail-5U6ISCC2.mjs → productDetail-HN3HWZQZ.mjs} +5 -5
  209. package/dist/client/{productList-XDZUMR3P.mjs → productList-YT22Z5UR.mjs} +5 -5
  210. package/dist/client/rendering/client.mjs +4796 -4288
  211. package/dist/client/rendering/islands.mjs +18 -18
  212. package/dist/client/rendering.mjs +2120 -1106
  213. package/dist/client/{shop-ZSZKIY3R.mjs → shop-TKEDNWUS.mjs} +5 -5
  214. package/dist/preview-next/before-render.mjs +109 -0
  215. package/dist/preview-next/client/runtime.mjs +5 -5
  216. package/dist/preview-next/middleware.mjs +109 -0
  217. package/dist/{sdk-runtime-PHNM7MRD.mjs → sdk-runtime-LWNYCQF2.mjs} +6 -6
  218. package/dist/server/components.mjs +3777 -2981
  219. package/dist/server/config-template-validation.mjs +35 -22
  220. package/dist/server/config-validation.mjs +1883 -1565
  221. package/dist/server/config.mjs +1883 -1565
  222. package/dist/server/data.mjs +1667 -1334
  223. package/dist/server/index.mjs +208 -9
  224. package/dist/server/next/middleware.mjs +2 -2
  225. package/dist/server/next.mjs +4077 -3060
  226. package/dist/server/page-converter.mjs +1481 -1279
  227. package/dist/server/prebuild.mjs +1 -1
  228. package/dist/server/rendering/server.mjs +3806 -2993
  229. package/dist/server/rendering.mjs +4000 -3060
  230. package/dist/server/routing.mjs +1737 -1357
  231. package/dist/server/server.mjs +2918 -2276
  232. package/dist/server/theme-bridge.mjs +43 -0
  233. package/dist/styles/index.css +44 -0
  234. package/package.json +1 -1
  235. package/dist/SdkPreviewModeRuntime-PBEFH5AL.mjs +0 -8
@@ -1037,6 +1037,94 @@ var ENDPOINT_DEFINITIONS = {
1037
1037
  responseKind: "json",
1038
1038
  errors: ["resource:not_found", "server:internal_error"]
1039
1039
  },
1040
+ listAppointmentReservations: {
1041
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1042
+ method: "GET",
1043
+ auth: "user",
1044
+ responseKind: "json",
1045
+ errors: []
1046
+ },
1047
+ createAppointmentReservation: {
1048
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1049
+ method: "POST",
1050
+ auth: "user",
1051
+ responseKind: "json",
1052
+ errors: [
1053
+ "validation:invalid_input",
1054
+ "resource:not_found",
1055
+ "resource:conflict",
1056
+ "server:internal_error"
1057
+ ]
1058
+ },
1059
+ getAppointmentReservation: {
1060
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1061
+ method: "GET",
1062
+ auth: "user",
1063
+ responseKind: "json",
1064
+ errors: ["resource:not_found", "server:internal_error"]
1065
+ },
1066
+ updateAppointmentReservation: {
1067
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1068
+ method: "PUT",
1069
+ auth: "user",
1070
+ responseKind: "json",
1071
+ errors: [
1072
+ "validation:invalid_input",
1073
+ "resource:not_found",
1074
+ "resource:conflict",
1075
+ "server:internal_error"
1076
+ ]
1077
+ },
1078
+ pauseAppointmentReservation: {
1079
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/pause",
1080
+ method: "POST",
1081
+ auth: "user",
1082
+ responseKind: "json",
1083
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1084
+ },
1085
+ resumeAppointmentReservation: {
1086
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/resume",
1087
+ method: "POST",
1088
+ auth: "user",
1089
+ responseKind: "json",
1090
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1091
+ },
1092
+ endAppointmentReservation: {
1093
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/end",
1094
+ method: "POST",
1095
+ auth: "user",
1096
+ responseKind: "json",
1097
+ errors: [
1098
+ "validation:invalid_input",
1099
+ "resource:not_found",
1100
+ "resource:conflict",
1101
+ "server:internal_error"
1102
+ ]
1103
+ },
1104
+ previewAppointmentReservationRun: {
1105
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/run-preview",
1106
+ method: "POST",
1107
+ auth: "user",
1108
+ responseKind: "json",
1109
+ errors: [
1110
+ "validation:invalid_input",
1111
+ "resource:not_found",
1112
+ "resource:conflict",
1113
+ "server:internal_error"
1114
+ ]
1115
+ },
1116
+ createAppointmentReservationRun: {
1117
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/runs",
1118
+ method: "POST",
1119
+ auth: "user",
1120
+ responseKind: "json",
1121
+ errors: [
1122
+ "validation:invalid_input",
1123
+ "resource:not_found",
1124
+ "resource:conflict",
1125
+ "server:internal_error"
1126
+ ]
1127
+ },
1040
1128
  createTeamMemberProfile: {
1041
1129
  path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
1042
1130
  method: "POST",
@@ -3493,6 +3581,18 @@ var ENDPOINT_DEFINITIONS = {
3493
3581
  responseKind: "json",
3494
3582
  errors: ["validation:invalid_input", "server:internal_error"]
3495
3583
  },
3584
+ resolveRouteDecision: {
3585
+ path: "/sites/{siteId}/route-decision",
3586
+ method: "GET",
3587
+ tags: [
3588
+ TAG_TEMPLATES.siteRoutableContent,
3589
+ TAG_TEMPLATES.siteRedirects,
3590
+ TAG_TEMPLATES.siteRouteOutcomes
3591
+ ],
3592
+ auth: "public",
3593
+ responseKind: "json",
3594
+ errors: ["validation:invalid_input", "server:internal_error"]
3595
+ },
3496
3596
  getPageByPath: {
3497
3597
  path: "/sites/{siteId}/pages",
3498
3598
  method: "GET",
@@ -3631,6 +3731,15 @@ var ENDPOINT_DEFINITIONS = {
3631
3731
  auth: "public",
3632
3732
  responseKind: "json"
3633
3733
  },
3734
+ getPublicWeeklySlotAvailability: {
3735
+ path: "/public/bookings/weekly-slot-availability",
3736
+ method: "GET",
3737
+ revalidate: 60,
3738
+ tags: ["site-{siteId}"],
3739
+ auth: "public",
3740
+ responseKind: "json",
3741
+ errors: []
3742
+ },
3634
3743
  createPublicBookingAppointment: {
3635
3744
  path: "/public/bookings/appointments",
3636
3745
  method: "POST",
@@ -6788,7 +6897,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
6788
6897
  );
6789
6898
 
6790
6899
  // ../api/src/sdkConfig/contracts.ts
6791
- import { z as z63 } from "zod";
6900
+ import { z as z64 } from "zod";
6792
6901
 
6793
6902
  // ../blocks/src/system/manifest/augmentManifest.ts
6794
6903
  function augmentManifest(manifest) {
@@ -6957,10 +7066,20 @@ var repeatSchema = z3.object({
6957
7066
  direction: z3.enum(["asc", "desc"]).default("asc")
6958
7067
  }).optional()
6959
7068
  });
7069
+ var conditionalAuthoringPresenceSchema = z3.discriminatedUnion("kind", [
7070
+ z3.object({ kind: z3.literal("visitor-only") }),
7071
+ z3.object({
7072
+ kind: z3.literal("recover-empty-when-active"),
7073
+ placeholder: z3.string().min(1).optional()
7074
+ })
7075
+ ]);
6960
7076
  var conditionSchema = z3.object({
6961
7077
  when: bindingSchema,
6962
7078
  equals: z3.unknown().optional(),
6963
- not: z3.boolean().default(false)
7079
+ not: z3.boolean().default(false),
7080
+ authoringPresence: conditionalAuthoringPresenceSchema.default({
7081
+ kind: "visitor-only"
7082
+ })
6964
7083
  });
6965
7084
  var dataScopeSchema = z3.object({
6966
7085
  name: z3.string().min(1),
@@ -7248,6 +7367,11 @@ var textFieldSchema = baseFieldSchema.extend({
7248
7367
  var richTextFieldSchema = baseFieldSchema.extend({
7249
7368
  type: z4.literal("richText")
7250
7369
  });
7370
+ var inlineTextFieldSchema = baseFieldSchema.extend({
7371
+ type: z4.literal("inlineText"),
7372
+ maxLength: z4.number().int().positive().optional(),
7373
+ plainTextField: z4.string().min(1).optional()
7374
+ });
7251
7375
  var mediaFieldSchema = baseFieldSchema.extend({
7252
7376
  type: z4.literal("media"),
7253
7377
  // Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
@@ -7570,6 +7694,7 @@ function getFieldSchemaInternal() {
7570
7694
  _fieldSchemaInternal = z4.discriminatedUnion("type", [
7571
7695
  textFieldSchema,
7572
7696
  richTextFieldSchema,
7697
+ inlineTextFieldSchema,
7573
7698
  mediaFieldSchema,
7574
7699
  fileFieldSchema,
7575
7700
  booleanFieldSchema,
@@ -18020,7 +18145,8 @@ function when(path, options) {
18020
18145
  $when: {
18021
18146
  when: { from: path },
18022
18147
  ...options?.equals !== void 0 ? { equals: options.equals } : {},
18023
- ...options?.not ? { not: true } : {}
18148
+ ...options?.not ? { not: true } : {},
18149
+ ...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
18024
18150
  }
18025
18151
  });
18026
18152
  }
@@ -20099,8 +20225,16 @@ var heroCopyFragment = defineFragment({
20099
20225
  id: "headline",
20100
20226
  type: "text",
20101
20227
  label: "Headline",
20228
+ maxLength: 120,
20229
+ ui: { hidden: true }
20230
+ },
20231
+ {
20232
+ id: "headlineInline",
20233
+ type: "inlineText",
20234
+ label: "Headline",
20102
20235
  required: true,
20103
- maxLength: 120
20236
+ maxLength: 120,
20237
+ plainTextField: "headline"
20104
20238
  },
20105
20239
  {
20106
20240
  id: "subheadline",
@@ -20125,9 +20259,12 @@ var heroCopyFragment = defineFragment({
20125
20259
  as: "h1",
20126
20260
  // heading-display: uses fluid typography from theme (--fs-h1-display-fluid)
20127
20261
  // Color in blocks-static/index.css (.hero-headline)
20128
- className: "hero-headline heading-display"
20262
+ className: "hero-headline heading-display",
20263
+ // Resolved against top-level block content; keep this beside the sibling headline field.
20264
+ inlineTextFallbackPath: "headline",
20265
+ maxLength: 120
20129
20266
  },
20130
- bind("content.headline")
20267
+ bind("content.headlineInline")
20131
20268
  ),
20132
20269
  text(
20133
20270
  {
@@ -27850,77 +27987,247 @@ var appointmentBookingBlockDefinition = {
27850
27987
  }
27851
27988
  };
27852
27989
 
27990
+ // ../blocks/src/system/blocks/weekly-slot-availability.ts
27991
+ import { z as z39 } from "zod";
27992
+ var weeklySlotAvailabilityManifest = createBlockManifest({
27993
+ id: "block.weekly-slot-availability",
27994
+ version: "1.0.0",
27995
+ title: "Weekly Slot Availability",
27996
+ titleSource: "heading",
27997
+ description: "Shows available recurring appointment slot patterns",
27998
+ skipSectionStyles: true,
27999
+ additionalFields: [
28000
+ {
28001
+ id: "serviceId",
28002
+ type: "reference",
28003
+ label: "Appointment service",
28004
+ description: "Choose which appointment service to show availability for",
28005
+ required: true,
28006
+ referenceKind: "appointmentService",
28007
+ allowManualEntry: false,
28008
+ ui: { intent: "behavior" }
28009
+ },
28010
+ {
28011
+ id: "resourceId",
28012
+ type: "reference",
28013
+ label: "Appointment resource",
28014
+ description: "Optionally narrow the availability to one practitioner or room",
28015
+ required: false,
28016
+ referenceKind: "appointmentResource",
28017
+ allowManualEntry: false,
28018
+ ui: { intent: "behavior" }
28019
+ },
28020
+ {
28021
+ id: "horizonWeeks",
28022
+ type: "select",
28023
+ label: "Look ahead",
28024
+ required: false,
28025
+ multiple: false,
28026
+ defaultValue: "4",
28027
+ options: [
28028
+ { value: "1", label: "1 week" },
28029
+ { value: "2", label: "2 weeks" },
28030
+ { value: "4", label: "4 weeks" }
28031
+ ],
28032
+ ui: { intent: "behavior" }
28033
+ },
28034
+ {
28035
+ id: "timezone",
28036
+ type: "text",
28037
+ label: "Timezone",
28038
+ description: "Leave blank to use the visitor timezone when the block loads",
28039
+ required: false,
28040
+ multiline: false,
28041
+ defaultValue: "",
28042
+ maxLength: 64,
28043
+ ui: { intent: "behavior" }
28044
+ },
28045
+ {
28046
+ id: "heading",
28047
+ type: "text",
28048
+ label: "Heading",
28049
+ required: false,
28050
+ multiline: false,
28051
+ defaultValue: "Weekly availability"
28052
+ },
28053
+ {
28054
+ id: "description",
28055
+ type: "richText",
28056
+ label: "Description",
28057
+ required: false
28058
+ },
28059
+ {
28060
+ id: "emptyMessage",
28061
+ type: "text",
28062
+ label: "Empty message",
28063
+ required: false,
28064
+ multiline: true,
28065
+ defaultValue: "No regular weekly openings are currently available.",
28066
+ maxLength: 180
28067
+ },
28068
+ {
28069
+ id: "ctaText",
28070
+ type: "text",
28071
+ label: "Enquiry button text",
28072
+ required: false,
28073
+ multiline: false,
28074
+ defaultValue: "Enquire about this slot",
28075
+ maxLength: 60
28076
+ },
28077
+ {
28078
+ id: "ctaUrl",
28079
+ type: "url",
28080
+ label: "Enquiry URL",
28081
+ required: false,
28082
+ ui: { intent: "behavior" }
28083
+ },
28084
+ sectionStylesField({
28085
+ id: "_sectionStyles",
28086
+ label: "Section styles"
28087
+ })
28088
+ ],
28089
+ styleTokens: { background: "surface", typography: "body", spacing: "md" },
28090
+ behaviours: {
28091
+ supportsThemeSwitching: true,
28092
+ inlineEditing: false,
28093
+ animation: false,
28094
+ paletteHidden: false
28095
+ },
28096
+ category: "interactive",
28097
+ tags: ["booking", "appointment", "calendar", "weekly", "availability"],
28098
+ icon: "CalendarDays",
28099
+ layout: [
28100
+ styledSection({
28101
+ children: sectionContainer([
28102
+ text({ as: "h2" }, bind("content.heading"), when("content.heading")),
28103
+ richText({}, bind("content.description"), when("content.description")),
28104
+ el(
28105
+ "weekly-slot-availability",
28106
+ withApiBindings({
28107
+ serviceId: { $bind: { from: "content.serviceId" } },
28108
+ resourceId: { $bind: { from: "content.resourceId", fallback: null } },
28109
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
28110
+ timezone: { $bind: { from: "content.timezone", fallback: null } },
28111
+ availability: { $bind: { from: "data.availability", fallback: null } },
28112
+ emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
28113
+ ctaText: { $bind: { from: "content.ctaText", fallback: null } },
28114
+ ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
28115
+ })
28116
+ )
28117
+ ], {
28118
+ gap: "lg"
28119
+ }),
28120
+ baseClass: "",
28121
+ spacing: "spacious"
28122
+ })
28123
+ ]
28124
+ });
28125
+ var weeklySlotAvailabilityOptionSchema = z39.object({
28126
+ id: z39.string(),
28127
+ resourceId: z39.string(),
28128
+ weekday: z39.number(),
28129
+ weekdayLabel: z39.string(),
28130
+ startTime: z39.string(),
28131
+ endTime: z39.string(),
28132
+ nextDate: z39.string(),
28133
+ availableWeeks: z39.number()
28134
+ });
28135
+ var weeklySlotAvailabilityDataSchema = z39.object({
28136
+ slots: z39.array(weeklySlotAvailabilityOptionSchema),
28137
+ horizonWeeks: z39.number(),
28138
+ timezone: z39.string(),
28139
+ startDate: z39.string(),
28140
+ endDate: z39.string()
28141
+ });
28142
+ var weeklySlotAvailabilityBlockDefinition = {
28143
+ manifest: weeklySlotAvailabilityManifest,
28144
+ dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
28145
+ dataLoaders: {
28146
+ availability: {
28147
+ endpoint: "getPublicWeeklySlotAvailability",
28148
+ params: {
28149
+ siteId: { $bind: { from: "$root.siteId" } },
28150
+ serviceId: { $bind: { from: "content.serviceId" } },
28151
+ resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
28152
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
28153
+ timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
28154
+ },
28155
+ mode: "server"
28156
+ }
28157
+ }
28158
+ };
28159
+
27853
28160
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27854
- import { z as z43 } from "zod";
28161
+ import { z as z44 } from "zod";
27855
28162
 
27856
28163
  // ../blocks/src/lib/media.ts
27857
- import z39 from "zod";
28164
+ import z40 from "zod";
27858
28165
  var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
27859
28166
  "document",
27860
28167
  "spreadsheet",
27861
28168
  "archive",
27862
28169
  "audio"
27863
28170
  ];
27864
- var hotspotSchema2 = z39.object({
27865
- x: z39.number().min(0).max(1),
27866
- y: z39.number().min(0).max(1),
27867
- radius: z39.number().optional()
27868
- });
27869
- var rotationSchema2 = z39.union([z39.literal(0), z39.literal(90), z39.literal(180), z39.literal(270)]);
27870
- var rectSchema2 = z39.tuple([z39.number(), z39.number(), z39.number(), z39.number()]);
27871
- var aspectCropSchema2 = z39.object({
27872
- aspect: z39.preprocess((value) => value == null ? void 0 : value, z39.string().optional()),
27873
- rect: z39.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
27874
- hotspot: z39.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
27875
- rotation: z39.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
27876
- });
27877
- var transformSchema2 = z39.object({
27878
- aspectCrops: z39.preprocess((value) => {
28171
+ var hotspotSchema2 = z40.object({
28172
+ x: z40.number().min(0).max(1),
28173
+ y: z40.number().min(0).max(1),
28174
+ radius: z40.number().optional()
28175
+ });
28176
+ var rotationSchema2 = z40.union([z40.literal(0), z40.literal(90), z40.literal(180), z40.literal(270)]);
28177
+ var rectSchema2 = z40.tuple([z40.number(), z40.number(), z40.number(), z40.number()]);
28178
+ var aspectCropSchema2 = z40.object({
28179
+ aspect: z40.preprocess((value) => value == null ? void 0 : value, z40.string().optional()),
28180
+ rect: z40.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
28181
+ hotspot: z40.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
28182
+ rotation: z40.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
28183
+ });
28184
+ var transformSchema2 = z40.object({
28185
+ aspectCrops: z40.preprocess((value) => {
27879
28186
  if (!value || typeof value !== "object" || Array.isArray(value)) {
27880
28187
  return void 0;
27881
28188
  }
27882
28189
  return value;
27883
- }, z39.record(z39.string(), aspectCropSchema2.catch({}))).optional(),
28190
+ }, z40.record(z40.string(), aspectCropSchema2.catch({}))).optional(),
27884
28191
  rect: rectSchema2.optional(),
27885
28192
  hotspot: hotspotSchema2.optional(),
27886
28193
  rotation: rotationSchema2.optional()
27887
28194
  });
27888
- var mediaPosterSchema = z39.discriminatedUnion("tag", [
27889
- z39.object({
27890
- tag: z39.literal("storage"),
27891
- assetId: z39.string().optional(),
27892
- storageBucket: z39.string().min(1),
27893
- storagePath: z39.string().min(1)
28195
+ var mediaPosterSchema = z40.discriminatedUnion("tag", [
28196
+ z40.object({
28197
+ tag: z40.literal("storage"),
28198
+ assetId: z40.string().optional(),
28199
+ storageBucket: z40.string().min(1),
28200
+ storagePath: z40.string().min(1)
27894
28201
  }),
27895
- z39.object({
27896
- tag: z39.literal("external-src"),
27897
- assetId: z39.string().optional(),
27898
- src: z39.string().url()
28202
+ z40.object({
28203
+ tag: z40.literal("external-src"),
28204
+ assetId: z40.string().optional(),
28205
+ src: z40.string().url()
27899
28206
  })
27900
28207
  ]);
27901
- var mediaBaseSchema = z39.object({
27902
- purpose: z39.string().optional(),
27903
- placeholder: z39.boolean().default(true).optional(),
27904
- assetId: z39.string().optional(),
27905
- identifier: z39.string().optional(),
27906
- src: z39.string().optional(),
27907
- alt: z39.string().optional(),
27908
- filename: z39.string().optional(),
27909
- mimeType: z39.string().optional(),
27910
- width: z39.number().optional(),
27911
- height: z39.number().optional(),
27912
- storageBucket: z39.string().optional(),
27913
- storagePath: z39.string().optional(),
28208
+ var mediaBaseSchema = z40.object({
28209
+ purpose: z40.string().optional(),
28210
+ placeholder: z40.boolean().default(true).optional(),
28211
+ assetId: z40.string().optional(),
28212
+ identifier: z40.string().optional(),
28213
+ src: z40.string().optional(),
28214
+ alt: z40.string().optional(),
28215
+ filename: z40.string().optional(),
28216
+ mimeType: z40.string().optional(),
28217
+ width: z40.number().optional(),
28218
+ height: z40.number().optional(),
28219
+ storageBucket: z40.string().optional(),
28220
+ storagePath: z40.string().optional(),
27914
28221
  poster: mediaPosterSchema.optional(),
27915
28222
  transform: transformSchema2.optional()
27916
28223
  });
27917
- var imageMediaSchema = mediaBaseSchema.extend({ type: z39.literal("image") });
27918
- var videoMediaSchema = mediaBaseSchema.extend({ type: z39.literal("video") });
27919
- var audioMediaSchema = mediaBaseSchema.extend({ type: z39.literal("audio") });
27920
- var documentMediaSchema = mediaBaseSchema.extend({ type: z39.literal("document") });
27921
- var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z39.literal("spreadsheet") });
27922
- var archiveMediaSchema = mediaBaseSchema.extend({ type: z39.literal("archive") });
27923
- var mediaSchema2 = z39.discriminatedUnion("type", [
28224
+ var imageMediaSchema = mediaBaseSchema.extend({ type: z40.literal("image") });
28225
+ var videoMediaSchema = mediaBaseSchema.extend({ type: z40.literal("video") });
28226
+ var audioMediaSchema = mediaBaseSchema.extend({ type: z40.literal("audio") });
28227
+ var documentMediaSchema = mediaBaseSchema.extend({ type: z40.literal("document") });
28228
+ var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z40.literal("spreadsheet") });
28229
+ var archiveMediaSchema = mediaBaseSchema.extend({ type: z40.literal("archive") });
28230
+ var mediaSchema2 = z40.discriminatedUnion("type", [
27924
28231
  imageMediaSchema,
27925
28232
  videoMediaSchema,
27926
28233
  audioMediaSchema,
@@ -27930,372 +28237,372 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
27930
28237
  ]);
27931
28238
 
27932
28239
  // ../blocks/src/system/manifest/richTextSchema.ts
27933
- import { z as z40 } from "zod";
27934
- var TipTapMarkSchema = z40.object({
27935
- type: z40.string(),
27936
- attrs: z40.record(z40.string(), z40.unknown()).optional()
27937
- });
27938
- var TipTapNodeSchema = z40.lazy(
27939
- () => z40.object({
27940
- type: z40.string(),
27941
- content: z40.array(TipTapNodeSchema).optional(),
27942
- text: z40.string().optional(),
27943
- attrs: z40.record(z40.string(), z40.unknown()).optional(),
27944
- marks: z40.array(TipTapMarkSchema).optional()
28240
+ import { z as z41 } from "zod";
28241
+ var TipTapMarkSchema = z41.object({
28242
+ type: z41.string(),
28243
+ attrs: z41.record(z41.string(), z41.unknown()).optional()
28244
+ });
28245
+ var TipTapNodeSchema = z41.lazy(
28246
+ () => z41.object({
28247
+ type: z41.string(),
28248
+ content: z41.array(TipTapNodeSchema).optional(),
28249
+ text: z41.string().optional(),
28250
+ attrs: z41.record(z41.string(), z41.unknown()).optional(),
28251
+ marks: z41.array(TipTapMarkSchema).optional()
27945
28252
  })
27946
28253
  );
27947
- var RichTextValueSchema = z40.union([
28254
+ var RichTextValueSchema = z41.union([
27948
28255
  // Canonical: TipTap document directly
27949
28256
  TipTapNodeSchema,
27950
28257
  // Legacy (read-tolerance only): wrapped in { doc: {...} }
27951
- z40.object({
28258
+ z41.object({
27952
28259
  doc: TipTapNodeSchema
27953
28260
  })
27954
28261
  ]);
27955
- var RichTextDocSchema = z40.object({
27956
- type: z40.literal("doc"),
27957
- content: z40.array(TipTapNodeSchema)
28262
+ var RichTextDocSchema = z41.object({
28263
+ type: z41.literal("doc"),
28264
+ content: z41.array(TipTapNodeSchema)
27958
28265
  });
27959
28266
 
27960
28267
  // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
27961
- import { z as z41 } from "zod";
27962
- var bookingDepositRefundPolicySchema = z41.enum([
28268
+ import { z as z42 } from "zod";
28269
+ var bookingDepositRefundPolicySchema = z42.enum([
27963
28270
  "refundable",
27964
28271
  "non_refundable"
27965
28272
  ]);
27966
- var bookingInstalmentPlanSchema = z41.union([
27967
- z41.object({
27968
- kind: z41.literal("deposit_plus_one_remainder"),
27969
- depositAmountCents: z41.number().int().min(0),
28273
+ var bookingInstalmentPlanSchema = z42.union([
28274
+ z42.object({
28275
+ kind: z42.literal("deposit_plus_one_remainder"),
28276
+ depositAmountCents: z42.number().int().min(0),
27970
28277
  depositRefundability: bookingDepositRefundPolicySchema,
27971
- remainderDueCount: z41.number().int().positive(),
27972
- intervalUnit: z41.enum(["day", "week", "month"])
28278
+ remainderDueCount: z42.number().int().positive(),
28279
+ intervalUnit: z42.enum(["day", "week", "month"])
27973
28280
  }),
27974
- z41.object({
27975
- kind: z41.literal("deposit_plus_scheduled_instalments"),
27976
- depositAmountCents: z41.number().int().min(0),
28281
+ z42.object({
28282
+ kind: z42.literal("deposit_plus_scheduled_instalments"),
28283
+ depositAmountCents: z42.number().int().min(0),
27977
28284
  depositRefundability: bookingDepositRefundPolicySchema,
27978
- instalmentCount: z41.number().int().positive(),
27979
- intervalCount: z41.number().int().positive(),
27980
- intervalUnit: z41.enum(["day", "week", "month"])
28285
+ instalmentCount: z42.number().int().positive(),
28286
+ intervalCount: z42.number().int().positive(),
28287
+ intervalUnit: z42.enum(["day", "week", "month"])
27981
28288
  }),
27982
- z41.object({
27983
- kind: z41.literal("equal_scheduled_instalments"),
27984
- instalmentCount: z41.number().int().positive(),
27985
- intervalCount: z41.number().int().positive(),
27986
- intervalUnit: z41.enum(["day", "week", "month"])
28289
+ z42.object({
28290
+ kind: z42.literal("equal_scheduled_instalments"),
28291
+ instalmentCount: z42.number().int().positive(),
28292
+ intervalCount: z42.number().int().positive(),
28293
+ intervalUnit: z42.enum(["day", "week", "month"])
27987
28294
  })
27988
28295
  ]);
27989
- var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
27990
- z41.object({
27991
- kind: z41.literal("relative_to_start_date"),
27992
- daysBeforeStart: z41.number().int().positive()
28296
+ var bookingFlexibleBalanceDueDateRuleSchema = z42.union([
28297
+ z42.object({
28298
+ kind: z42.literal("relative_to_start_date"),
28299
+ daysBeforeStart: z42.number().int().positive()
27993
28300
  }),
27994
- z41.object({
27995
- kind: z41.literal("fixed_calendar_date"),
27996
- dueAt: z41.string().datetime()
28301
+ z42.object({
28302
+ kind: z42.literal("fixed_calendar_date"),
28303
+ dueAt: z42.string().datetime()
27997
28304
  })
27998
28305
  ]);
27999
- var bookingFlexibleBalanceConfigSchema = z41.object({
28000
- upfrontAmountCents: z41.number().int().min(0),
28306
+ var bookingFlexibleBalanceConfigSchema = z42.object({
28307
+ upfrontAmountCents: z42.number().int().min(0),
28001
28308
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
28002
28309
  depositRefundability: bookingDepositRefundPolicySchema
28003
28310
  });
28004
- var blockBookingPaymentCollectionOptionSchema = z41.union([
28005
- z41.object({
28006
- kind: z41.literal("upfront")
28311
+ var blockBookingPaymentCollectionOptionSchema = z42.union([
28312
+ z42.object({
28313
+ kind: z42.literal("upfront")
28007
28314
  }),
28008
- z41.object({
28009
- kind: z41.literal("deferred_manual")
28315
+ z42.object({
28316
+ kind: z42.literal("deferred_manual")
28010
28317
  }),
28011
- z41.object({
28012
- kind: z41.literal("instalment_plan"),
28318
+ z42.object({
28319
+ kind: z42.literal("instalment_plan"),
28013
28320
  plan: bookingInstalmentPlanSchema
28014
28321
  }),
28015
- z41.object({
28016
- kind: z41.literal("flexible_balance"),
28322
+ z42.object({
28323
+ kind: z42.literal("flexible_balance"),
28017
28324
  config: bookingFlexibleBalanceConfigSchema
28018
28325
  })
28019
28326
  ]);
28020
- var blockBookingPaymentTermsSchema = z41.object({
28021
- allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
28327
+ var blockBookingPaymentTermsSchema = z42.object({
28328
+ allowedOptions: z42.array(blockBookingPaymentCollectionOptionSchema).min(1)
28022
28329
  });
28023
28330
 
28024
28331
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
28025
- import { z as z42 } from "zod";
28026
- var courseVenueSchema = z42.object({
28027
- id: z42.string(),
28028
- name: z42.string(),
28029
- address: z42.string().nullable()
28030
- });
28031
- var courseSessionSchema = z42.object({
28032
- id: z42.string(),
28033
- startsAt: z42.string(),
28034
- endsAt: z42.string(),
28035
- timeZone: z42.string(),
28036
- capacityOverride: z42.number().nullable().optional(),
28037
- overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
28038
- });
28039
- var courseTeamMemberSummarySchema = z42.object({
28040
- id: z42.string(),
28041
- name: z42.string(),
28042
- roleLabel: z42.string().nullable(),
28043
- summary: z42.string().nullable(),
28044
- profilePath: z42.string().nullable()
28045
- });
28046
- var coursePricingOptionSchema = z42.object({
28047
- id: z42.string(),
28048
- name: z42.string(),
28049
- description: z42.string().nullable(),
28050
- priceAmount: z42.number(),
28051
- isActive: z42.boolean(),
28052
- sortOrder: z42.number(),
28053
- capacityLimit: z42.number().nullable(),
28054
- saleStartsAt: z42.string().nullable(),
28055
- saleEndsAt: z42.string().nullable(),
28056
- attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
28057
- });
28058
- var coursePricingSchema = z42.object({
28059
- bookingRequirement: z42.enum(["none", "required"]),
28060
- pricingStrategy: z42.enum(["free", "single", "tiered", "sliding_scale"]),
28061
- currency: z42.string(),
28062
- singlePriceAmount: z42.number().nullable(),
28063
- slidingMinAmount: z42.number().nullable().optional(),
28064
- slidingMaxAmount: z42.number().nullable().optional(),
28065
- slidingSuggestedAmount: z42.number().nullable().optional(),
28332
+ import { z as z43 } from "zod";
28333
+ var courseVenueSchema = z43.object({
28334
+ id: z43.string(),
28335
+ name: z43.string(),
28336
+ address: z43.string().nullable()
28337
+ });
28338
+ var courseSessionSchema = z43.object({
28339
+ id: z43.string(),
28340
+ startsAt: z43.string(),
28341
+ endsAt: z43.string(),
28342
+ timeZone: z43.string(),
28343
+ capacityOverride: z43.number().nullable().optional(),
28344
+ overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
28345
+ });
28346
+ var courseTeamMemberSummarySchema = z43.object({
28347
+ id: z43.string(),
28348
+ name: z43.string(),
28349
+ roleLabel: z43.string().nullable(),
28350
+ summary: z43.string().nullable(),
28351
+ profilePath: z43.string().nullable()
28352
+ });
28353
+ var coursePricingOptionSchema = z43.object({
28354
+ id: z43.string(),
28355
+ name: z43.string(),
28356
+ description: z43.string().nullable(),
28357
+ priceAmount: z43.number(),
28358
+ isActive: z43.boolean(),
28359
+ sortOrder: z43.number(),
28360
+ capacityLimit: z43.number().nullable(),
28361
+ saleStartsAt: z43.string().nullable(),
28362
+ saleEndsAt: z43.string().nullable(),
28363
+ attendanceScope: z43.enum(["in_person", "online", "both"]).nullable().optional()
28364
+ });
28365
+ var coursePricingSchema = z43.object({
28366
+ bookingRequirement: z43.enum(["none", "required"]),
28367
+ pricingStrategy: z43.enum(["free", "single", "tiered", "sliding_scale"]),
28368
+ currency: z43.string(),
28369
+ singlePriceAmount: z43.number().nullable(),
28370
+ slidingMinAmount: z43.number().nullable().optional(),
28371
+ slidingMaxAmount: z43.number().nullable().optional(),
28372
+ slidingSuggestedAmount: z43.number().nullable().optional(),
28066
28373
  paymentTerms: blockBookingPaymentTermsSchema,
28067
- options: z42.array(coursePricingOptionSchema)
28068
- });
28069
- var publicCourseSchema = z42.object({
28070
- id: z42.string(),
28071
- title: z42.string(),
28072
- slug: z42.string(),
28073
- description: z42.unknown().nullable(),
28074
- teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
28075
- enrollmentOpen: z42.boolean(),
28374
+ options: z43.array(coursePricingOptionSchema)
28375
+ });
28376
+ var publicCourseSchema = z43.object({
28377
+ id: z43.string(),
28378
+ title: z43.string(),
28379
+ slug: z43.string(),
28380
+ description: z43.unknown().nullable(),
28381
+ teamMembers: z43.array(courseTeamMemberSummarySchema).optional(),
28382
+ enrollmentOpen: z43.boolean(),
28076
28383
  pricing: coursePricingSchema.optional(),
28077
- priceCents: z42.number().nullable(),
28078
- currency: z42.string(),
28384
+ priceCents: z43.number().nullable(),
28385
+ currency: z43.string(),
28079
28386
  paymentTerms: blockBookingPaymentTermsSchema,
28080
- enrollmentCapacity: z42.number().nullable(),
28081
- acceptsMemberships: z42.boolean(),
28082
- status: z42.enum(["active", "draft", "cancelled"]),
28083
- sessionsCount: z42.number(),
28084
- enrolledCount: z42.number(),
28085
- availableSpots: z42.number().nullable(),
28086
- sessions: z42.array(courseSessionSchema),
28387
+ enrollmentCapacity: z43.number().nullable(),
28388
+ acceptsMemberships: z43.boolean(),
28389
+ status: z43.enum(["active", "draft", "cancelled"]),
28390
+ sessionsCount: z43.number(),
28391
+ enrolledCount: z43.number(),
28392
+ availableSpots: z43.number().nullable(),
28393
+ sessions: z43.array(courseSessionSchema),
28087
28394
  venue: courseVenueSchema.nullable(),
28088
- contentEntryId: z42.string().nullable()
28395
+ contentEntryId: z43.string().nullable()
28089
28396
  });
28090
- var publicCoursesArraySchema = z42.array(publicCourseSchema);
28397
+ var publicCoursesArraySchema = z43.array(publicCourseSchema);
28091
28398
 
28092
28399
  // ../blocks/src/system/blocks/events/shared/schemas.ts
28093
- var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
28094
- var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
28095
- var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
28096
- var publicEventDestinationSchema = z43.discriminatedUnion("kind", [
28097
- z43.object({
28098
- kind: z43.literal("native"),
28400
+ var eventPresetSchema = z44.enum(["event", "class", "workshop", "retreat", "performance"]);
28401
+ var eventScheduleScopeSchema = z44.enum(["recurring", "oneOff"]);
28402
+ var eventDestinationModeSchema = z44.enum(["cms-managed", "system-managed"]);
28403
+ var publicEventDestinationSchema = z44.discriminatedUnion("kind", [
28404
+ z44.object({
28405
+ kind: z44.literal("native"),
28099
28406
  mode: eventDestinationModeSchema,
28100
- path: z43.string()
28407
+ path: z44.string()
28101
28408
  }),
28102
- z43.object({
28103
- kind: z43.literal("external"),
28104
- url: z43.string(),
28105
- label: z43.string()
28409
+ z44.object({
28410
+ kind: z44.literal("external"),
28411
+ url: z44.string(),
28412
+ label: z44.string()
28106
28413
  })
28107
28414
  ]);
28108
- var eventVenueSchema = z43.object({
28109
- id: z43.string(),
28110
- name: z43.string(),
28111
- address: z43.string().nullable(),
28112
- location: z43.object({
28113
- lat: z43.number(),
28114
- lng: z43.number()
28415
+ var eventVenueSchema = z44.object({
28416
+ id: z44.string(),
28417
+ name: z44.string(),
28418
+ address: z44.string().nullable(),
28419
+ location: z44.object({
28420
+ lat: z44.number(),
28421
+ lng: z44.number()
28115
28422
  }).nullable()
28116
28423
  });
28117
- var eventCategorySchema = z43.object({
28118
- id: z43.string(),
28119
- name: z43.string(),
28120
- color: z43.string().nullable()
28121
- });
28122
- var pricingTypeSchema = z43.enum(["free", "paid", "external"]);
28123
- var accessRestrictionSchema = z43.enum(["none", "category"]);
28124
- var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
28125
- var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
28126
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28127
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28128
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28129
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
28424
+ var eventCategorySchema = z44.object({
28425
+ id: z44.string(),
28426
+ name: z44.string(),
28427
+ color: z44.string().nullable()
28428
+ });
28429
+ var pricingTypeSchema = z44.enum(["free", "paid", "external"]);
28430
+ var accessRestrictionSchema = z44.enum(["none", "category"]);
28431
+ var eventPricingModeSchema = z44.enum(["single", "ticket_types"]);
28432
+ var publicCoursePriceDisplaySchema = z44.discriminatedUnion("kind", [
28433
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28434
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28435
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28436
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
28130
28437
  ]);
28131
- var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
28132
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28133
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28134
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28135
- z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28136
- z43.object({
28137
- kind: z43.literal("mixed"),
28138
- paidFromAmount: z43.number(),
28139
- paidToAmount: z43.number(),
28140
- currency: z43.string()
28438
+ var publicEventPriceDisplaySchema = z44.discriminatedUnion("kind", [
28439
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28440
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28441
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28442
+ z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
28443
+ z44.object({
28444
+ kind: z44.literal("mixed"),
28445
+ paidFromAmount: z44.number(),
28446
+ paidToAmount: z44.number(),
28447
+ currency: z44.string()
28141
28448
  }),
28142
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
28143
- z43.object({ kind: z43.literal("external"), label: z43.string() }),
28144
- z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28449
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() }),
28450
+ z44.object({ kind: z44.literal("external"), label: z44.string() }),
28451
+ z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
28145
28452
  ]);
28146
- var publicEventTicketTypePriceDisplaySchema = z43.union([
28147
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28148
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28149
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28150
- z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28151
- z43.object({
28152
- kind: z43.literal("mixed"),
28153
- paidFromAmount: z43.number(),
28154
- paidToAmount: z43.number(),
28155
- currency: z43.string()
28453
+ var publicEventTicketTypePriceDisplaySchema = z44.union([
28454
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28455
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28456
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28457
+ z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
28458
+ z44.object({
28459
+ kind: z44.literal("mixed"),
28460
+ paidFromAmount: z44.number(),
28461
+ paidToAmount: z44.number(),
28462
+ currency: z44.string()
28156
28463
  }),
28157
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
28464
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
28158
28465
  ]);
28159
- var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
28160
- var publicEventAttendanceModeAvailabilitySchema = z43.object({
28466
+ var publicEventAttendanceModeSchema = z44.enum(["in_person", "online"]);
28467
+ var publicEventAttendanceModeAvailabilitySchema = z44.object({
28161
28468
  mode: publicEventAttendanceModeSchema,
28162
- capacity: z43.number().nullable(),
28163
- registeredCount: z43.number(),
28164
- availableSpots: z43.number().nullable(),
28165
- waitlistEnabled: z43.boolean()
28166
- });
28167
- var publicEventTicketTypeAvailabilitySchema = z43.union([
28168
- z43.object({
28169
- kind: z43.literal("available"),
28170
- remainingCapacity: z43.number().nullable()
28469
+ capacity: z44.number().nullable(),
28470
+ registeredCount: z44.number(),
28471
+ availableSpots: z44.number().nullable(),
28472
+ waitlistEnabled: z44.boolean()
28473
+ });
28474
+ var publicEventTicketTypeAvailabilitySchema = z44.union([
28475
+ z44.object({
28476
+ kind: z44.literal("available"),
28477
+ remainingCapacity: z44.number().nullable()
28171
28478
  }),
28172
- z43.object({
28173
- kind: z43.literal("unavailable"),
28174
- reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28175
- remainingCapacity: z43.number().nullable()
28479
+ z44.object({
28480
+ kind: z44.literal("unavailable"),
28481
+ reason: z44.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28482
+ remainingCapacity: z44.number().nullable()
28176
28483
  })
28177
28484
  ]);
28178
- var publicEventTicketTypeSchema = z43.object({
28179
- id: z43.string(),
28180
- siteId: z43.string(),
28181
- eventSeriesId: z43.string(),
28182
- name: z43.string(),
28183
- description: z43.string().nullable(),
28184
- priceAmount: z43.number(),
28185
- isActive: z43.boolean(),
28186
- sortOrder: z43.number(),
28187
- capacityMode: z43.enum(["limited", "unlimited"]),
28188
- capacityLimit: z43.number().nullable(),
28189
- attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
28190
- saleStartsAt: z43.string().nullable(),
28191
- saleEndsAt: z43.string().nullable(),
28485
+ var publicEventTicketTypeSchema = z44.object({
28486
+ id: z44.string(),
28487
+ siteId: z44.string(),
28488
+ eventSeriesId: z44.string(),
28489
+ name: z44.string(),
28490
+ description: z44.string().nullable(),
28491
+ priceAmount: z44.number(),
28492
+ isActive: z44.boolean(),
28493
+ sortOrder: z44.number(),
28494
+ capacityMode: z44.enum(["limited", "unlimited"]),
28495
+ capacityLimit: z44.number().nullable(),
28496
+ attendanceScope: z44.enum(["in_person", "online", "both"]).optional(),
28497
+ saleStartsAt: z44.string().nullable(),
28498
+ saleEndsAt: z44.string().nullable(),
28192
28499
  availability: publicEventTicketTypeAvailabilitySchema,
28193
- createdAt: z43.string(),
28194
- updatedAt: z43.string()
28195
- });
28196
- var publicEventPricingSchema = z43.discriminatedUnion("kind", [
28197
- z43.object({
28198
- kind: z43.literal("drop_in"),
28199
- currency: z43.string(),
28200
- display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28500
+ createdAt: z44.string(),
28501
+ updatedAt: z44.string()
28502
+ });
28503
+ var publicEventPricingSchema = z44.discriminatedUnion("kind", [
28504
+ z44.object({
28505
+ kind: z44.literal("drop_in"),
28506
+ currency: z44.string(),
28507
+ display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
28201
28508
  }),
28202
- z43.object({
28203
- kind: z43.literal("free_registration"),
28204
- currency: z43.string(),
28205
- display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28509
+ z44.object({
28510
+ kind: z44.literal("free_registration"),
28511
+ currency: z44.string(),
28512
+ display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
28206
28513
  }),
28207
- z43.object({
28208
- kind: z43.literal("single_paid"),
28209
- amount: z43.number(),
28210
- currency: z43.string(),
28211
- display: z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() })
28514
+ z44.object({
28515
+ kind: z44.literal("single_paid"),
28516
+ amount: z44.number(),
28517
+ currency: z44.string(),
28518
+ display: z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() })
28212
28519
  }),
28213
- z43.object({
28214
- kind: z43.literal("ticket_types"),
28215
- currency: z43.string(),
28216
- ticketTypes: z43.array(publicEventTicketTypeSchema),
28520
+ z44.object({
28521
+ kind: z44.literal("ticket_types"),
28522
+ currency: z44.string(),
28523
+ ticketTypes: z44.array(publicEventTicketTypeSchema),
28217
28524
  display: publicEventTicketTypePriceDisplaySchema
28218
28525
  }),
28219
- z43.object({
28220
- kind: z43.literal("sliding_scale"),
28221
- minAmount: z43.number(),
28222
- maxAmount: z43.number(),
28223
- suggestedAmount: z43.number().nullable(),
28224
- currency: z43.string(),
28225
- display: z43.object({
28226
- kind: z43.literal("range"),
28227
- minAmount: z43.number(),
28228
- maxAmount: z43.number(),
28229
- currency: z43.string()
28526
+ z44.object({
28527
+ kind: z44.literal("sliding_scale"),
28528
+ minAmount: z44.number(),
28529
+ maxAmount: z44.number(),
28530
+ suggestedAmount: z44.number().nullable(),
28531
+ currency: z44.string(),
28532
+ display: z44.object({
28533
+ kind: z44.literal("range"),
28534
+ minAmount: z44.number(),
28535
+ maxAmount: z44.number(),
28536
+ currency: z44.string()
28230
28537
  })
28231
28538
  }),
28232
- z43.object({
28233
- kind: z43.literal("course"),
28234
- display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28539
+ z44.object({
28540
+ kind: z44.literal("course"),
28541
+ display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
28235
28542
  }),
28236
- z43.object({
28237
- kind: z43.literal("external"),
28238
- display: z43.object({ kind: z43.literal("external"), label: z43.string() })
28543
+ z44.object({
28544
+ kind: z44.literal("external"),
28545
+ display: z44.object({ kind: z44.literal("external"), label: z44.string() })
28239
28546
  })
28240
28547
  ]);
28241
- var publicTeamMemberSummarySchema = z43.object({
28242
- id: z43.string(),
28243
- name: z43.string(),
28244
- roleLabel: z43.string().nullable(),
28245
- summary: z43.string().nullable(),
28246
- profilePath: z43.string().nullable()
28548
+ var publicTeamMemberSummarySchema = z44.object({
28549
+ id: z44.string(),
28550
+ name: z44.string(),
28551
+ roleLabel: z44.string().nullable(),
28552
+ summary: z44.string().nullable(),
28553
+ profilePath: z44.string().nullable()
28247
28554
  });
28248
- var publicEventSchema = z43.object({
28249
- kind: z43.enum(["event", "course_session"]).optional(),
28555
+ var publicEventSchema = z44.object({
28556
+ kind: z44.enum(["event", "course_session"]).optional(),
28250
28557
  eventPreset: eventPresetSchema.optional(),
28251
28558
  eventDestinationMode: eventDestinationModeSchema.optional(),
28252
28559
  scheduleScope: eventScheduleScopeSchema.optional(),
28253
- id: z43.string(),
28254
- occurrenceId: z43.string(),
28255
- seriesId: z43.string(),
28256
- title: z43.string(),
28257
- description: z43.string().nullable(),
28258
- content: z43.object({
28560
+ id: z44.string(),
28561
+ occurrenceId: z44.string(),
28562
+ seriesId: z44.string(),
28563
+ title: z44.string(),
28564
+ description: z44.string().nullable(),
28565
+ content: z44.object({
28259
28566
  body: RichTextDocSchema.nullable().optional()
28260
28567
  }).optional(),
28261
- presentation: z43.object({
28262
- cardTitleOverride: z43.string().nullable().optional(),
28263
- summary: z43.string().nullable().optional(),
28568
+ presentation: z44.object({
28569
+ cardTitleOverride: z44.string().nullable().optional(),
28570
+ summary: z44.string().nullable().optional(),
28264
28571
  image: mediaSchema2.nullable().optional()
28265
28572
  }).optional(),
28266
- slug: z43.string(),
28267
- path: z43.string().nullable(),
28573
+ slug: z44.string(),
28574
+ path: z44.string().nullable(),
28268
28575
  destination: publicEventDestinationSchema,
28269
- requiresRegistration: z43.boolean(),
28270
- deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
28271
- attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
28272
- startsAt: z43.string(),
28273
- endsAt: z43.string(),
28274
- capacity: z43.number().nullable(),
28275
- registeredCount: z43.number(),
28276
- availableSpots: z43.number().nullable(),
28277
- waitlistEnabled: z43.boolean(),
28576
+ requiresRegistration: z44.boolean(),
28577
+ deliveryMode: z44.enum(["in_person", "online", "hybrid"]),
28578
+ attendanceModes: z44.array(publicEventAttendanceModeAvailabilitySchema),
28579
+ startsAt: z44.string(),
28580
+ endsAt: z44.string(),
28581
+ capacity: z44.number().nullable(),
28582
+ registeredCount: z44.number(),
28583
+ availableSpots: z44.number().nullable(),
28584
+ waitlistEnabled: z44.boolean(),
28278
28585
  venue: eventVenueSchema.nullable(),
28279
28586
  eventCategory: eventCategorySchema.nullable(),
28280
- teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
28281
- status: z43.enum(["active", "draft", "archived"]).optional(),
28282
- timeZone: z43.string(),
28587
+ teamMembers: z44.array(publicTeamMemberSummarySchema).optional(),
28588
+ status: z44.enum(["active", "draft", "archived"]).optional(),
28589
+ timeZone: z44.string(),
28283
28590
  pricing: publicEventPricingSchema,
28284
28591
  paymentTerms: blockBookingPaymentTermsSchema,
28285
28592
  accessRestriction: accessRestrictionSchema,
28286
- allowedCategoryIds: z43.array(z43.string()),
28287
- requireGuestDetails: z43.boolean().optional(),
28288
- acceptsPasses: z43.boolean().optional(),
28289
- acceptsMemberships: z43.boolean().optional(),
28290
- course: z43.object({
28291
- id: z43.string(),
28593
+ allowedCategoryIds: z44.array(z44.string()),
28594
+ requireGuestDetails: z44.boolean().optional(),
28595
+ acceptsPasses: z44.boolean().optional(),
28596
+ acceptsMemberships: z44.boolean().optional(),
28597
+ course: z44.object({
28598
+ id: z44.string(),
28292
28599
  pricing: coursePricingSchema.optional(),
28293
- priceCents: z43.number().nullable(),
28294
- currency: z43.string(),
28295
- enrollmentOpen: z43.boolean()
28600
+ priceCents: z44.number().nullable(),
28601
+ currency: z44.string(),
28602
+ enrollmentOpen: z44.boolean()
28296
28603
  }).nullable().optional()
28297
28604
  });
28298
- var publicEventsArraySchema = z43.array(publicEventSchema);
28605
+ var publicEventsArraySchema = z44.array(publicEventSchema);
28299
28606
 
28300
28607
  // ../blocks/src/system/blocks/events/shared/fields.ts
28301
28608
  var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
@@ -28498,52 +28805,80 @@ function normalizeEventStaffMemberId(value) {
28498
28805
  return trimmed ? trimmed : null;
28499
28806
  }
28500
28807
 
28808
+ // ../blocks/src/system/blocks/events/shared/layout.ts
28809
+ var recoverEmptyHeadingWhenActive = {
28810
+ kind: "recover-empty-when-active",
28811
+ placeholder: "Add heading"
28812
+ };
28813
+ var recoverEmptyDescriptionWhenActive = {
28814
+ kind: "recover-empty-when-active",
28815
+ placeholder: "Add description"
28816
+ };
28817
+ function eventSectionHeaderLayoutNodes() {
28818
+ return [
28819
+ text(
28820
+ { as: "h2" },
28821
+ bind("content.heading"),
28822
+ when("content.heading", {
28823
+ authoringPresence: recoverEmptyHeadingWhenActive
28824
+ })
28825
+ ),
28826
+ richText(
28827
+ { className: "rb-prose rb-max-w-none" },
28828
+ bind("content.description"),
28829
+ when("content.description", {
28830
+ authoringPresence: recoverEmptyDescriptionWhenActive
28831
+ })
28832
+ )
28833
+ ];
28834
+ }
28835
+
28501
28836
  // ../blocks/src/system/blocks/shop.shared.ts
28502
- import { z as z44 } from "zod";
28503
- var publicPassProductSchema = z44.object({
28504
- id: z44.string(),
28505
- productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
28506
- name: z44.string(),
28507
- description: z44.string().nullable(),
28508
- price: z44.number(),
28509
- currency: z44.string(),
28510
- creditsTotal: z44.number(),
28511
- pricePerCredit: z44.number(),
28512
- validDays: z44.number().nullable(),
28513
- eligibleCategoryIds: z44.array(z44.string()),
28514
- eligibleCategoryNames: z44.array(z44.string())
28515
- });
28516
- var publicPassProductCollectionSchema = z44.object({
28517
- passes: z44.array(publicPassProductSchema)
28518
- });
28519
- var publicMembershipProductSchema = z44.object({
28520
- id: z44.string(),
28521
- name: z44.string(),
28522
- description: z44.string().nullable(),
28523
- price: z44.number(),
28524
- currency: z44.string(),
28525
- billingInterval: z44.enum(["month", "year"]),
28526
- eligibleCategoryIds: z44.array(z44.string()),
28527
- eligibleCategoryNames: z44.array(z44.string())
28837
+ import { z as z45 } from "zod";
28838
+ var publicPassProductSchema = z45.object({
28839
+ id: z45.string(),
28840
+ productUseCase: z45.enum(["event_pass", "appointment_package"]).default("event_pass"),
28841
+ name: z45.string(),
28842
+ description: z45.string().nullable(),
28843
+ price: z45.number(),
28844
+ currency: z45.string(),
28845
+ creditsTotal: z45.number(),
28846
+ pricePerCredit: z45.number(),
28847
+ validDays: z45.number().nullable(),
28848
+ eligibleCategoryIds: z45.array(z45.string()),
28849
+ eligibleCategoryNames: z45.array(z45.string())
28850
+ });
28851
+ var publicPassProductCollectionSchema = z45.object({
28852
+ passes: z45.array(publicPassProductSchema)
28853
+ });
28854
+ var publicMembershipProductSchema = z45.object({
28855
+ id: z45.string(),
28856
+ name: z45.string(),
28857
+ description: z45.string().nullable(),
28858
+ price: z45.number(),
28859
+ currency: z45.string(),
28860
+ billingInterval: z45.enum(["month", "year"]),
28861
+ eligibleCategoryIds: z45.array(z45.string()),
28862
+ eligibleCategoryNames: z45.array(z45.string())
28528
28863
  });
28529
- var publicMembershipProductCollectionSchema = z44.object({
28530
- memberships: z44.array(publicMembershipProductSchema)
28864
+ var publicMembershipProductCollectionSchema = z45.object({
28865
+ memberships: z45.array(publicMembershipProductSchema)
28531
28866
  });
28532
28867
 
28533
28868
  // ../blocks/src/system/blocks/event-registration.shared.ts
28534
- import { z as z45 } from "zod";
28535
- var occurrenceContextSchema = z45.object({
28536
- id: z45.string(),
28537
- seriesId: z45.string(),
28538
- startsAt: z45.string(),
28539
- endsAt: z45.string(),
28540
- timeZone: z45.string(),
28541
- capacityOverride: z45.number().nullable().optional(),
28542
- overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
28869
+ import { z as z46 } from "zod";
28870
+ var occurrenceContextSchema = z46.object({
28871
+ id: z46.string(),
28872
+ seriesId: z46.string(),
28873
+ startsAt: z46.string(),
28874
+ endsAt: z46.string(),
28875
+ timeZone: z46.string(),
28876
+ capacityOverride: z46.number().nullable().optional(),
28877
+ overrides: z46.record(z46.string(), z46.unknown()).nullable().optional()
28543
28878
  }).nullable();
28544
28879
 
28545
28880
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28546
- import { z as z47 } from "zod";
28881
+ import { z as z48 } from "zod";
28547
28882
 
28548
28883
  // ../blocks/src/system/constants/events.ts
28549
28884
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
@@ -28730,17 +29065,17 @@ function readAmount(value) {
28730
29065
  }
28731
29066
 
28732
29067
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
28733
- import { z as z46 } from "zod";
28734
- var previewStageSchema = z46.enum(["preview", "published"]);
28735
- var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
28736
- var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
28737
- var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
28738
- var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
28739
- var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
28740
- var columnOptionSchema = z46.enum(["2", "3", "4"]);
28741
- var weekStartSchema = z46.enum(["sunday", "monday"]);
28742
- var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
28743
- var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
29068
+ import { z as z47 } from "zod";
29069
+ var previewStageSchema = z47.enum(["preview", "published"]);
29070
+ var registrationButtonVariantSchema = z47.enum(["primary", "secondary", "outline"]);
29071
+ var eventButtonVariantSchema = z47.enum(["primary", "secondary", "outline", "link"]);
29072
+ var eventLayoutSchema = z47.enum(eventCalendarListLayoutValues);
29073
+ var eventCalendarDisplayModeSchema = z47.enum(eventCalendarDisplayModeValues);
29074
+ var eventCalendarDefaultViewSchema = z47.enum(eventCalendarDefaultViewValues);
29075
+ var columnOptionSchema = z47.enum(["2", "3", "4"]);
29076
+ var weekStartSchema = z47.enum(["sunday", "monday"]);
29077
+ var filterAutoShowSchema = z47.enum(["auto", "always", "never"]);
29078
+ var calendarTabViewsSchema = z47.enum(["both", "month", "week"]);
28744
29079
 
28745
29080
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
28746
29081
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -28800,72 +29135,72 @@ function toRegistrationEvents(events) {
28800
29135
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28801
29136
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
28802
29137
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
28803
- var contentEntrySchema = z47.object({
28804
- id: z47.string(),
28805
- slug: z47.string(),
28806
- contentTypeSlug: z47.string()
29138
+ var contentEntrySchema = z48.object({
29139
+ id: z48.string(),
29140
+ slug: z48.string(),
29141
+ contentTypeSlug: z48.string()
28807
29142
  });
28808
- var eventRegistrationPublicEventSchema = z47.preprocess(
29143
+ var eventRegistrationPublicEventSchema = z48.preprocess(
28809
29144
  normalizeEventRegistrationEventInput,
28810
29145
  publicEventSchema
28811
29146
  );
28812
- var eventRegistrationSourceSchema = z47.object({
28813
- siteId: z47.string().optional(),
28814
- apiBaseUrl: z47.string().optional(),
28815
- portalToken: z47.string().nullable().optional(),
28816
- previewToken: z47.string().nullable().optional(),
29147
+ var eventRegistrationSourceSchema = z48.object({
29148
+ siteId: z48.string().optional(),
29149
+ apiBaseUrl: z48.string().optional(),
29150
+ portalToken: z48.string().nullable().optional(),
29151
+ previewToken: z48.string().nullable().optional(),
28817
29152
  occurrenceContext: occurrenceContextSchema.optional(),
28818
29153
  contentEntry: contentEntrySchema.nullable().optional(),
28819
- events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28820
- className: z47.string().nullable().optional(),
28821
- buttonText: z47.string().nullable().optional(),
28822
- maxTickets: z47.string().nullable().optional(),
28823
- showVenue: z47.boolean().optional(),
28824
- showCapacity: z47.boolean().optional(),
28825
- successMessage: z47.string().optional(),
28826
- waitlistMessage: z47.string().optional(),
29154
+ events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
29155
+ className: z48.string().nullable().optional(),
29156
+ buttonText: z48.string().nullable().optional(),
29157
+ maxTickets: z48.string().nullable().optional(),
29158
+ showVenue: z48.boolean().optional(),
29159
+ showCapacity: z48.boolean().optional(),
29160
+ successMessage: z48.string().optional(),
29161
+ waitlistMessage: z48.string().optional(),
28827
29162
  buttonVariant: registrationButtonVariantSchema.optional(),
28828
- overlayEnabled: z47.boolean().optional(),
28829
- spamProtectionEnabled: z47.boolean().optional(),
29163
+ overlayEnabled: z48.boolean().optional(),
29164
+ spamProtectionEnabled: z48.boolean().optional(),
28830
29165
  stage: previewStageSchema.optional(),
28831
- supportEmail: z47.string().optional(),
29166
+ supportEmail: z48.string().optional(),
28832
29167
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28833
29168
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28834
29169
  });
28835
- var eventRegistrationDisplaySchema = z47.object({
28836
- kind: z47.literal("event-registration"),
28837
- state: z47.literal("generic-shell"),
28838
- className: z47.string().nullable(),
28839
- titleText: z47.string(),
28840
- bodyText: z47.string(),
28841
- stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28842
- summaryButtonText: z47.string()
29170
+ var eventRegistrationDisplaySchema = z48.object({
29171
+ kind: z48.literal("event-registration"),
29172
+ state: z48.literal("generic-shell"),
29173
+ className: z48.string().nullable(),
29174
+ titleText: z48.string(),
29175
+ bodyText: z48.string(),
29176
+ stepLabels: z48.array(z48.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
29177
+ summaryButtonText: z48.string()
28843
29178
  });
28844
- var eventRegistrationHydrationSchema = z47.object({
29179
+ var eventRegistrationHydrationSchema = z48.object({
28845
29180
  occurrenceContext: occurrenceContextSchema.optional(),
28846
29181
  contentEntry: contentEntrySchema.nullable().optional(),
28847
- events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28848
- maxTickets: z47.string().optional(),
28849
- showVenue: z47.boolean().optional(),
28850
- showCapacity: z47.boolean().optional(),
28851
- successMessage: z47.string().optional(),
28852
- waitlistMessage: z47.string().optional(),
29182
+ events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
29183
+ maxTickets: z48.string().optional(),
29184
+ showVenue: z48.boolean().optional(),
29185
+ showCapacity: z48.boolean().optional(),
29186
+ successMessage: z48.string().optional(),
29187
+ waitlistMessage: z48.string().optional(),
28853
29188
  buttonVariant: registrationButtonVariantSchema.optional(),
28854
- overlayEnabled: z47.boolean().optional(),
28855
- spamProtectionEnabled: z47.boolean().optional(),
28856
- supportEmail: z47.string().optional(),
29189
+ overlayEnabled: z48.boolean().optional(),
29190
+ spamProtectionEnabled: z48.boolean().optional(),
29191
+ supportEmail: z48.string().optional(),
28857
29192
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28858
29193
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28859
29194
  });
28860
- var eventRegistrationRenderSchema = z47.object({
29195
+ var eventRegistrationRenderSchema = z48.object({
28861
29196
  display: eventRegistrationDisplaySchema,
28862
29197
  hydration: eventRegistrationHydrationSchema
28863
29198
  });
28864
- var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
28865
- siteId: z47.string().optional(),
28866
- apiBaseUrl: z47.string().optional(),
28867
- portalToken: z47.string().nullable().optional(),
28868
- previewToken: z47.string().nullable().optional(),
29199
+ var eventRegistrationIslandMetaCodec = createZodCodec(z48.object({
29200
+ siteId: z48.string().optional(),
29201
+ apiBaseUrl: z48.string().optional(),
29202
+ portalToken: z48.string().nullable().optional(),
29203
+ previewToken: z48.string().nullable().optional(),
28869
29204
  stage: previewStageSchema.optional()
28870
29205
  }));
28871
29206
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29216,73 +29551,73 @@ var eventRegistrationBlockDefinition = {
29216
29551
  };
29217
29552
 
29218
29553
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
29219
- import { z as z48 } from "zod";
29220
- var contentEntrySchema2 = z48.object({
29221
- id: z48.string(),
29222
- slug: z48.string(),
29223
- contentTypeSlug: z48.string()
29224
- });
29225
- var courseEntrySubrouteContextSchema = z48.union([
29226
- z48.object({
29227
- kind: z48.literal("course-run"),
29228
- run: z48.object({
29229
- courseId: z48.string(),
29230
- seriesId: z48.string(),
29231
- runSlug: z48.string(),
29232
- runName: z48.string().nullable()
29554
+ import { z as z49 } from "zod";
29555
+ var contentEntrySchema2 = z49.object({
29556
+ id: z49.string(),
29557
+ slug: z49.string(),
29558
+ contentTypeSlug: z49.string()
29559
+ });
29560
+ var courseEntrySubrouteContextSchema = z49.union([
29561
+ z49.object({
29562
+ kind: z49.literal("course-run"),
29563
+ run: z49.object({
29564
+ courseId: z49.string(),
29565
+ seriesId: z49.string(),
29566
+ runSlug: z49.string(),
29567
+ runName: z49.string().nullable()
29233
29568
  })
29234
29569
  }),
29235
- z48.object({
29236
- kind: z48.literal("event-occurrence"),
29570
+ z49.object({
29571
+ kind: z49.literal("event-occurrence"),
29237
29572
  occurrence: occurrenceContextSchema
29238
29573
  })
29239
29574
  ]);
29240
- var courseRegistrationSourceSchema = z48.object({
29241
- siteId: z48.string().optional(),
29242
- apiBaseUrl: z48.string().optional(),
29243
- portalToken: z48.string().nullable().optional(),
29575
+ var courseRegistrationSourceSchema = z49.object({
29576
+ siteId: z49.string().optional(),
29577
+ apiBaseUrl: z49.string().optional(),
29578
+ portalToken: z49.string().nullable().optional(),
29244
29579
  contentEntry: contentEntrySchema2.nullable().optional(),
29245
29580
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
29246
- courses: z48.array(publicCourseSchema).nullable().optional(),
29247
- className: z48.string().nullable().optional(),
29248
- showSessions: z48.boolean().optional(),
29249
- showPrice: z48.boolean().optional(),
29250
- showCapacity: z48.boolean().optional(),
29251
- showVenue: z48.boolean().optional(),
29252
- successMessage: z48.string().optional(),
29253
- waitlistMessage: z48.string().optional(),
29254
- membershipMessage: z48.string().optional(),
29255
- buttonText: z48.string().nullable().optional(),
29581
+ courses: z49.array(publicCourseSchema).nullable().optional(),
29582
+ className: z49.string().nullable().optional(),
29583
+ showSessions: z49.boolean().optional(),
29584
+ showPrice: z49.boolean().optional(),
29585
+ showCapacity: z49.boolean().optional(),
29586
+ showVenue: z49.boolean().optional(),
29587
+ successMessage: z49.string().optional(),
29588
+ waitlistMessage: z49.string().optional(),
29589
+ membershipMessage: z49.string().optional(),
29590
+ buttonText: z49.string().nullable().optional(),
29256
29591
  buttonVariant: registrationButtonVariantSchema.optional(),
29257
29592
  stage: previewStageSchema.optional()
29258
29593
  });
29259
- var courseRegistrationDisplaySchema = z48.object({
29260
- kind: z48.literal("course-registration"),
29261
- state: z48.literal("shell"),
29262
- className: z48.string().nullable(),
29263
- summaryButtonText: z48.string()
29594
+ var courseRegistrationDisplaySchema = z49.object({
29595
+ kind: z49.literal("course-registration"),
29596
+ state: z49.literal("shell"),
29597
+ className: z49.string().nullable(),
29598
+ summaryButtonText: z49.string()
29264
29599
  });
29265
- var courseRegistrationHydrationSchema = z48.object({
29600
+ var courseRegistrationHydrationSchema = z49.object({
29266
29601
  contentEntry: contentEntrySchema2.nullable().optional(),
29267
29602
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
29268
- courses: z48.array(publicCourseSchema).nullable().optional(),
29269
- showSessions: z48.boolean().optional(),
29270
- showPrice: z48.boolean().optional(),
29271
- showCapacity: z48.boolean().optional(),
29272
- showVenue: z48.boolean().optional(),
29273
- successMessage: z48.string().optional(),
29274
- waitlistMessage: z48.string().optional(),
29275
- membershipMessage: z48.string().optional(),
29603
+ courses: z49.array(publicCourseSchema).nullable().optional(),
29604
+ showSessions: z49.boolean().optional(),
29605
+ showPrice: z49.boolean().optional(),
29606
+ showCapacity: z49.boolean().optional(),
29607
+ showVenue: z49.boolean().optional(),
29608
+ successMessage: z49.string().optional(),
29609
+ waitlistMessage: z49.string().optional(),
29610
+ membershipMessage: z49.string().optional(),
29276
29611
  buttonVariant: registrationButtonVariantSchema.optional()
29277
29612
  });
29278
- var courseRegistrationRenderSchema = z48.object({
29613
+ var courseRegistrationRenderSchema = z49.object({
29279
29614
  display: courseRegistrationDisplaySchema,
29280
29615
  hydration: courseRegistrationHydrationSchema
29281
29616
  });
29282
- var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
29283
- siteId: z48.string().optional(),
29284
- apiBaseUrl: z48.string().optional(),
29285
- portalToken: z48.string().nullable().optional(),
29617
+ var courseRegistrationIslandMetaCodec = createZodCodec(z49.object({
29618
+ siteId: z49.string().optional(),
29619
+ apiBaseUrl: z49.string().optional(),
29620
+ portalToken: z49.string().nullable().optional(),
29286
29621
  stage: previewStageSchema.optional()
29287
29622
  }));
29288
29623
  var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29542,7 +29877,7 @@ var courseRegistrationBlockDefinition = {
29542
29877
  };
29543
29878
 
29544
29879
  // ../blocks/src/system/blocks/event-details.ts
29545
- import { z as z49 } from "zod";
29880
+ import { z as z50 } from "zod";
29546
29881
  var eventDetailsManifest = createBlockManifest({
29547
29882
  id: "block.event-details",
29548
29883
  version: "1.0.0",
@@ -29674,37 +30009,37 @@ var eventDetailsManifest = createBlockManifest({
29674
30009
  })
29675
30010
  ]
29676
30011
  });
29677
- var occurrenceContextSchema2 = z49.object({
29678
- id: z49.string(),
29679
- seriesId: z49.string(),
29680
- startsAt: z49.string(),
29681
- endsAt: z49.string(),
29682
- timeZone: z49.string(),
29683
- capacityOverride: z49.number().nullable().optional(),
29684
- overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
30012
+ var occurrenceContextSchema2 = z50.object({
30013
+ id: z50.string(),
30014
+ seriesId: z50.string(),
30015
+ startsAt: z50.string(),
30016
+ endsAt: z50.string(),
30017
+ timeZone: z50.string(),
30018
+ capacityOverride: z50.number().nullable().optional(),
30019
+ overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
29685
30020
  }).nullable();
29686
- var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
29687
- id: z49.string(),
29688
- publicLabel: z49.string(),
29689
- description: z49.string().nullable(),
29690
- minTicketsRequired: z49.number().nullable()
30021
+ var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
30022
+ id: z50.string(),
30023
+ publicLabel: z50.string(),
30024
+ description: z50.string().nullable(),
30025
+ minTicketsRequired: z50.number().nullable()
29691
30026
  });
29692
- var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
30027
+ var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
29693
30028
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29694
- discountType: z49.literal("percent"),
29695
- discountPercent: z49.number(),
29696
- discountAmountCents: z49.null()
30029
+ discountType: z50.literal("percent"),
30030
+ discountPercent: z50.number(),
30031
+ discountAmountCents: z50.null()
29697
30032
  }),
29698
30033
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29699
- discountType: z49.literal("fixed"),
29700
- discountPercent: z49.null(),
29701
- discountAmountCents: z49.number()
30034
+ discountType: z50.literal("fixed"),
30035
+ discountPercent: z50.null(),
30036
+ discountAmountCents: z50.number()
29702
30037
  })
29703
30038
  ]);
29704
30039
  var eventDetailsBlockDefinition = {
29705
30040
  manifest: eventDetailsManifest,
29706
30041
  dataSchemas: {
29707
- eventDetailsData: z49.object({
30042
+ eventDetailsData: z50.object({
29708
30043
  events: publicEventsArraySchema,
29709
30044
  sitePasses: publicPassProductCollectionSchema,
29710
30045
  siteMemberships: publicMembershipProductCollectionSchema,
@@ -29959,18 +30294,7 @@ var eventSpotlightFields = [
29959
30294
  var eventSpotlightLayout = [
29960
30295
  styledSection({
29961
30296
  children: sectionContainer([
29962
- // Optional heading
29963
- text(
29964
- { as: "h2" },
29965
- bind("content.heading"),
29966
- when("content.heading")
29967
- ),
29968
- // Optional description
29969
- richText(
29970
- { className: "rb-prose rb-max-w-none" },
29971
- bind("content.description"),
29972
- when("content.description")
29973
- ),
30297
+ ...eventSectionHeaderLayoutNodes(),
29974
30298
  // Event spotlight component
29975
30299
  el("event-spotlight", {
29976
30300
  events: { $bind: { from: "data.events" } },
@@ -30031,7 +30355,7 @@ var eventSpotlightBlockDefinition = {
30031
30355
  };
30032
30356
 
30033
30357
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30034
- import { z as z51 } from "zod";
30358
+ import { z as z52 } from "zod";
30035
30359
 
30036
30360
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
30037
30361
  var COLUMN_CLASSES = {
@@ -30139,16 +30463,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
30139
30463
  }
30140
30464
 
30141
30465
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
30142
- import { z as z50 } from "zod";
30466
+ import { z as z51 } from "zod";
30143
30467
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
30144
- var eventPageSizeSchema = z50.union([
30145
- z50.literal(3),
30146
- z50.literal(6),
30147
- z50.literal(10),
30148
- z50.literal(12),
30149
- z50.literal(20),
30150
- z50.literal(24),
30151
- z50.literal(30)
30468
+ var eventPageSizeSchema = z51.union([
30469
+ z51.literal(3),
30470
+ z51.literal(6),
30471
+ z51.literal(10),
30472
+ z51.literal(12),
30473
+ z51.literal(20),
30474
+ z51.literal(24),
30475
+ z51.literal(30)
30152
30476
  ]);
30153
30477
  var eventPageSizeSet = new Set(eventPageSizeValues);
30154
30478
  function resolveEventPageSize(value, fallback = 12) {
@@ -30158,15 +30482,15 @@ function resolveEventPageSize(value, fallback = 12) {
30158
30482
  function resolveEventCalendarListPageSize(input) {
30159
30483
  return resolveEventPageSize(input.eventsPerPage);
30160
30484
  }
30161
- var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
30162
- z50.object({
30163
- kind: z50.literal("loadMore"),
30164
- label: z50.string()
30485
+ var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
30486
+ z51.object({
30487
+ kind: z51.literal("loadMore"),
30488
+ label: z51.string()
30165
30489
  }),
30166
- z50.object({
30167
- kind: z50.literal("seeAllLink"),
30168
- label: z50.string(),
30169
- href: z50.string()
30490
+ z51.object({
30491
+ kind: z51.literal("seeAllLink"),
30492
+ label: z51.string(),
30493
+ href: z51.string()
30170
30494
  })
30171
30495
  ]);
30172
30496
  function resolveEventListPaginationAction(input) {
@@ -30179,89 +30503,89 @@ function resolveEventListPaginationAction(input) {
30179
30503
  }
30180
30504
 
30181
30505
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30182
- var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
30183
- var eventCardVariantInputSchema = z51.union([
30506
+ var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
30507
+ var eventCardVariantInputSchema = z52.union([
30184
30508
  cardVariantRoleSchema,
30185
30509
  legacyEventCardVariantSchema
30186
30510
  ]);
30187
- var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
30188
- var eventBlockKindSchema = z51.enum(eventBlockKindValues);
30189
- var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
30190
- var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
30191
- var eventListingSourceSchema = z51.object({
30192
- events: z51.array(publicEventSchema).nullable().optional(),
30193
- siteId: z51.string(),
30194
- apiBaseUrl: z51.string().optional(),
30511
+ var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
30512
+ var eventBlockKindSchema = z52.enum(eventBlockKindValues);
30513
+ var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
30514
+ var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
30515
+ var eventListingSourceSchema = z52.object({
30516
+ events: z52.array(publicEventSchema).nullable().optional(),
30517
+ siteId: z52.string(),
30518
+ apiBaseUrl: z52.string().optional(),
30195
30519
  stage: previewStageSchema.optional(),
30196
30520
  layout: eventLayoutSchema.optional(),
30197
30521
  columns: columnOptionSchema.optional(),
30198
- eventsPerPage: z51.string().optional(),
30199
- paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
30200
- seeAllUrl: z51.string().optional(),
30201
- loadMoreText: z51.string().optional(),
30522
+ eventsPerPage: z52.string().optional(),
30523
+ paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30524
+ seeAllUrl: z52.string().optional(),
30525
+ loadMoreText: z52.string().optional(),
30202
30526
  cardVariant: eventCardVariantInputSchema.optional(),
30203
30527
  buttonVariant: eventButtonVariantSchema.optional(),
30204
- buttonText: z51.string().optional(),
30205
- showVenue: z51.boolean().optional(),
30206
- showMap: z51.boolean().optional(),
30207
- showCapacity: z51.boolean().optional(),
30208
- emptyMessage: z51.string().optional(),
30209
- className: z51.string().optional(),
30210
- showFilters: z51.boolean().nullable().optional(),
30528
+ buttonText: z52.string().optional(),
30529
+ showVenue: z52.boolean().optional(),
30530
+ showMap: z52.boolean().optional(),
30531
+ showCapacity: z52.boolean().optional(),
30532
+ emptyMessage: z52.string().optional(),
30533
+ className: z52.string().optional(),
30534
+ showFilters: z52.boolean().nullable().optional(),
30211
30535
  showCategoryFilter: filterAutoShowSchema.optional(),
30212
- showVenueFilter: z51.boolean().nullable().optional(),
30213
- showStaffFilter: z51.boolean().nullable().optional(),
30536
+ showVenueFilter: z52.boolean().nullable().optional(),
30537
+ showStaffFilter: z52.boolean().nullable().optional(),
30214
30538
  eventKind: eventBlockKindSchema.nullable().optional(),
30215
30539
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
30216
- filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
30540
+ filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30217
30541
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
30218
- filterCategoryIds: z51.string().nullable().optional(),
30219
- filterStaffMemberId: z51.string().nullable().optional(),
30220
- filterVenueId: z51.string().nullable().optional()
30542
+ filterCategoryIds: z52.string().nullable().optional(),
30543
+ filterStaffMemberId: z52.string().nullable().optional(),
30544
+ filterVenueId: z52.string().nullable().optional()
30221
30545
  });
30222
- var eventListingDisplaySchema = z51.object({
30223
- kind: z51.literal("event-listing"),
30224
- state: z51.enum(["loading", "empty", "ready"]),
30546
+ var eventListingDisplaySchema = z52.object({
30547
+ kind: z52.literal("event-listing"),
30548
+ state: z52.enum(["loading", "empty", "ready"]),
30225
30549
  listLayout: eventLayoutSchema,
30226
- className: z51.string().nullable(),
30227
- emptyMessage: z51.string(),
30228
- loadingMessage: z51.string(),
30229
- containerClass: z51.string(),
30550
+ className: z52.string().nullable(),
30551
+ emptyMessage: z52.string(),
30552
+ loadingMessage: z52.string(),
30553
+ containerClass: z52.string(),
30230
30554
  cardVariant: cardVariantRoleSchema,
30231
30555
  buttonVariant: eventButtonVariantSchema,
30232
- buttonText: z51.string(),
30233
- showVenue: z51.boolean(),
30234
- showMap: z51.boolean(),
30235
- showCapacity: z51.boolean(),
30556
+ buttonText: z52.string(),
30557
+ showVenue: z52.boolean(),
30558
+ showMap: z52.boolean(),
30559
+ showCapacity: z52.boolean(),
30236
30560
  orientation: cardOrientationSchema,
30237
- events: z51.array(publicEventSchema)
30561
+ events: z52.array(publicEventSchema)
30238
30562
  });
30239
- var eventListingHydrationSchema = z51.object({
30240
- siteId: z51.string(),
30563
+ var eventListingHydrationSchema = z52.object({
30564
+ siteId: z52.string(),
30241
30565
  stage: previewStageSchema.optional(),
30242
30566
  eventsPerPage: eventPageSizeSchema,
30243
30567
  paginationAction: eventListPaginationActionSchema,
30244
- showFilters: z51.boolean(),
30568
+ showFilters: z52.boolean(),
30245
30569
  showCategoryFilter: filterAutoShowSchema,
30246
- showVenueFilter: z51.boolean(),
30247
- showStaffFilter: z51.boolean(),
30570
+ showVenueFilter: z52.boolean(),
30571
+ showStaffFilter: z52.boolean(),
30248
30572
  eventKind: eventBlockKindSchema,
30249
30573
  eventSurface: eventSurfaceScopeSchema,
30250
- filterEventPresets: z51.string().nullable(),
30574
+ filterEventPresets: z52.string().nullable(),
30251
30575
  scheduleScope: eventScheduleScopeSchema2,
30252
- filterCategoryIds: z51.string().nullable().optional(),
30253
- filterStaffMemberId: z51.string().nullable().optional(),
30254
- filterVenueId: z51.string().nullable().optional(),
30255
- fetchInitialEventsOnMount: z51.boolean()
30576
+ filterCategoryIds: z52.string().nullable().optional(),
30577
+ filterStaffMemberId: z52.string().nullable().optional(),
30578
+ filterVenueId: z52.string().nullable().optional(),
30579
+ fetchInitialEventsOnMount: z52.boolean()
30256
30580
  });
30257
- var eventListingRenderSchema = z51.object({
30581
+ var eventListingRenderSchema = z52.object({
30258
30582
  display: eventListingDisplaySchema,
30259
30583
  hydration: eventListingHydrationSchema
30260
30584
  });
30261
30585
  var eventListingIslandMetaCodec = createZodCodec(
30262
- z51.object({
30263
- siteId: z51.string(),
30264
- apiBaseUrl: z51.string().optional(),
30586
+ z52.object({
30587
+ siteId: z52.string(),
30588
+ apiBaseUrl: z52.string().optional(),
30265
30589
  stage: previewStageSchema.optional()
30266
30590
  })
30267
30591
  );
@@ -30501,18 +30825,7 @@ var eventListingAdditionalFields = [
30501
30825
  var eventListingLayout = [
30502
30826
  styledSection({
30503
30827
  children: sectionContainer([
30504
- // Optional heading
30505
- text(
30506
- { as: "h2" },
30507
- bind("content.heading"),
30508
- when("content.heading")
30509
- ),
30510
- // Optional description
30511
- richText(
30512
- { className: "rb-prose rb-max-w-none" },
30513
- bind("content.description"),
30514
- when("content.description")
30515
- ),
30828
+ ...eventSectionHeaderLayoutNodes(),
30516
30829
  // Event listing component with pagination
30517
30830
  el("event-listing", withApiBindings({
30518
30831
  events: { $bind: { from: "data.events" } },
@@ -30628,15 +30941,15 @@ var eventListingBlockDefinition = {
30628
30941
  };
30629
30942
 
30630
30943
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
30631
- import { z as z52 } from "zod";
30632
- var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
30633
- var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
30634
- var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
30635
- var eventCalendarSourceSchema = z52.object(
30944
+ import { z as z53 } from "zod";
30945
+ var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
30946
+ var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
30947
+ var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
30948
+ var eventCalendarSourceSchema = z53.object(
30636
30949
  {
30637
- events: z52.array(publicEventSchema).nullable().optional(),
30638
- siteId: z52.string(),
30639
- apiBaseUrl: z52.string().optional(),
30950
+ events: z53.array(publicEventSchema).nullable().optional(),
30951
+ siteId: z53.string(),
30952
+ apiBaseUrl: z53.string().optional(),
30640
30953
  stage: previewStageSchema.optional(),
30641
30954
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
30642
30955
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -30644,38 +30957,38 @@ var eventCalendarSourceSchema = z52.object(
30644
30957
  listColumns: columnOptionSchema.optional(),
30645
30958
  layout: eventLayoutSchema.optional(),
30646
30959
  columns: columnOptionSchema.optional(),
30647
- eventsPerPage: z52.string().optional(),
30648
- paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30649
- seeAllUrl: z52.string().optional(),
30650
- loadMoreText: z52.string().optional(),
30960
+ eventsPerPage: z53.string().optional(),
30961
+ paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
30962
+ seeAllUrl: z53.string().optional(),
30963
+ loadMoreText: z53.string().optional(),
30651
30964
  startOfWeek: weekStartSchema.optional(),
30652
30965
  calendarTabViews: calendarTabViewsSchema.optional(),
30653
30966
  defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
30654
- showFilters: z52.boolean().nullable().optional(),
30967
+ showFilters: z53.boolean().nullable().optional(),
30655
30968
  showCategoryFilter: filterAutoShowSchema.optional(),
30656
- showVenueFilter: z52.boolean().nullable().optional(),
30657
- showStaffFilter: z52.boolean().nullable().optional(),
30969
+ showVenueFilter: z53.boolean().nullable().optional(),
30970
+ showStaffFilter: z53.boolean().nullable().optional(),
30658
30971
  kind: eventBlockKindSchema2.nullable().optional(),
30659
30972
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
30660
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30973
+ filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30661
30974
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
30662
- filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30663
- filterStaffMemberId: z52.string().nullable().optional(),
30664
- filterVenueId: z52.string().nullable().optional(),
30975
+ filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30976
+ filterStaffMemberId: z53.string().nullable().optional(),
30977
+ filterVenueId: z53.string().nullable().optional(),
30665
30978
  buttonVariant: eventButtonVariantSchema.optional(),
30666
- buttonText: z52.string().optional(),
30667
- showVenue: z52.boolean().nullable().optional(),
30668
- showMap: z52.boolean().nullable().optional(),
30669
- showCapacity: z52.boolean().nullable().optional(),
30670
- emptyMessage: z52.string().optional(),
30671
- className: z52.string().optional()
30979
+ buttonText: z53.string().optional(),
30980
+ showVenue: z53.boolean().nullable().optional(),
30981
+ showMap: z53.boolean().nullable().optional(),
30982
+ showCapacity: z53.boolean().nullable().optional(),
30983
+ emptyMessage: z53.string().optional(),
30984
+ className: z53.string().optional()
30672
30985
  }
30673
30986
  );
30674
- var eventCalendarDisplaySchema = z52.object({
30675
- kind: z52.literal("event-calendar"),
30987
+ var eventCalendarDisplaySchema = z53.object({
30988
+ kind: z53.literal("event-calendar"),
30676
30989
  displayMode: eventCalendarDisplayModeSchema,
30677
- className: z52.string().nullable(),
30678
- events: z52.array(publicEventSchema),
30990
+ className: z53.string().nullable(),
30991
+ events: z53.array(publicEventSchema),
30679
30992
  listLayout: eventLayoutSchema,
30680
30993
  listColumns: columnOptionSchema,
30681
30994
  eventsPerPage: eventPageSizeSchema,
@@ -30683,41 +30996,41 @@ var eventCalendarDisplaySchema = z52.object({
30683
30996
  startOfWeek: weekStartSchema,
30684
30997
  calendarTabViews: calendarTabViewsSchema,
30685
30998
  defaultCalendarView: eventCalendarDefaultViewSchema,
30686
- showFilters: z52.boolean(),
30999
+ showFilters: z53.boolean(),
30687
31000
  showCategoryFilter: filterAutoShowSchema,
30688
- showVenueFilter: z52.boolean(),
30689
- showStaffFilter: z52.boolean(),
31001
+ showVenueFilter: z53.boolean(),
31002
+ showStaffFilter: z53.boolean(),
30690
31003
  eventKind: eventBlockKindSchema2,
30691
31004
  eventSurface: eventSurfaceScopeSchema2,
30692
- filterEventPresets: z52.string().nullable(),
31005
+ filterEventPresets: z53.string().nullable(),
30693
31006
  scheduleScope: eventScheduleScopeSchema3,
30694
- filterCategoryIds: z52.string().nullable(),
30695
- filterStaffMemberId: z52.string().nullable(),
30696
- filterVenueId: z52.string().nullable(),
31007
+ filterCategoryIds: z53.string().nullable(),
31008
+ filterStaffMemberId: z53.string().nullable(),
31009
+ filterVenueId: z53.string().nullable(),
30697
31010
  buttonVariant: eventButtonVariantSchema,
30698
- buttonText: z52.string(),
30699
- showVenue: z52.boolean(),
30700
- showMap: z52.boolean(),
30701
- showCapacity: z52.boolean(),
30702
- emptyMessage: z52.string()
30703
- });
30704
- var eventCalendarHydrationSchema = z52.object({
30705
- siteId: z52.string(),
31011
+ buttonText: z53.string(),
31012
+ showVenue: z53.boolean(),
31013
+ showMap: z53.boolean(),
31014
+ showCapacity: z53.boolean(),
31015
+ emptyMessage: z53.string()
31016
+ });
31017
+ var eventCalendarHydrationSchema = z53.object({
31018
+ siteId: z53.string(),
30706
31019
  stage: previewStageSchema.optional(),
30707
- prefetchedEvents: z52.boolean(),
31020
+ prefetchedEvents: z53.boolean(),
30708
31021
  eventKind: eventBlockKindSchema2,
30709
31022
  eventSurface: eventSurfaceScopeSchema2,
30710
- filterEventPresets: z52.string().nullable(),
31023
+ filterEventPresets: z53.string().nullable(),
30711
31024
  scheduleScope: eventScheduleScopeSchema3
30712
31025
  });
30713
- var eventCalendarRenderSchema = z52.object({
31026
+ var eventCalendarRenderSchema = z53.object({
30714
31027
  display: eventCalendarDisplaySchema,
30715
31028
  hydration: eventCalendarHydrationSchema
30716
31029
  });
30717
31030
  var eventCalendarIslandMetaCodec = createZodCodec(
30718
- z52.object({
30719
- siteId: z52.string(),
30720
- apiBaseUrl: z52.string().optional(),
31031
+ z53.object({
31032
+ siteId: z53.string(),
31033
+ apiBaseUrl: z53.string().optional(),
30721
31034
  stage: previewStageSchema.optional()
30722
31035
  })
30723
31036
  );
@@ -30837,14 +31150,7 @@ var eventCalendarLayout = [
30837
31150
  styledSection({
30838
31151
  children: sectionContainer(
30839
31152
  [
30840
- // Optional heading
30841
- text({ as: "h2" }, bind("content.heading"), when("content.heading")),
30842
- // Optional description
30843
- richText(
30844
- { className: "rb-prose rb-max-w-none" },
30845
- bind("content.description"),
30846
- when("content.description")
30847
- ),
31153
+ ...eventSectionHeaderLayoutNodes(),
30848
31154
  // Event calendar component (handles all display modes)
30849
31155
  el(
30850
31156
  "event-calendar",
@@ -31489,7 +31795,7 @@ var eventCalendarBlockDefinition = {
31489
31795
  };
31490
31796
 
31491
31797
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31492
- import { z as z53 } from "zod";
31798
+ import { z as z54 } from "zod";
31493
31799
 
31494
31800
  // ../blocks/src/system/blocks/offerings-preview/model.ts
31495
31801
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -31581,13 +31887,13 @@ function isRecord6(value) {
31581
31887
  }
31582
31888
 
31583
31889
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31584
- var publicRouteCandidatesSchema = z53.object({
31585
- routes: z53.array(z53.object({
31586
- entityId: z53.string(),
31587
- path: z53.string(),
31588
- title: z53.string(),
31589
- kind: z53.enum(["page", "content"]),
31590
- contentTypeKey: z53.string().nullable().optional()
31890
+ var publicRouteCandidatesSchema = z54.object({
31891
+ routes: z54.array(z54.object({
31892
+ entityId: z54.string(),
31893
+ path: z54.string(),
31894
+ title: z54.string(),
31895
+ kind: z54.enum(["page", "content"]),
31896
+ contentTypeKey: z54.string().nullable().optional()
31591
31897
  }))
31592
31898
  });
31593
31899
  var groupOverrideFields = [
@@ -31985,7 +32291,7 @@ function isRecord7(value) {
31985
32291
  }
31986
32292
 
31987
32293
  // ../blocks/src/system/blocks/embed.ts
31988
- import { z as z54 } from "zod";
32294
+ import { z as z55 } from "zod";
31989
32295
  var embedFields = [
31990
32296
  // Section heading
31991
32297
  parseFieldDefinition({
@@ -32216,18 +32522,18 @@ var embedManifest = createBlockManifest({
32216
32522
  spacing: "lg"
32217
32523
  }
32218
32524
  });
32219
- var embedEntrySchema = z54.object({
32220
- id: z54.string(),
32221
- identifier: z54.string(),
32222
- title: z54.string(),
32223
- slug: z54.string().nullable().optional(),
32224
- content: z54.record(z54.string(), z54.unknown()).optional(),
32225
- publishedAt: z54.string().nullable().optional()
32525
+ var embedEntrySchema = z55.object({
32526
+ id: z55.string(),
32527
+ identifier: z55.string(),
32528
+ title: z55.string(),
32529
+ slug: z55.string().nullable().optional(),
32530
+ content: z55.record(z55.string(), z55.unknown()).optional(),
32531
+ publishedAt: z55.string().nullable().optional()
32226
32532
  });
32227
32533
  var embedBlockDefinition = {
32228
32534
  manifest: embedManifest,
32229
32535
  dataSchemas: {
32230
- entries: z54.array(embedEntrySchema).optional()
32536
+ entries: z55.array(embedEntrySchema).optional()
32231
32537
  },
32232
32538
  dataLoaders: {
32233
32539
  entries: {
@@ -33411,49 +33717,49 @@ var fileDownloadBlockDefinition = {
33411
33717
  };
33412
33718
 
33413
33719
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33414
- import { z as z57 } from "zod";
33720
+ import { z as z58 } from "zod";
33415
33721
 
33416
33722
  // ../blocks/src/system/blocks/products/shared.ts
33417
- import { z as z55 } from "zod";
33418
- var publicProductVariantSchema = z55.object({
33419
- id: z55.string(),
33420
- title: z55.string(),
33421
- sku: z55.string().nullable(),
33422
- priceCents: z55.number(),
33423
- stockQuantity: z55.number().nullable(),
33424
- soldOut: z55.boolean()
33425
- });
33426
- var publicProductSchema = z55.object({
33427
- id: z55.string(),
33428
- contentEntryId: z55.string().nullable(),
33429
- title: z55.string(),
33430
- slug: z55.string(),
33431
- path: z55.string().nullable(),
33432
- status: z55.enum(["draft", "active"]),
33433
- priceCents: z55.number(),
33434
- currency: z55.string(),
33435
- productType: z55.enum(["physical", "digital"]),
33436
- requiresShipping: z55.boolean(),
33437
- hasVariants: z55.boolean(),
33438
- trackInventory: z55.boolean(),
33439
- soldOut: z55.boolean(),
33440
- category: z55.object({
33441
- id: z55.string(),
33442
- name: z55.string(),
33443
- slug: z55.string()
33723
+ import { z as z56 } from "zod";
33724
+ var publicProductVariantSchema = z56.object({
33725
+ id: z56.string(),
33726
+ title: z56.string(),
33727
+ sku: z56.string().nullable(),
33728
+ priceCents: z56.number(),
33729
+ stockQuantity: z56.number().nullable(),
33730
+ soldOut: z56.boolean()
33731
+ });
33732
+ var publicProductSchema = z56.object({
33733
+ id: z56.string(),
33734
+ contentEntryId: z56.string().nullable(),
33735
+ title: z56.string(),
33736
+ slug: z56.string(),
33737
+ path: z56.string().nullable(),
33738
+ status: z56.enum(["draft", "active"]),
33739
+ priceCents: z56.number(),
33740
+ currency: z56.string(),
33741
+ productType: z56.enum(["physical", "digital"]),
33742
+ requiresShipping: z56.boolean(),
33743
+ hasVariants: z56.boolean(),
33744
+ trackInventory: z56.boolean(),
33745
+ soldOut: z56.boolean(),
33746
+ category: z56.object({
33747
+ id: z56.string(),
33748
+ name: z56.string(),
33749
+ slug: z56.string()
33444
33750
  }).nullable(),
33445
- summary: z55.string().nullable(),
33446
- body: z55.unknown().nullable(),
33447
- gallery: z55.array(
33448
- z55.object({
33449
- url: z55.string(),
33450
- alt: z55.string().nullable()
33751
+ summary: z56.string().nullable(),
33752
+ body: z56.unknown().nullable(),
33753
+ gallery: z56.array(
33754
+ z56.object({
33755
+ url: z56.string(),
33756
+ alt: z56.string().nullable()
33451
33757
  })
33452
33758
  ),
33453
- variants: z55.array(publicProductVariantSchema)
33759
+ variants: z56.array(publicProductVariantSchema)
33454
33760
  });
33455
- var publicProductsResponseSchema = z55.object({
33456
- products: z55.array(publicProductSchema)
33761
+ var publicProductsResponseSchema = z56.object({
33762
+ products: z56.array(publicProductSchema)
33457
33763
  });
33458
33764
 
33459
33765
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -33517,27 +33823,27 @@ function deriveCreditProductLabels(products, options = {}) {
33517
33823
  }
33518
33824
 
33519
33825
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
33520
- import { z as z56 } from "zod";
33521
- var storedProductCartItemSchema = z56.object({
33522
- kind: z56.literal("product"),
33523
- productId: z56.string().min(1),
33524
- productCategoryId: z56.string().min(1).optional().nullable(),
33525
- variantId: z56.string().min(1).optional().nullable(),
33526
- title: z56.string().min(1),
33527
- variantTitle: z56.string().optional().nullable(),
33528
- quantity: z56.number().finite(),
33529
- unitPriceCents: z56.number().finite(),
33530
- currency: z56.string().min(1),
33531
- imageUrl: z56.string().optional().nullable(),
33532
- soldOut: z56.boolean().optional()
33533
- });
33534
- var storedPassCartItemSchema = z56.object({
33535
- kind: z56.literal("pass"),
33536
- passId: z56.string().min(1),
33537
- title: z56.string().min(1),
33538
- quantity: z56.number().finite().optional(),
33539
- unitPriceCents: z56.number().finite(),
33540
- currency: z56.string().min(1)
33826
+ import { z as z57 } from "zod";
33827
+ var storedProductCartItemSchema = z57.object({
33828
+ kind: z57.literal("product"),
33829
+ productId: z57.string().min(1),
33830
+ productCategoryId: z57.string().min(1).optional().nullable(),
33831
+ variantId: z57.string().min(1).optional().nullable(),
33832
+ title: z57.string().min(1),
33833
+ variantTitle: z57.string().optional().nullable(),
33834
+ quantity: z57.number().finite(),
33835
+ unitPriceCents: z57.number().finite(),
33836
+ currency: z57.string().min(1),
33837
+ imageUrl: z57.string().optional().nullable(),
33838
+ soldOut: z57.boolean().optional()
33839
+ });
33840
+ var storedPassCartItemSchema = z57.object({
33841
+ kind: z57.literal("pass"),
33842
+ passId: z57.string().min(1),
33843
+ title: z57.string().min(1),
33844
+ quantity: z57.number().finite().optional(),
33845
+ unitPriceCents: z57.number().finite(),
33846
+ currency: z57.string().min(1)
33541
33847
  });
33542
33848
  function deriveCommerceCheckoutState(state) {
33543
33849
  if (state.items.length === 0) {
@@ -33771,214 +34077,214 @@ function formatValidity(days) {
33771
34077
  }
33772
34078
 
33773
34079
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33774
- var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33775
- var contentEntrySchema3 = z57.object({
33776
- id: z57.string().nullable().optional(),
33777
- slug: z57.string().nullable().optional()
34080
+ var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
34081
+ var contentEntrySchema3 = z58.object({
34082
+ id: z58.string().nullable().optional(),
34083
+ slug: z58.string().nullable().optional()
33778
34084
  }).nullable();
33779
- var shopSourceSchema = z57.object({
33780
- className: z57.string().nullable().optional(),
34085
+ var shopSourceSchema = z58.object({
34086
+ className: z58.string().nullable().optional(),
33781
34087
  mode: shopModeSchema.optional(),
33782
- heading: z57.string().nullable().optional(),
33783
- productSlug: z57.string().nullable().optional(),
33784
- showPasses: z57.boolean().optional(),
33785
- showMemberships: z57.boolean().optional(),
33786
- layout: z57.enum(["grid", "list"]).optional(),
33787
- columns: z57.string().optional(),
33788
- showDescriptions: z57.boolean().optional(),
33789
- showSummary: z57.boolean().optional(),
33790
- showBody: z57.boolean().optional(),
33791
- showPrices: z57.boolean().optional(),
33792
- showValidityPeriod: z57.boolean().optional(),
33793
- showPricePerCredit: z57.boolean().nullable().optional(),
33794
- passesHeading: z57.string().optional(),
33795
- membershipsHeading: z57.string().optional(),
33796
- buyButtonText: z57.string().optional(),
33797
- addButtonText: z57.string().optional(),
33798
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
33799
- subscribeButtonText: z57.string().optional(),
33800
- emptyStateText: z57.string().optional(),
33801
- checkoutButtonText: z57.string().optional(),
33802
- clearButtonText: z57.string().optional(),
33803
- submitButtonText: z57.string().optional(),
34088
+ heading: z58.string().nullable().optional(),
34089
+ productSlug: z58.string().nullable().optional(),
34090
+ showPasses: z58.boolean().optional(),
34091
+ showMemberships: z58.boolean().optional(),
34092
+ layout: z58.enum(["grid", "list"]).optional(),
34093
+ columns: z58.string().optional(),
34094
+ showDescriptions: z58.boolean().optional(),
34095
+ showSummary: z58.boolean().optional(),
34096
+ showBody: z58.boolean().optional(),
34097
+ showPrices: z58.boolean().optional(),
34098
+ showValidityPeriod: z58.boolean().optional(),
34099
+ showPricePerCredit: z58.boolean().nullable().optional(),
34100
+ passesHeading: z58.string().optional(),
34101
+ membershipsHeading: z58.string().optional(),
34102
+ buyButtonText: z58.string().optional(),
34103
+ addButtonText: z58.string().optional(),
34104
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
34105
+ subscribeButtonText: z58.string().optional(),
34106
+ emptyStateText: z58.string().optional(),
34107
+ checkoutButtonText: z58.string().optional(),
34108
+ clearButtonText: z58.string().optional(),
34109
+ submitButtonText: z58.string().optional(),
33804
34110
  contentEntry: contentEntrySchema3.optional(),
33805
- passes: z57.array(publicPassProductSchema).nullable().optional(),
33806
- memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
33807
- products: z57.array(publicProductSchema).nullable().optional(),
33808
- siteId: z57.string().optional(),
33809
- apiBaseUrl: z57.string().optional(),
34111
+ passes: z58.array(publicPassProductSchema).nullable().optional(),
34112
+ memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
34113
+ products: z58.array(publicProductSchema).nullable().optional(),
34114
+ siteId: z58.string().optional(),
34115
+ apiBaseUrl: z58.string().optional(),
33810
34116
  stage: previewStageSchema.optional()
33811
34117
  });
33812
- var productVariantOptionDisplaySchema = z57.object({
33813
- id: z57.string(),
33814
- label: z57.string(),
33815
- soldOut: z57.boolean()
33816
- });
33817
- var productCardDisplaySchema = z57.object({
33818
- productId: z57.string(),
33819
- title: z57.string(),
33820
- path: z57.string().nullable(),
33821
- summary: z57.string().nullable(),
33822
- priceLabel: z57.string().nullable(),
33823
- image: z57.object({
33824
- url: z57.string(),
33825
- alt: z57.string().nullable()
34118
+ var productVariantOptionDisplaySchema = z58.object({
34119
+ id: z58.string(),
34120
+ label: z58.string(),
34121
+ soldOut: z58.boolean()
34122
+ });
34123
+ var productCardDisplaySchema = z58.object({
34124
+ productId: z58.string(),
34125
+ title: z58.string(),
34126
+ path: z58.string().nullable(),
34127
+ summary: z58.string().nullable(),
34128
+ priceLabel: z58.string().nullable(),
34129
+ image: z58.object({
34130
+ url: z58.string(),
34131
+ alt: z58.string().nullable()
33826
34132
  }).nullable(),
33827
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33828
- selectedVariantId: z57.string().nullable(),
33829
- selectionLabel: z57.string(),
33830
- actionLabel: z57.string(),
33831
- soldOut: z57.boolean()
33832
- });
33833
- var productListDisplaySchema = z57.object({
33834
- kind: z57.literal("product-list"),
33835
- state: z57.enum(["empty", "ready"]),
33836
- heading: z57.string().nullable(),
33837
- className: z57.string().nullable(),
33838
- layout: z57.enum(["grid", "list"]),
33839
- columns: z57.string(),
33840
- emptyMessage: z57.string(),
33841
- cards: z57.array(productCardDisplaySchema)
33842
- });
33843
- var productDetailDisplaySchema = z57.discriminatedUnion("state", [
33844
- z57.object({
33845
- kind: z57.literal("product-detail"),
33846
- state: z57.literal("empty"),
33847
- heading: z57.string().nullable(),
33848
- className: z57.string().nullable(),
33849
- emptyMessage: z57.string()
34133
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
34134
+ selectedVariantId: z58.string().nullable(),
34135
+ selectionLabel: z58.string(),
34136
+ actionLabel: z58.string(),
34137
+ soldOut: z58.boolean()
34138
+ });
34139
+ var productListDisplaySchema = z58.object({
34140
+ kind: z58.literal("product-list"),
34141
+ state: z58.enum(["empty", "ready"]),
34142
+ heading: z58.string().nullable(),
34143
+ className: z58.string().nullable(),
34144
+ layout: z58.enum(["grid", "list"]),
34145
+ columns: z58.string(),
34146
+ emptyMessage: z58.string(),
34147
+ cards: z58.array(productCardDisplaySchema)
34148
+ });
34149
+ var productDetailDisplaySchema = z58.discriminatedUnion("state", [
34150
+ z58.object({
34151
+ kind: z58.literal("product-detail"),
34152
+ state: z58.literal("empty"),
34153
+ heading: z58.string().nullable(),
34154
+ className: z58.string().nullable(),
34155
+ emptyMessage: z58.string()
33850
34156
  }),
33851
- z57.object({
33852
- kind: z57.literal("product-detail"),
33853
- state: z57.literal("ready"),
33854
- heading: z57.string().nullable(),
33855
- className: z57.string().nullable(),
33856
- title: z57.string(),
33857
- priceLabel: z57.string(),
33858
- summary: z57.string().nullable(),
33859
- categoryLabel: z57.string().nullable(),
33860
- gallery: z57.array(z57.object({
33861
- url: z57.string(),
33862
- alt: z57.string().nullable()
34157
+ z58.object({
34158
+ kind: z58.literal("product-detail"),
34159
+ state: z58.literal("ready"),
34160
+ heading: z58.string().nullable(),
34161
+ className: z58.string().nullable(),
34162
+ title: z58.string(),
34163
+ priceLabel: z58.string(),
34164
+ summary: z58.string().nullable(),
34165
+ categoryLabel: z58.string().nullable(),
34166
+ gallery: z58.array(z58.object({
34167
+ url: z58.string(),
34168
+ alt: z58.string().nullable()
33863
34169
  })),
33864
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33865
- selectedVariantId: z57.string().nullable(),
33866
- selectionLabel: z57.string(),
33867
- actionLabel: z57.string(),
33868
- soldOut: z57.boolean(),
33869
- body: z57.unknown().nullable()
34170
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
34171
+ selectedVariantId: z58.string().nullable(),
34172
+ selectionLabel: z58.string(),
34173
+ actionLabel: z58.string(),
34174
+ soldOut: z58.boolean(),
34175
+ body: z58.unknown().nullable()
33870
34176
  })
33871
34177
  ]);
33872
- var passCardDisplaySchema = z57.object({
33873
- id: z57.string(),
33874
- title: z57.string(),
33875
- description: z57.string().nullable(),
33876
- priceLabel: z57.string(),
33877
- creditsLabel: z57.string(),
33878
- perCreditLabel: z57.string().nullable(),
33879
- validityLabel: z57.string().nullable(),
33880
- actionLabel: z57.string()
33881
- });
33882
- var membershipCardDisplaySchema = z57.object({
33883
- id: z57.string(),
33884
- title: z57.string(),
33885
- description: z57.string().nullable(),
33886
- priceLabel: z57.string(),
33887
- intervalLabel: z57.string(),
33888
- actionLabel: z57.string()
33889
- });
33890
- var passesMembershipsDisplaySchema = z57.object({
33891
- kind: z57.literal("passes-memberships"),
33892
- state: z57.enum(["empty", "ready"]),
33893
- className: z57.string().nullable(),
33894
- layout: z57.enum(["grid", "list"]),
33895
- columns: z57.string(),
33896
- emptyMessage: z57.string(),
33897
- passesHeading: z57.string(),
33898
- membershipsHeading: z57.string(),
33899
- passes: z57.array(passCardDisplaySchema),
33900
- memberships: z57.array(membershipCardDisplaySchema)
33901
- });
33902
- var cartLineDisplaySchema = z57.object({
33903
- key: z57.string(),
33904
- title: z57.string(),
33905
- priceLabel: z57.string(),
33906
- quantity: z57.number(),
33907
- quantityEditable: z57.boolean()
33908
- });
33909
- var cartDisplaySchema = z57.object({
33910
- kind: z57.literal("cart"),
33911
- state: z57.enum(["empty", "ready"]),
33912
- heading: z57.string().nullable(),
33913
- className: z57.string().nullable(),
33914
- emptyMessage: z57.string(),
33915
- supportText: z57.string().nullable(),
33916
- items: z57.array(cartLineDisplaySchema),
33917
- subtotalLabel: z57.string().nullable(),
33918
- checkoutButtonText: z57.string(),
33919
- clearButtonText: z57.string()
33920
- });
33921
- var checkoutDisplaySchema = z57.object({
33922
- kind: z57.literal("checkout"),
33923
- state: z57.enum(["empty", "blocked", "ready"]),
33924
- heading: z57.string().nullable(),
33925
- className: z57.string().nullable(),
33926
- message: z57.string().nullable(),
33927
- submitButtonText: z57.string()
33928
- });
33929
- var passesMembershipsHydrationSchema = z57.object({
33930
- passes: z57.array(publicPassProductSchema),
33931
- memberships: z57.array(publicMembershipProductSchema),
33932
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
33933
- });
33934
- var productListHydrationSchema = z57.object({
33935
- products: z57.array(publicProductSchema),
33936
- showSummary: z57.boolean(),
33937
- showPrices: z57.boolean(),
33938
- addButtonText: z57.string()
33939
- });
33940
- var productDetailHydrationSchema = z57.object({
33941
- products: z57.array(publicProductSchema),
33942
- productId: z57.string().nullable(),
33943
- showSummary: z57.boolean(),
33944
- showBody: z57.boolean(),
33945
- addButtonText: z57.string()
33946
- });
33947
- var cartHydrationSchema = z57.object({
33948
- emptyStateText: z57.string(),
33949
- checkoutButtonText: z57.string(),
33950
- clearButtonText: z57.string()
33951
- });
33952
- var checkoutHydrationSchema = z57.object({
33953
- emptyStateText: z57.string(),
33954
- submitButtonText: z57.string()
33955
- });
33956
- var passesMembershipsRenderSchema = z57.object({
34178
+ var passCardDisplaySchema = z58.object({
34179
+ id: z58.string(),
34180
+ title: z58.string(),
34181
+ description: z58.string().nullable(),
34182
+ priceLabel: z58.string(),
34183
+ creditsLabel: z58.string(),
34184
+ perCreditLabel: z58.string().nullable(),
34185
+ validityLabel: z58.string().nullable(),
34186
+ actionLabel: z58.string()
34187
+ });
34188
+ var membershipCardDisplaySchema = z58.object({
34189
+ id: z58.string(),
34190
+ title: z58.string(),
34191
+ description: z58.string().nullable(),
34192
+ priceLabel: z58.string(),
34193
+ intervalLabel: z58.string(),
34194
+ actionLabel: z58.string()
34195
+ });
34196
+ var passesMembershipsDisplaySchema = z58.object({
34197
+ kind: z58.literal("passes-memberships"),
34198
+ state: z58.enum(["empty", "ready"]),
34199
+ className: z58.string().nullable(),
34200
+ layout: z58.enum(["grid", "list"]),
34201
+ columns: z58.string(),
34202
+ emptyMessage: z58.string(),
34203
+ passesHeading: z58.string(),
34204
+ membershipsHeading: z58.string(),
34205
+ passes: z58.array(passCardDisplaySchema),
34206
+ memberships: z58.array(membershipCardDisplaySchema)
34207
+ });
34208
+ var cartLineDisplaySchema = z58.object({
34209
+ key: z58.string(),
34210
+ title: z58.string(),
34211
+ priceLabel: z58.string(),
34212
+ quantity: z58.number(),
34213
+ quantityEditable: z58.boolean()
34214
+ });
34215
+ var cartDisplaySchema = z58.object({
34216
+ kind: z58.literal("cart"),
34217
+ state: z58.enum(["empty", "ready"]),
34218
+ heading: z58.string().nullable(),
34219
+ className: z58.string().nullable(),
34220
+ emptyMessage: z58.string(),
34221
+ supportText: z58.string().nullable(),
34222
+ items: z58.array(cartLineDisplaySchema),
34223
+ subtotalLabel: z58.string().nullable(),
34224
+ checkoutButtonText: z58.string(),
34225
+ clearButtonText: z58.string()
34226
+ });
34227
+ var checkoutDisplaySchema = z58.object({
34228
+ kind: z58.literal("checkout"),
34229
+ state: z58.enum(["empty", "blocked", "ready"]),
34230
+ heading: z58.string().nullable(),
34231
+ className: z58.string().nullable(),
34232
+ message: z58.string().nullable(),
34233
+ submitButtonText: z58.string()
34234
+ });
34235
+ var passesMembershipsHydrationSchema = z58.object({
34236
+ passes: z58.array(publicPassProductSchema),
34237
+ memberships: z58.array(publicMembershipProductSchema),
34238
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
34239
+ });
34240
+ var productListHydrationSchema = z58.object({
34241
+ products: z58.array(publicProductSchema),
34242
+ showSummary: z58.boolean(),
34243
+ showPrices: z58.boolean(),
34244
+ addButtonText: z58.string()
34245
+ });
34246
+ var productDetailHydrationSchema = z58.object({
34247
+ products: z58.array(publicProductSchema),
34248
+ productId: z58.string().nullable(),
34249
+ showSummary: z58.boolean(),
34250
+ showBody: z58.boolean(),
34251
+ addButtonText: z58.string()
34252
+ });
34253
+ var cartHydrationSchema = z58.object({
34254
+ emptyStateText: z58.string(),
34255
+ checkoutButtonText: z58.string(),
34256
+ clearButtonText: z58.string()
34257
+ });
34258
+ var checkoutHydrationSchema = z58.object({
34259
+ emptyStateText: z58.string(),
34260
+ submitButtonText: z58.string()
34261
+ });
34262
+ var passesMembershipsRenderSchema = z58.object({
33957
34263
  display: passesMembershipsDisplaySchema,
33958
34264
  hydration: passesMembershipsHydrationSchema
33959
34265
  });
33960
- var productListRenderSchema = z57.object({
34266
+ var productListRenderSchema = z58.object({
33961
34267
  display: productListDisplaySchema,
33962
34268
  hydration: productListHydrationSchema
33963
34269
  });
33964
- var productDetailRenderSchema = z57.object({
34270
+ var productDetailRenderSchema = z58.object({
33965
34271
  display: productDetailDisplaySchema,
33966
34272
  hydration: productDetailHydrationSchema
33967
34273
  });
33968
- var cartRenderSchema = z57.object({
34274
+ var cartRenderSchema = z58.object({
33969
34275
  display: cartDisplaySchema,
33970
34276
  hydration: cartHydrationSchema
33971
34277
  });
33972
- var checkoutRenderSchema = z57.object({
34278
+ var checkoutRenderSchema = z58.object({
33973
34279
  display: checkoutDisplaySchema,
33974
34280
  hydration: checkoutHydrationSchema
33975
34281
  });
33976
34282
  function resolveShowPricePerCredit(source) {
33977
34283
  return source.showPricePerCredit ?? true;
33978
34284
  }
33979
- var shopIslandMetaCodec = createZodCodec(z57.object({
33980
- siteId: z57.string().optional(),
33981
- apiBaseUrl: z57.string().optional(),
34285
+ var shopIslandMetaCodec = createZodCodec(z58.object({
34286
+ siteId: z58.string().optional(),
34287
+ apiBaseUrl: z58.string().optional(),
33982
34288
  stage: previewStageSchema.optional()
33983
34289
  }));
33984
34290
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -34381,7 +34687,7 @@ var shopBlockDefinition = {
34381
34687
  };
34382
34688
 
34383
34689
  // ../blocks/src/system/blocks/product-list.ts
34384
- import { z as z58 } from "zod";
34690
+ import { z as z59 } from "zod";
34385
34691
  var productListManifest = createBlockManifest({
34386
34692
  id: "block.product-list",
34387
34693
  version: "1.0.0",
@@ -34514,7 +34820,7 @@ var productListBlockDefinition = {
34514
34820
  }
34515
34821
  }
34516
34822
  };
34517
- var productListDataSchema = z58.object({
34823
+ var productListDataSchema = z59.object({
34518
34824
  products: publicProductsResponseSchema.optional()
34519
34825
  });
34520
34826
 
@@ -34775,72 +35081,72 @@ var checkoutBlockDefinition = {
34775
35081
  };
34776
35082
 
34777
35083
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
34778
- import { z as z59 } from "zod";
34779
- var publicGiftCardOfferSchema = z59.object({
34780
- id: z59.string(),
34781
- kind: z59.literal("gift_card"),
34782
- title: z59.string(),
34783
- description: z59.string().nullable(),
34784
- sortOrder: z59.number().int(),
34785
- giftCard: z59.object({
34786
- fixedDenominations: z59.array(z59.number().int().positive()),
34787
- customAmountEnabled: z59.boolean(),
34788
- customAmountMinCents: z59.number().int().positive(),
34789
- customAmountMaxCents: z59.number().int().positive()
35084
+ import { z as z60 } from "zod";
35085
+ var publicGiftCardOfferSchema = z60.object({
35086
+ id: z60.string(),
35087
+ kind: z60.literal("gift_card"),
35088
+ title: z60.string(),
35089
+ description: z60.string().nullable(),
35090
+ sortOrder: z60.number().int(),
35091
+ giftCard: z60.object({
35092
+ fixedDenominations: z60.array(z60.number().int().positive()),
35093
+ customAmountEnabled: z60.boolean(),
35094
+ customAmountMinCents: z60.number().int().positive(),
35095
+ customAmountMaxCents: z60.number().int().positive()
34790
35096
  }),
34791
- voucher: z59.null()
34792
- });
34793
- var publicVoucherOfferSchema = z59.object({
34794
- id: z59.string(),
34795
- kind: z59.literal("voucher"),
34796
- title: z59.string(),
34797
- description: z59.string().nullable(),
34798
- sortOrder: z59.number().int(),
34799
- giftCard: z59.null(),
34800
- voucher: z59.object({
34801
- purchaseAmountCents: z59.number().int().positive()
35097
+ voucher: z60.null()
35098
+ });
35099
+ var publicVoucherOfferSchema = z60.object({
35100
+ id: z60.string(),
35101
+ kind: z60.literal("voucher"),
35102
+ title: z60.string(),
35103
+ description: z60.string().nullable(),
35104
+ sortOrder: z60.number().int(),
35105
+ giftCard: z60.null(),
35106
+ voucher: z60.object({
35107
+ purchaseAmountCents: z60.number().int().positive()
34802
35108
  })
34803
35109
  });
34804
- var publicGiftingOffersResponseSchema = z59.object({
34805
- currency: z59.string(),
34806
- giftCards: z59.array(publicGiftCardOfferSchema),
34807
- vouchers: z59.array(publicVoucherOfferSchema)
35110
+ var publicGiftingOffersResponseSchema = z60.object({
35111
+ currency: z60.string(),
35112
+ giftCards: z60.array(publicGiftCardOfferSchema),
35113
+ vouchers: z60.array(publicVoucherOfferSchema)
34808
35114
  });
34809
- var giftingSourceSchema = z59.object({
34810
- siteId: z59.string().optional(),
34811
- apiBaseUrl: z59.string().optional(),
35115
+ var giftingSourceSchema = z60.object({
35116
+ siteId: z60.string().optional(),
35117
+ apiBaseUrl: z60.string().optional(),
34812
35118
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
34813
- className: z59.string().nullable().optional(),
34814
- heading: z59.string().nullable().optional(),
34815
- intro: z59.string().nullable().optional(),
34816
- giftCardsHeading: z59.string().nullable().optional(),
34817
- vouchersHeading: z59.string().nullable().optional(),
34818
- emptyStateText: z59.string().nullable().optional(),
34819
- checkoutButtonText: z59.string().nullable().optional(),
34820
- successMessage: z59.string().nullable().optional()
34821
- });
34822
- var giftingDisplaySchema = z59.object({
34823
- kind: z59.literal("gifting"),
34824
- state: z59.literal("ready"),
34825
- className: z59.string().nullable(),
34826
- heading: z59.string(),
34827
- intro: z59.string().nullable(),
34828
- giftCardsHeading: z59.string(),
34829
- vouchersHeading: z59.string(),
34830
- emptyStateText: z59.string()
34831
- });
34832
- var giftingHydrationSchema = z59.object({
35119
+ className: z60.string().nullable().optional(),
35120
+ heading: z60.string().nullable().optional(),
35121
+ intro: z60.string().nullable().optional(),
35122
+ giftCardsHeading: z60.string().nullable().optional(),
35123
+ vouchersHeading: z60.string().nullable().optional(),
35124
+ emptyStateText: z60.string().nullable().optional(),
35125
+ checkoutButtonText: z60.string().nullable().optional(),
35126
+ successMessage: z60.string().nullable().optional()
35127
+ });
35128
+ var giftingDisplaySchema = z60.object({
35129
+ kind: z60.literal("gifting"),
35130
+ state: z60.literal("ready"),
35131
+ className: z60.string().nullable(),
35132
+ heading: z60.string(),
35133
+ intro: z60.string().nullable(),
35134
+ giftCardsHeading: z60.string(),
35135
+ vouchersHeading: z60.string(),
35136
+ emptyStateText: z60.string()
35137
+ });
35138
+ var giftingHydrationSchema = z60.object({
34833
35139
  offers: publicGiftingOffersResponseSchema.nullable(),
34834
- checkoutButtonText: z59.string(),
34835
- successMessage: z59.string()
35140
+ checkoutButtonText: z60.string(),
35141
+ successMessage: z60.string()
34836
35142
  });
34837
- var giftingRenderSchema = z59.object({
35143
+ var giftingRenderSchema = z60.object({
34838
35144
  display: giftingDisplaySchema,
34839
35145
  hydration: giftingHydrationSchema
34840
35146
  });
34841
- var giftingIslandMetaCodec = createZodCodec(z59.object({
34842
- siteId: z59.string().optional(),
34843
- apiBaseUrl: z59.string().optional()
35147
+ var giftingIslandMetaCodec = createZodCodec(z60.object({
35148
+ siteId: z60.string().optional(),
35149
+ apiBaseUrl: z60.string().optional()
34844
35150
  }));
34845
35151
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
34846
35152
  "siteId",
@@ -35011,7 +35317,7 @@ var giftingBlockDefinition = {
35011
35317
  };
35012
35318
 
35013
35319
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
35014
- import { z as z60 } from "zod";
35320
+ import { z as z61 } from "zod";
35015
35321
 
35016
35322
  // ../blocks/src/system/blocks/newsletter-signup-destination.ts
35017
35323
  function parseNewsletterSignupBlockId(value) {
@@ -35118,65 +35424,65 @@ function withOptionalPhone(fields3, includePhone) {
35118
35424
  }
35119
35425
 
35120
35426
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
35121
- var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35122
- var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
35123
- var newsletterFieldSchema = z60.object({
35124
- id: z60.string(),
35125
- type: z60.enum(["email", "text"]),
35126
- label: z60.string(),
35127
- required: z60.boolean(),
35128
- placeholder: z60.string().optional()
35129
- });
35130
- var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35131
- var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35132
- var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
35133
- z60.object({
35134
- tag: z60.literal("block_ref"),
35427
+ var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35428
+ var newsletterDestinationProviderSchema = z61.enum(["riverbank", "mailchimp"]);
35429
+ var newsletterFieldSchema = z61.object({
35430
+ id: z61.string(),
35431
+ type: z61.enum(["email", "text"]),
35432
+ label: z61.string(),
35433
+ required: z61.boolean(),
35434
+ placeholder: z61.string().optional()
35435
+ });
35436
+ var newsletterSignupBlockIdSchema = z61.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35437
+ var signedNewsletterDestinationRefSchema = z61.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35438
+ var newsletterPublicDestinationRefSchema = z61.discriminatedUnion("tag", [
35439
+ z61.object({
35440
+ tag: z61.literal("block_ref"),
35135
35441
  blockId: newsletterSignupBlockIdSchema
35136
35442
  }),
35137
- z60.object({
35138
- tag: z60.literal("signed_destination_ref"),
35443
+ z61.object({
35444
+ tag: z61.literal("signed_destination_ref"),
35139
35445
  token: signedNewsletterDestinationRefSchema
35140
35446
  })
35141
35447
  ]);
35142
- var newsletterSourceSchema = z60.object({
35143
- blockId: z60.string().nullable().optional(),
35144
- siteId: z60.string().optional(),
35145
- apiBaseUrl: z60.string().optional(),
35146
- listId: z60.string().nullable().optional(),
35448
+ var newsletterSourceSchema = z61.object({
35449
+ blockId: z61.string().nullable().optional(),
35450
+ siteId: z61.string().optional(),
35451
+ apiBaseUrl: z61.string().optional(),
35452
+ listId: z61.string().nullable().optional(),
35147
35453
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
35148
35454
  preset: newsletterPresetSchema.optional(),
35149
- includePhone: z60.boolean().optional(),
35150
- buttonLabel: z60.string().nullable().optional(),
35151
- successMessage: z60.string().nullable().optional(),
35152
- privacyNote: z60.string().nullable().optional(),
35153
- tags: z60.string().nullable().optional(),
35154
- spamProtectionEnabled: z60.boolean().optional(),
35155
- className: z60.string().nullable().optional()
35156
- });
35157
- var newsletterDisplaySchema = z60.object({
35158
- kind: z60.literal("newsletter-form"),
35159
- className: z60.string().nullable(),
35160
- buttonLabel: z60.string(),
35161
- successMessage: z60.string().nullable(),
35162
- privacyNote: z60.string().nullable(),
35163
- fields: z60.array(newsletterFieldSchema)
35164
- });
35165
- var newsletterHydrationSchema = z60.object({
35455
+ includePhone: z61.boolean().optional(),
35456
+ buttonLabel: z61.string().nullable().optional(),
35457
+ successMessage: z61.string().nullable().optional(),
35458
+ privacyNote: z61.string().nullable().optional(),
35459
+ tags: z61.string().nullable().optional(),
35460
+ spamProtectionEnabled: z61.boolean().optional(),
35461
+ className: z61.string().nullable().optional()
35462
+ });
35463
+ var newsletterDisplaySchema = z61.object({
35464
+ kind: z61.literal("newsletter-form"),
35465
+ className: z61.string().nullable(),
35466
+ buttonLabel: z61.string(),
35467
+ successMessage: z61.string().nullable(),
35468
+ privacyNote: z61.string().nullable(),
35469
+ fields: z61.array(newsletterFieldSchema)
35470
+ });
35471
+ var newsletterHydrationSchema = z61.object({
35166
35472
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
35167
- listId: z60.string().nullable().optional(),
35473
+ listId: z61.string().nullable().optional(),
35168
35474
  preset: newsletterPresetSchema,
35169
- includePhone: z60.boolean(),
35170
- tags: z60.string().nullable().optional(),
35171
- spamProtectionEnabled: z60.boolean().optional()
35475
+ includePhone: z61.boolean(),
35476
+ tags: z61.string().nullable().optional(),
35477
+ spamProtectionEnabled: z61.boolean().optional()
35172
35478
  });
35173
- var newsletterRenderSchema = z60.object({
35479
+ var newsletterRenderSchema = z61.object({
35174
35480
  display: newsletterDisplaySchema,
35175
35481
  hydration: newsletterHydrationSchema
35176
35482
  });
35177
- var newsletterIslandMetaCodec = createZodCodec(z60.object({
35178
- siteId: z60.string().optional(),
35179
- apiBaseUrl: z60.string().optional()
35483
+ var newsletterIslandMetaCodec = createZodCodec(z61.object({
35484
+ siteId: z61.string().optional(),
35485
+ apiBaseUrl: z61.string().optional()
35180
35486
  }));
35181
35487
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
35182
35488
  function buildNewsletterDisplay(source) {
@@ -35315,23 +35621,23 @@ var newsletterSignupBlockDefinition = {
35315
35621
  };
35316
35622
 
35317
35623
  // ../blocks/src/system/blocks/team-members.ts
35318
- import { z as z61 } from "zod";
35624
+ import { z as z62 } from "zod";
35319
35625
  var ITEM_NAME2 = "member";
35320
35626
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
35321
35627
  message: "Team member photos must be image media"
35322
35628
  }).nullable();
35323
- var teamMemberDataSchema = z61.object({
35324
- _type: z61.literal("teamMember"),
35325
- id: z61.string(),
35326
- name: z61.string(),
35327
- role: z61.string().nullable(),
35328
- roleLabel: z61.string().nullable(),
35329
- bio: z61.string().nullable(),
35330
- summary: z61.string().nullable(),
35629
+ var teamMemberDataSchema = z62.object({
35630
+ _type: z62.literal("teamMember"),
35631
+ id: z62.string(),
35632
+ name: z62.string(),
35633
+ role: z62.string().nullable(),
35634
+ roleLabel: z62.string().nullable(),
35635
+ bio: z62.string().nullable(),
35636
+ summary: z62.string().nullable(),
35331
35637
  photo: teamMemberPhotoSchema,
35332
- profilePath: z61.string().nullable()
35638
+ profilePath: z62.string().nullable()
35333
35639
  });
35334
- var teamMembersDataSchema = z61.array(teamMemberDataSchema);
35640
+ var teamMembersDataSchema = z62.array(teamMemberDataSchema);
35335
35641
  var dynamicSourceWhen = { equals: "site_staff" };
35336
35642
  var manualSourceWhen = { equals: "site_staff", not: true };
35337
35643
  var headingNode = text(
@@ -36437,6 +36743,10 @@ var systemBlockDefinitionsRaw = [
36437
36743
  flow: conversionFlow,
36438
36744
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
36439
36745
  })),
36746
+ withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
36747
+ flow: offeringsFlow,
36748
+ layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
36749
+ })),
36440
36750
  withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
36441
36751
  flow: conversionFlow,
36442
36752
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
@@ -38120,34 +38430,34 @@ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
38120
38430
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
38121
38431
 
38122
38432
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
38123
- import { z as z62 } from "zod";
38124
- var themeBridgeConfigSchema = z62.object({
38125
- tokens: z62.record(z62.string(), z62.string()),
38126
- typography: z62.object({
38127
- headingFamily: z62.string().optional(),
38128
- bodyFamily: z62.string().optional(),
38129
- headingWeight: z62.number().optional(),
38130
- bodyWeight: z62.number().optional()
38433
+ import { z as z63 } from "zod";
38434
+ var themeBridgeConfigSchema = z63.object({
38435
+ tokens: z63.record(z63.string(), z63.string()),
38436
+ typography: z63.object({
38437
+ headingFamily: z63.string().optional(),
38438
+ bodyFamily: z63.string().optional(),
38439
+ headingWeight: z63.number().optional(),
38440
+ bodyWeight: z63.number().optional()
38131
38441
  }).optional(),
38132
- spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
38133
- corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
38134
- shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
38135
- components: z62.object({
38136
- buttons: z62.union([
38137
- z62.boolean(),
38138
- z62.object({
38139
- variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
38442
+ spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
38443
+ corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
38444
+ shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
38445
+ components: z63.object({
38446
+ buttons: z63.union([
38447
+ z63.boolean(),
38448
+ z63.object({
38449
+ variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
38140
38450
  })
38141
38451
  ]).optional(),
38142
- cards: z62.union([
38143
- z62.boolean(),
38144
- z62.object({
38145
- variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
38452
+ cards: z63.union([
38453
+ z63.boolean(),
38454
+ z63.object({
38455
+ variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
38146
38456
  })
38147
38457
  ]).optional(),
38148
- inputs: z62.boolean().optional()
38458
+ inputs: z63.boolean().optional()
38149
38459
  }).optional(),
38150
- overrides: z62.record(z62.string(), z62.string()).optional()
38460
+ overrides: z63.record(z63.string(), z63.string()).optional()
38151
38461
  }).passthrough();
38152
38462
 
38153
38463
  // ../theme-core/src/siteChrome.tsx
@@ -38365,14 +38675,21 @@ function coercePayload(payload) {
38365
38675
 
38366
38676
  // ../blocks/src/system/data/prefetchBlockData.ts
38367
38677
  async function prefetchBlockData(page, context, options) {
38368
- const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders } = options;
38678
+ const {
38679
+ apiClient,
38680
+ isValidEndpoint,
38681
+ onError,
38682
+ getCustomBlockLoaders,
38683
+ getBlockDefinition: getBlockDefinition2 = getBlockDefinition,
38684
+ resolveParamsBindings: resolveParamsBindings2 = resolveParamsBindings
38685
+ } = options;
38369
38686
  const results = {};
38370
38687
  const tasks = [];
38371
38688
  for (const block of page.blocks) {
38372
38689
  const blockId = block.id;
38373
38690
  if (!blockId) continue;
38374
38691
  let loaders;
38375
- const def = getBlockDefinition(block.kind);
38692
+ const def = getBlockDefinition2(block.kind);
38376
38693
  if (def) {
38377
38694
  loaders = normalizeDataLoaders(def);
38378
38695
  } else if (getCustomBlockLoaders) {
@@ -38395,14 +38712,14 @@ async function prefetchBlockData(page, context, options) {
38395
38712
  continue;
38396
38713
  }
38397
38714
  if (typeof loader.when !== "undefined") {
38398
- const resolvedWhen = resolveParamsBindings(loader.when, vm, {
38715
+ const resolvedWhen = resolveParamsBindings2(loader.when, vm, {
38399
38716
  blockKind: block.kind
38400
38717
  });
38401
38718
  if (resolvedWhen !== true) {
38402
38719
  continue;
38403
38720
  }
38404
38721
  }
38405
- const rawParams = resolveParamsBindings(loader.params, vm, {
38722
+ const rawParams = resolveParamsBindings2(loader.params, vm, {
38406
38723
  blockKind: block.kind
38407
38724
  });
38408
38725
  const params = normalizeParams(rawParams);
@@ -38445,7 +38762,8 @@ var SUPPORTED_LOADER_ENDPOINTS = [
38445
38762
  "listPublicPasses",
38446
38763
  "listPublicMemberships",
38447
38764
  "getPublicFormById",
38448
- "getPublicBookingServices"
38765
+ "getPublicBookingServices",
38766
+ "getPublicWeeklySlotAvailability"
38449
38767
  ];
38450
38768
 
38451
38769
  // ../blocks/src/system/data/normalizeLoaderParams.ts
@@ -38484,6 +38802,10 @@ function normalizeLoaderParams(endpoint, params, context) {
38484
38802
  ensureSiteId(out, context);
38485
38803
  return out;
38486
38804
  }
38805
+ if (endpoint === "getPublicWeeklySlotAvailability") {
38806
+ ensureSiteId(out, context);
38807
+ return out;
38808
+ }
38487
38809
  if (endpoint === "listPublicEvents") {
38488
38810
  ensureSiteId(out, context);
38489
38811
  return out;
@@ -38516,17 +38838,17 @@ function normalizeLoaderParams(endpoint, params, context) {
38516
38838
  function unsafeRetypeZodSchema(schema) {
38517
38839
  return schema;
38518
38840
  }
38519
- var navIdListSchema = z63.preprocess((value) => {
38841
+ var navIdListSchema = z64.preprocess((value) => {
38520
38842
  if (!Array.isArray(value)) return void 0;
38521
38843
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
38522
38844
  return filtered.length > 0 ? filtered : void 0;
38523
- }, z63.array(z63.string()).max(200).optional());
38524
- var dashboardNavVisibilityBaseSchema = z63.object({
38525
- mode: z63.enum(["augment", "restrict"]).optional(),
38845
+ }, z64.array(z64.string()).max(200).optional());
38846
+ var dashboardNavVisibilityBaseSchema = z64.object({
38847
+ mode: z64.enum(["augment", "restrict"]).optional(),
38526
38848
  allowIds: navIdListSchema,
38527
38849
  denyIds: navIdListSchema
38528
38850
  }).strip();
38529
- var dashboardNavVisibilityRolesSchema = z63.object({
38851
+ var dashboardNavVisibilityRolesSchema = z64.object({
38530
38852
  administrator: dashboardNavVisibilityBaseSchema.optional(),
38531
38853
  editor: dashboardNavVisibilityBaseSchema.optional(),
38532
38854
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -38534,63 +38856,63 @@ var dashboardNavVisibilityRolesSchema = z63.object({
38534
38856
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
38535
38857
  roles: dashboardNavVisibilityRolesSchema
38536
38858
  }).strip();
38537
- var dashboardNavigationConfigSchema = z63.object({
38859
+ var dashboardNavigationConfigSchema = z64.object({
38538
38860
  siteNav: dashboardNavVisibilitySchema.optional(),
38539
38861
  settingsNav: dashboardNavVisibilitySchema.optional()
38540
38862
  }).strip();
38541
- var dashboardConfigSchema = z63.object({
38542
- previewEditingEnabled: z63.boolean().optional(),
38863
+ var dashboardConfigSchema = z64.object({
38864
+ previewEditingEnabled: z64.boolean().optional(),
38543
38865
  navigation: dashboardNavigationConfigSchema.optional()
38544
38866
  }).strip();
38545
38867
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
38546
38868
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
38547
- var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
38548
- var loaderFallbackScalarSchema = z63.union([
38549
- z63.string(),
38550
- z63.number(),
38551
- z63.boolean(),
38552
- z63.null()
38869
+ var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
38870
+ var loaderFallbackScalarSchema = z64.union([
38871
+ z64.string(),
38872
+ z64.number(),
38873
+ z64.boolean(),
38874
+ z64.null()
38553
38875
  ]);
38554
- var loaderParamBindingSchema = z63.object({
38555
- $bind: z63.object({
38556
- from: z63.string().min(1, "Binding path is required"),
38876
+ var loaderParamBindingSchema = z64.object({
38877
+ $bind: z64.object({
38878
+ from: z64.string().min(1, "Binding path is required"),
38557
38879
  fallback: loaderFallbackScalarSchema.optional()
38558
38880
  })
38559
38881
  });
38560
- var loaderParamValueSchema = z63.union([
38561
- z63.string(),
38562
- z63.number(),
38563
- z63.boolean(),
38882
+ var loaderParamValueSchema = z64.union([
38883
+ z64.string(),
38884
+ z64.number(),
38885
+ z64.boolean(),
38564
38886
  loaderParamBindingSchema
38565
38887
  ]);
38566
- var sdkConfigLoaderSchema = z63.object({
38888
+ var sdkConfigLoaderSchema = z64.object({
38567
38889
  endpoint: sdkLoaderEndpointSchema,
38568
- params: z63.record(z63.string(), loaderParamValueSchema),
38569
- mode: z63.enum(["server", "client"]).default("server")
38890
+ params: z64.record(z64.string(), loaderParamValueSchema),
38891
+ mode: z64.enum(["server", "client"]).default("server")
38570
38892
  });
38571
- var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38572
- var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38893
+ var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38894
+ var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38573
38895
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
38574
38896
  }).transform((value) => value);
38575
- var sdkCustomBlockInputSchema = z63.object({
38897
+ var sdkCustomBlockInputSchema = z64.object({
38576
38898
  id: sdkCustomBlockIdSchema,
38577
- title: z63.string().min(1),
38578
- titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
38579
- description: z63.string().optional(),
38899
+ title: z64.string().min(1),
38900
+ titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
38901
+ description: z64.string().optional(),
38580
38902
  category: blockCategoryEnum,
38581
- icon: z63.string().optional(),
38582
- tags: z63.array(z63.string()).optional(),
38903
+ icon: z64.string().optional(),
38904
+ tags: z64.array(z64.string()).optional(),
38583
38905
  fields: fieldDefinitionInputSchema.array().min(1),
38584
38906
  dataLoaders: sdkDataLoadersSchema,
38585
38907
  layout: NodeSchema.optional(),
38586
- variants: z63.record(z63.string().min(1), NodeSchema).optional(),
38587
- defaultVariant: z63.string().min(1).optional(),
38588
- variantOptions: z63.record(
38589
- z63.string().min(1),
38590
- z63.object({
38591
- label: z63.string().min(1).optional(),
38592
- description: z63.string().min(1).optional(),
38593
- icon: z63.string().min(1).optional()
38908
+ variants: z64.record(z64.string().min(1), NodeSchema).optional(),
38909
+ defaultVariant: z64.string().min(1).optional(),
38910
+ variantOptions: z64.record(
38911
+ z64.string().min(1),
38912
+ z64.object({
38913
+ label: z64.string().min(1).optional(),
38914
+ description: z64.string().min(1).optional(),
38915
+ icon: z64.string().min(1).optional()
38594
38916
  })
38595
38917
  ).optional(),
38596
38918
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -38601,7 +38923,7 @@ var sdkCustomBlockInputSchema = z63.object({
38601
38923
  const exists = data.fields.some((field) => field.id === source);
38602
38924
  if (!exists) {
38603
38925
  ctx.addIssue({
38604
- code: z63.ZodIssueCode.custom,
38926
+ code: z64.ZodIssueCode.custom,
38605
38927
  message: `titleSource must reference a valid field ID (got "${source}")`,
38606
38928
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
38607
38929
  });
@@ -38610,7 +38932,7 @@ var sdkCustomBlockInputSchema = z63.object({
38610
38932
  }
38611
38933
  if (data.layout && data.variants) {
38612
38934
  ctx.addIssue({
38613
- code: z63.ZodIssueCode.custom,
38935
+ code: z64.ZodIssueCode.custom,
38614
38936
  message: "Custom block must define either `layout` or `variants`, not both",
38615
38937
  path: ["variants"]
38616
38938
  });
@@ -38619,14 +38941,14 @@ var sdkCustomBlockInputSchema = z63.object({
38619
38941
  const keys = Object.keys(data.variants);
38620
38942
  if (keys.length === 0) {
38621
38943
  ctx.addIssue({
38622
- code: z63.ZodIssueCode.custom,
38944
+ code: z64.ZodIssueCode.custom,
38623
38945
  message: "`variants` must contain at least one variant key",
38624
38946
  path: ["variants"]
38625
38947
  });
38626
38948
  }
38627
38949
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
38628
38950
  ctx.addIssue({
38629
- code: z63.ZodIssueCode.custom,
38951
+ code: z64.ZodIssueCode.custom,
38630
38952
  message: "`defaultVariant` must be a key present in `variants`",
38631
38953
  path: ["defaultVariant"]
38632
38954
  });
@@ -38635,7 +38957,7 @@ var sdkCustomBlockInputSchema = z63.object({
38635
38957
  for (const key of Object.keys(data.variantOptions)) {
38636
38958
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
38637
38959
  ctx.addIssue({
38638
- code: z63.ZodIssueCode.custom,
38960
+ code: z64.ZodIssueCode.custom,
38639
38961
  message: "`variantOptions` key must exist in `variants`",
38640
38962
  path: ["variantOptions", key]
38641
38963
  });
@@ -38644,78 +38966,78 @@ var sdkCustomBlockInputSchema = z63.object({
38644
38966
  }
38645
38967
  }
38646
38968
  });
38647
- var sdkBlockFieldExtensionInputSchema = z63.object({
38969
+ var sdkBlockFieldExtensionInputSchema = z64.object({
38648
38970
  fields: fieldDefinitionInputSchema.array().min(1)
38649
38971
  });
38650
- var sdkBlockFieldExtensionsInputSchema = z63.record(
38651
- z63.string().min(1),
38972
+ var sdkBlockFieldExtensionsInputSchema = z64.record(
38973
+ z64.string().min(1),
38652
38974
  sdkBlockFieldExtensionInputSchema
38653
38975
  );
38654
- var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
38655
- var sdkThemeConfigSchema = z63.object({
38976
+ var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
38977
+ var sdkThemeConfigSchema = z64.object({
38656
38978
  palette: sdkThemePaletteSchema
38657
38979
  });
38658
- var sdkSectionBackgroundSchema = z63.object({
38659
- id: z63.string().min(1),
38660
- label: z63.string().min(1),
38661
- token: z63.string().min(1)
38980
+ var sdkSectionBackgroundSchema = z64.object({
38981
+ id: z64.string().min(1),
38982
+ label: z64.string().min(1),
38983
+ token: z64.string().min(1)
38662
38984
  });
38663
- var sdkSectionOptionsConfigSchema = z63.object({
38664
- backgroundColor: z63.boolean().optional(),
38665
- backgroundImage: z63.boolean().optional(),
38666
- backgroundGradient: z63.boolean().optional(),
38667
- spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
38668
- textColor: z63.boolean().optional()
38985
+ var sdkSectionOptionsConfigSchema = z64.object({
38986
+ backgroundColor: z64.boolean().optional(),
38987
+ backgroundImage: z64.boolean().optional(),
38988
+ backgroundGradient: z64.boolean().optional(),
38989
+ spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
38990
+ textColor: z64.boolean().optional()
38669
38991
  });
38670
- var sdkContainerOptionsConfigSchema = z63.object({
38671
- maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
38672
- alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
38992
+ var sdkContainerOptionsConfigSchema = z64.object({
38993
+ maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
38994
+ alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
38673
38995
  });
38674
- var sdkSiteStyleConfigSchema = z63.object({
38675
- sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
38996
+ var sdkSiteStyleConfigSchema = z64.object({
38997
+ sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
38676
38998
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
38677
38999
  containerOptions: sdkContainerOptionsConfigSchema.optional()
38678
39000
  });
38679
- var sdkSiteLayoutConfigSchema = z63.object({
38680
- footerBlocks: z63.array(
38681
- z63.object({
38682
- id: z63.string().min(1).optional(),
38683
- kind: z63.string().min(1),
38684
- content: z63.record(z63.string(), z63.unknown()).optional()
39001
+ var sdkSiteLayoutConfigSchema = z64.object({
39002
+ footerBlocks: z64.array(
39003
+ z64.object({
39004
+ id: z64.string().min(1).optional(),
39005
+ kind: z64.string().min(1),
39006
+ content: z64.record(z64.string(), z64.unknown()).optional()
38685
39007
  })
38686
39008
  ).optional()
38687
39009
  });
38688
- var sdkFieldSelectOptionSchema = z63.object({
38689
- value: z63.string(),
38690
- label: z63.string()
39010
+ var sdkFieldSelectOptionSchema = z64.object({
39011
+ value: z64.string(),
39012
+ label: z64.string()
38691
39013
  });
38692
- var sdkBlockFieldConfigSchema = z63.object({
38693
- options: z63.array(sdkFieldSelectOptionSchema).optional()
39014
+ var sdkBlockFieldConfigSchema = z64.object({
39015
+ options: z64.array(sdkFieldSelectOptionSchema).optional()
38694
39016
  });
38695
- var sdkBlockFieldOptionsMapSchema = z63.record(
38696
- z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
39017
+ var sdkBlockFieldOptionsMapSchema = z64.record(
39018
+ z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38697
39019
  message: "Block ID must be 'block.*' or 'custom.*' format"
38698
39020
  }),
38699
- z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
39021
+ z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
38700
39022
  ).optional();
38701
- var sdkContentTypeTemplateConfigSchema = z63.object({
38702
- blocks: z63.array(z63.unknown())
39023
+ var sdkContentTypeTemplateConfigSchema = z64.object({
39024
+ blocks: z64.array(z64.unknown())
38703
39025
  }).passthrough();
38704
- var sdkContentTypeOrderingConfigSchema = z63.object({
38705
- mode: z63.enum(["default", "manual"]).optional()
39026
+ var sdkContentTypeOrderingConfigSchema = z64.object({
39027
+ mode: z64.enum(["default", "manual"]).optional()
38706
39028
  }).optional();
38707
- var sdkContentTypeConfigSchema = z63.object({
38708
- key: z63.string().min(1),
38709
- fields: z63.array(z63.unknown()),
39029
+ var sdkContentTypeConfigSchema = z64.object({
39030
+ key: z64.string().min(1),
39031
+ fields: z64.array(z64.unknown()),
38710
39032
  ordering: sdkContentTypeOrderingConfigSchema,
38711
39033
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
38712
39034
  }).passthrough();
38713
- var sdkContentConfigSchema = z63.object({
38714
- contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
38715
- pages: z63.array(z63.unknown()).optional(),
38716
- entries: z63.array(z63.unknown()).optional(),
38717
- navigationMenus: z63.array(z63.unknown()).optional(),
38718
- settings: z63.unknown().optional()
39035
+ var sdkContentConfigSchema = z64.object({
39036
+ contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
39037
+ pages: z64.array(z64.unknown()).optional(),
39038
+ entries: z64.array(z64.unknown()).optional(),
39039
+ navigationMenus: z64.array(z64.unknown()).optional(),
39040
+ settings: z64.unknown().optional()
38719
39041
  }).passthrough();
38720
39042
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
38721
39043
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -38730,62 +39052,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
38730
39052
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
38731
39053
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
38732
39054
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
38733
- var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
39055
+ var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38734
39056
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
38735
39057
  });
38736
- 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 "/"' });
38737
- var sdkWorkflowManualTriggerSchema = z63.object({
38738
- type: z63.literal("manual")
39058
+ 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 "/"' });
39059
+ var sdkWorkflowManualTriggerSchema = z64.object({
39060
+ type: z64.literal("manual")
38739
39061
  }).strict();
38740
- var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
39062
+ var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38741
39063
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
38742
39064
  });
38743
- var sdkWorkflowFieldChangedConditionSchema = z63.object({
39065
+ var sdkWorkflowFieldChangedConditionSchema = z64.object({
38744
39066
  field: sdkWorkflowTriggerFieldSchema,
38745
- changed: z63.literal(true)
39067
+ changed: z64.literal(true)
38746
39068
  }).strict();
38747
- var sdkWorkflowFieldEmptyConditionSchema = z63.object({
39069
+ var sdkWorkflowFieldEmptyConditionSchema = z64.object({
38748
39070
  field: sdkWorkflowTriggerFieldSchema,
38749
- isEmpty: z63.boolean()
39071
+ isEmpty: z64.boolean()
38750
39072
  }).strict();
38751
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
38752
- type: z63.literal("entry.draft.updated"),
38753
- when: z63.array(
38754
- z63.union([
39073
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
39074
+ type: z64.literal("entry.draft.updated"),
39075
+ when: z64.array(
39076
+ z64.union([
38755
39077
  sdkWorkflowFieldChangedConditionSchema,
38756
39078
  sdkWorkflowFieldEmptyConditionSchema
38757
39079
  ])
38758
39080
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
38759
39081
  }).strict();
38760
- var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
39082
+ var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
38761
39083
  sdkWorkflowManualTriggerSchema,
38762
39084
  sdkWorkflowEntryDraftUpdatedTriggerSchema
38763
39085
  ]);
38764
- var sdkWorkflowConfirmationSchema = z63.object({
38765
- title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38766
- body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
39086
+ var sdkWorkflowConfirmationSchema = z64.object({
39087
+ title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
39088
+ body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38767
39089
  }).strict();
38768
- var sdkWorkflowConfigSchema = z63.object({
39090
+ var sdkWorkflowConfigSchema = z64.object({
38769
39091
  id: sdkWorkflowIdSchema,
38770
- title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38771
- description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38772
- contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
39092
+ title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
39093
+ description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
39094
+ contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38773
39095
  endpoint: sdkWorkflowEndpointSchema,
38774
- triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
39096
+ triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38775
39097
  confirmation: sdkWorkflowConfirmationSchema.optional()
38776
39098
  }).strict();
38777
- var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
39099
+ var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38778
39100
  const ids = workflows.map((workflow) => workflow.id);
38779
39101
  return ids.length === new Set(ids).size;
38780
39102
  }, { message: "Workflow IDs must be unique" }).optional();
38781
- var riverbankSiteConfigInputSchema = z63.object({
38782
- siteId: z63.string().uuid(),
38783
- previewUrl: z63.string().url().optional(),
38784
- liveUrl: z63.string().url().optional(),
39103
+ var riverbankSiteConfigInputSchema = z64.object({
39104
+ siteId: z64.string().uuid(),
39105
+ previewUrl: z64.string().url().optional(),
39106
+ liveUrl: z64.string().url().optional(),
38785
39107
  theme: sdkThemeConfigSchema.optional(),
38786
39108
  styles: sdkSiteStyleConfigSchema.optional(),
38787
39109
  layout: sdkSiteLayoutConfigSchema.optional(),
38788
- customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
39110
+ customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38789
39111
  const ids = blocks.map((b) => b.id);
38790
39112
  return ids.length === new Set(ids).size;
38791
39113
  }, { message: "Block IDs must be unique" }).optional(),
@@ -38793,50 +39115,51 @@ var riverbankSiteConfigInputSchema = z63.object({
38793
39115
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
38794
39116
  workflows: sdkWorkflowsSchema,
38795
39117
  content: sdkContentConfigSchema.optional(),
38796
- contentDir: z63.string().optional(),
38797
- sync: z63.object({
38798
- existingEntries: z63.enum(["skip", "update"]).optional()
39118
+ contentDir: z64.string().optional(),
39119
+ sync: z64.object({
39120
+ existingEntries: z64.enum(["skip", "update"]).optional()
38799
39121
  }).optional(),
38800
- deploy: z63.object({
38801
- verifyCommand: z63.string().optional(),
38802
- prebuildOutput: z63.string().optional()
39122
+ deploy: z64.object({
39123
+ verifyCommand: z64.string().optional(),
39124
+ prebuildOutput: z64.string().optional()
38803
39125
  }).optional(),
38804
- themeSource: z63.enum(["local", "cms"]).optional(),
38805
- activeTheme: z63.string().optional(),
38806
- enablePortal: z63.boolean().optional(),
39126
+ themeSource: z64.enum(["local", "cms"]).optional(),
39127
+ activeTheme: z64.string().optional(),
39128
+ enablePortal: z64.boolean().optional(),
38807
39129
  dashboard: dashboardConfigSchema.optional()
38808
39130
  }).strict();
38809
- var pushSdkConfigBodySchema = z63.object({
39131
+ var pushSdkConfigBodySchema = z64.object({
38810
39132
  config: riverbankSiteConfigInputSchema,
38811
- forceContentTypes: z63.boolean().optional()
39133
+ forceContentTypes: z64.boolean().optional(),
39134
+ mode: z64.enum(["apply", "preview"]).optional()
38812
39135
  }).strict();
38813
39136
 
38814
39137
  // ../api/src/siteOnboarding.ts
38815
- import { z as z64 } from "zod";
39138
+ import { z as z65 } from "zod";
38816
39139
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
38817
39140
  configure_appointments: {
38818
39141
  requirementId: "configure_appointments",
38819
39142
  reason: "launch_anyway"
38820
39143
  }
38821
39144
  };
38822
- var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
39145
+ var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
38823
39146
  "requirementId",
38824
39147
  [
38825
- z64.object({
38826
- requirementId: z64.literal("review_generated_site")
39148
+ z65.object({
39149
+ requirementId: z65.literal("review_generated_site")
38827
39150
  }),
38828
- z64.object({
38829
- requirementId: z64.literal(
39151
+ z65.object({
39152
+ requirementId: z65.literal(
38830
39153
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
38831
39154
  ),
38832
- overrideReason: z64.literal(
39155
+ overrideReason: z65.literal(
38833
39156
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
38834
39157
  )
38835
39158
  })
38836
39159
  ]
38837
39160
  );
38838
- var goLiveSiteRequestSchema = z64.object({
38839
- acceptExtraSiteCharge: z64.boolean().optional()
39161
+ var goLiveSiteRequestSchema = z65.object({
39162
+ acceptExtraSiteCharge: z65.boolean().optional()
38840
39163
  });
38841
39164
 
38842
39165
  // ../surfaces/src/index.ts
@@ -38955,7 +39278,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
38955
39278
  ];
38956
39279
 
38957
39280
  // ../api/src/bookingVerticals.ts
38958
- import { z as z65 } from "zod";
39281
+ import { z as z66 } from "zod";
38959
39282
  var VERTICAL_IDS = [
38960
39283
  "yoga_wellness",
38961
39284
  "fitness_pt",
@@ -39120,39 +39443,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
39120
39443
  }
39121
39444
  return [...issues];
39122
39445
  }
39123
- var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
39446
+ var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
39124
39447
  const parsed = parseVerticalId(value);
39125
39448
  if (!parsed) {
39126
39449
  ctx.addIssue({
39127
- code: z65.ZodIssueCode.custom,
39450
+ code: z66.ZodIssueCode.custom,
39128
39451
  message: "Unknown booking vertical"
39129
39452
  });
39130
- return z65.NEVER;
39453
+ return z66.NEVER;
39131
39454
  }
39132
39455
  return parsed;
39133
39456
  });
39134
- var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
39457
+ var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
39135
39458
  const parsed = parseVerticalPresetId(value);
39136
39459
  if (!parsed) {
39137
39460
  ctx.addIssue({
39138
- code: z65.ZodIssueCode.custom,
39461
+ code: z66.ZodIssueCode.custom,
39139
39462
  message: "Unknown booking preset"
39140
39463
  });
39141
- return z65.NEVER;
39464
+ return z66.NEVER;
39142
39465
  }
39143
39466
  return parsed;
39144
39467
  });
39145
- var BookingVerticalConfigSchema = z65.object({
39468
+ var BookingVerticalConfigSchema = z66.object({
39146
39469
  verticalId: VerticalIdSchema.nullable(),
39147
- selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
39470
+ selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
39148
39471
  }).transform((value, ctx) => {
39149
39472
  const resolved = resolveSiteVerticalBookingConfig(value);
39150
39473
  if (resolved.kind === "invalid") {
39151
39474
  ctx.addIssue({
39152
- code: z65.ZodIssueCode.custom,
39475
+ code: z66.ZodIssueCode.custom,
39153
39476
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
39154
39477
  });
39155
- return z65.NEVER;
39478
+ return z66.NEVER;
39156
39479
  }
39157
39480
  return resolved.config;
39158
39481
  });
@@ -39179,51 +39502,51 @@ function isRecord9(value) {
39179
39502
  }
39180
39503
 
39181
39504
  // ../api/src/appointmentSetup.ts
39182
- import { z as z66 } from "zod";
39505
+ import { z as z67 } from "zod";
39183
39506
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
39184
- var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
39185
- z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
39186
- z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
39507
+ var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
39508
+ z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
39509
+ z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
39187
39510
  ]);
39188
- var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
39189
- z66.object({ kind: z66.literal("none") }),
39190
- z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
39191
- z66.object({
39192
- kind: z66.literal("create"),
39193
- draftId: z66.string().min(1),
39194
- title: z66.string().trim().min(1),
39195
- description: z66.string().nullable(),
39196
- timezone: z66.string().trim().min(1).nullable(),
39197
- addressJson: z66.record(z66.string(), z66.unknown()),
39198
- locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
39511
+ var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
39512
+ z67.object({ kind: z67.literal("none") }),
39513
+ z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
39514
+ z67.object({
39515
+ kind: z67.literal("create"),
39516
+ draftId: z67.string().min(1),
39517
+ title: z67.string().trim().min(1),
39518
+ description: z67.string().nullable(),
39519
+ timezone: z67.string().trim().min(1).nullable(),
39520
+ addressJson: z67.record(z67.string(), z67.unknown()),
39521
+ locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
39199
39522
  })
39200
39523
  ]);
39201
- var appointmentSetupPaymentDraftSchema = z66.object({
39202
- priceType: z66.union([z66.literal("free"), z66.literal("paid")])
39203
- });
39204
- var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
39205
- z66.object({ kind: z66.literal("all_practitioners") }),
39206
- z66.object({
39207
- kind: z66.literal("selected_practitioners"),
39208
- resourceRefs: z66.array(appointmentSetupRefSchema)
39524
+ var appointmentSetupPaymentDraftSchema = z67.object({
39525
+ priceType: z67.union([z67.literal("free"), z67.literal("paid")])
39526
+ });
39527
+ var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
39528
+ z67.object({ kind: z67.literal("all_practitioners") }),
39529
+ z67.object({
39530
+ kind: z67.literal("selected_practitioners"),
39531
+ resourceRefs: z67.array(appointmentSetupRefSchema)
39209
39532
  })
39210
39533
  ]);
39211
- var appointmentSetupServiceDraftSchema = z66.object({
39534
+ var appointmentSetupServiceDraftSchema = z67.object({
39212
39535
  ref: appointmentSetupRefSchema,
39213
- title: z66.string().trim().min(1),
39214
- description: z66.string().nullable(),
39215
- durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39216
- prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39217
- cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39218
- priceAmount: z66.number().int().nonnegative().nullable(),
39219
- isActive: z66.boolean(),
39220
- locationType: z66.union([
39221
- z66.literal("virtual"),
39222
- z66.literal("in_person"),
39223
- z66.literal("hybrid")
39536
+ title: z67.string().trim().min(1),
39537
+ description: z67.string().nullable(),
39538
+ durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39539
+ prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39540
+ cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39541
+ priceAmount: z67.number().int().nonnegative().nullable(),
39542
+ isActive: z67.boolean(),
39543
+ locationType: z67.union([
39544
+ z67.literal("virtual"),
39545
+ z67.literal("in_person"),
39546
+ z67.literal("hybrid")
39224
39547
  ]),
39225
39548
  venue: appointmentSetupVenueChoiceSchema,
39226
- timezone: z66.string().trim().min(1).nullable(),
39549
+ timezone: z67.string().trim().min(1).nullable(),
39227
39550
  payment: appointmentSetupPaymentDraftSchema,
39228
39551
  assignment: appointmentSetupServiceAssignmentDraftSchema
39229
39552
  }).superRefine((service, ctx) => {
@@ -39242,49 +39565,49 @@ var appointmentSetupServiceDraftSchema = z66.object({
39242
39565
  });
39243
39566
  }
39244
39567
  });
39245
- var appointmentSetupPractitionerDraftSchema = z66.object({
39568
+ var appointmentSetupPractitionerDraftSchema = z67.object({
39246
39569
  ref: appointmentSetupRefSchema,
39247
- displayName: z66.string().trim().min(1),
39248
- bio: z66.string().nullable(),
39249
- timezone: z66.string().trim().min(1),
39250
- colorHex: z66.string().nullable()
39251
- });
39252
- var appointmentSetupWeeklyWindowDraftSchema = z66.object({
39253
- weekday: z66.number().int().min(0).max(6),
39254
- startTime: z66.string(),
39255
- endTime: z66.string()
39256
- });
39257
- var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
39258
- z66.object({ kind: z66.literal("automatic_spacing") }),
39259
- z66.object({
39260
- kind: z66.literal("regular_interval"),
39261
- intervalMinutes: z66.union([
39262
- z66.literal(10),
39263
- z66.literal(15),
39264
- z66.literal(20),
39265
- z66.literal(30),
39266
- z66.literal(45),
39267
- z66.literal(60)
39570
+ displayName: z67.string().trim().min(1),
39571
+ bio: z67.string().nullable(),
39572
+ timezone: z67.string().trim().min(1),
39573
+ colorHex: z67.string().nullable()
39574
+ });
39575
+ var appointmentSetupWeeklyWindowDraftSchema = z67.object({
39576
+ weekday: z67.number().int().min(0).max(6),
39577
+ startTime: z67.string(),
39578
+ endTime: z67.string()
39579
+ });
39580
+ var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
39581
+ z67.object({ kind: z67.literal("automatic_spacing") }),
39582
+ z67.object({
39583
+ kind: z67.literal("regular_interval"),
39584
+ intervalMinutes: z67.union([
39585
+ z67.literal(10),
39586
+ z67.literal(15),
39587
+ z67.literal(20),
39588
+ z67.literal(30),
39589
+ z67.literal(45),
39590
+ z67.literal(60)
39268
39591
  ])
39269
39592
  })
39270
39593
  ]);
39271
- var appointmentSetupAvailabilityDraftSchema = z66.object({
39272
- kind: z66.literal("weekly_windows"),
39594
+ var appointmentSetupAvailabilityDraftSchema = z67.object({
39595
+ kind: z67.literal("weekly_windows"),
39273
39596
  resourceRef: appointmentSetupRefSchema,
39274
39597
  serviceRef: appointmentSetupRefSchema.nullable(),
39275
- windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
39598
+ windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
39276
39599
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
39277
39600
  });
39278
39601
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
39279
39602
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
39280
- var appointmentSetupBookingNoticeSchema = z66.object({
39281
- minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39282
- maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39283
- });
39284
- var applyAppointmentSetupRequestSchema = z66.object({
39285
- services: z66.array(appointmentSetupServiceDraftSchema),
39286
- practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
39287
- availability: z66.array(appointmentSetupAvailabilityDraftSchema),
39603
+ var appointmentSetupBookingNoticeSchema = z67.object({
39604
+ minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39605
+ maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39606
+ });
39607
+ var applyAppointmentSetupRequestSchema = z67.object({
39608
+ services: z67.array(appointmentSetupServiceDraftSchema),
39609
+ practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
39610
+ availability: z67.array(appointmentSetupAvailabilityDraftSchema),
39288
39611
  bookingNotice: appointmentSetupBookingNoticeSchema
39289
39612
  });
39290
39613
 
@@ -39317,24 +39640,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
39317
39640
  ];
39318
39641
 
39319
39642
  // ../api/src/siteBanner.ts
39320
- import { z as z67 } from "zod";
39643
+ import { z as z68 } from "zod";
39321
39644
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
39322
39645
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
39323
39646
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
39324
39647
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
39325
- var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
39326
- var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
39327
- var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
39328
- var siteBannerCtaSchema = z67.object({
39329
- label: z67.string().trim().min(1),
39648
+ var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
39649
+ var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
39650
+ var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
39651
+ var siteBannerCtaSchema = z68.object({
39652
+ label: z68.string().trim().min(1),
39330
39653
  link: linkPayloadSchema
39331
39654
  });
39332
- var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
39333
- z67.object({
39334
- enabled: z67.literal(false)
39655
+ var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
39656
+ z68.object({
39657
+ enabled: z68.literal(false)
39335
39658
  }),
39336
- z67.object({
39337
- enabled: z67.literal(true),
39659
+ z68.object({
39660
+ enabled: z68.literal(true),
39338
39661
  scope: siteBannerScopeSchema,
39339
39662
  tone: siteBannerToneSchema,
39340
39663
  body: siteBannerBodySchema,
@@ -39348,7 +39671,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
39348
39671
  const analysis = analyzeSiteBannerBody(value.body);
39349
39672
  for (const issue of analysis.issues) {
39350
39673
  ctx.addIssue({
39351
- code: z67.ZodIssueCode.custom,
39674
+ code: z68.ZodIssueCode.custom,
39352
39675
  path: ["body"],
39353
39676
  message: siteBannerBodyIssueMessage(issue)
39354
39677
  });
@@ -39610,71 +39933,71 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
39610
39933
  var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
39611
39934
 
39612
39935
  // ../api/src/aiPlayground.ts
39613
- import { z as z68 } from "zod";
39614
- var Rfc6902PatchOp = z68.discriminatedUnion("op", [
39936
+ import { z as z69 } from "zod";
39937
+ var Rfc6902PatchOp = z69.discriminatedUnion("op", [
39615
39938
  // Standard RFC-6902 operations
39616
- z68.object({
39617
- op: z68.literal("add"),
39618
- path: z68.string(),
39619
- value: z68.unknown()
39939
+ z69.object({
39940
+ op: z69.literal("add"),
39941
+ path: z69.string(),
39942
+ value: z69.unknown()
39620
39943
  }),
39621
- z68.object({
39622
- op: z68.literal("remove"),
39623
- path: z68.string()
39944
+ z69.object({
39945
+ op: z69.literal("remove"),
39946
+ path: z69.string()
39624
39947
  }),
39625
- z68.object({
39626
- op: z68.literal("replace"),
39627
- path: z68.string(),
39628
- value: z68.unknown()
39948
+ z69.object({
39949
+ op: z69.literal("replace"),
39950
+ path: z69.string(),
39951
+ value: z69.unknown()
39629
39952
  }),
39630
- z68.object({
39631
- op: z68.literal("move"),
39632
- from: z68.string(),
39633
- path: z68.string()
39953
+ z69.object({
39954
+ op: z69.literal("move"),
39955
+ from: z69.string(),
39956
+ path: z69.string()
39634
39957
  }),
39635
- z68.object({
39636
- op: z68.literal("copy"),
39637
- from: z68.string(),
39638
- path: z68.string()
39958
+ z69.object({
39959
+ op: z69.literal("copy"),
39960
+ from: z69.string(),
39961
+ path: z69.string()
39639
39962
  }),
39640
39963
  // Block-level operations (Phase 2)
39641
- z68.object({
39642
- op: z68.literal("add_block"),
39643
- blockKind: z68.string(),
39644
- afterBlockId: z68.string().nullable(),
39645
- content: z68.record(z68.string(), z68.unknown()),
39646
- rationale: z68.string()
39964
+ z69.object({
39965
+ op: z69.literal("add_block"),
39966
+ blockKind: z69.string(),
39967
+ afterBlockId: z69.string().nullable(),
39968
+ content: z69.record(z69.string(), z69.unknown()),
39969
+ rationale: z69.string()
39647
39970
  }),
39648
- z68.object({
39649
- op: z68.literal("delete_block"),
39650
- blockId: z68.string(),
39651
- rationale: z68.string()
39971
+ z69.object({
39972
+ op: z69.literal("delete_block"),
39973
+ blockId: z69.string(),
39974
+ rationale: z69.string()
39652
39975
  }),
39653
- z68.object({
39654
- op: z68.literal("reorder_block"),
39655
- blockId: z68.string(),
39656
- afterBlockId: z68.string().nullable(),
39657
- rationale: z68.string()
39976
+ z69.object({
39977
+ op: z69.literal("reorder_block"),
39978
+ blockId: z69.string(),
39979
+ afterBlockId: z69.string().nullable(),
39980
+ rationale: z69.string()
39658
39981
  })
39659
39982
  ]);
39660
- var PlaygroundProposeRequest = z68.object({
39661
- request: z68.string().min(1).max(2e3)
39983
+ var PlaygroundProposeRequest = z69.object({
39984
+ request: z69.string().min(1).max(2e3)
39662
39985
  });
39663
- var MultiPagePatchEnvelope = z68.object({
39664
- pageId: z68.string(),
39665
- blockId: z68.string().optional(),
39986
+ var MultiPagePatchEnvelope = z69.object({
39987
+ pageId: z69.string(),
39988
+ blockId: z69.string().optional(),
39666
39989
  // Not present for page-level ops
39667
- blockKind: z68.string().optional(),
39668
- blockPurpose: z68.string().optional().nullable(),
39669
- ops: z68.array(Rfc6902PatchOp),
39670
- rationale: z68.string(),
39671
- currentContent: z68.record(z68.string(), z68.unknown()).optional()
39990
+ blockKind: z69.string().optional(),
39991
+ blockPurpose: z69.string().optional().nullable(),
39992
+ ops: z69.array(Rfc6902PatchOp),
39993
+ rationale: z69.string(),
39994
+ currentContent: z69.record(z69.string(), z69.unknown()).optional()
39672
39995
  });
39673
- var MultiPageUpdateResponse = z68.object({
39674
- patches: z68.array(MultiPagePatchEnvelope),
39675
- assistantMessage: z68.string(),
39676
- pagesModified: z68.number(),
39677
- toolCallsUsed: z68.number()
39996
+ var MultiPageUpdateResponse = z69.object({
39997
+ patches: z69.array(MultiPagePatchEnvelope),
39998
+ assistantMessage: z69.string(),
39999
+ pagesModified: z69.number(),
40000
+ toolCallsUsed: z69.number()
39678
40001
  });
39679
40002
 
39680
40003
  // src/data/prefetchBlockData.ts
@@ -39756,7 +40079,8 @@ var loaderAdapters = {
39756
40079
  listPublicPasses,
39757
40080
  listPublicMemberships,
39758
40081
  getPublicFormById,
39759
- getPublicBookingServices
40082
+ getPublicBookingServices,
40083
+ getPublicWeeklySlotAvailability
39760
40084
  };
39761
40085
  function readStringParam(params, key) {
39762
40086
  const value = params[key];
@@ -39932,6 +40256,15 @@ async function getPublicBookingServices({ client, params }) {
39932
40256
  ids: readStringParam(params, "ids")
39933
40257
  });
39934
40258
  }
40259
+ async function getPublicWeeklySlotAvailability({ client, params }) {
40260
+ return await client.getPublicWeeklySlotAvailability({
40261
+ siteId: requireStringParam(params, "siteId", "getPublicWeeklySlotAvailability"),
40262
+ serviceId: requireStringParam(params, "serviceId", "getPublicWeeklySlotAvailability"),
40263
+ resourceId: readStringParam(params, "resourceId"),
40264
+ horizonWeeks: parsePositiveIntegerParam(params, "horizonWeeks"),
40265
+ timezone: readStringParam(params, "timezone")
40266
+ });
40267
+ }
39935
40268
  async function prefetchBlockData2(page, context, client, options) {
39936
40269
  const { customBlocks } = options ?? {};
39937
40270
  const customBlockMap = new Map(