@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
@@ -1044,6 +1044,94 @@ var ENDPOINT_DEFINITIONS = {
1044
1044
  responseKind: "json",
1045
1045
  errors: ["resource:not_found", "server:internal_error"]
1046
1046
  },
1047
+ listAppointmentReservations: {
1048
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1049
+ method: "GET",
1050
+ auth: "user",
1051
+ responseKind: "json",
1052
+ errors: []
1053
+ },
1054
+ createAppointmentReservation: {
1055
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1056
+ method: "POST",
1057
+ auth: "user",
1058
+ responseKind: "json",
1059
+ errors: [
1060
+ "validation:invalid_input",
1061
+ "resource:not_found",
1062
+ "resource:conflict",
1063
+ "server:internal_error"
1064
+ ]
1065
+ },
1066
+ getAppointmentReservation: {
1067
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1068
+ method: "GET",
1069
+ auth: "user",
1070
+ responseKind: "json",
1071
+ errors: ["resource:not_found", "server:internal_error"]
1072
+ },
1073
+ updateAppointmentReservation: {
1074
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1075
+ method: "PUT",
1076
+ auth: "user",
1077
+ responseKind: "json",
1078
+ errors: [
1079
+ "validation:invalid_input",
1080
+ "resource:not_found",
1081
+ "resource:conflict",
1082
+ "server:internal_error"
1083
+ ]
1084
+ },
1085
+ pauseAppointmentReservation: {
1086
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/pause",
1087
+ method: "POST",
1088
+ auth: "user",
1089
+ responseKind: "json",
1090
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1091
+ },
1092
+ resumeAppointmentReservation: {
1093
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/resume",
1094
+ method: "POST",
1095
+ auth: "user",
1096
+ responseKind: "json",
1097
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1098
+ },
1099
+ endAppointmentReservation: {
1100
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/end",
1101
+ method: "POST",
1102
+ auth: "user",
1103
+ responseKind: "json",
1104
+ errors: [
1105
+ "validation:invalid_input",
1106
+ "resource:not_found",
1107
+ "resource:conflict",
1108
+ "server:internal_error"
1109
+ ]
1110
+ },
1111
+ previewAppointmentReservationRun: {
1112
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/run-preview",
1113
+ method: "POST",
1114
+ auth: "user",
1115
+ responseKind: "json",
1116
+ errors: [
1117
+ "validation:invalid_input",
1118
+ "resource:not_found",
1119
+ "resource:conflict",
1120
+ "server:internal_error"
1121
+ ]
1122
+ },
1123
+ createAppointmentReservationRun: {
1124
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/runs",
1125
+ method: "POST",
1126
+ auth: "user",
1127
+ responseKind: "json",
1128
+ errors: [
1129
+ "validation:invalid_input",
1130
+ "resource:not_found",
1131
+ "resource:conflict",
1132
+ "server:internal_error"
1133
+ ]
1134
+ },
1047
1135
  createTeamMemberProfile: {
1048
1136
  path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
1049
1137
  method: "POST",
@@ -3500,6 +3588,18 @@ var ENDPOINT_DEFINITIONS = {
3500
3588
  responseKind: "json",
3501
3589
  errors: ["validation:invalid_input", "server:internal_error"]
3502
3590
  },
3591
+ resolveRouteDecision: {
3592
+ path: "/sites/{siteId}/route-decision",
3593
+ method: "GET",
3594
+ tags: [
3595
+ TAG_TEMPLATES.siteRoutableContent,
3596
+ TAG_TEMPLATES.siteRedirects,
3597
+ TAG_TEMPLATES.siteRouteOutcomes
3598
+ ],
3599
+ auth: "public",
3600
+ responseKind: "json",
3601
+ errors: ["validation:invalid_input", "server:internal_error"]
3602
+ },
3503
3603
  getPageByPath: {
3504
3604
  path: "/sites/{siteId}/pages",
3505
3605
  method: "GET",
@@ -3638,6 +3738,15 @@ var ENDPOINT_DEFINITIONS = {
3638
3738
  auth: "public",
3639
3739
  responseKind: "json"
3640
3740
  },
3741
+ getPublicWeeklySlotAvailability: {
3742
+ path: "/public/bookings/weekly-slot-availability",
3743
+ method: "GET",
3744
+ revalidate: 60,
3745
+ tags: ["site-{siteId}"],
3746
+ auth: "public",
3747
+ responseKind: "json",
3748
+ errors: []
3749
+ },
3641
3750
  createPublicBookingAppointment: {
3642
3751
  path: "/public/bookings/appointments",
3643
3752
  method: "POST",
@@ -6795,7 +6904,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
6795
6904
  );
6796
6905
 
6797
6906
  // ../api/src/sdkConfig/contracts.ts
6798
- import { z as z63 } from "zod";
6907
+ import { z as z64 } from "zod";
6799
6908
 
6800
6909
  // ../blocks/src/system/manifest/augmentManifest.ts
6801
6910
  function augmentManifest(manifest) {
@@ -6964,10 +7073,20 @@ var repeatSchema = z3.object({
6964
7073
  direction: z3.enum(["asc", "desc"]).default("asc")
6965
7074
  }).optional()
6966
7075
  });
7076
+ var conditionalAuthoringPresenceSchema = z3.discriminatedUnion("kind", [
7077
+ z3.object({ kind: z3.literal("visitor-only") }),
7078
+ z3.object({
7079
+ kind: z3.literal("recover-empty-when-active"),
7080
+ placeholder: z3.string().min(1).optional()
7081
+ })
7082
+ ]);
6967
7083
  var conditionSchema = z3.object({
6968
7084
  when: bindingSchema,
6969
7085
  equals: z3.unknown().optional(),
6970
- not: z3.boolean().default(false)
7086
+ not: z3.boolean().default(false),
7087
+ authoringPresence: conditionalAuthoringPresenceSchema.default({
7088
+ kind: "visitor-only"
7089
+ })
6971
7090
  });
6972
7091
  var dataScopeSchema = z3.object({
6973
7092
  name: z3.string().min(1),
@@ -7255,6 +7374,11 @@ var textFieldSchema = baseFieldSchema.extend({
7255
7374
  var richTextFieldSchema = baseFieldSchema.extend({
7256
7375
  type: z4.literal("richText")
7257
7376
  });
7377
+ var inlineTextFieldSchema = baseFieldSchema.extend({
7378
+ type: z4.literal("inlineText"),
7379
+ maxLength: z4.number().int().positive().optional(),
7380
+ plainTextField: z4.string().min(1).optional()
7381
+ });
7258
7382
  var mediaFieldSchema = baseFieldSchema.extend({
7259
7383
  type: z4.literal("media"),
7260
7384
  // Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
@@ -7577,6 +7701,7 @@ function getFieldSchemaInternal() {
7577
7701
  _fieldSchemaInternal = z4.discriminatedUnion("type", [
7578
7702
  textFieldSchema,
7579
7703
  richTextFieldSchema,
7704
+ inlineTextFieldSchema,
7580
7705
  mediaFieldSchema,
7581
7706
  fileFieldSchema,
7582
7707
  booleanFieldSchema,
@@ -18027,7 +18152,8 @@ function when(path, options) {
18027
18152
  $when: {
18028
18153
  when: { from: path },
18029
18154
  ...options?.equals !== void 0 ? { equals: options.equals } : {},
18030
- ...options?.not ? { not: true } : {}
18155
+ ...options?.not ? { not: true } : {},
18156
+ ...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
18031
18157
  }
18032
18158
  });
18033
18159
  }
@@ -20106,8 +20232,16 @@ var heroCopyFragment = defineFragment({
20106
20232
  id: "headline",
20107
20233
  type: "text",
20108
20234
  label: "Headline",
20235
+ maxLength: 120,
20236
+ ui: { hidden: true }
20237
+ },
20238
+ {
20239
+ id: "headlineInline",
20240
+ type: "inlineText",
20241
+ label: "Headline",
20109
20242
  required: true,
20110
- maxLength: 120
20243
+ maxLength: 120,
20244
+ plainTextField: "headline"
20111
20245
  },
20112
20246
  {
20113
20247
  id: "subheadline",
@@ -20132,9 +20266,12 @@ var heroCopyFragment = defineFragment({
20132
20266
  as: "h1",
20133
20267
  // heading-display: uses fluid typography from theme (--fs-h1-display-fluid)
20134
20268
  // Color in blocks-static/index.css (.hero-headline)
20135
- className: "hero-headline heading-display"
20269
+ className: "hero-headline heading-display",
20270
+ // Resolved against top-level block content; keep this beside the sibling headline field.
20271
+ inlineTextFallbackPath: "headline",
20272
+ maxLength: 120
20136
20273
  },
20137
- bind("content.headline")
20274
+ bind("content.headlineInline")
20138
20275
  ),
20139
20276
  text(
20140
20277
  {
@@ -27857,77 +27994,247 @@ var appointmentBookingBlockDefinition = {
27857
27994
  }
27858
27995
  };
27859
27996
 
27997
+ // ../blocks/src/system/blocks/weekly-slot-availability.ts
27998
+ import { z as z39 } from "zod";
27999
+ var weeklySlotAvailabilityManifest = createBlockManifest({
28000
+ id: "block.weekly-slot-availability",
28001
+ version: "1.0.0",
28002
+ title: "Weekly Slot Availability",
28003
+ titleSource: "heading",
28004
+ description: "Shows available recurring appointment slot patterns",
28005
+ skipSectionStyles: true,
28006
+ additionalFields: [
28007
+ {
28008
+ id: "serviceId",
28009
+ type: "reference",
28010
+ label: "Appointment service",
28011
+ description: "Choose which appointment service to show availability for",
28012
+ required: true,
28013
+ referenceKind: "appointmentService",
28014
+ allowManualEntry: false,
28015
+ ui: { intent: "behavior" }
28016
+ },
28017
+ {
28018
+ id: "resourceId",
28019
+ type: "reference",
28020
+ label: "Appointment resource",
28021
+ description: "Optionally narrow the availability to one practitioner or room",
28022
+ required: false,
28023
+ referenceKind: "appointmentResource",
28024
+ allowManualEntry: false,
28025
+ ui: { intent: "behavior" }
28026
+ },
28027
+ {
28028
+ id: "horizonWeeks",
28029
+ type: "select",
28030
+ label: "Look ahead",
28031
+ required: false,
28032
+ multiple: false,
28033
+ defaultValue: "4",
28034
+ options: [
28035
+ { value: "1", label: "1 week" },
28036
+ { value: "2", label: "2 weeks" },
28037
+ { value: "4", label: "4 weeks" }
28038
+ ],
28039
+ ui: { intent: "behavior" }
28040
+ },
28041
+ {
28042
+ id: "timezone",
28043
+ type: "text",
28044
+ label: "Timezone",
28045
+ description: "Leave blank to use the visitor timezone when the block loads",
28046
+ required: false,
28047
+ multiline: false,
28048
+ defaultValue: "",
28049
+ maxLength: 64,
28050
+ ui: { intent: "behavior" }
28051
+ },
28052
+ {
28053
+ id: "heading",
28054
+ type: "text",
28055
+ label: "Heading",
28056
+ required: false,
28057
+ multiline: false,
28058
+ defaultValue: "Weekly availability"
28059
+ },
28060
+ {
28061
+ id: "description",
28062
+ type: "richText",
28063
+ label: "Description",
28064
+ required: false
28065
+ },
28066
+ {
28067
+ id: "emptyMessage",
28068
+ type: "text",
28069
+ label: "Empty message",
28070
+ required: false,
28071
+ multiline: true,
28072
+ defaultValue: "No regular weekly openings are currently available.",
28073
+ maxLength: 180
28074
+ },
28075
+ {
28076
+ id: "ctaText",
28077
+ type: "text",
28078
+ label: "Enquiry button text",
28079
+ required: false,
28080
+ multiline: false,
28081
+ defaultValue: "Enquire about this slot",
28082
+ maxLength: 60
28083
+ },
28084
+ {
28085
+ id: "ctaUrl",
28086
+ type: "url",
28087
+ label: "Enquiry URL",
28088
+ required: false,
28089
+ ui: { intent: "behavior" }
28090
+ },
28091
+ sectionStylesField({
28092
+ id: "_sectionStyles",
28093
+ label: "Section styles"
28094
+ })
28095
+ ],
28096
+ styleTokens: { background: "surface", typography: "body", spacing: "md" },
28097
+ behaviours: {
28098
+ supportsThemeSwitching: true,
28099
+ inlineEditing: false,
28100
+ animation: false,
28101
+ paletteHidden: false
28102
+ },
28103
+ category: "interactive",
28104
+ tags: ["booking", "appointment", "calendar", "weekly", "availability"],
28105
+ icon: "CalendarDays",
28106
+ layout: [
28107
+ styledSection({
28108
+ children: sectionContainer([
28109
+ text({ as: "h2" }, bind("content.heading"), when("content.heading")),
28110
+ richText({}, bind("content.description"), when("content.description")),
28111
+ el(
28112
+ "weekly-slot-availability",
28113
+ withApiBindings({
28114
+ serviceId: { $bind: { from: "content.serviceId" } },
28115
+ resourceId: { $bind: { from: "content.resourceId", fallback: null } },
28116
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
28117
+ timezone: { $bind: { from: "content.timezone", fallback: null } },
28118
+ availability: { $bind: { from: "data.availability", fallback: null } },
28119
+ emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
28120
+ ctaText: { $bind: { from: "content.ctaText", fallback: null } },
28121
+ ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
28122
+ })
28123
+ )
28124
+ ], {
28125
+ gap: "lg"
28126
+ }),
28127
+ baseClass: "",
28128
+ spacing: "spacious"
28129
+ })
28130
+ ]
28131
+ });
28132
+ var weeklySlotAvailabilityOptionSchema = z39.object({
28133
+ id: z39.string(),
28134
+ resourceId: z39.string(),
28135
+ weekday: z39.number(),
28136
+ weekdayLabel: z39.string(),
28137
+ startTime: z39.string(),
28138
+ endTime: z39.string(),
28139
+ nextDate: z39.string(),
28140
+ availableWeeks: z39.number()
28141
+ });
28142
+ var weeklySlotAvailabilityDataSchema = z39.object({
28143
+ slots: z39.array(weeklySlotAvailabilityOptionSchema),
28144
+ horizonWeeks: z39.number(),
28145
+ timezone: z39.string(),
28146
+ startDate: z39.string(),
28147
+ endDate: z39.string()
28148
+ });
28149
+ var weeklySlotAvailabilityBlockDefinition = {
28150
+ manifest: weeklySlotAvailabilityManifest,
28151
+ dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
28152
+ dataLoaders: {
28153
+ availability: {
28154
+ endpoint: "getPublicWeeklySlotAvailability",
28155
+ params: {
28156
+ siteId: { $bind: { from: "$root.siteId" } },
28157
+ serviceId: { $bind: { from: "content.serviceId" } },
28158
+ resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
28159
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
28160
+ timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
28161
+ },
28162
+ mode: "server"
28163
+ }
28164
+ }
28165
+ };
28166
+
27860
28167
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27861
- import { z as z43 } from "zod";
28168
+ import { z as z44 } from "zod";
27862
28169
 
27863
28170
  // ../blocks/src/lib/media.ts
27864
- import z39 from "zod";
28171
+ import z40 from "zod";
27865
28172
  var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
27866
28173
  "document",
27867
28174
  "spreadsheet",
27868
28175
  "archive",
27869
28176
  "audio"
27870
28177
  ];
27871
- var hotspotSchema2 = z39.object({
27872
- x: z39.number().min(0).max(1),
27873
- y: z39.number().min(0).max(1),
27874
- radius: z39.number().optional()
27875
- });
27876
- var rotationSchema2 = z39.union([z39.literal(0), z39.literal(90), z39.literal(180), z39.literal(270)]);
27877
- var rectSchema2 = z39.tuple([z39.number(), z39.number(), z39.number(), z39.number()]);
27878
- var aspectCropSchema2 = z39.object({
27879
- aspect: z39.preprocess((value) => value == null ? void 0 : value, z39.string().optional()),
27880
- rect: z39.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
27881
- hotspot: z39.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
27882
- rotation: z39.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
27883
- });
27884
- var transformSchema2 = z39.object({
27885
- aspectCrops: z39.preprocess((value) => {
28178
+ var hotspotSchema2 = z40.object({
28179
+ x: z40.number().min(0).max(1),
28180
+ y: z40.number().min(0).max(1),
28181
+ radius: z40.number().optional()
28182
+ });
28183
+ var rotationSchema2 = z40.union([z40.literal(0), z40.literal(90), z40.literal(180), z40.literal(270)]);
28184
+ var rectSchema2 = z40.tuple([z40.number(), z40.number(), z40.number(), z40.number()]);
28185
+ var aspectCropSchema2 = z40.object({
28186
+ aspect: z40.preprocess((value) => value == null ? void 0 : value, z40.string().optional()),
28187
+ rect: z40.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
28188
+ hotspot: z40.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
28189
+ rotation: z40.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
28190
+ });
28191
+ var transformSchema2 = z40.object({
28192
+ aspectCrops: z40.preprocess((value) => {
27886
28193
  if (!value || typeof value !== "object" || Array.isArray(value)) {
27887
28194
  return void 0;
27888
28195
  }
27889
28196
  return value;
27890
- }, z39.record(z39.string(), aspectCropSchema2.catch({}))).optional(),
28197
+ }, z40.record(z40.string(), aspectCropSchema2.catch({}))).optional(),
27891
28198
  rect: rectSchema2.optional(),
27892
28199
  hotspot: hotspotSchema2.optional(),
27893
28200
  rotation: rotationSchema2.optional()
27894
28201
  });
27895
- var mediaPosterSchema = z39.discriminatedUnion("tag", [
27896
- z39.object({
27897
- tag: z39.literal("storage"),
27898
- assetId: z39.string().optional(),
27899
- storageBucket: z39.string().min(1),
27900
- storagePath: z39.string().min(1)
28202
+ var mediaPosterSchema = z40.discriminatedUnion("tag", [
28203
+ z40.object({
28204
+ tag: z40.literal("storage"),
28205
+ assetId: z40.string().optional(),
28206
+ storageBucket: z40.string().min(1),
28207
+ storagePath: z40.string().min(1)
27901
28208
  }),
27902
- z39.object({
27903
- tag: z39.literal("external-src"),
27904
- assetId: z39.string().optional(),
27905
- src: z39.string().url()
28209
+ z40.object({
28210
+ tag: z40.literal("external-src"),
28211
+ assetId: z40.string().optional(),
28212
+ src: z40.string().url()
27906
28213
  })
27907
28214
  ]);
27908
- var mediaBaseSchema = z39.object({
27909
- purpose: z39.string().optional(),
27910
- placeholder: z39.boolean().default(true).optional(),
27911
- assetId: z39.string().optional(),
27912
- identifier: z39.string().optional(),
27913
- src: z39.string().optional(),
27914
- alt: z39.string().optional(),
27915
- filename: z39.string().optional(),
27916
- mimeType: z39.string().optional(),
27917
- width: z39.number().optional(),
27918
- height: z39.number().optional(),
27919
- storageBucket: z39.string().optional(),
27920
- storagePath: z39.string().optional(),
28215
+ var mediaBaseSchema = z40.object({
28216
+ purpose: z40.string().optional(),
28217
+ placeholder: z40.boolean().default(true).optional(),
28218
+ assetId: z40.string().optional(),
28219
+ identifier: z40.string().optional(),
28220
+ src: z40.string().optional(),
28221
+ alt: z40.string().optional(),
28222
+ filename: z40.string().optional(),
28223
+ mimeType: z40.string().optional(),
28224
+ width: z40.number().optional(),
28225
+ height: z40.number().optional(),
28226
+ storageBucket: z40.string().optional(),
28227
+ storagePath: z40.string().optional(),
27921
28228
  poster: mediaPosterSchema.optional(),
27922
28229
  transform: transformSchema2.optional()
27923
28230
  });
27924
- var imageMediaSchema = mediaBaseSchema.extend({ type: z39.literal("image") });
27925
- var videoMediaSchema = mediaBaseSchema.extend({ type: z39.literal("video") });
27926
- var audioMediaSchema = mediaBaseSchema.extend({ type: z39.literal("audio") });
27927
- var documentMediaSchema = mediaBaseSchema.extend({ type: z39.literal("document") });
27928
- var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z39.literal("spreadsheet") });
27929
- var archiveMediaSchema = mediaBaseSchema.extend({ type: z39.literal("archive") });
27930
- var mediaSchema2 = z39.discriminatedUnion("type", [
28231
+ var imageMediaSchema = mediaBaseSchema.extend({ type: z40.literal("image") });
28232
+ var videoMediaSchema = mediaBaseSchema.extend({ type: z40.literal("video") });
28233
+ var audioMediaSchema = mediaBaseSchema.extend({ type: z40.literal("audio") });
28234
+ var documentMediaSchema = mediaBaseSchema.extend({ type: z40.literal("document") });
28235
+ var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z40.literal("spreadsheet") });
28236
+ var archiveMediaSchema = mediaBaseSchema.extend({ type: z40.literal("archive") });
28237
+ var mediaSchema2 = z40.discriminatedUnion("type", [
27931
28238
  imageMediaSchema,
27932
28239
  videoMediaSchema,
27933
28240
  audioMediaSchema,
@@ -27937,372 +28244,372 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
27937
28244
  ]);
27938
28245
 
27939
28246
  // ../blocks/src/system/manifest/richTextSchema.ts
27940
- import { z as z40 } from "zod";
27941
- var TipTapMarkSchema = z40.object({
27942
- type: z40.string(),
27943
- attrs: z40.record(z40.string(), z40.unknown()).optional()
27944
- });
27945
- var TipTapNodeSchema = z40.lazy(
27946
- () => z40.object({
27947
- type: z40.string(),
27948
- content: z40.array(TipTapNodeSchema).optional(),
27949
- text: z40.string().optional(),
27950
- attrs: z40.record(z40.string(), z40.unknown()).optional(),
27951
- marks: z40.array(TipTapMarkSchema).optional()
28247
+ import { z as z41 } from "zod";
28248
+ var TipTapMarkSchema = z41.object({
28249
+ type: z41.string(),
28250
+ attrs: z41.record(z41.string(), z41.unknown()).optional()
28251
+ });
28252
+ var TipTapNodeSchema = z41.lazy(
28253
+ () => z41.object({
28254
+ type: z41.string(),
28255
+ content: z41.array(TipTapNodeSchema).optional(),
28256
+ text: z41.string().optional(),
28257
+ attrs: z41.record(z41.string(), z41.unknown()).optional(),
28258
+ marks: z41.array(TipTapMarkSchema).optional()
27952
28259
  })
27953
28260
  );
27954
- var RichTextValueSchema = z40.union([
28261
+ var RichTextValueSchema = z41.union([
27955
28262
  // Canonical: TipTap document directly
27956
28263
  TipTapNodeSchema,
27957
28264
  // Legacy (read-tolerance only): wrapped in { doc: {...} }
27958
- z40.object({
28265
+ z41.object({
27959
28266
  doc: TipTapNodeSchema
27960
28267
  })
27961
28268
  ]);
27962
- var RichTextDocSchema = z40.object({
27963
- type: z40.literal("doc"),
27964
- content: z40.array(TipTapNodeSchema)
28269
+ var RichTextDocSchema = z41.object({
28270
+ type: z41.literal("doc"),
28271
+ content: z41.array(TipTapNodeSchema)
27965
28272
  });
27966
28273
 
27967
28274
  // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
27968
- import { z as z41 } from "zod";
27969
- var bookingDepositRefundPolicySchema = z41.enum([
28275
+ import { z as z42 } from "zod";
28276
+ var bookingDepositRefundPolicySchema = z42.enum([
27970
28277
  "refundable",
27971
28278
  "non_refundable"
27972
28279
  ]);
27973
- var bookingInstalmentPlanSchema = z41.union([
27974
- z41.object({
27975
- kind: z41.literal("deposit_plus_one_remainder"),
27976
- depositAmountCents: z41.number().int().min(0),
28280
+ var bookingInstalmentPlanSchema = z42.union([
28281
+ z42.object({
28282
+ kind: z42.literal("deposit_plus_one_remainder"),
28283
+ depositAmountCents: z42.number().int().min(0),
27977
28284
  depositRefundability: bookingDepositRefundPolicySchema,
27978
- remainderDueCount: z41.number().int().positive(),
27979
- intervalUnit: z41.enum(["day", "week", "month"])
28285
+ remainderDueCount: z42.number().int().positive(),
28286
+ intervalUnit: z42.enum(["day", "week", "month"])
27980
28287
  }),
27981
- z41.object({
27982
- kind: z41.literal("deposit_plus_scheduled_instalments"),
27983
- depositAmountCents: z41.number().int().min(0),
28288
+ z42.object({
28289
+ kind: z42.literal("deposit_plus_scheduled_instalments"),
28290
+ depositAmountCents: z42.number().int().min(0),
27984
28291
  depositRefundability: bookingDepositRefundPolicySchema,
27985
- instalmentCount: z41.number().int().positive(),
27986
- intervalCount: z41.number().int().positive(),
27987
- intervalUnit: z41.enum(["day", "week", "month"])
28292
+ instalmentCount: z42.number().int().positive(),
28293
+ intervalCount: z42.number().int().positive(),
28294
+ intervalUnit: z42.enum(["day", "week", "month"])
27988
28295
  }),
27989
- z41.object({
27990
- kind: z41.literal("equal_scheduled_instalments"),
27991
- instalmentCount: z41.number().int().positive(),
27992
- intervalCount: z41.number().int().positive(),
27993
- intervalUnit: z41.enum(["day", "week", "month"])
28296
+ z42.object({
28297
+ kind: z42.literal("equal_scheduled_instalments"),
28298
+ instalmentCount: z42.number().int().positive(),
28299
+ intervalCount: z42.number().int().positive(),
28300
+ intervalUnit: z42.enum(["day", "week", "month"])
27994
28301
  })
27995
28302
  ]);
27996
- var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
27997
- z41.object({
27998
- kind: z41.literal("relative_to_start_date"),
27999
- daysBeforeStart: z41.number().int().positive()
28303
+ var bookingFlexibleBalanceDueDateRuleSchema = z42.union([
28304
+ z42.object({
28305
+ kind: z42.literal("relative_to_start_date"),
28306
+ daysBeforeStart: z42.number().int().positive()
28000
28307
  }),
28001
- z41.object({
28002
- kind: z41.literal("fixed_calendar_date"),
28003
- dueAt: z41.string().datetime()
28308
+ z42.object({
28309
+ kind: z42.literal("fixed_calendar_date"),
28310
+ dueAt: z42.string().datetime()
28004
28311
  })
28005
28312
  ]);
28006
- var bookingFlexibleBalanceConfigSchema = z41.object({
28007
- upfrontAmountCents: z41.number().int().min(0),
28313
+ var bookingFlexibleBalanceConfigSchema = z42.object({
28314
+ upfrontAmountCents: z42.number().int().min(0),
28008
28315
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
28009
28316
  depositRefundability: bookingDepositRefundPolicySchema
28010
28317
  });
28011
- var blockBookingPaymentCollectionOptionSchema = z41.union([
28012
- z41.object({
28013
- kind: z41.literal("upfront")
28318
+ var blockBookingPaymentCollectionOptionSchema = z42.union([
28319
+ z42.object({
28320
+ kind: z42.literal("upfront")
28014
28321
  }),
28015
- z41.object({
28016
- kind: z41.literal("deferred_manual")
28322
+ z42.object({
28323
+ kind: z42.literal("deferred_manual")
28017
28324
  }),
28018
- z41.object({
28019
- kind: z41.literal("instalment_plan"),
28325
+ z42.object({
28326
+ kind: z42.literal("instalment_plan"),
28020
28327
  plan: bookingInstalmentPlanSchema
28021
28328
  }),
28022
- z41.object({
28023
- kind: z41.literal("flexible_balance"),
28329
+ z42.object({
28330
+ kind: z42.literal("flexible_balance"),
28024
28331
  config: bookingFlexibleBalanceConfigSchema
28025
28332
  })
28026
28333
  ]);
28027
- var blockBookingPaymentTermsSchema = z41.object({
28028
- allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
28334
+ var blockBookingPaymentTermsSchema = z42.object({
28335
+ allowedOptions: z42.array(blockBookingPaymentCollectionOptionSchema).min(1)
28029
28336
  });
28030
28337
 
28031
28338
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
28032
- import { z as z42 } from "zod";
28033
- var courseVenueSchema = z42.object({
28034
- id: z42.string(),
28035
- name: z42.string(),
28036
- address: z42.string().nullable()
28037
- });
28038
- var courseSessionSchema = z42.object({
28039
- id: z42.string(),
28040
- startsAt: z42.string(),
28041
- endsAt: z42.string(),
28042
- timeZone: z42.string(),
28043
- capacityOverride: z42.number().nullable().optional(),
28044
- overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
28045
- });
28046
- var courseTeamMemberSummarySchema = z42.object({
28047
- id: z42.string(),
28048
- name: z42.string(),
28049
- roleLabel: z42.string().nullable(),
28050
- summary: z42.string().nullable(),
28051
- profilePath: z42.string().nullable()
28052
- });
28053
- var coursePricingOptionSchema = z42.object({
28054
- id: z42.string(),
28055
- name: z42.string(),
28056
- description: z42.string().nullable(),
28057
- priceAmount: z42.number(),
28058
- isActive: z42.boolean(),
28059
- sortOrder: z42.number(),
28060
- capacityLimit: z42.number().nullable(),
28061
- saleStartsAt: z42.string().nullable(),
28062
- saleEndsAt: z42.string().nullable(),
28063
- attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
28064
- });
28065
- var coursePricingSchema = z42.object({
28066
- bookingRequirement: z42.enum(["none", "required"]),
28067
- pricingStrategy: z42.enum(["free", "single", "tiered", "sliding_scale"]),
28068
- currency: z42.string(),
28069
- singlePriceAmount: z42.number().nullable(),
28070
- slidingMinAmount: z42.number().nullable().optional(),
28071
- slidingMaxAmount: z42.number().nullable().optional(),
28072
- slidingSuggestedAmount: z42.number().nullable().optional(),
28339
+ import { z as z43 } from "zod";
28340
+ var courseVenueSchema = z43.object({
28341
+ id: z43.string(),
28342
+ name: z43.string(),
28343
+ address: z43.string().nullable()
28344
+ });
28345
+ var courseSessionSchema = z43.object({
28346
+ id: z43.string(),
28347
+ startsAt: z43.string(),
28348
+ endsAt: z43.string(),
28349
+ timeZone: z43.string(),
28350
+ capacityOverride: z43.number().nullable().optional(),
28351
+ overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
28352
+ });
28353
+ var courseTeamMemberSummarySchema = z43.object({
28354
+ id: z43.string(),
28355
+ name: z43.string(),
28356
+ roleLabel: z43.string().nullable(),
28357
+ summary: z43.string().nullable(),
28358
+ profilePath: z43.string().nullable()
28359
+ });
28360
+ var coursePricingOptionSchema = z43.object({
28361
+ id: z43.string(),
28362
+ name: z43.string(),
28363
+ description: z43.string().nullable(),
28364
+ priceAmount: z43.number(),
28365
+ isActive: z43.boolean(),
28366
+ sortOrder: z43.number(),
28367
+ capacityLimit: z43.number().nullable(),
28368
+ saleStartsAt: z43.string().nullable(),
28369
+ saleEndsAt: z43.string().nullable(),
28370
+ attendanceScope: z43.enum(["in_person", "online", "both"]).nullable().optional()
28371
+ });
28372
+ var coursePricingSchema = z43.object({
28373
+ bookingRequirement: z43.enum(["none", "required"]),
28374
+ pricingStrategy: z43.enum(["free", "single", "tiered", "sliding_scale"]),
28375
+ currency: z43.string(),
28376
+ singlePriceAmount: z43.number().nullable(),
28377
+ slidingMinAmount: z43.number().nullable().optional(),
28378
+ slidingMaxAmount: z43.number().nullable().optional(),
28379
+ slidingSuggestedAmount: z43.number().nullable().optional(),
28073
28380
  paymentTerms: blockBookingPaymentTermsSchema,
28074
- options: z42.array(coursePricingOptionSchema)
28075
- });
28076
- var publicCourseSchema = z42.object({
28077
- id: z42.string(),
28078
- title: z42.string(),
28079
- slug: z42.string(),
28080
- description: z42.unknown().nullable(),
28081
- teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
28082
- enrollmentOpen: z42.boolean(),
28381
+ options: z43.array(coursePricingOptionSchema)
28382
+ });
28383
+ var publicCourseSchema = z43.object({
28384
+ id: z43.string(),
28385
+ title: z43.string(),
28386
+ slug: z43.string(),
28387
+ description: z43.unknown().nullable(),
28388
+ teamMembers: z43.array(courseTeamMemberSummarySchema).optional(),
28389
+ enrollmentOpen: z43.boolean(),
28083
28390
  pricing: coursePricingSchema.optional(),
28084
- priceCents: z42.number().nullable(),
28085
- currency: z42.string(),
28391
+ priceCents: z43.number().nullable(),
28392
+ currency: z43.string(),
28086
28393
  paymentTerms: blockBookingPaymentTermsSchema,
28087
- enrollmentCapacity: z42.number().nullable(),
28088
- acceptsMemberships: z42.boolean(),
28089
- status: z42.enum(["active", "draft", "cancelled"]),
28090
- sessionsCount: z42.number(),
28091
- enrolledCount: z42.number(),
28092
- availableSpots: z42.number().nullable(),
28093
- sessions: z42.array(courseSessionSchema),
28394
+ enrollmentCapacity: z43.number().nullable(),
28395
+ acceptsMemberships: z43.boolean(),
28396
+ status: z43.enum(["active", "draft", "cancelled"]),
28397
+ sessionsCount: z43.number(),
28398
+ enrolledCount: z43.number(),
28399
+ availableSpots: z43.number().nullable(),
28400
+ sessions: z43.array(courseSessionSchema),
28094
28401
  venue: courseVenueSchema.nullable(),
28095
- contentEntryId: z42.string().nullable()
28402
+ contentEntryId: z43.string().nullable()
28096
28403
  });
28097
- var publicCoursesArraySchema = z42.array(publicCourseSchema);
28404
+ var publicCoursesArraySchema = z43.array(publicCourseSchema);
28098
28405
 
28099
28406
  // ../blocks/src/system/blocks/events/shared/schemas.ts
28100
- var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
28101
- var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
28102
- var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
28103
- var publicEventDestinationSchema = z43.discriminatedUnion("kind", [
28104
- z43.object({
28105
- kind: z43.literal("native"),
28407
+ var eventPresetSchema = z44.enum(["event", "class", "workshop", "retreat", "performance"]);
28408
+ var eventScheduleScopeSchema = z44.enum(["recurring", "oneOff"]);
28409
+ var eventDestinationModeSchema = z44.enum(["cms-managed", "system-managed"]);
28410
+ var publicEventDestinationSchema = z44.discriminatedUnion("kind", [
28411
+ z44.object({
28412
+ kind: z44.literal("native"),
28106
28413
  mode: eventDestinationModeSchema,
28107
- path: z43.string()
28414
+ path: z44.string()
28108
28415
  }),
28109
- z43.object({
28110
- kind: z43.literal("external"),
28111
- url: z43.string(),
28112
- label: z43.string()
28416
+ z44.object({
28417
+ kind: z44.literal("external"),
28418
+ url: z44.string(),
28419
+ label: z44.string()
28113
28420
  })
28114
28421
  ]);
28115
- var eventVenueSchema = z43.object({
28116
- id: z43.string(),
28117
- name: z43.string(),
28118
- address: z43.string().nullable(),
28119
- location: z43.object({
28120
- lat: z43.number(),
28121
- lng: z43.number()
28422
+ var eventVenueSchema = z44.object({
28423
+ id: z44.string(),
28424
+ name: z44.string(),
28425
+ address: z44.string().nullable(),
28426
+ location: z44.object({
28427
+ lat: z44.number(),
28428
+ lng: z44.number()
28122
28429
  }).nullable()
28123
28430
  });
28124
- var eventCategorySchema = z43.object({
28125
- id: z43.string(),
28126
- name: z43.string(),
28127
- color: z43.string().nullable()
28128
- });
28129
- var pricingTypeSchema = z43.enum(["free", "paid", "external"]);
28130
- var accessRestrictionSchema = z43.enum(["none", "category"]);
28131
- var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
28132
- var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
28133
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28134
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28135
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28136
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
28431
+ var eventCategorySchema = z44.object({
28432
+ id: z44.string(),
28433
+ name: z44.string(),
28434
+ color: z44.string().nullable()
28435
+ });
28436
+ var pricingTypeSchema = z44.enum(["free", "paid", "external"]);
28437
+ var accessRestrictionSchema = z44.enum(["none", "category"]);
28438
+ var eventPricingModeSchema = z44.enum(["single", "ticket_types"]);
28439
+ var publicCoursePriceDisplaySchema = z44.discriminatedUnion("kind", [
28440
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28441
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28442
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28443
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
28137
28444
  ]);
28138
- var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
28139
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28140
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28141
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28142
- z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28143
- z43.object({
28144
- kind: z43.literal("mixed"),
28145
- paidFromAmount: z43.number(),
28146
- paidToAmount: z43.number(),
28147
- currency: z43.string()
28445
+ var publicEventPriceDisplaySchema = z44.discriminatedUnion("kind", [
28446
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28447
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28448
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28449
+ z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
28450
+ z44.object({
28451
+ kind: z44.literal("mixed"),
28452
+ paidFromAmount: z44.number(),
28453
+ paidToAmount: z44.number(),
28454
+ currency: z44.string()
28148
28455
  }),
28149
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
28150
- z43.object({ kind: z43.literal("external"), label: z43.string() }),
28151
- z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28456
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() }),
28457
+ z44.object({ kind: z44.literal("external"), label: z44.string() }),
28458
+ z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
28152
28459
  ]);
28153
- var publicEventTicketTypePriceDisplaySchema = z43.union([
28154
- z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28155
- z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28156
- z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28157
- z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28158
- z43.object({
28159
- kind: z43.literal("mixed"),
28160
- paidFromAmount: z43.number(),
28161
- paidToAmount: z43.number(),
28162
- currency: z43.string()
28460
+ var publicEventTicketTypePriceDisplaySchema = z44.union([
28461
+ z44.object({ kind: z44.literal("free"), currency: z44.string() }),
28462
+ z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() }),
28463
+ z44.object({ kind: z44.literal("from"), amount: z44.number(), currency: z44.string() }),
28464
+ z44.object({ kind: z44.literal("range"), minAmount: z44.number(), maxAmount: z44.number(), currency: z44.string() }),
28465
+ z44.object({
28466
+ kind: z44.literal("mixed"),
28467
+ paidFromAmount: z44.number(),
28468
+ paidToAmount: z44.number(),
28469
+ currency: z44.string()
28163
28470
  }),
28164
- z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
28471
+ z44.object({ kind: z44.literal("unavailable"), currency: z44.string() })
28165
28472
  ]);
28166
- var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
28167
- var publicEventAttendanceModeAvailabilitySchema = z43.object({
28473
+ var publicEventAttendanceModeSchema = z44.enum(["in_person", "online"]);
28474
+ var publicEventAttendanceModeAvailabilitySchema = z44.object({
28168
28475
  mode: publicEventAttendanceModeSchema,
28169
- capacity: z43.number().nullable(),
28170
- registeredCount: z43.number(),
28171
- availableSpots: z43.number().nullable(),
28172
- waitlistEnabled: z43.boolean()
28173
- });
28174
- var publicEventTicketTypeAvailabilitySchema = z43.union([
28175
- z43.object({
28176
- kind: z43.literal("available"),
28177
- remainingCapacity: z43.number().nullable()
28476
+ capacity: z44.number().nullable(),
28477
+ registeredCount: z44.number(),
28478
+ availableSpots: z44.number().nullable(),
28479
+ waitlistEnabled: z44.boolean()
28480
+ });
28481
+ var publicEventTicketTypeAvailabilitySchema = z44.union([
28482
+ z44.object({
28483
+ kind: z44.literal("available"),
28484
+ remainingCapacity: z44.number().nullable()
28178
28485
  }),
28179
- z43.object({
28180
- kind: z43.literal("unavailable"),
28181
- reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28182
- remainingCapacity: z43.number().nullable()
28486
+ z44.object({
28487
+ kind: z44.literal("unavailable"),
28488
+ reason: z44.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28489
+ remainingCapacity: z44.number().nullable()
28183
28490
  })
28184
28491
  ]);
28185
- var publicEventTicketTypeSchema = z43.object({
28186
- id: z43.string(),
28187
- siteId: z43.string(),
28188
- eventSeriesId: z43.string(),
28189
- name: z43.string(),
28190
- description: z43.string().nullable(),
28191
- priceAmount: z43.number(),
28192
- isActive: z43.boolean(),
28193
- sortOrder: z43.number(),
28194
- capacityMode: z43.enum(["limited", "unlimited"]),
28195
- capacityLimit: z43.number().nullable(),
28196
- attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
28197
- saleStartsAt: z43.string().nullable(),
28198
- saleEndsAt: z43.string().nullable(),
28492
+ var publicEventTicketTypeSchema = z44.object({
28493
+ id: z44.string(),
28494
+ siteId: z44.string(),
28495
+ eventSeriesId: z44.string(),
28496
+ name: z44.string(),
28497
+ description: z44.string().nullable(),
28498
+ priceAmount: z44.number(),
28499
+ isActive: z44.boolean(),
28500
+ sortOrder: z44.number(),
28501
+ capacityMode: z44.enum(["limited", "unlimited"]),
28502
+ capacityLimit: z44.number().nullable(),
28503
+ attendanceScope: z44.enum(["in_person", "online", "both"]).optional(),
28504
+ saleStartsAt: z44.string().nullable(),
28505
+ saleEndsAt: z44.string().nullable(),
28199
28506
  availability: publicEventTicketTypeAvailabilitySchema,
28200
- createdAt: z43.string(),
28201
- updatedAt: z43.string()
28202
- });
28203
- var publicEventPricingSchema = z43.discriminatedUnion("kind", [
28204
- z43.object({
28205
- kind: z43.literal("drop_in"),
28206
- currency: z43.string(),
28207
- display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28507
+ createdAt: z44.string(),
28508
+ updatedAt: z44.string()
28509
+ });
28510
+ var publicEventPricingSchema = z44.discriminatedUnion("kind", [
28511
+ z44.object({
28512
+ kind: z44.literal("drop_in"),
28513
+ currency: z44.string(),
28514
+ display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
28208
28515
  }),
28209
- z43.object({
28210
- kind: z43.literal("free_registration"),
28211
- currency: z43.string(),
28212
- display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28516
+ z44.object({
28517
+ kind: z44.literal("free_registration"),
28518
+ currency: z44.string(),
28519
+ display: z44.object({ kind: z44.literal("free"), currency: z44.string() })
28213
28520
  }),
28214
- z43.object({
28215
- kind: z43.literal("single_paid"),
28216
- amount: z43.number(),
28217
- currency: z43.string(),
28218
- display: z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() })
28521
+ z44.object({
28522
+ kind: z44.literal("single_paid"),
28523
+ amount: z44.number(),
28524
+ currency: z44.string(),
28525
+ display: z44.object({ kind: z44.literal("exact"), amount: z44.number(), currency: z44.string() })
28219
28526
  }),
28220
- z43.object({
28221
- kind: z43.literal("ticket_types"),
28222
- currency: z43.string(),
28223
- ticketTypes: z43.array(publicEventTicketTypeSchema),
28527
+ z44.object({
28528
+ kind: z44.literal("ticket_types"),
28529
+ currency: z44.string(),
28530
+ ticketTypes: z44.array(publicEventTicketTypeSchema),
28224
28531
  display: publicEventTicketTypePriceDisplaySchema
28225
28532
  }),
28226
- z43.object({
28227
- kind: z43.literal("sliding_scale"),
28228
- minAmount: z43.number(),
28229
- maxAmount: z43.number(),
28230
- suggestedAmount: z43.number().nullable(),
28231
- currency: z43.string(),
28232
- display: z43.object({
28233
- kind: z43.literal("range"),
28234
- minAmount: z43.number(),
28235
- maxAmount: z43.number(),
28236
- currency: z43.string()
28533
+ z44.object({
28534
+ kind: z44.literal("sliding_scale"),
28535
+ minAmount: z44.number(),
28536
+ maxAmount: z44.number(),
28537
+ suggestedAmount: z44.number().nullable(),
28538
+ currency: z44.string(),
28539
+ display: z44.object({
28540
+ kind: z44.literal("range"),
28541
+ minAmount: z44.number(),
28542
+ maxAmount: z44.number(),
28543
+ currency: z44.string()
28237
28544
  })
28238
28545
  }),
28239
- z43.object({
28240
- kind: z43.literal("course"),
28241
- display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28546
+ z44.object({
28547
+ kind: z44.literal("course"),
28548
+ display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
28242
28549
  }),
28243
- z43.object({
28244
- kind: z43.literal("external"),
28245
- display: z43.object({ kind: z43.literal("external"), label: z43.string() })
28550
+ z44.object({
28551
+ kind: z44.literal("external"),
28552
+ display: z44.object({ kind: z44.literal("external"), label: z44.string() })
28246
28553
  })
28247
28554
  ]);
28248
- var publicTeamMemberSummarySchema = z43.object({
28249
- id: z43.string(),
28250
- name: z43.string(),
28251
- roleLabel: z43.string().nullable(),
28252
- summary: z43.string().nullable(),
28253
- profilePath: z43.string().nullable()
28555
+ var publicTeamMemberSummarySchema = z44.object({
28556
+ id: z44.string(),
28557
+ name: z44.string(),
28558
+ roleLabel: z44.string().nullable(),
28559
+ summary: z44.string().nullable(),
28560
+ profilePath: z44.string().nullable()
28254
28561
  });
28255
- var publicEventSchema = z43.object({
28256
- kind: z43.enum(["event", "course_session"]).optional(),
28562
+ var publicEventSchema = z44.object({
28563
+ kind: z44.enum(["event", "course_session"]).optional(),
28257
28564
  eventPreset: eventPresetSchema.optional(),
28258
28565
  eventDestinationMode: eventDestinationModeSchema.optional(),
28259
28566
  scheduleScope: eventScheduleScopeSchema.optional(),
28260
- id: z43.string(),
28261
- occurrenceId: z43.string(),
28262
- seriesId: z43.string(),
28263
- title: z43.string(),
28264
- description: z43.string().nullable(),
28265
- content: z43.object({
28567
+ id: z44.string(),
28568
+ occurrenceId: z44.string(),
28569
+ seriesId: z44.string(),
28570
+ title: z44.string(),
28571
+ description: z44.string().nullable(),
28572
+ content: z44.object({
28266
28573
  body: RichTextDocSchema.nullable().optional()
28267
28574
  }).optional(),
28268
- presentation: z43.object({
28269
- cardTitleOverride: z43.string().nullable().optional(),
28270
- summary: z43.string().nullable().optional(),
28575
+ presentation: z44.object({
28576
+ cardTitleOverride: z44.string().nullable().optional(),
28577
+ summary: z44.string().nullable().optional(),
28271
28578
  image: mediaSchema2.nullable().optional()
28272
28579
  }).optional(),
28273
- slug: z43.string(),
28274
- path: z43.string().nullable(),
28580
+ slug: z44.string(),
28581
+ path: z44.string().nullable(),
28275
28582
  destination: publicEventDestinationSchema,
28276
- requiresRegistration: z43.boolean(),
28277
- deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
28278
- attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
28279
- startsAt: z43.string(),
28280
- endsAt: z43.string(),
28281
- capacity: z43.number().nullable(),
28282
- registeredCount: z43.number(),
28283
- availableSpots: z43.number().nullable(),
28284
- waitlistEnabled: z43.boolean(),
28583
+ requiresRegistration: z44.boolean(),
28584
+ deliveryMode: z44.enum(["in_person", "online", "hybrid"]),
28585
+ attendanceModes: z44.array(publicEventAttendanceModeAvailabilitySchema),
28586
+ startsAt: z44.string(),
28587
+ endsAt: z44.string(),
28588
+ capacity: z44.number().nullable(),
28589
+ registeredCount: z44.number(),
28590
+ availableSpots: z44.number().nullable(),
28591
+ waitlistEnabled: z44.boolean(),
28285
28592
  venue: eventVenueSchema.nullable(),
28286
28593
  eventCategory: eventCategorySchema.nullable(),
28287
- teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
28288
- status: z43.enum(["active", "draft", "archived"]).optional(),
28289
- timeZone: z43.string(),
28594
+ teamMembers: z44.array(publicTeamMemberSummarySchema).optional(),
28595
+ status: z44.enum(["active", "draft", "archived"]).optional(),
28596
+ timeZone: z44.string(),
28290
28597
  pricing: publicEventPricingSchema,
28291
28598
  paymentTerms: blockBookingPaymentTermsSchema,
28292
28599
  accessRestriction: accessRestrictionSchema,
28293
- allowedCategoryIds: z43.array(z43.string()),
28294
- requireGuestDetails: z43.boolean().optional(),
28295
- acceptsPasses: z43.boolean().optional(),
28296
- acceptsMemberships: z43.boolean().optional(),
28297
- course: z43.object({
28298
- id: z43.string(),
28600
+ allowedCategoryIds: z44.array(z44.string()),
28601
+ requireGuestDetails: z44.boolean().optional(),
28602
+ acceptsPasses: z44.boolean().optional(),
28603
+ acceptsMemberships: z44.boolean().optional(),
28604
+ course: z44.object({
28605
+ id: z44.string(),
28299
28606
  pricing: coursePricingSchema.optional(),
28300
- priceCents: z43.number().nullable(),
28301
- currency: z43.string(),
28302
- enrollmentOpen: z43.boolean()
28607
+ priceCents: z44.number().nullable(),
28608
+ currency: z44.string(),
28609
+ enrollmentOpen: z44.boolean()
28303
28610
  }).nullable().optional()
28304
28611
  });
28305
- var publicEventsArraySchema = z43.array(publicEventSchema);
28612
+ var publicEventsArraySchema = z44.array(publicEventSchema);
28306
28613
 
28307
28614
  // ../blocks/src/system/blocks/events/shared/fields.ts
28308
28615
  var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
@@ -28505,52 +28812,80 @@ function normalizeEventStaffMemberId(value) {
28505
28812
  return trimmed ? trimmed : null;
28506
28813
  }
28507
28814
 
28815
+ // ../blocks/src/system/blocks/events/shared/layout.ts
28816
+ var recoverEmptyHeadingWhenActive = {
28817
+ kind: "recover-empty-when-active",
28818
+ placeholder: "Add heading"
28819
+ };
28820
+ var recoverEmptyDescriptionWhenActive = {
28821
+ kind: "recover-empty-when-active",
28822
+ placeholder: "Add description"
28823
+ };
28824
+ function eventSectionHeaderLayoutNodes() {
28825
+ return [
28826
+ text(
28827
+ { as: "h2" },
28828
+ bind("content.heading"),
28829
+ when("content.heading", {
28830
+ authoringPresence: recoverEmptyHeadingWhenActive
28831
+ })
28832
+ ),
28833
+ richText(
28834
+ { className: "rb-prose rb-max-w-none" },
28835
+ bind("content.description"),
28836
+ when("content.description", {
28837
+ authoringPresence: recoverEmptyDescriptionWhenActive
28838
+ })
28839
+ )
28840
+ ];
28841
+ }
28842
+
28508
28843
  // ../blocks/src/system/blocks/shop.shared.ts
28509
- import { z as z44 } from "zod";
28510
- var publicPassProductSchema = z44.object({
28511
- id: z44.string(),
28512
- productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
28513
- name: z44.string(),
28514
- description: z44.string().nullable(),
28515
- price: z44.number(),
28516
- currency: z44.string(),
28517
- creditsTotal: z44.number(),
28518
- pricePerCredit: z44.number(),
28519
- validDays: z44.number().nullable(),
28520
- eligibleCategoryIds: z44.array(z44.string()),
28521
- eligibleCategoryNames: z44.array(z44.string())
28522
- });
28523
- var publicPassProductCollectionSchema = z44.object({
28524
- passes: z44.array(publicPassProductSchema)
28525
- });
28526
- var publicMembershipProductSchema = z44.object({
28527
- id: z44.string(),
28528
- name: z44.string(),
28529
- description: z44.string().nullable(),
28530
- price: z44.number(),
28531
- currency: z44.string(),
28532
- billingInterval: z44.enum(["month", "year"]),
28533
- eligibleCategoryIds: z44.array(z44.string()),
28534
- eligibleCategoryNames: z44.array(z44.string())
28844
+ import { z as z45 } from "zod";
28845
+ var publicPassProductSchema = z45.object({
28846
+ id: z45.string(),
28847
+ productUseCase: z45.enum(["event_pass", "appointment_package"]).default("event_pass"),
28848
+ name: z45.string(),
28849
+ description: z45.string().nullable(),
28850
+ price: z45.number(),
28851
+ currency: z45.string(),
28852
+ creditsTotal: z45.number(),
28853
+ pricePerCredit: z45.number(),
28854
+ validDays: z45.number().nullable(),
28855
+ eligibleCategoryIds: z45.array(z45.string()),
28856
+ eligibleCategoryNames: z45.array(z45.string())
28857
+ });
28858
+ var publicPassProductCollectionSchema = z45.object({
28859
+ passes: z45.array(publicPassProductSchema)
28860
+ });
28861
+ var publicMembershipProductSchema = z45.object({
28862
+ id: z45.string(),
28863
+ name: z45.string(),
28864
+ description: z45.string().nullable(),
28865
+ price: z45.number(),
28866
+ currency: z45.string(),
28867
+ billingInterval: z45.enum(["month", "year"]),
28868
+ eligibleCategoryIds: z45.array(z45.string()),
28869
+ eligibleCategoryNames: z45.array(z45.string())
28535
28870
  });
28536
- var publicMembershipProductCollectionSchema = z44.object({
28537
- memberships: z44.array(publicMembershipProductSchema)
28871
+ var publicMembershipProductCollectionSchema = z45.object({
28872
+ memberships: z45.array(publicMembershipProductSchema)
28538
28873
  });
28539
28874
 
28540
28875
  // ../blocks/src/system/blocks/event-registration.shared.ts
28541
- import { z as z45 } from "zod";
28542
- var occurrenceContextSchema = z45.object({
28543
- id: z45.string(),
28544
- seriesId: z45.string(),
28545
- startsAt: z45.string(),
28546
- endsAt: z45.string(),
28547
- timeZone: z45.string(),
28548
- capacityOverride: z45.number().nullable().optional(),
28549
- overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
28876
+ import { z as z46 } from "zod";
28877
+ var occurrenceContextSchema = z46.object({
28878
+ id: z46.string(),
28879
+ seriesId: z46.string(),
28880
+ startsAt: z46.string(),
28881
+ endsAt: z46.string(),
28882
+ timeZone: z46.string(),
28883
+ capacityOverride: z46.number().nullable().optional(),
28884
+ overrides: z46.record(z46.string(), z46.unknown()).nullable().optional()
28550
28885
  }).nullable();
28551
28886
 
28552
28887
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28553
- import { z as z47 } from "zod";
28888
+ import { z as z48 } from "zod";
28554
28889
 
28555
28890
  // ../blocks/src/system/constants/events.ts
28556
28891
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
@@ -28737,17 +29072,17 @@ function readAmount(value) {
28737
29072
  }
28738
29073
 
28739
29074
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
28740
- import { z as z46 } from "zod";
28741
- var previewStageSchema = z46.enum(["preview", "published"]);
28742
- var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
28743
- var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
28744
- var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
28745
- var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
28746
- var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
28747
- var columnOptionSchema = z46.enum(["2", "3", "4"]);
28748
- var weekStartSchema = z46.enum(["sunday", "monday"]);
28749
- var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
28750
- var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
29075
+ import { z as z47 } from "zod";
29076
+ var previewStageSchema = z47.enum(["preview", "published"]);
29077
+ var registrationButtonVariantSchema = z47.enum(["primary", "secondary", "outline"]);
29078
+ var eventButtonVariantSchema = z47.enum(["primary", "secondary", "outline", "link"]);
29079
+ var eventLayoutSchema = z47.enum(eventCalendarListLayoutValues);
29080
+ var eventCalendarDisplayModeSchema = z47.enum(eventCalendarDisplayModeValues);
29081
+ var eventCalendarDefaultViewSchema = z47.enum(eventCalendarDefaultViewValues);
29082
+ var columnOptionSchema = z47.enum(["2", "3", "4"]);
29083
+ var weekStartSchema = z47.enum(["sunday", "monday"]);
29084
+ var filterAutoShowSchema = z47.enum(["auto", "always", "never"]);
29085
+ var calendarTabViewsSchema = z47.enum(["both", "month", "week"]);
28751
29086
 
28752
29087
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
28753
29088
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -28807,72 +29142,72 @@ function toRegistrationEvents(events) {
28807
29142
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28808
29143
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
28809
29144
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
28810
- var contentEntrySchema = z47.object({
28811
- id: z47.string(),
28812
- slug: z47.string(),
28813
- contentTypeSlug: z47.string()
29145
+ var contentEntrySchema = z48.object({
29146
+ id: z48.string(),
29147
+ slug: z48.string(),
29148
+ contentTypeSlug: z48.string()
28814
29149
  });
28815
- var eventRegistrationPublicEventSchema = z47.preprocess(
29150
+ var eventRegistrationPublicEventSchema = z48.preprocess(
28816
29151
  normalizeEventRegistrationEventInput,
28817
29152
  publicEventSchema
28818
29153
  );
28819
- var eventRegistrationSourceSchema = z47.object({
28820
- siteId: z47.string().optional(),
28821
- apiBaseUrl: z47.string().optional(),
28822
- portalToken: z47.string().nullable().optional(),
28823
- previewToken: z47.string().nullable().optional(),
29154
+ var eventRegistrationSourceSchema = z48.object({
29155
+ siteId: z48.string().optional(),
29156
+ apiBaseUrl: z48.string().optional(),
29157
+ portalToken: z48.string().nullable().optional(),
29158
+ previewToken: z48.string().nullable().optional(),
28824
29159
  occurrenceContext: occurrenceContextSchema.optional(),
28825
29160
  contentEntry: contentEntrySchema.nullable().optional(),
28826
- events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28827
- className: z47.string().nullable().optional(),
28828
- buttonText: z47.string().nullable().optional(),
28829
- maxTickets: z47.string().nullable().optional(),
28830
- showVenue: z47.boolean().optional(),
28831
- showCapacity: z47.boolean().optional(),
28832
- successMessage: z47.string().optional(),
28833
- waitlistMessage: z47.string().optional(),
29161
+ events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
29162
+ className: z48.string().nullable().optional(),
29163
+ buttonText: z48.string().nullable().optional(),
29164
+ maxTickets: z48.string().nullable().optional(),
29165
+ showVenue: z48.boolean().optional(),
29166
+ showCapacity: z48.boolean().optional(),
29167
+ successMessage: z48.string().optional(),
29168
+ waitlistMessage: z48.string().optional(),
28834
29169
  buttonVariant: registrationButtonVariantSchema.optional(),
28835
- overlayEnabled: z47.boolean().optional(),
28836
- spamProtectionEnabled: z47.boolean().optional(),
29170
+ overlayEnabled: z48.boolean().optional(),
29171
+ spamProtectionEnabled: z48.boolean().optional(),
28837
29172
  stage: previewStageSchema.optional(),
28838
- supportEmail: z47.string().optional(),
29173
+ supportEmail: z48.string().optional(),
28839
29174
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28840
29175
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28841
29176
  });
28842
- var eventRegistrationDisplaySchema = z47.object({
28843
- kind: z47.literal("event-registration"),
28844
- state: z47.literal("generic-shell"),
28845
- className: z47.string().nullable(),
28846
- titleText: z47.string(),
28847
- bodyText: z47.string(),
28848
- stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28849
- summaryButtonText: z47.string()
29177
+ var eventRegistrationDisplaySchema = z48.object({
29178
+ kind: z48.literal("event-registration"),
29179
+ state: z48.literal("generic-shell"),
29180
+ className: z48.string().nullable(),
29181
+ titleText: z48.string(),
29182
+ bodyText: z48.string(),
29183
+ stepLabels: z48.array(z48.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
29184
+ summaryButtonText: z48.string()
28850
29185
  });
28851
- var eventRegistrationHydrationSchema = z47.object({
29186
+ var eventRegistrationHydrationSchema = z48.object({
28852
29187
  occurrenceContext: occurrenceContextSchema.optional(),
28853
29188
  contentEntry: contentEntrySchema.nullable().optional(),
28854
- events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28855
- maxTickets: z47.string().optional(),
28856
- showVenue: z47.boolean().optional(),
28857
- showCapacity: z47.boolean().optional(),
28858
- successMessage: z47.string().optional(),
28859
- waitlistMessage: z47.string().optional(),
29189
+ events: z48.array(eventRegistrationPublicEventSchema).nullable().optional(),
29190
+ maxTickets: z48.string().optional(),
29191
+ showVenue: z48.boolean().optional(),
29192
+ showCapacity: z48.boolean().optional(),
29193
+ successMessage: z48.string().optional(),
29194
+ waitlistMessage: z48.string().optional(),
28860
29195
  buttonVariant: registrationButtonVariantSchema.optional(),
28861
- overlayEnabled: z47.boolean().optional(),
28862
- spamProtectionEnabled: z47.boolean().optional(),
28863
- supportEmail: z47.string().optional(),
29196
+ overlayEnabled: z48.boolean().optional(),
29197
+ spamProtectionEnabled: z48.boolean().optional(),
29198
+ supportEmail: z48.string().optional(),
28864
29199
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28865
29200
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28866
29201
  });
28867
- var eventRegistrationRenderSchema = z47.object({
29202
+ var eventRegistrationRenderSchema = z48.object({
28868
29203
  display: eventRegistrationDisplaySchema,
28869
29204
  hydration: eventRegistrationHydrationSchema
28870
29205
  });
28871
- var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
28872
- siteId: z47.string().optional(),
28873
- apiBaseUrl: z47.string().optional(),
28874
- portalToken: z47.string().nullable().optional(),
28875
- previewToken: z47.string().nullable().optional(),
29206
+ var eventRegistrationIslandMetaCodec = createZodCodec(z48.object({
29207
+ siteId: z48.string().optional(),
29208
+ apiBaseUrl: z48.string().optional(),
29209
+ portalToken: z48.string().nullable().optional(),
29210
+ previewToken: z48.string().nullable().optional(),
28876
29211
  stage: previewStageSchema.optional()
28877
29212
  }));
28878
29213
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29223,73 +29558,73 @@ var eventRegistrationBlockDefinition = {
29223
29558
  };
29224
29559
 
29225
29560
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
29226
- import { z as z48 } from "zod";
29227
- var contentEntrySchema2 = z48.object({
29228
- id: z48.string(),
29229
- slug: z48.string(),
29230
- contentTypeSlug: z48.string()
29231
- });
29232
- var courseEntrySubrouteContextSchema = z48.union([
29233
- z48.object({
29234
- kind: z48.literal("course-run"),
29235
- run: z48.object({
29236
- courseId: z48.string(),
29237
- seriesId: z48.string(),
29238
- runSlug: z48.string(),
29239
- runName: z48.string().nullable()
29561
+ import { z as z49 } from "zod";
29562
+ var contentEntrySchema2 = z49.object({
29563
+ id: z49.string(),
29564
+ slug: z49.string(),
29565
+ contentTypeSlug: z49.string()
29566
+ });
29567
+ var courseEntrySubrouteContextSchema = z49.union([
29568
+ z49.object({
29569
+ kind: z49.literal("course-run"),
29570
+ run: z49.object({
29571
+ courseId: z49.string(),
29572
+ seriesId: z49.string(),
29573
+ runSlug: z49.string(),
29574
+ runName: z49.string().nullable()
29240
29575
  })
29241
29576
  }),
29242
- z48.object({
29243
- kind: z48.literal("event-occurrence"),
29577
+ z49.object({
29578
+ kind: z49.literal("event-occurrence"),
29244
29579
  occurrence: occurrenceContextSchema
29245
29580
  })
29246
29581
  ]);
29247
- var courseRegistrationSourceSchema = z48.object({
29248
- siteId: z48.string().optional(),
29249
- apiBaseUrl: z48.string().optional(),
29250
- portalToken: z48.string().nullable().optional(),
29582
+ var courseRegistrationSourceSchema = z49.object({
29583
+ siteId: z49.string().optional(),
29584
+ apiBaseUrl: z49.string().optional(),
29585
+ portalToken: z49.string().nullable().optional(),
29251
29586
  contentEntry: contentEntrySchema2.nullable().optional(),
29252
29587
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
29253
- courses: z48.array(publicCourseSchema).nullable().optional(),
29254
- className: z48.string().nullable().optional(),
29255
- showSessions: z48.boolean().optional(),
29256
- showPrice: z48.boolean().optional(),
29257
- showCapacity: z48.boolean().optional(),
29258
- showVenue: z48.boolean().optional(),
29259
- successMessage: z48.string().optional(),
29260
- waitlistMessage: z48.string().optional(),
29261
- membershipMessage: z48.string().optional(),
29262
- buttonText: z48.string().nullable().optional(),
29588
+ courses: z49.array(publicCourseSchema).nullable().optional(),
29589
+ className: z49.string().nullable().optional(),
29590
+ showSessions: z49.boolean().optional(),
29591
+ showPrice: z49.boolean().optional(),
29592
+ showCapacity: z49.boolean().optional(),
29593
+ showVenue: z49.boolean().optional(),
29594
+ successMessage: z49.string().optional(),
29595
+ waitlistMessage: z49.string().optional(),
29596
+ membershipMessage: z49.string().optional(),
29597
+ buttonText: z49.string().nullable().optional(),
29263
29598
  buttonVariant: registrationButtonVariantSchema.optional(),
29264
29599
  stage: previewStageSchema.optional()
29265
29600
  });
29266
- var courseRegistrationDisplaySchema = z48.object({
29267
- kind: z48.literal("course-registration"),
29268
- state: z48.literal("shell"),
29269
- className: z48.string().nullable(),
29270
- summaryButtonText: z48.string()
29601
+ var courseRegistrationDisplaySchema = z49.object({
29602
+ kind: z49.literal("course-registration"),
29603
+ state: z49.literal("shell"),
29604
+ className: z49.string().nullable(),
29605
+ summaryButtonText: z49.string()
29271
29606
  });
29272
- var courseRegistrationHydrationSchema = z48.object({
29607
+ var courseRegistrationHydrationSchema = z49.object({
29273
29608
  contentEntry: contentEntrySchema2.nullable().optional(),
29274
29609
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
29275
- courses: z48.array(publicCourseSchema).nullable().optional(),
29276
- showSessions: z48.boolean().optional(),
29277
- showPrice: z48.boolean().optional(),
29278
- showCapacity: z48.boolean().optional(),
29279
- showVenue: z48.boolean().optional(),
29280
- successMessage: z48.string().optional(),
29281
- waitlistMessage: z48.string().optional(),
29282
- membershipMessage: z48.string().optional(),
29610
+ courses: z49.array(publicCourseSchema).nullable().optional(),
29611
+ showSessions: z49.boolean().optional(),
29612
+ showPrice: z49.boolean().optional(),
29613
+ showCapacity: z49.boolean().optional(),
29614
+ showVenue: z49.boolean().optional(),
29615
+ successMessage: z49.string().optional(),
29616
+ waitlistMessage: z49.string().optional(),
29617
+ membershipMessage: z49.string().optional(),
29283
29618
  buttonVariant: registrationButtonVariantSchema.optional()
29284
29619
  });
29285
- var courseRegistrationRenderSchema = z48.object({
29620
+ var courseRegistrationRenderSchema = z49.object({
29286
29621
  display: courseRegistrationDisplaySchema,
29287
29622
  hydration: courseRegistrationHydrationSchema
29288
29623
  });
29289
- var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
29290
- siteId: z48.string().optional(),
29291
- apiBaseUrl: z48.string().optional(),
29292
- portalToken: z48.string().nullable().optional(),
29624
+ var courseRegistrationIslandMetaCodec = createZodCodec(z49.object({
29625
+ siteId: z49.string().optional(),
29626
+ apiBaseUrl: z49.string().optional(),
29627
+ portalToken: z49.string().nullable().optional(),
29293
29628
  stage: previewStageSchema.optional()
29294
29629
  }));
29295
29630
  var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29549,7 +29884,7 @@ var courseRegistrationBlockDefinition = {
29549
29884
  };
29550
29885
 
29551
29886
  // ../blocks/src/system/blocks/event-details.ts
29552
- import { z as z49 } from "zod";
29887
+ import { z as z50 } from "zod";
29553
29888
  var eventDetailsManifest = createBlockManifest({
29554
29889
  id: "block.event-details",
29555
29890
  version: "1.0.0",
@@ -29681,37 +30016,37 @@ var eventDetailsManifest = createBlockManifest({
29681
30016
  })
29682
30017
  ]
29683
30018
  });
29684
- var occurrenceContextSchema2 = z49.object({
29685
- id: z49.string(),
29686
- seriesId: z49.string(),
29687
- startsAt: z49.string(),
29688
- endsAt: z49.string(),
29689
- timeZone: z49.string(),
29690
- capacityOverride: z49.number().nullable().optional(),
29691
- overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
30019
+ var occurrenceContextSchema2 = z50.object({
30020
+ id: z50.string(),
30021
+ seriesId: z50.string(),
30022
+ startsAt: z50.string(),
30023
+ endsAt: z50.string(),
30024
+ timeZone: z50.string(),
30025
+ capacityOverride: z50.number().nullable().optional(),
30026
+ overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
29692
30027
  }).nullable();
29693
- var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
29694
- id: z49.string(),
29695
- publicLabel: z49.string(),
29696
- description: z49.string().nullable(),
29697
- minTicketsRequired: z49.number().nullable()
30028
+ var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
30029
+ id: z50.string(),
30030
+ publicLabel: z50.string(),
30031
+ description: z50.string().nullable(),
30032
+ minTicketsRequired: z50.number().nullable()
29698
30033
  });
29699
- var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
30034
+ var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
29700
30035
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29701
- discountType: z49.literal("percent"),
29702
- discountPercent: z49.number(),
29703
- discountAmountCents: z49.null()
30036
+ discountType: z50.literal("percent"),
30037
+ discountPercent: z50.number(),
30038
+ discountAmountCents: z50.null()
29704
30039
  }),
29705
30040
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29706
- discountType: z49.literal("fixed"),
29707
- discountPercent: z49.null(),
29708
- discountAmountCents: z49.number()
30041
+ discountType: z50.literal("fixed"),
30042
+ discountPercent: z50.null(),
30043
+ discountAmountCents: z50.number()
29709
30044
  })
29710
30045
  ]);
29711
30046
  var eventDetailsBlockDefinition = {
29712
30047
  manifest: eventDetailsManifest,
29713
30048
  dataSchemas: {
29714
- eventDetailsData: z49.object({
30049
+ eventDetailsData: z50.object({
29715
30050
  events: publicEventsArraySchema,
29716
30051
  sitePasses: publicPassProductCollectionSchema,
29717
30052
  siteMemberships: publicMembershipProductCollectionSchema,
@@ -29966,18 +30301,7 @@ var eventSpotlightFields = [
29966
30301
  var eventSpotlightLayout = [
29967
30302
  styledSection({
29968
30303
  children: sectionContainer([
29969
- // Optional heading
29970
- text(
29971
- { as: "h2" },
29972
- bind("content.heading"),
29973
- when("content.heading")
29974
- ),
29975
- // Optional description
29976
- richText(
29977
- { className: "rb-prose rb-max-w-none" },
29978
- bind("content.description"),
29979
- when("content.description")
29980
- ),
30304
+ ...eventSectionHeaderLayoutNodes(),
29981
30305
  // Event spotlight component
29982
30306
  el("event-spotlight", {
29983
30307
  events: { $bind: { from: "data.events" } },
@@ -30038,7 +30362,7 @@ var eventSpotlightBlockDefinition = {
30038
30362
  };
30039
30363
 
30040
30364
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30041
- import { z as z51 } from "zod";
30365
+ import { z as z52 } from "zod";
30042
30366
 
30043
30367
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
30044
30368
  var COLUMN_CLASSES = {
@@ -30146,16 +30470,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
30146
30470
  }
30147
30471
 
30148
30472
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
30149
- import { z as z50 } from "zod";
30473
+ import { z as z51 } from "zod";
30150
30474
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
30151
- var eventPageSizeSchema = z50.union([
30152
- z50.literal(3),
30153
- z50.literal(6),
30154
- z50.literal(10),
30155
- z50.literal(12),
30156
- z50.literal(20),
30157
- z50.literal(24),
30158
- z50.literal(30)
30475
+ var eventPageSizeSchema = z51.union([
30476
+ z51.literal(3),
30477
+ z51.literal(6),
30478
+ z51.literal(10),
30479
+ z51.literal(12),
30480
+ z51.literal(20),
30481
+ z51.literal(24),
30482
+ z51.literal(30)
30159
30483
  ]);
30160
30484
  var eventPageSizeSet = new Set(eventPageSizeValues);
30161
30485
  function resolveEventPageSize(value, fallback = 12) {
@@ -30165,15 +30489,15 @@ function resolveEventPageSize(value, fallback = 12) {
30165
30489
  function resolveEventCalendarListPageSize(input) {
30166
30490
  return resolveEventPageSize(input.eventsPerPage);
30167
30491
  }
30168
- var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
30169
- z50.object({
30170
- kind: z50.literal("loadMore"),
30171
- label: z50.string()
30492
+ var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
30493
+ z51.object({
30494
+ kind: z51.literal("loadMore"),
30495
+ label: z51.string()
30172
30496
  }),
30173
- z50.object({
30174
- kind: z50.literal("seeAllLink"),
30175
- label: z50.string(),
30176
- href: z50.string()
30497
+ z51.object({
30498
+ kind: z51.literal("seeAllLink"),
30499
+ label: z51.string(),
30500
+ href: z51.string()
30177
30501
  })
30178
30502
  ]);
30179
30503
  function resolveEventListPaginationAction(input) {
@@ -30186,89 +30510,89 @@ function resolveEventListPaginationAction(input) {
30186
30510
  }
30187
30511
 
30188
30512
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30189
- var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
30190
- var eventCardVariantInputSchema = z51.union([
30513
+ var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
30514
+ var eventCardVariantInputSchema = z52.union([
30191
30515
  cardVariantRoleSchema,
30192
30516
  legacyEventCardVariantSchema
30193
30517
  ]);
30194
- var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
30195
- var eventBlockKindSchema = z51.enum(eventBlockKindValues);
30196
- var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
30197
- var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
30198
- var eventListingSourceSchema = z51.object({
30199
- events: z51.array(publicEventSchema).nullable().optional(),
30200
- siteId: z51.string(),
30201
- apiBaseUrl: z51.string().optional(),
30518
+ var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
30519
+ var eventBlockKindSchema = z52.enum(eventBlockKindValues);
30520
+ var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
30521
+ var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
30522
+ var eventListingSourceSchema = z52.object({
30523
+ events: z52.array(publicEventSchema).nullable().optional(),
30524
+ siteId: z52.string(),
30525
+ apiBaseUrl: z52.string().optional(),
30202
30526
  stage: previewStageSchema.optional(),
30203
30527
  layout: eventLayoutSchema.optional(),
30204
30528
  columns: columnOptionSchema.optional(),
30205
- eventsPerPage: z51.string().optional(),
30206
- paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
30207
- seeAllUrl: z51.string().optional(),
30208
- loadMoreText: z51.string().optional(),
30529
+ eventsPerPage: z52.string().optional(),
30530
+ paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30531
+ seeAllUrl: z52.string().optional(),
30532
+ loadMoreText: z52.string().optional(),
30209
30533
  cardVariant: eventCardVariantInputSchema.optional(),
30210
30534
  buttonVariant: eventButtonVariantSchema.optional(),
30211
- buttonText: z51.string().optional(),
30212
- showVenue: z51.boolean().optional(),
30213
- showMap: z51.boolean().optional(),
30214
- showCapacity: z51.boolean().optional(),
30215
- emptyMessage: z51.string().optional(),
30216
- className: z51.string().optional(),
30217
- showFilters: z51.boolean().nullable().optional(),
30535
+ buttonText: z52.string().optional(),
30536
+ showVenue: z52.boolean().optional(),
30537
+ showMap: z52.boolean().optional(),
30538
+ showCapacity: z52.boolean().optional(),
30539
+ emptyMessage: z52.string().optional(),
30540
+ className: z52.string().optional(),
30541
+ showFilters: z52.boolean().nullable().optional(),
30218
30542
  showCategoryFilter: filterAutoShowSchema.optional(),
30219
- showVenueFilter: z51.boolean().nullable().optional(),
30220
- showStaffFilter: z51.boolean().nullable().optional(),
30543
+ showVenueFilter: z52.boolean().nullable().optional(),
30544
+ showStaffFilter: z52.boolean().nullable().optional(),
30221
30545
  eventKind: eventBlockKindSchema.nullable().optional(),
30222
30546
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
30223
- filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
30547
+ filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30224
30548
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
30225
- filterCategoryIds: z51.string().nullable().optional(),
30226
- filterStaffMemberId: z51.string().nullable().optional(),
30227
- filterVenueId: z51.string().nullable().optional()
30549
+ filterCategoryIds: z52.string().nullable().optional(),
30550
+ filterStaffMemberId: z52.string().nullable().optional(),
30551
+ filterVenueId: z52.string().nullable().optional()
30228
30552
  });
30229
- var eventListingDisplaySchema = z51.object({
30230
- kind: z51.literal("event-listing"),
30231
- state: z51.enum(["loading", "empty", "ready"]),
30553
+ var eventListingDisplaySchema = z52.object({
30554
+ kind: z52.literal("event-listing"),
30555
+ state: z52.enum(["loading", "empty", "ready"]),
30232
30556
  listLayout: eventLayoutSchema,
30233
- className: z51.string().nullable(),
30234
- emptyMessage: z51.string(),
30235
- loadingMessage: z51.string(),
30236
- containerClass: z51.string(),
30557
+ className: z52.string().nullable(),
30558
+ emptyMessage: z52.string(),
30559
+ loadingMessage: z52.string(),
30560
+ containerClass: z52.string(),
30237
30561
  cardVariant: cardVariantRoleSchema,
30238
30562
  buttonVariant: eventButtonVariantSchema,
30239
- buttonText: z51.string(),
30240
- showVenue: z51.boolean(),
30241
- showMap: z51.boolean(),
30242
- showCapacity: z51.boolean(),
30563
+ buttonText: z52.string(),
30564
+ showVenue: z52.boolean(),
30565
+ showMap: z52.boolean(),
30566
+ showCapacity: z52.boolean(),
30243
30567
  orientation: cardOrientationSchema,
30244
- events: z51.array(publicEventSchema)
30568
+ events: z52.array(publicEventSchema)
30245
30569
  });
30246
- var eventListingHydrationSchema = z51.object({
30247
- siteId: z51.string(),
30570
+ var eventListingHydrationSchema = z52.object({
30571
+ siteId: z52.string(),
30248
30572
  stage: previewStageSchema.optional(),
30249
30573
  eventsPerPage: eventPageSizeSchema,
30250
30574
  paginationAction: eventListPaginationActionSchema,
30251
- showFilters: z51.boolean(),
30575
+ showFilters: z52.boolean(),
30252
30576
  showCategoryFilter: filterAutoShowSchema,
30253
- showVenueFilter: z51.boolean(),
30254
- showStaffFilter: z51.boolean(),
30577
+ showVenueFilter: z52.boolean(),
30578
+ showStaffFilter: z52.boolean(),
30255
30579
  eventKind: eventBlockKindSchema,
30256
30580
  eventSurface: eventSurfaceScopeSchema,
30257
- filterEventPresets: z51.string().nullable(),
30581
+ filterEventPresets: z52.string().nullable(),
30258
30582
  scheduleScope: eventScheduleScopeSchema2,
30259
- filterCategoryIds: z51.string().nullable().optional(),
30260
- filterStaffMemberId: z51.string().nullable().optional(),
30261
- filterVenueId: z51.string().nullable().optional(),
30262
- fetchInitialEventsOnMount: z51.boolean()
30583
+ filterCategoryIds: z52.string().nullable().optional(),
30584
+ filterStaffMemberId: z52.string().nullable().optional(),
30585
+ filterVenueId: z52.string().nullable().optional(),
30586
+ fetchInitialEventsOnMount: z52.boolean()
30263
30587
  });
30264
- var eventListingRenderSchema = z51.object({
30588
+ var eventListingRenderSchema = z52.object({
30265
30589
  display: eventListingDisplaySchema,
30266
30590
  hydration: eventListingHydrationSchema
30267
30591
  });
30268
30592
  var eventListingIslandMetaCodec = createZodCodec(
30269
- z51.object({
30270
- siteId: z51.string(),
30271
- apiBaseUrl: z51.string().optional(),
30593
+ z52.object({
30594
+ siteId: z52.string(),
30595
+ apiBaseUrl: z52.string().optional(),
30272
30596
  stage: previewStageSchema.optional()
30273
30597
  })
30274
30598
  );
@@ -30508,18 +30832,7 @@ var eventListingAdditionalFields = [
30508
30832
  var eventListingLayout = [
30509
30833
  styledSection({
30510
30834
  children: sectionContainer([
30511
- // Optional heading
30512
- text(
30513
- { as: "h2" },
30514
- bind("content.heading"),
30515
- when("content.heading")
30516
- ),
30517
- // Optional description
30518
- richText(
30519
- { className: "rb-prose rb-max-w-none" },
30520
- bind("content.description"),
30521
- when("content.description")
30522
- ),
30835
+ ...eventSectionHeaderLayoutNodes(),
30523
30836
  // Event listing component with pagination
30524
30837
  el("event-listing", withApiBindings({
30525
30838
  events: { $bind: { from: "data.events" } },
@@ -30635,15 +30948,15 @@ var eventListingBlockDefinition = {
30635
30948
  };
30636
30949
 
30637
30950
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
30638
- import { z as z52 } from "zod";
30639
- var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
30640
- var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
30641
- var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
30642
- var eventCalendarSourceSchema = z52.object(
30951
+ import { z as z53 } from "zod";
30952
+ var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
30953
+ var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
30954
+ var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
30955
+ var eventCalendarSourceSchema = z53.object(
30643
30956
  {
30644
- events: z52.array(publicEventSchema).nullable().optional(),
30645
- siteId: z52.string(),
30646
- apiBaseUrl: z52.string().optional(),
30957
+ events: z53.array(publicEventSchema).nullable().optional(),
30958
+ siteId: z53.string(),
30959
+ apiBaseUrl: z53.string().optional(),
30647
30960
  stage: previewStageSchema.optional(),
30648
30961
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
30649
30962
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -30651,38 +30964,38 @@ var eventCalendarSourceSchema = z52.object(
30651
30964
  listColumns: columnOptionSchema.optional(),
30652
30965
  layout: eventLayoutSchema.optional(),
30653
30966
  columns: columnOptionSchema.optional(),
30654
- eventsPerPage: z52.string().optional(),
30655
- paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30656
- seeAllUrl: z52.string().optional(),
30657
- loadMoreText: z52.string().optional(),
30967
+ eventsPerPage: z53.string().optional(),
30968
+ paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
30969
+ seeAllUrl: z53.string().optional(),
30970
+ loadMoreText: z53.string().optional(),
30658
30971
  startOfWeek: weekStartSchema.optional(),
30659
30972
  calendarTabViews: calendarTabViewsSchema.optional(),
30660
30973
  defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
30661
- showFilters: z52.boolean().nullable().optional(),
30974
+ showFilters: z53.boolean().nullable().optional(),
30662
30975
  showCategoryFilter: filterAutoShowSchema.optional(),
30663
- showVenueFilter: z52.boolean().nullable().optional(),
30664
- showStaffFilter: z52.boolean().nullable().optional(),
30976
+ showVenueFilter: z53.boolean().nullable().optional(),
30977
+ showStaffFilter: z53.boolean().nullable().optional(),
30665
30978
  kind: eventBlockKindSchema2.nullable().optional(),
30666
30979
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
30667
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30980
+ filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30668
30981
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
30669
- filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30670
- filterStaffMemberId: z52.string().nullable().optional(),
30671
- filterVenueId: z52.string().nullable().optional(),
30982
+ filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30983
+ filterStaffMemberId: z53.string().nullable().optional(),
30984
+ filterVenueId: z53.string().nullable().optional(),
30672
30985
  buttonVariant: eventButtonVariantSchema.optional(),
30673
- buttonText: z52.string().optional(),
30674
- showVenue: z52.boolean().nullable().optional(),
30675
- showMap: z52.boolean().nullable().optional(),
30676
- showCapacity: z52.boolean().nullable().optional(),
30677
- emptyMessage: z52.string().optional(),
30678
- className: z52.string().optional()
30986
+ buttonText: z53.string().optional(),
30987
+ showVenue: z53.boolean().nullable().optional(),
30988
+ showMap: z53.boolean().nullable().optional(),
30989
+ showCapacity: z53.boolean().nullable().optional(),
30990
+ emptyMessage: z53.string().optional(),
30991
+ className: z53.string().optional()
30679
30992
  }
30680
30993
  );
30681
- var eventCalendarDisplaySchema = z52.object({
30682
- kind: z52.literal("event-calendar"),
30994
+ var eventCalendarDisplaySchema = z53.object({
30995
+ kind: z53.literal("event-calendar"),
30683
30996
  displayMode: eventCalendarDisplayModeSchema,
30684
- className: z52.string().nullable(),
30685
- events: z52.array(publicEventSchema),
30997
+ className: z53.string().nullable(),
30998
+ events: z53.array(publicEventSchema),
30686
30999
  listLayout: eventLayoutSchema,
30687
31000
  listColumns: columnOptionSchema,
30688
31001
  eventsPerPage: eventPageSizeSchema,
@@ -30690,41 +31003,41 @@ var eventCalendarDisplaySchema = z52.object({
30690
31003
  startOfWeek: weekStartSchema,
30691
31004
  calendarTabViews: calendarTabViewsSchema,
30692
31005
  defaultCalendarView: eventCalendarDefaultViewSchema,
30693
- showFilters: z52.boolean(),
31006
+ showFilters: z53.boolean(),
30694
31007
  showCategoryFilter: filterAutoShowSchema,
30695
- showVenueFilter: z52.boolean(),
30696
- showStaffFilter: z52.boolean(),
31008
+ showVenueFilter: z53.boolean(),
31009
+ showStaffFilter: z53.boolean(),
30697
31010
  eventKind: eventBlockKindSchema2,
30698
31011
  eventSurface: eventSurfaceScopeSchema2,
30699
- filterEventPresets: z52.string().nullable(),
31012
+ filterEventPresets: z53.string().nullable(),
30700
31013
  scheduleScope: eventScheduleScopeSchema3,
30701
- filterCategoryIds: z52.string().nullable(),
30702
- filterStaffMemberId: z52.string().nullable(),
30703
- filterVenueId: z52.string().nullable(),
31014
+ filterCategoryIds: z53.string().nullable(),
31015
+ filterStaffMemberId: z53.string().nullable(),
31016
+ filterVenueId: z53.string().nullable(),
30704
31017
  buttonVariant: eventButtonVariantSchema,
30705
- buttonText: z52.string(),
30706
- showVenue: z52.boolean(),
30707
- showMap: z52.boolean(),
30708
- showCapacity: z52.boolean(),
30709
- emptyMessage: z52.string()
30710
- });
30711
- var eventCalendarHydrationSchema = z52.object({
30712
- siteId: z52.string(),
31018
+ buttonText: z53.string(),
31019
+ showVenue: z53.boolean(),
31020
+ showMap: z53.boolean(),
31021
+ showCapacity: z53.boolean(),
31022
+ emptyMessage: z53.string()
31023
+ });
31024
+ var eventCalendarHydrationSchema = z53.object({
31025
+ siteId: z53.string(),
30713
31026
  stage: previewStageSchema.optional(),
30714
- prefetchedEvents: z52.boolean(),
31027
+ prefetchedEvents: z53.boolean(),
30715
31028
  eventKind: eventBlockKindSchema2,
30716
31029
  eventSurface: eventSurfaceScopeSchema2,
30717
- filterEventPresets: z52.string().nullable(),
31030
+ filterEventPresets: z53.string().nullable(),
30718
31031
  scheduleScope: eventScheduleScopeSchema3
30719
31032
  });
30720
- var eventCalendarRenderSchema = z52.object({
31033
+ var eventCalendarRenderSchema = z53.object({
30721
31034
  display: eventCalendarDisplaySchema,
30722
31035
  hydration: eventCalendarHydrationSchema
30723
31036
  });
30724
31037
  var eventCalendarIslandMetaCodec = createZodCodec(
30725
- z52.object({
30726
- siteId: z52.string(),
30727
- apiBaseUrl: z52.string().optional(),
31038
+ z53.object({
31039
+ siteId: z53.string(),
31040
+ apiBaseUrl: z53.string().optional(),
30728
31041
  stage: previewStageSchema.optional()
30729
31042
  })
30730
31043
  );
@@ -30844,14 +31157,7 @@ var eventCalendarLayout = [
30844
31157
  styledSection({
30845
31158
  children: sectionContainer(
30846
31159
  [
30847
- // Optional heading
30848
- text({ as: "h2" }, bind("content.heading"), when("content.heading")),
30849
- // Optional description
30850
- richText(
30851
- { className: "rb-prose rb-max-w-none" },
30852
- bind("content.description"),
30853
- when("content.description")
30854
- ),
31160
+ ...eventSectionHeaderLayoutNodes(),
30855
31161
  // Event calendar component (handles all display modes)
30856
31162
  el(
30857
31163
  "event-calendar",
@@ -31496,7 +31802,7 @@ var eventCalendarBlockDefinition = {
31496
31802
  };
31497
31803
 
31498
31804
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31499
- import { z as z53 } from "zod";
31805
+ import { z as z54 } from "zod";
31500
31806
 
31501
31807
  // ../blocks/src/system/blocks/offerings-preview/model.ts
31502
31808
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -31588,13 +31894,13 @@ function isRecord6(value) {
31588
31894
  }
31589
31895
 
31590
31896
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31591
- var publicRouteCandidatesSchema = z53.object({
31592
- routes: z53.array(z53.object({
31593
- entityId: z53.string(),
31594
- path: z53.string(),
31595
- title: z53.string(),
31596
- kind: z53.enum(["page", "content"]),
31597
- contentTypeKey: z53.string().nullable().optional()
31897
+ var publicRouteCandidatesSchema = z54.object({
31898
+ routes: z54.array(z54.object({
31899
+ entityId: z54.string(),
31900
+ path: z54.string(),
31901
+ title: z54.string(),
31902
+ kind: z54.enum(["page", "content"]),
31903
+ contentTypeKey: z54.string().nullable().optional()
31598
31904
  }))
31599
31905
  });
31600
31906
  var groupOverrideFields = [
@@ -31992,7 +32298,7 @@ function isRecord7(value) {
31992
32298
  }
31993
32299
 
31994
32300
  // ../blocks/src/system/blocks/embed.ts
31995
- import { z as z54 } from "zod";
32301
+ import { z as z55 } from "zod";
31996
32302
  var embedFields = [
31997
32303
  // Section heading
31998
32304
  parseFieldDefinition({
@@ -32223,18 +32529,18 @@ var embedManifest = createBlockManifest({
32223
32529
  spacing: "lg"
32224
32530
  }
32225
32531
  });
32226
- var embedEntrySchema = z54.object({
32227
- id: z54.string(),
32228
- identifier: z54.string(),
32229
- title: z54.string(),
32230
- slug: z54.string().nullable().optional(),
32231
- content: z54.record(z54.string(), z54.unknown()).optional(),
32232
- publishedAt: z54.string().nullable().optional()
32532
+ var embedEntrySchema = z55.object({
32533
+ id: z55.string(),
32534
+ identifier: z55.string(),
32535
+ title: z55.string(),
32536
+ slug: z55.string().nullable().optional(),
32537
+ content: z55.record(z55.string(), z55.unknown()).optional(),
32538
+ publishedAt: z55.string().nullable().optional()
32233
32539
  });
32234
32540
  var embedBlockDefinition = {
32235
32541
  manifest: embedManifest,
32236
32542
  dataSchemas: {
32237
- entries: z54.array(embedEntrySchema).optional()
32543
+ entries: z55.array(embedEntrySchema).optional()
32238
32544
  },
32239
32545
  dataLoaders: {
32240
32546
  entries: {
@@ -33418,49 +33724,49 @@ var fileDownloadBlockDefinition = {
33418
33724
  };
33419
33725
 
33420
33726
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33421
- import { z as z57 } from "zod";
33727
+ import { z as z58 } from "zod";
33422
33728
 
33423
33729
  // ../blocks/src/system/blocks/products/shared.ts
33424
- import { z as z55 } from "zod";
33425
- var publicProductVariantSchema = z55.object({
33426
- id: z55.string(),
33427
- title: z55.string(),
33428
- sku: z55.string().nullable(),
33429
- priceCents: z55.number(),
33430
- stockQuantity: z55.number().nullable(),
33431
- soldOut: z55.boolean()
33432
- });
33433
- var publicProductSchema = z55.object({
33434
- id: z55.string(),
33435
- contentEntryId: z55.string().nullable(),
33436
- title: z55.string(),
33437
- slug: z55.string(),
33438
- path: z55.string().nullable(),
33439
- status: z55.enum(["draft", "active"]),
33440
- priceCents: z55.number(),
33441
- currency: z55.string(),
33442
- productType: z55.enum(["physical", "digital"]),
33443
- requiresShipping: z55.boolean(),
33444
- hasVariants: z55.boolean(),
33445
- trackInventory: z55.boolean(),
33446
- soldOut: z55.boolean(),
33447
- category: z55.object({
33448
- id: z55.string(),
33449
- name: z55.string(),
33450
- slug: z55.string()
33730
+ import { z as z56 } from "zod";
33731
+ var publicProductVariantSchema = z56.object({
33732
+ id: z56.string(),
33733
+ title: z56.string(),
33734
+ sku: z56.string().nullable(),
33735
+ priceCents: z56.number(),
33736
+ stockQuantity: z56.number().nullable(),
33737
+ soldOut: z56.boolean()
33738
+ });
33739
+ var publicProductSchema = z56.object({
33740
+ id: z56.string(),
33741
+ contentEntryId: z56.string().nullable(),
33742
+ title: z56.string(),
33743
+ slug: z56.string(),
33744
+ path: z56.string().nullable(),
33745
+ status: z56.enum(["draft", "active"]),
33746
+ priceCents: z56.number(),
33747
+ currency: z56.string(),
33748
+ productType: z56.enum(["physical", "digital"]),
33749
+ requiresShipping: z56.boolean(),
33750
+ hasVariants: z56.boolean(),
33751
+ trackInventory: z56.boolean(),
33752
+ soldOut: z56.boolean(),
33753
+ category: z56.object({
33754
+ id: z56.string(),
33755
+ name: z56.string(),
33756
+ slug: z56.string()
33451
33757
  }).nullable(),
33452
- summary: z55.string().nullable(),
33453
- body: z55.unknown().nullable(),
33454
- gallery: z55.array(
33455
- z55.object({
33456
- url: z55.string(),
33457
- alt: z55.string().nullable()
33758
+ summary: z56.string().nullable(),
33759
+ body: z56.unknown().nullable(),
33760
+ gallery: z56.array(
33761
+ z56.object({
33762
+ url: z56.string(),
33763
+ alt: z56.string().nullable()
33458
33764
  })
33459
33765
  ),
33460
- variants: z55.array(publicProductVariantSchema)
33766
+ variants: z56.array(publicProductVariantSchema)
33461
33767
  });
33462
- var publicProductsResponseSchema = z55.object({
33463
- products: z55.array(publicProductSchema)
33768
+ var publicProductsResponseSchema = z56.object({
33769
+ products: z56.array(publicProductSchema)
33464
33770
  });
33465
33771
 
33466
33772
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -33524,27 +33830,27 @@ function deriveCreditProductLabels(products, options = {}) {
33524
33830
  }
33525
33831
 
33526
33832
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
33527
- import { z as z56 } from "zod";
33528
- var storedProductCartItemSchema = z56.object({
33529
- kind: z56.literal("product"),
33530
- productId: z56.string().min(1),
33531
- productCategoryId: z56.string().min(1).optional().nullable(),
33532
- variantId: z56.string().min(1).optional().nullable(),
33533
- title: z56.string().min(1),
33534
- variantTitle: z56.string().optional().nullable(),
33535
- quantity: z56.number().finite(),
33536
- unitPriceCents: z56.number().finite(),
33537
- currency: z56.string().min(1),
33538
- imageUrl: z56.string().optional().nullable(),
33539
- soldOut: z56.boolean().optional()
33540
- });
33541
- var storedPassCartItemSchema = z56.object({
33542
- kind: z56.literal("pass"),
33543
- passId: z56.string().min(1),
33544
- title: z56.string().min(1),
33545
- quantity: z56.number().finite().optional(),
33546
- unitPriceCents: z56.number().finite(),
33547
- currency: z56.string().min(1)
33833
+ import { z as z57 } from "zod";
33834
+ var storedProductCartItemSchema = z57.object({
33835
+ kind: z57.literal("product"),
33836
+ productId: z57.string().min(1),
33837
+ productCategoryId: z57.string().min(1).optional().nullable(),
33838
+ variantId: z57.string().min(1).optional().nullable(),
33839
+ title: z57.string().min(1),
33840
+ variantTitle: z57.string().optional().nullable(),
33841
+ quantity: z57.number().finite(),
33842
+ unitPriceCents: z57.number().finite(),
33843
+ currency: z57.string().min(1),
33844
+ imageUrl: z57.string().optional().nullable(),
33845
+ soldOut: z57.boolean().optional()
33846
+ });
33847
+ var storedPassCartItemSchema = z57.object({
33848
+ kind: z57.literal("pass"),
33849
+ passId: z57.string().min(1),
33850
+ title: z57.string().min(1),
33851
+ quantity: z57.number().finite().optional(),
33852
+ unitPriceCents: z57.number().finite(),
33853
+ currency: z57.string().min(1)
33548
33854
  });
33549
33855
  function deriveCommerceCheckoutState(state) {
33550
33856
  if (state.items.length === 0) {
@@ -33778,214 +34084,214 @@ function formatValidity(days) {
33778
34084
  }
33779
34085
 
33780
34086
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33781
- var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33782
- var contentEntrySchema3 = z57.object({
33783
- id: z57.string().nullable().optional(),
33784
- slug: z57.string().nullable().optional()
34087
+ var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
34088
+ var contentEntrySchema3 = z58.object({
34089
+ id: z58.string().nullable().optional(),
34090
+ slug: z58.string().nullable().optional()
33785
34091
  }).nullable();
33786
- var shopSourceSchema = z57.object({
33787
- className: z57.string().nullable().optional(),
34092
+ var shopSourceSchema = z58.object({
34093
+ className: z58.string().nullable().optional(),
33788
34094
  mode: shopModeSchema.optional(),
33789
- heading: z57.string().nullable().optional(),
33790
- productSlug: z57.string().nullable().optional(),
33791
- showPasses: z57.boolean().optional(),
33792
- showMemberships: z57.boolean().optional(),
33793
- layout: z57.enum(["grid", "list"]).optional(),
33794
- columns: z57.string().optional(),
33795
- showDescriptions: z57.boolean().optional(),
33796
- showSummary: z57.boolean().optional(),
33797
- showBody: z57.boolean().optional(),
33798
- showPrices: z57.boolean().optional(),
33799
- showValidityPeriod: z57.boolean().optional(),
33800
- showPricePerCredit: z57.boolean().nullable().optional(),
33801
- passesHeading: z57.string().optional(),
33802
- membershipsHeading: z57.string().optional(),
33803
- buyButtonText: z57.string().optional(),
33804
- addButtonText: z57.string().optional(),
33805
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
33806
- subscribeButtonText: z57.string().optional(),
33807
- emptyStateText: z57.string().optional(),
33808
- checkoutButtonText: z57.string().optional(),
33809
- clearButtonText: z57.string().optional(),
33810
- submitButtonText: z57.string().optional(),
34095
+ heading: z58.string().nullable().optional(),
34096
+ productSlug: z58.string().nullable().optional(),
34097
+ showPasses: z58.boolean().optional(),
34098
+ showMemberships: z58.boolean().optional(),
34099
+ layout: z58.enum(["grid", "list"]).optional(),
34100
+ columns: z58.string().optional(),
34101
+ showDescriptions: z58.boolean().optional(),
34102
+ showSummary: z58.boolean().optional(),
34103
+ showBody: z58.boolean().optional(),
34104
+ showPrices: z58.boolean().optional(),
34105
+ showValidityPeriod: z58.boolean().optional(),
34106
+ showPricePerCredit: z58.boolean().nullable().optional(),
34107
+ passesHeading: z58.string().optional(),
34108
+ membershipsHeading: z58.string().optional(),
34109
+ buyButtonText: z58.string().optional(),
34110
+ addButtonText: z58.string().optional(),
34111
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
34112
+ subscribeButtonText: z58.string().optional(),
34113
+ emptyStateText: z58.string().optional(),
34114
+ checkoutButtonText: z58.string().optional(),
34115
+ clearButtonText: z58.string().optional(),
34116
+ submitButtonText: z58.string().optional(),
33811
34117
  contentEntry: contentEntrySchema3.optional(),
33812
- passes: z57.array(publicPassProductSchema).nullable().optional(),
33813
- memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
33814
- products: z57.array(publicProductSchema).nullable().optional(),
33815
- siteId: z57.string().optional(),
33816
- apiBaseUrl: z57.string().optional(),
34118
+ passes: z58.array(publicPassProductSchema).nullable().optional(),
34119
+ memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
34120
+ products: z58.array(publicProductSchema).nullable().optional(),
34121
+ siteId: z58.string().optional(),
34122
+ apiBaseUrl: z58.string().optional(),
33817
34123
  stage: previewStageSchema.optional()
33818
34124
  });
33819
- var productVariantOptionDisplaySchema = z57.object({
33820
- id: z57.string(),
33821
- label: z57.string(),
33822
- soldOut: z57.boolean()
33823
- });
33824
- var productCardDisplaySchema = z57.object({
33825
- productId: z57.string(),
33826
- title: z57.string(),
33827
- path: z57.string().nullable(),
33828
- summary: z57.string().nullable(),
33829
- priceLabel: z57.string().nullable(),
33830
- image: z57.object({
33831
- url: z57.string(),
33832
- alt: z57.string().nullable()
34125
+ var productVariantOptionDisplaySchema = z58.object({
34126
+ id: z58.string(),
34127
+ label: z58.string(),
34128
+ soldOut: z58.boolean()
34129
+ });
34130
+ var productCardDisplaySchema = z58.object({
34131
+ productId: z58.string(),
34132
+ title: z58.string(),
34133
+ path: z58.string().nullable(),
34134
+ summary: z58.string().nullable(),
34135
+ priceLabel: z58.string().nullable(),
34136
+ image: z58.object({
34137
+ url: z58.string(),
34138
+ alt: z58.string().nullable()
33833
34139
  }).nullable(),
33834
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33835
- selectedVariantId: z57.string().nullable(),
33836
- selectionLabel: z57.string(),
33837
- actionLabel: z57.string(),
33838
- soldOut: z57.boolean()
33839
- });
33840
- var productListDisplaySchema = z57.object({
33841
- kind: z57.literal("product-list"),
33842
- state: z57.enum(["empty", "ready"]),
33843
- heading: z57.string().nullable(),
33844
- className: z57.string().nullable(),
33845
- layout: z57.enum(["grid", "list"]),
33846
- columns: z57.string(),
33847
- emptyMessage: z57.string(),
33848
- cards: z57.array(productCardDisplaySchema)
33849
- });
33850
- var productDetailDisplaySchema = z57.discriminatedUnion("state", [
33851
- z57.object({
33852
- kind: z57.literal("product-detail"),
33853
- state: z57.literal("empty"),
33854
- heading: z57.string().nullable(),
33855
- className: z57.string().nullable(),
33856
- emptyMessage: z57.string()
34140
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
34141
+ selectedVariantId: z58.string().nullable(),
34142
+ selectionLabel: z58.string(),
34143
+ actionLabel: z58.string(),
34144
+ soldOut: z58.boolean()
34145
+ });
34146
+ var productListDisplaySchema = z58.object({
34147
+ kind: z58.literal("product-list"),
34148
+ state: z58.enum(["empty", "ready"]),
34149
+ heading: z58.string().nullable(),
34150
+ className: z58.string().nullable(),
34151
+ layout: z58.enum(["grid", "list"]),
34152
+ columns: z58.string(),
34153
+ emptyMessage: z58.string(),
34154
+ cards: z58.array(productCardDisplaySchema)
34155
+ });
34156
+ var productDetailDisplaySchema = z58.discriminatedUnion("state", [
34157
+ z58.object({
34158
+ kind: z58.literal("product-detail"),
34159
+ state: z58.literal("empty"),
34160
+ heading: z58.string().nullable(),
34161
+ className: z58.string().nullable(),
34162
+ emptyMessage: z58.string()
33857
34163
  }),
33858
- z57.object({
33859
- kind: z57.literal("product-detail"),
33860
- state: z57.literal("ready"),
33861
- heading: z57.string().nullable(),
33862
- className: z57.string().nullable(),
33863
- title: z57.string(),
33864
- priceLabel: z57.string(),
33865
- summary: z57.string().nullable(),
33866
- categoryLabel: z57.string().nullable(),
33867
- gallery: z57.array(z57.object({
33868
- url: z57.string(),
33869
- alt: z57.string().nullable()
34164
+ z58.object({
34165
+ kind: z58.literal("product-detail"),
34166
+ state: z58.literal("ready"),
34167
+ heading: z58.string().nullable(),
34168
+ className: z58.string().nullable(),
34169
+ title: z58.string(),
34170
+ priceLabel: z58.string(),
34171
+ summary: z58.string().nullable(),
34172
+ categoryLabel: z58.string().nullable(),
34173
+ gallery: z58.array(z58.object({
34174
+ url: z58.string(),
34175
+ alt: z58.string().nullable()
33870
34176
  })),
33871
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33872
- selectedVariantId: z57.string().nullable(),
33873
- selectionLabel: z57.string(),
33874
- actionLabel: z57.string(),
33875
- soldOut: z57.boolean(),
33876
- body: z57.unknown().nullable()
34177
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
34178
+ selectedVariantId: z58.string().nullable(),
34179
+ selectionLabel: z58.string(),
34180
+ actionLabel: z58.string(),
34181
+ soldOut: z58.boolean(),
34182
+ body: z58.unknown().nullable()
33877
34183
  })
33878
34184
  ]);
33879
- var passCardDisplaySchema = z57.object({
33880
- id: z57.string(),
33881
- title: z57.string(),
33882
- description: z57.string().nullable(),
33883
- priceLabel: z57.string(),
33884
- creditsLabel: z57.string(),
33885
- perCreditLabel: z57.string().nullable(),
33886
- validityLabel: z57.string().nullable(),
33887
- actionLabel: z57.string()
33888
- });
33889
- var membershipCardDisplaySchema = z57.object({
33890
- id: z57.string(),
33891
- title: z57.string(),
33892
- description: z57.string().nullable(),
33893
- priceLabel: z57.string(),
33894
- intervalLabel: z57.string(),
33895
- actionLabel: z57.string()
33896
- });
33897
- var passesMembershipsDisplaySchema = z57.object({
33898
- kind: z57.literal("passes-memberships"),
33899
- state: z57.enum(["empty", "ready"]),
33900
- className: z57.string().nullable(),
33901
- layout: z57.enum(["grid", "list"]),
33902
- columns: z57.string(),
33903
- emptyMessage: z57.string(),
33904
- passesHeading: z57.string(),
33905
- membershipsHeading: z57.string(),
33906
- passes: z57.array(passCardDisplaySchema),
33907
- memberships: z57.array(membershipCardDisplaySchema)
33908
- });
33909
- var cartLineDisplaySchema = z57.object({
33910
- key: z57.string(),
33911
- title: z57.string(),
33912
- priceLabel: z57.string(),
33913
- quantity: z57.number(),
33914
- quantityEditable: z57.boolean()
33915
- });
33916
- var cartDisplaySchema = z57.object({
33917
- kind: z57.literal("cart"),
33918
- state: z57.enum(["empty", "ready"]),
33919
- heading: z57.string().nullable(),
33920
- className: z57.string().nullable(),
33921
- emptyMessage: z57.string(),
33922
- supportText: z57.string().nullable(),
33923
- items: z57.array(cartLineDisplaySchema),
33924
- subtotalLabel: z57.string().nullable(),
33925
- checkoutButtonText: z57.string(),
33926
- clearButtonText: z57.string()
33927
- });
33928
- var checkoutDisplaySchema = z57.object({
33929
- kind: z57.literal("checkout"),
33930
- state: z57.enum(["empty", "blocked", "ready"]),
33931
- heading: z57.string().nullable(),
33932
- className: z57.string().nullable(),
33933
- message: z57.string().nullable(),
33934
- submitButtonText: z57.string()
33935
- });
33936
- var passesMembershipsHydrationSchema = z57.object({
33937
- passes: z57.array(publicPassProductSchema),
33938
- memberships: z57.array(publicMembershipProductSchema),
33939
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
33940
- });
33941
- var productListHydrationSchema = z57.object({
33942
- products: z57.array(publicProductSchema),
33943
- showSummary: z57.boolean(),
33944
- showPrices: z57.boolean(),
33945
- addButtonText: z57.string()
33946
- });
33947
- var productDetailHydrationSchema = z57.object({
33948
- products: z57.array(publicProductSchema),
33949
- productId: z57.string().nullable(),
33950
- showSummary: z57.boolean(),
33951
- showBody: z57.boolean(),
33952
- addButtonText: z57.string()
33953
- });
33954
- var cartHydrationSchema = z57.object({
33955
- emptyStateText: z57.string(),
33956
- checkoutButtonText: z57.string(),
33957
- clearButtonText: z57.string()
33958
- });
33959
- var checkoutHydrationSchema = z57.object({
33960
- emptyStateText: z57.string(),
33961
- submitButtonText: z57.string()
33962
- });
33963
- var passesMembershipsRenderSchema = z57.object({
34185
+ var passCardDisplaySchema = z58.object({
34186
+ id: z58.string(),
34187
+ title: z58.string(),
34188
+ description: z58.string().nullable(),
34189
+ priceLabel: z58.string(),
34190
+ creditsLabel: z58.string(),
34191
+ perCreditLabel: z58.string().nullable(),
34192
+ validityLabel: z58.string().nullable(),
34193
+ actionLabel: z58.string()
34194
+ });
34195
+ var membershipCardDisplaySchema = z58.object({
34196
+ id: z58.string(),
34197
+ title: z58.string(),
34198
+ description: z58.string().nullable(),
34199
+ priceLabel: z58.string(),
34200
+ intervalLabel: z58.string(),
34201
+ actionLabel: z58.string()
34202
+ });
34203
+ var passesMembershipsDisplaySchema = z58.object({
34204
+ kind: z58.literal("passes-memberships"),
34205
+ state: z58.enum(["empty", "ready"]),
34206
+ className: z58.string().nullable(),
34207
+ layout: z58.enum(["grid", "list"]),
34208
+ columns: z58.string(),
34209
+ emptyMessage: z58.string(),
34210
+ passesHeading: z58.string(),
34211
+ membershipsHeading: z58.string(),
34212
+ passes: z58.array(passCardDisplaySchema),
34213
+ memberships: z58.array(membershipCardDisplaySchema)
34214
+ });
34215
+ var cartLineDisplaySchema = z58.object({
34216
+ key: z58.string(),
34217
+ title: z58.string(),
34218
+ priceLabel: z58.string(),
34219
+ quantity: z58.number(),
34220
+ quantityEditable: z58.boolean()
34221
+ });
34222
+ var cartDisplaySchema = z58.object({
34223
+ kind: z58.literal("cart"),
34224
+ state: z58.enum(["empty", "ready"]),
34225
+ heading: z58.string().nullable(),
34226
+ className: z58.string().nullable(),
34227
+ emptyMessage: z58.string(),
34228
+ supportText: z58.string().nullable(),
34229
+ items: z58.array(cartLineDisplaySchema),
34230
+ subtotalLabel: z58.string().nullable(),
34231
+ checkoutButtonText: z58.string(),
34232
+ clearButtonText: z58.string()
34233
+ });
34234
+ var checkoutDisplaySchema = z58.object({
34235
+ kind: z58.literal("checkout"),
34236
+ state: z58.enum(["empty", "blocked", "ready"]),
34237
+ heading: z58.string().nullable(),
34238
+ className: z58.string().nullable(),
34239
+ message: z58.string().nullable(),
34240
+ submitButtonText: z58.string()
34241
+ });
34242
+ var passesMembershipsHydrationSchema = z58.object({
34243
+ passes: z58.array(publicPassProductSchema),
34244
+ memberships: z58.array(publicMembershipProductSchema),
34245
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
34246
+ });
34247
+ var productListHydrationSchema = z58.object({
34248
+ products: z58.array(publicProductSchema),
34249
+ showSummary: z58.boolean(),
34250
+ showPrices: z58.boolean(),
34251
+ addButtonText: z58.string()
34252
+ });
34253
+ var productDetailHydrationSchema = z58.object({
34254
+ products: z58.array(publicProductSchema),
34255
+ productId: z58.string().nullable(),
34256
+ showSummary: z58.boolean(),
34257
+ showBody: z58.boolean(),
34258
+ addButtonText: z58.string()
34259
+ });
34260
+ var cartHydrationSchema = z58.object({
34261
+ emptyStateText: z58.string(),
34262
+ checkoutButtonText: z58.string(),
34263
+ clearButtonText: z58.string()
34264
+ });
34265
+ var checkoutHydrationSchema = z58.object({
34266
+ emptyStateText: z58.string(),
34267
+ submitButtonText: z58.string()
34268
+ });
34269
+ var passesMembershipsRenderSchema = z58.object({
33964
34270
  display: passesMembershipsDisplaySchema,
33965
34271
  hydration: passesMembershipsHydrationSchema
33966
34272
  });
33967
- var productListRenderSchema = z57.object({
34273
+ var productListRenderSchema = z58.object({
33968
34274
  display: productListDisplaySchema,
33969
34275
  hydration: productListHydrationSchema
33970
34276
  });
33971
- var productDetailRenderSchema = z57.object({
34277
+ var productDetailRenderSchema = z58.object({
33972
34278
  display: productDetailDisplaySchema,
33973
34279
  hydration: productDetailHydrationSchema
33974
34280
  });
33975
- var cartRenderSchema = z57.object({
34281
+ var cartRenderSchema = z58.object({
33976
34282
  display: cartDisplaySchema,
33977
34283
  hydration: cartHydrationSchema
33978
34284
  });
33979
- var checkoutRenderSchema = z57.object({
34285
+ var checkoutRenderSchema = z58.object({
33980
34286
  display: checkoutDisplaySchema,
33981
34287
  hydration: checkoutHydrationSchema
33982
34288
  });
33983
34289
  function resolveShowPricePerCredit(source) {
33984
34290
  return source.showPricePerCredit ?? true;
33985
34291
  }
33986
- var shopIslandMetaCodec = createZodCodec(z57.object({
33987
- siteId: z57.string().optional(),
33988
- apiBaseUrl: z57.string().optional(),
34292
+ var shopIslandMetaCodec = createZodCodec(z58.object({
34293
+ siteId: z58.string().optional(),
34294
+ apiBaseUrl: z58.string().optional(),
33989
34295
  stage: previewStageSchema.optional()
33990
34296
  }));
33991
34297
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -34388,7 +34694,7 @@ var shopBlockDefinition = {
34388
34694
  };
34389
34695
 
34390
34696
  // ../blocks/src/system/blocks/product-list.ts
34391
- import { z as z58 } from "zod";
34697
+ import { z as z59 } from "zod";
34392
34698
  var productListManifest = createBlockManifest({
34393
34699
  id: "block.product-list",
34394
34700
  version: "1.0.0",
@@ -34521,7 +34827,7 @@ var productListBlockDefinition = {
34521
34827
  }
34522
34828
  }
34523
34829
  };
34524
- var productListDataSchema = z58.object({
34830
+ var productListDataSchema = z59.object({
34525
34831
  products: publicProductsResponseSchema.optional()
34526
34832
  });
34527
34833
 
@@ -34782,72 +35088,72 @@ var checkoutBlockDefinition = {
34782
35088
  };
34783
35089
 
34784
35090
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
34785
- import { z as z59 } from "zod";
34786
- var publicGiftCardOfferSchema = z59.object({
34787
- id: z59.string(),
34788
- kind: z59.literal("gift_card"),
34789
- title: z59.string(),
34790
- description: z59.string().nullable(),
34791
- sortOrder: z59.number().int(),
34792
- giftCard: z59.object({
34793
- fixedDenominations: z59.array(z59.number().int().positive()),
34794
- customAmountEnabled: z59.boolean(),
34795
- customAmountMinCents: z59.number().int().positive(),
34796
- customAmountMaxCents: z59.number().int().positive()
35091
+ import { z as z60 } from "zod";
35092
+ var publicGiftCardOfferSchema = z60.object({
35093
+ id: z60.string(),
35094
+ kind: z60.literal("gift_card"),
35095
+ title: z60.string(),
35096
+ description: z60.string().nullable(),
35097
+ sortOrder: z60.number().int(),
35098
+ giftCard: z60.object({
35099
+ fixedDenominations: z60.array(z60.number().int().positive()),
35100
+ customAmountEnabled: z60.boolean(),
35101
+ customAmountMinCents: z60.number().int().positive(),
35102
+ customAmountMaxCents: z60.number().int().positive()
34797
35103
  }),
34798
- voucher: z59.null()
34799
- });
34800
- var publicVoucherOfferSchema = z59.object({
34801
- id: z59.string(),
34802
- kind: z59.literal("voucher"),
34803
- title: z59.string(),
34804
- description: z59.string().nullable(),
34805
- sortOrder: z59.number().int(),
34806
- giftCard: z59.null(),
34807
- voucher: z59.object({
34808
- purchaseAmountCents: z59.number().int().positive()
35104
+ voucher: z60.null()
35105
+ });
35106
+ var publicVoucherOfferSchema = z60.object({
35107
+ id: z60.string(),
35108
+ kind: z60.literal("voucher"),
35109
+ title: z60.string(),
35110
+ description: z60.string().nullable(),
35111
+ sortOrder: z60.number().int(),
35112
+ giftCard: z60.null(),
35113
+ voucher: z60.object({
35114
+ purchaseAmountCents: z60.number().int().positive()
34809
35115
  })
34810
35116
  });
34811
- var publicGiftingOffersResponseSchema = z59.object({
34812
- currency: z59.string(),
34813
- giftCards: z59.array(publicGiftCardOfferSchema),
34814
- vouchers: z59.array(publicVoucherOfferSchema)
35117
+ var publicGiftingOffersResponseSchema = z60.object({
35118
+ currency: z60.string(),
35119
+ giftCards: z60.array(publicGiftCardOfferSchema),
35120
+ vouchers: z60.array(publicVoucherOfferSchema)
34815
35121
  });
34816
- var giftingSourceSchema = z59.object({
34817
- siteId: z59.string().optional(),
34818
- apiBaseUrl: z59.string().optional(),
35122
+ var giftingSourceSchema = z60.object({
35123
+ siteId: z60.string().optional(),
35124
+ apiBaseUrl: z60.string().optional(),
34819
35125
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
34820
- className: z59.string().nullable().optional(),
34821
- heading: z59.string().nullable().optional(),
34822
- intro: z59.string().nullable().optional(),
34823
- giftCardsHeading: z59.string().nullable().optional(),
34824
- vouchersHeading: z59.string().nullable().optional(),
34825
- emptyStateText: z59.string().nullable().optional(),
34826
- checkoutButtonText: z59.string().nullable().optional(),
34827
- successMessage: z59.string().nullable().optional()
34828
- });
34829
- var giftingDisplaySchema = z59.object({
34830
- kind: z59.literal("gifting"),
34831
- state: z59.literal("ready"),
34832
- className: z59.string().nullable(),
34833
- heading: z59.string(),
34834
- intro: z59.string().nullable(),
34835
- giftCardsHeading: z59.string(),
34836
- vouchersHeading: z59.string(),
34837
- emptyStateText: z59.string()
34838
- });
34839
- var giftingHydrationSchema = z59.object({
35126
+ className: z60.string().nullable().optional(),
35127
+ heading: z60.string().nullable().optional(),
35128
+ intro: z60.string().nullable().optional(),
35129
+ giftCardsHeading: z60.string().nullable().optional(),
35130
+ vouchersHeading: z60.string().nullable().optional(),
35131
+ emptyStateText: z60.string().nullable().optional(),
35132
+ checkoutButtonText: z60.string().nullable().optional(),
35133
+ successMessage: z60.string().nullable().optional()
35134
+ });
35135
+ var giftingDisplaySchema = z60.object({
35136
+ kind: z60.literal("gifting"),
35137
+ state: z60.literal("ready"),
35138
+ className: z60.string().nullable(),
35139
+ heading: z60.string(),
35140
+ intro: z60.string().nullable(),
35141
+ giftCardsHeading: z60.string(),
35142
+ vouchersHeading: z60.string(),
35143
+ emptyStateText: z60.string()
35144
+ });
35145
+ var giftingHydrationSchema = z60.object({
34840
35146
  offers: publicGiftingOffersResponseSchema.nullable(),
34841
- checkoutButtonText: z59.string(),
34842
- successMessage: z59.string()
35147
+ checkoutButtonText: z60.string(),
35148
+ successMessage: z60.string()
34843
35149
  });
34844
- var giftingRenderSchema = z59.object({
35150
+ var giftingRenderSchema = z60.object({
34845
35151
  display: giftingDisplaySchema,
34846
35152
  hydration: giftingHydrationSchema
34847
35153
  });
34848
- var giftingIslandMetaCodec = createZodCodec(z59.object({
34849
- siteId: z59.string().optional(),
34850
- apiBaseUrl: z59.string().optional()
35154
+ var giftingIslandMetaCodec = createZodCodec(z60.object({
35155
+ siteId: z60.string().optional(),
35156
+ apiBaseUrl: z60.string().optional()
34851
35157
  }));
34852
35158
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
34853
35159
  "siteId",
@@ -35018,7 +35324,7 @@ var giftingBlockDefinition = {
35018
35324
  };
35019
35325
 
35020
35326
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
35021
- import { z as z60 } from "zod";
35327
+ import { z as z61 } from "zod";
35022
35328
 
35023
35329
  // ../blocks/src/system/blocks/newsletter-signup-destination.ts
35024
35330
  function parseNewsletterSignupBlockId(value) {
@@ -35125,65 +35431,65 @@ function withOptionalPhone(fields3, includePhone) {
35125
35431
  }
35126
35432
 
35127
35433
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
35128
- var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35129
- var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
35130
- var newsletterFieldSchema = z60.object({
35131
- id: z60.string(),
35132
- type: z60.enum(["email", "text"]),
35133
- label: z60.string(),
35134
- required: z60.boolean(),
35135
- placeholder: z60.string().optional()
35136
- });
35137
- var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35138
- var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35139
- var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
35140
- z60.object({
35141
- tag: z60.literal("block_ref"),
35434
+ var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35435
+ var newsletterDestinationProviderSchema = z61.enum(["riverbank", "mailchimp"]);
35436
+ var newsletterFieldSchema = z61.object({
35437
+ id: z61.string(),
35438
+ type: z61.enum(["email", "text"]),
35439
+ label: z61.string(),
35440
+ required: z61.boolean(),
35441
+ placeholder: z61.string().optional()
35442
+ });
35443
+ var newsletterSignupBlockIdSchema = z61.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35444
+ var signedNewsletterDestinationRefSchema = z61.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35445
+ var newsletterPublicDestinationRefSchema = z61.discriminatedUnion("tag", [
35446
+ z61.object({
35447
+ tag: z61.literal("block_ref"),
35142
35448
  blockId: newsletterSignupBlockIdSchema
35143
35449
  }),
35144
- z60.object({
35145
- tag: z60.literal("signed_destination_ref"),
35450
+ z61.object({
35451
+ tag: z61.literal("signed_destination_ref"),
35146
35452
  token: signedNewsletterDestinationRefSchema
35147
35453
  })
35148
35454
  ]);
35149
- var newsletterSourceSchema = z60.object({
35150
- blockId: z60.string().nullable().optional(),
35151
- siteId: z60.string().optional(),
35152
- apiBaseUrl: z60.string().optional(),
35153
- listId: z60.string().nullable().optional(),
35455
+ var newsletterSourceSchema = z61.object({
35456
+ blockId: z61.string().nullable().optional(),
35457
+ siteId: z61.string().optional(),
35458
+ apiBaseUrl: z61.string().optional(),
35459
+ listId: z61.string().nullable().optional(),
35154
35460
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
35155
35461
  preset: newsletterPresetSchema.optional(),
35156
- includePhone: z60.boolean().optional(),
35157
- buttonLabel: z60.string().nullable().optional(),
35158
- successMessage: z60.string().nullable().optional(),
35159
- privacyNote: z60.string().nullable().optional(),
35160
- tags: z60.string().nullable().optional(),
35161
- spamProtectionEnabled: z60.boolean().optional(),
35162
- className: z60.string().nullable().optional()
35163
- });
35164
- var newsletterDisplaySchema = z60.object({
35165
- kind: z60.literal("newsletter-form"),
35166
- className: z60.string().nullable(),
35167
- buttonLabel: z60.string(),
35168
- successMessage: z60.string().nullable(),
35169
- privacyNote: z60.string().nullable(),
35170
- fields: z60.array(newsletterFieldSchema)
35171
- });
35172
- var newsletterHydrationSchema = z60.object({
35462
+ includePhone: z61.boolean().optional(),
35463
+ buttonLabel: z61.string().nullable().optional(),
35464
+ successMessage: z61.string().nullable().optional(),
35465
+ privacyNote: z61.string().nullable().optional(),
35466
+ tags: z61.string().nullable().optional(),
35467
+ spamProtectionEnabled: z61.boolean().optional(),
35468
+ className: z61.string().nullable().optional()
35469
+ });
35470
+ var newsletterDisplaySchema = z61.object({
35471
+ kind: z61.literal("newsletter-form"),
35472
+ className: z61.string().nullable(),
35473
+ buttonLabel: z61.string(),
35474
+ successMessage: z61.string().nullable(),
35475
+ privacyNote: z61.string().nullable(),
35476
+ fields: z61.array(newsletterFieldSchema)
35477
+ });
35478
+ var newsletterHydrationSchema = z61.object({
35173
35479
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
35174
- listId: z60.string().nullable().optional(),
35480
+ listId: z61.string().nullable().optional(),
35175
35481
  preset: newsletterPresetSchema,
35176
- includePhone: z60.boolean(),
35177
- tags: z60.string().nullable().optional(),
35178
- spamProtectionEnabled: z60.boolean().optional()
35482
+ includePhone: z61.boolean(),
35483
+ tags: z61.string().nullable().optional(),
35484
+ spamProtectionEnabled: z61.boolean().optional()
35179
35485
  });
35180
- var newsletterRenderSchema = z60.object({
35486
+ var newsletterRenderSchema = z61.object({
35181
35487
  display: newsletterDisplaySchema,
35182
35488
  hydration: newsletterHydrationSchema
35183
35489
  });
35184
- var newsletterIslandMetaCodec = createZodCodec(z60.object({
35185
- siteId: z60.string().optional(),
35186
- apiBaseUrl: z60.string().optional()
35490
+ var newsletterIslandMetaCodec = createZodCodec(z61.object({
35491
+ siteId: z61.string().optional(),
35492
+ apiBaseUrl: z61.string().optional()
35187
35493
  }));
35188
35494
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
35189
35495
  function buildNewsletterDisplay(source) {
@@ -35322,23 +35628,23 @@ var newsletterSignupBlockDefinition = {
35322
35628
  };
35323
35629
 
35324
35630
  // ../blocks/src/system/blocks/team-members.ts
35325
- import { z as z61 } from "zod";
35631
+ import { z as z62 } from "zod";
35326
35632
  var ITEM_NAME2 = "member";
35327
35633
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
35328
35634
  message: "Team member photos must be image media"
35329
35635
  }).nullable();
35330
- var teamMemberDataSchema = z61.object({
35331
- _type: z61.literal("teamMember"),
35332
- id: z61.string(),
35333
- name: z61.string(),
35334
- role: z61.string().nullable(),
35335
- roleLabel: z61.string().nullable(),
35336
- bio: z61.string().nullable(),
35337
- summary: z61.string().nullable(),
35636
+ var teamMemberDataSchema = z62.object({
35637
+ _type: z62.literal("teamMember"),
35638
+ id: z62.string(),
35639
+ name: z62.string(),
35640
+ role: z62.string().nullable(),
35641
+ roleLabel: z62.string().nullable(),
35642
+ bio: z62.string().nullable(),
35643
+ summary: z62.string().nullable(),
35338
35644
  photo: teamMemberPhotoSchema,
35339
- profilePath: z61.string().nullable()
35645
+ profilePath: z62.string().nullable()
35340
35646
  });
35341
- var teamMembersDataSchema = z61.array(teamMemberDataSchema);
35647
+ var teamMembersDataSchema = z62.array(teamMemberDataSchema);
35342
35648
  var dynamicSourceWhen = { equals: "site_staff" };
35343
35649
  var manualSourceWhen = { equals: "site_staff", not: true };
35344
35650
  var headingNode = text(
@@ -36444,6 +36750,10 @@ var systemBlockDefinitionsRaw = [
36444
36750
  flow: conversionFlow,
36445
36751
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
36446
36752
  })),
36753
+ withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
36754
+ flow: offeringsFlow,
36755
+ layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
36756
+ })),
36447
36757
  withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
36448
36758
  flow: conversionFlow,
36449
36759
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
@@ -38127,34 +38437,34 @@ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
38127
38437
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
38128
38438
 
38129
38439
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
38130
- import { z as z62 } from "zod";
38131
- var themeBridgeConfigSchema = z62.object({
38132
- tokens: z62.record(z62.string(), z62.string()),
38133
- typography: z62.object({
38134
- headingFamily: z62.string().optional(),
38135
- bodyFamily: z62.string().optional(),
38136
- headingWeight: z62.number().optional(),
38137
- bodyWeight: z62.number().optional()
38440
+ import { z as z63 } from "zod";
38441
+ var themeBridgeConfigSchema = z63.object({
38442
+ tokens: z63.record(z63.string(), z63.string()),
38443
+ typography: z63.object({
38444
+ headingFamily: z63.string().optional(),
38445
+ bodyFamily: z63.string().optional(),
38446
+ headingWeight: z63.number().optional(),
38447
+ bodyWeight: z63.number().optional()
38138
38448
  }).optional(),
38139
- spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
38140
- corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
38141
- shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
38142
- components: z62.object({
38143
- buttons: z62.union([
38144
- z62.boolean(),
38145
- z62.object({
38146
- variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
38449
+ spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
38450
+ corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
38451
+ shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
38452
+ components: z63.object({
38453
+ buttons: z63.union([
38454
+ z63.boolean(),
38455
+ z63.object({
38456
+ variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
38147
38457
  })
38148
38458
  ]).optional(),
38149
- cards: z62.union([
38150
- z62.boolean(),
38151
- z62.object({
38152
- variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
38459
+ cards: z63.union([
38460
+ z63.boolean(),
38461
+ z63.object({
38462
+ variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
38153
38463
  })
38154
38464
  ]).optional(),
38155
- inputs: z62.boolean().optional()
38465
+ inputs: z63.boolean().optional()
38156
38466
  }).optional(),
38157
- overrides: z62.record(z62.string(), z62.string()).optional()
38467
+ overrides: z63.record(z63.string(), z63.string()).optional()
38158
38468
  }).passthrough();
38159
38469
 
38160
38470
  // ../theme-core/src/siteChrome.tsx
@@ -38372,14 +38682,21 @@ function coercePayload(payload) {
38372
38682
 
38373
38683
  // ../blocks/src/system/data/prefetchBlockData.ts
38374
38684
  async function prefetchBlockData(page, context, options) {
38375
- const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders } = options;
38685
+ const {
38686
+ apiClient,
38687
+ isValidEndpoint,
38688
+ onError,
38689
+ getCustomBlockLoaders,
38690
+ getBlockDefinition: getBlockDefinition2 = getBlockDefinition,
38691
+ resolveParamsBindings: resolveParamsBindings2 = resolveParamsBindings
38692
+ } = options;
38376
38693
  const results = {};
38377
38694
  const tasks = [];
38378
38695
  for (const block of page.blocks) {
38379
38696
  const blockId = block.id;
38380
38697
  if (!blockId) continue;
38381
38698
  let loaders;
38382
- const def = getBlockDefinition(block.kind);
38699
+ const def = getBlockDefinition2(block.kind);
38383
38700
  if (def) {
38384
38701
  loaders = normalizeDataLoaders(def);
38385
38702
  } else if (getCustomBlockLoaders) {
@@ -38402,14 +38719,14 @@ async function prefetchBlockData(page, context, options) {
38402
38719
  continue;
38403
38720
  }
38404
38721
  if (typeof loader.when !== "undefined") {
38405
- const resolvedWhen = resolveParamsBindings(loader.when, vm, {
38722
+ const resolvedWhen = resolveParamsBindings2(loader.when, vm, {
38406
38723
  blockKind: block.kind
38407
38724
  });
38408
38725
  if (resolvedWhen !== true) {
38409
38726
  continue;
38410
38727
  }
38411
38728
  }
38412
- const rawParams = resolveParamsBindings(loader.params, vm, {
38729
+ const rawParams = resolveParamsBindings2(loader.params, vm, {
38413
38730
  blockKind: block.kind
38414
38731
  });
38415
38732
  const params = normalizeParams(rawParams);
@@ -38452,7 +38769,8 @@ var SUPPORTED_LOADER_ENDPOINTS = [
38452
38769
  "listPublicPasses",
38453
38770
  "listPublicMemberships",
38454
38771
  "getPublicFormById",
38455
- "getPublicBookingServices"
38772
+ "getPublicBookingServices",
38773
+ "getPublicWeeklySlotAvailability"
38456
38774
  ];
38457
38775
 
38458
38776
  // ../blocks/src/system/data/normalizeLoaderParams.ts
@@ -38491,6 +38809,10 @@ function normalizeLoaderParams(endpoint, params, context) {
38491
38809
  ensureSiteId(out, context);
38492
38810
  return out;
38493
38811
  }
38812
+ if (endpoint === "getPublicWeeklySlotAvailability") {
38813
+ ensureSiteId(out, context);
38814
+ return out;
38815
+ }
38494
38816
  if (endpoint === "listPublicEvents") {
38495
38817
  ensureSiteId(out, context);
38496
38818
  return out;
@@ -38523,17 +38845,17 @@ function normalizeLoaderParams(endpoint, params, context) {
38523
38845
  function unsafeRetypeZodSchema(schema) {
38524
38846
  return schema;
38525
38847
  }
38526
- var navIdListSchema = z63.preprocess((value) => {
38848
+ var navIdListSchema = z64.preprocess((value) => {
38527
38849
  if (!Array.isArray(value)) return void 0;
38528
38850
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
38529
38851
  return filtered.length > 0 ? filtered : void 0;
38530
- }, z63.array(z63.string()).max(200).optional());
38531
- var dashboardNavVisibilityBaseSchema = z63.object({
38532
- mode: z63.enum(["augment", "restrict"]).optional(),
38852
+ }, z64.array(z64.string()).max(200).optional());
38853
+ var dashboardNavVisibilityBaseSchema = z64.object({
38854
+ mode: z64.enum(["augment", "restrict"]).optional(),
38533
38855
  allowIds: navIdListSchema,
38534
38856
  denyIds: navIdListSchema
38535
38857
  }).strip();
38536
- var dashboardNavVisibilityRolesSchema = z63.object({
38858
+ var dashboardNavVisibilityRolesSchema = z64.object({
38537
38859
  administrator: dashboardNavVisibilityBaseSchema.optional(),
38538
38860
  editor: dashboardNavVisibilityBaseSchema.optional(),
38539
38861
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -38541,63 +38863,63 @@ var dashboardNavVisibilityRolesSchema = z63.object({
38541
38863
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
38542
38864
  roles: dashboardNavVisibilityRolesSchema
38543
38865
  }).strip();
38544
- var dashboardNavigationConfigSchema = z63.object({
38866
+ var dashboardNavigationConfigSchema = z64.object({
38545
38867
  siteNav: dashboardNavVisibilitySchema.optional(),
38546
38868
  settingsNav: dashboardNavVisibilitySchema.optional()
38547
38869
  }).strip();
38548
- var dashboardConfigSchema = z63.object({
38549
- previewEditingEnabled: z63.boolean().optional(),
38870
+ var dashboardConfigSchema = z64.object({
38871
+ previewEditingEnabled: z64.boolean().optional(),
38550
38872
  navigation: dashboardNavigationConfigSchema.optional()
38551
38873
  }).strip();
38552
38874
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
38553
38875
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
38554
- var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
38555
- var loaderFallbackScalarSchema = z63.union([
38556
- z63.string(),
38557
- z63.number(),
38558
- z63.boolean(),
38559
- z63.null()
38876
+ var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
38877
+ var loaderFallbackScalarSchema = z64.union([
38878
+ z64.string(),
38879
+ z64.number(),
38880
+ z64.boolean(),
38881
+ z64.null()
38560
38882
  ]);
38561
- var loaderParamBindingSchema = z63.object({
38562
- $bind: z63.object({
38563
- from: z63.string().min(1, "Binding path is required"),
38883
+ var loaderParamBindingSchema = z64.object({
38884
+ $bind: z64.object({
38885
+ from: z64.string().min(1, "Binding path is required"),
38564
38886
  fallback: loaderFallbackScalarSchema.optional()
38565
38887
  })
38566
38888
  });
38567
- var loaderParamValueSchema = z63.union([
38568
- z63.string(),
38569
- z63.number(),
38570
- z63.boolean(),
38889
+ var loaderParamValueSchema = z64.union([
38890
+ z64.string(),
38891
+ z64.number(),
38892
+ z64.boolean(),
38571
38893
  loaderParamBindingSchema
38572
38894
  ]);
38573
- var sdkConfigLoaderSchema = z63.object({
38895
+ var sdkConfigLoaderSchema = z64.object({
38574
38896
  endpoint: sdkLoaderEndpointSchema,
38575
- params: z63.record(z63.string(), loaderParamValueSchema),
38576
- mode: z63.enum(["server", "client"]).default("server")
38897
+ params: z64.record(z64.string(), loaderParamValueSchema),
38898
+ mode: z64.enum(["server", "client"]).default("server")
38577
38899
  });
38578
- var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38579
- var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38900
+ var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38901
+ var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38580
38902
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
38581
38903
  }).transform((value) => value);
38582
- var sdkCustomBlockInputSchema = z63.object({
38904
+ var sdkCustomBlockInputSchema = z64.object({
38583
38905
  id: sdkCustomBlockIdSchema,
38584
- title: z63.string().min(1),
38585
- titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
38586
- description: z63.string().optional(),
38906
+ title: z64.string().min(1),
38907
+ titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
38908
+ description: z64.string().optional(),
38587
38909
  category: blockCategoryEnum,
38588
- icon: z63.string().optional(),
38589
- tags: z63.array(z63.string()).optional(),
38910
+ icon: z64.string().optional(),
38911
+ tags: z64.array(z64.string()).optional(),
38590
38912
  fields: fieldDefinitionInputSchema.array().min(1),
38591
38913
  dataLoaders: sdkDataLoadersSchema,
38592
38914
  layout: NodeSchema.optional(),
38593
- variants: z63.record(z63.string().min(1), NodeSchema).optional(),
38594
- defaultVariant: z63.string().min(1).optional(),
38595
- variantOptions: z63.record(
38596
- z63.string().min(1),
38597
- z63.object({
38598
- label: z63.string().min(1).optional(),
38599
- description: z63.string().min(1).optional(),
38600
- icon: z63.string().min(1).optional()
38915
+ variants: z64.record(z64.string().min(1), NodeSchema).optional(),
38916
+ defaultVariant: z64.string().min(1).optional(),
38917
+ variantOptions: z64.record(
38918
+ z64.string().min(1),
38919
+ z64.object({
38920
+ label: z64.string().min(1).optional(),
38921
+ description: z64.string().min(1).optional(),
38922
+ icon: z64.string().min(1).optional()
38601
38923
  })
38602
38924
  ).optional(),
38603
38925
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -38608,7 +38930,7 @@ var sdkCustomBlockInputSchema = z63.object({
38608
38930
  const exists = data.fields.some((field) => field.id === source);
38609
38931
  if (!exists) {
38610
38932
  ctx.addIssue({
38611
- code: z63.ZodIssueCode.custom,
38933
+ code: z64.ZodIssueCode.custom,
38612
38934
  message: `titleSource must reference a valid field ID (got "${source}")`,
38613
38935
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
38614
38936
  });
@@ -38617,7 +38939,7 @@ var sdkCustomBlockInputSchema = z63.object({
38617
38939
  }
38618
38940
  if (data.layout && data.variants) {
38619
38941
  ctx.addIssue({
38620
- code: z63.ZodIssueCode.custom,
38942
+ code: z64.ZodIssueCode.custom,
38621
38943
  message: "Custom block must define either `layout` or `variants`, not both",
38622
38944
  path: ["variants"]
38623
38945
  });
@@ -38626,14 +38948,14 @@ var sdkCustomBlockInputSchema = z63.object({
38626
38948
  const keys = Object.keys(data.variants);
38627
38949
  if (keys.length === 0) {
38628
38950
  ctx.addIssue({
38629
- code: z63.ZodIssueCode.custom,
38951
+ code: z64.ZodIssueCode.custom,
38630
38952
  message: "`variants` must contain at least one variant key",
38631
38953
  path: ["variants"]
38632
38954
  });
38633
38955
  }
38634
38956
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
38635
38957
  ctx.addIssue({
38636
- code: z63.ZodIssueCode.custom,
38958
+ code: z64.ZodIssueCode.custom,
38637
38959
  message: "`defaultVariant` must be a key present in `variants`",
38638
38960
  path: ["defaultVariant"]
38639
38961
  });
@@ -38642,7 +38964,7 @@ var sdkCustomBlockInputSchema = z63.object({
38642
38964
  for (const key of Object.keys(data.variantOptions)) {
38643
38965
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
38644
38966
  ctx.addIssue({
38645
- code: z63.ZodIssueCode.custom,
38967
+ code: z64.ZodIssueCode.custom,
38646
38968
  message: "`variantOptions` key must exist in `variants`",
38647
38969
  path: ["variantOptions", key]
38648
38970
  });
@@ -38651,78 +38973,78 @@ var sdkCustomBlockInputSchema = z63.object({
38651
38973
  }
38652
38974
  }
38653
38975
  });
38654
- var sdkBlockFieldExtensionInputSchema = z63.object({
38976
+ var sdkBlockFieldExtensionInputSchema = z64.object({
38655
38977
  fields: fieldDefinitionInputSchema.array().min(1)
38656
38978
  });
38657
- var sdkBlockFieldExtensionsInputSchema = z63.record(
38658
- z63.string().min(1),
38979
+ var sdkBlockFieldExtensionsInputSchema = z64.record(
38980
+ z64.string().min(1),
38659
38981
  sdkBlockFieldExtensionInputSchema
38660
38982
  );
38661
- var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
38662
- var sdkThemeConfigSchema = z63.object({
38983
+ var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
38984
+ var sdkThemeConfigSchema = z64.object({
38663
38985
  palette: sdkThemePaletteSchema
38664
38986
  });
38665
- var sdkSectionBackgroundSchema = z63.object({
38666
- id: z63.string().min(1),
38667
- label: z63.string().min(1),
38668
- token: z63.string().min(1)
38987
+ var sdkSectionBackgroundSchema = z64.object({
38988
+ id: z64.string().min(1),
38989
+ label: z64.string().min(1),
38990
+ token: z64.string().min(1)
38669
38991
  });
38670
- var sdkSectionOptionsConfigSchema = z63.object({
38671
- backgroundColor: z63.boolean().optional(),
38672
- backgroundImage: z63.boolean().optional(),
38673
- backgroundGradient: z63.boolean().optional(),
38674
- spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
38675
- textColor: z63.boolean().optional()
38992
+ var sdkSectionOptionsConfigSchema = z64.object({
38993
+ backgroundColor: z64.boolean().optional(),
38994
+ backgroundImage: z64.boolean().optional(),
38995
+ backgroundGradient: z64.boolean().optional(),
38996
+ spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
38997
+ textColor: z64.boolean().optional()
38676
38998
  });
38677
- var sdkContainerOptionsConfigSchema = z63.object({
38678
- maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
38679
- alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
38999
+ var sdkContainerOptionsConfigSchema = z64.object({
39000
+ maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
39001
+ alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
38680
39002
  });
38681
- var sdkSiteStyleConfigSchema = z63.object({
38682
- sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
39003
+ var sdkSiteStyleConfigSchema = z64.object({
39004
+ sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
38683
39005
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
38684
39006
  containerOptions: sdkContainerOptionsConfigSchema.optional()
38685
39007
  });
38686
- var sdkSiteLayoutConfigSchema = z63.object({
38687
- footerBlocks: z63.array(
38688
- z63.object({
38689
- id: z63.string().min(1).optional(),
38690
- kind: z63.string().min(1),
38691
- content: z63.record(z63.string(), z63.unknown()).optional()
39008
+ var sdkSiteLayoutConfigSchema = z64.object({
39009
+ footerBlocks: z64.array(
39010
+ z64.object({
39011
+ id: z64.string().min(1).optional(),
39012
+ kind: z64.string().min(1),
39013
+ content: z64.record(z64.string(), z64.unknown()).optional()
38692
39014
  })
38693
39015
  ).optional()
38694
39016
  });
38695
- var sdkFieldSelectOptionSchema = z63.object({
38696
- value: z63.string(),
38697
- label: z63.string()
39017
+ var sdkFieldSelectOptionSchema = z64.object({
39018
+ value: z64.string(),
39019
+ label: z64.string()
38698
39020
  });
38699
- var sdkBlockFieldConfigSchema = z63.object({
38700
- options: z63.array(sdkFieldSelectOptionSchema).optional()
39021
+ var sdkBlockFieldConfigSchema = z64.object({
39022
+ options: z64.array(sdkFieldSelectOptionSchema).optional()
38701
39023
  });
38702
- var sdkBlockFieldOptionsMapSchema = z63.record(
38703
- z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
39024
+ var sdkBlockFieldOptionsMapSchema = z64.record(
39025
+ z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38704
39026
  message: "Block ID must be 'block.*' or 'custom.*' format"
38705
39027
  }),
38706
- z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
39028
+ z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
38707
39029
  ).optional();
38708
- var sdkContentTypeTemplateConfigSchema = z63.object({
38709
- blocks: z63.array(z63.unknown())
39030
+ var sdkContentTypeTemplateConfigSchema = z64.object({
39031
+ blocks: z64.array(z64.unknown())
38710
39032
  }).passthrough();
38711
- var sdkContentTypeOrderingConfigSchema = z63.object({
38712
- mode: z63.enum(["default", "manual"]).optional()
39033
+ var sdkContentTypeOrderingConfigSchema = z64.object({
39034
+ mode: z64.enum(["default", "manual"]).optional()
38713
39035
  }).optional();
38714
- var sdkContentTypeConfigSchema = z63.object({
38715
- key: z63.string().min(1),
38716
- fields: z63.array(z63.unknown()),
39036
+ var sdkContentTypeConfigSchema = z64.object({
39037
+ key: z64.string().min(1),
39038
+ fields: z64.array(z64.unknown()),
38717
39039
  ordering: sdkContentTypeOrderingConfigSchema,
38718
39040
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
38719
39041
  }).passthrough();
38720
- var sdkContentConfigSchema = z63.object({
38721
- contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
38722
- pages: z63.array(z63.unknown()).optional(),
38723
- entries: z63.array(z63.unknown()).optional(),
38724
- navigationMenus: z63.array(z63.unknown()).optional(),
38725
- settings: z63.unknown().optional()
39042
+ var sdkContentConfigSchema = z64.object({
39043
+ contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
39044
+ pages: z64.array(z64.unknown()).optional(),
39045
+ entries: z64.array(z64.unknown()).optional(),
39046
+ navigationMenus: z64.array(z64.unknown()).optional(),
39047
+ settings: z64.unknown().optional()
38726
39048
  }).passthrough();
38727
39049
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
38728
39050
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -38737,62 +39059,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
38737
39059
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
38738
39060
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
38739
39061
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
38740
- var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
39062
+ var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38741
39063
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
38742
39064
  });
38743
- 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 "/"' });
38744
- var sdkWorkflowManualTriggerSchema = z63.object({
38745
- type: z63.literal("manual")
39065
+ 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 "/"' });
39066
+ var sdkWorkflowManualTriggerSchema = z64.object({
39067
+ type: z64.literal("manual")
38746
39068
  }).strict();
38747
- var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
39069
+ var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38748
39070
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
38749
39071
  });
38750
- var sdkWorkflowFieldChangedConditionSchema = z63.object({
39072
+ var sdkWorkflowFieldChangedConditionSchema = z64.object({
38751
39073
  field: sdkWorkflowTriggerFieldSchema,
38752
- changed: z63.literal(true)
39074
+ changed: z64.literal(true)
38753
39075
  }).strict();
38754
- var sdkWorkflowFieldEmptyConditionSchema = z63.object({
39076
+ var sdkWorkflowFieldEmptyConditionSchema = z64.object({
38755
39077
  field: sdkWorkflowTriggerFieldSchema,
38756
- isEmpty: z63.boolean()
39078
+ isEmpty: z64.boolean()
38757
39079
  }).strict();
38758
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
38759
- type: z63.literal("entry.draft.updated"),
38760
- when: z63.array(
38761
- z63.union([
39080
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
39081
+ type: z64.literal("entry.draft.updated"),
39082
+ when: z64.array(
39083
+ z64.union([
38762
39084
  sdkWorkflowFieldChangedConditionSchema,
38763
39085
  sdkWorkflowFieldEmptyConditionSchema
38764
39086
  ])
38765
39087
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
38766
39088
  }).strict();
38767
- var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
39089
+ var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
38768
39090
  sdkWorkflowManualTriggerSchema,
38769
39091
  sdkWorkflowEntryDraftUpdatedTriggerSchema
38770
39092
  ]);
38771
- var sdkWorkflowConfirmationSchema = z63.object({
38772
- title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38773
- body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
39093
+ var sdkWorkflowConfirmationSchema = z64.object({
39094
+ title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
39095
+ body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38774
39096
  }).strict();
38775
- var sdkWorkflowConfigSchema = z63.object({
39097
+ var sdkWorkflowConfigSchema = z64.object({
38776
39098
  id: sdkWorkflowIdSchema,
38777
- title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38778
- description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38779
- contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
39099
+ title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
39100
+ description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
39101
+ contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38780
39102
  endpoint: sdkWorkflowEndpointSchema,
38781
- triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
39103
+ triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38782
39104
  confirmation: sdkWorkflowConfirmationSchema.optional()
38783
39105
  }).strict();
38784
- var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
39106
+ var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38785
39107
  const ids = workflows.map((workflow) => workflow.id);
38786
39108
  return ids.length === new Set(ids).size;
38787
39109
  }, { message: "Workflow IDs must be unique" }).optional();
38788
- var riverbankSiteConfigInputSchema = z63.object({
38789
- siteId: z63.string().uuid(),
38790
- previewUrl: z63.string().url().optional(),
38791
- liveUrl: z63.string().url().optional(),
39110
+ var riverbankSiteConfigInputSchema = z64.object({
39111
+ siteId: z64.string().uuid(),
39112
+ previewUrl: z64.string().url().optional(),
39113
+ liveUrl: z64.string().url().optional(),
38792
39114
  theme: sdkThemeConfigSchema.optional(),
38793
39115
  styles: sdkSiteStyleConfigSchema.optional(),
38794
39116
  layout: sdkSiteLayoutConfigSchema.optional(),
38795
- customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
39117
+ customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38796
39118
  const ids = blocks.map((b) => b.id);
38797
39119
  return ids.length === new Set(ids).size;
38798
39120
  }, { message: "Block IDs must be unique" }).optional(),
@@ -38800,50 +39122,51 @@ var riverbankSiteConfigInputSchema = z63.object({
38800
39122
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
38801
39123
  workflows: sdkWorkflowsSchema,
38802
39124
  content: sdkContentConfigSchema.optional(),
38803
- contentDir: z63.string().optional(),
38804
- sync: z63.object({
38805
- existingEntries: z63.enum(["skip", "update"]).optional()
39125
+ contentDir: z64.string().optional(),
39126
+ sync: z64.object({
39127
+ existingEntries: z64.enum(["skip", "update"]).optional()
38806
39128
  }).optional(),
38807
- deploy: z63.object({
38808
- verifyCommand: z63.string().optional(),
38809
- prebuildOutput: z63.string().optional()
39129
+ deploy: z64.object({
39130
+ verifyCommand: z64.string().optional(),
39131
+ prebuildOutput: z64.string().optional()
38810
39132
  }).optional(),
38811
- themeSource: z63.enum(["local", "cms"]).optional(),
38812
- activeTheme: z63.string().optional(),
38813
- enablePortal: z63.boolean().optional(),
39133
+ themeSource: z64.enum(["local", "cms"]).optional(),
39134
+ activeTheme: z64.string().optional(),
39135
+ enablePortal: z64.boolean().optional(),
38814
39136
  dashboard: dashboardConfigSchema.optional()
38815
39137
  }).strict();
38816
- var pushSdkConfigBodySchema = z63.object({
39138
+ var pushSdkConfigBodySchema = z64.object({
38817
39139
  config: riverbankSiteConfigInputSchema,
38818
- forceContentTypes: z63.boolean().optional()
39140
+ forceContentTypes: z64.boolean().optional(),
39141
+ mode: z64.enum(["apply", "preview"]).optional()
38819
39142
  }).strict();
38820
39143
 
38821
39144
  // ../api/src/siteOnboarding.ts
38822
- import { z as z64 } from "zod";
39145
+ import { z as z65 } from "zod";
38823
39146
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
38824
39147
  configure_appointments: {
38825
39148
  requirementId: "configure_appointments",
38826
39149
  reason: "launch_anyway"
38827
39150
  }
38828
39151
  };
38829
- var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
39152
+ var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
38830
39153
  "requirementId",
38831
39154
  [
38832
- z64.object({
38833
- requirementId: z64.literal("review_generated_site")
39155
+ z65.object({
39156
+ requirementId: z65.literal("review_generated_site")
38834
39157
  }),
38835
- z64.object({
38836
- requirementId: z64.literal(
39158
+ z65.object({
39159
+ requirementId: z65.literal(
38837
39160
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
38838
39161
  ),
38839
- overrideReason: z64.literal(
39162
+ overrideReason: z65.literal(
38840
39163
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
38841
39164
  )
38842
39165
  })
38843
39166
  ]
38844
39167
  );
38845
- var goLiveSiteRequestSchema = z64.object({
38846
- acceptExtraSiteCharge: z64.boolean().optional()
39168
+ var goLiveSiteRequestSchema = z65.object({
39169
+ acceptExtraSiteCharge: z65.boolean().optional()
38847
39170
  });
38848
39171
 
38849
39172
  // ../surfaces/src/index.ts
@@ -38962,7 +39285,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
38962
39285
  ];
38963
39286
 
38964
39287
  // ../api/src/bookingVerticals.ts
38965
- import { z as z65 } from "zod";
39288
+ import { z as z66 } from "zod";
38966
39289
  var VERTICAL_IDS = [
38967
39290
  "yoga_wellness",
38968
39291
  "fitness_pt",
@@ -39127,39 +39450,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
39127
39450
  }
39128
39451
  return [...issues];
39129
39452
  }
39130
- var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
39453
+ var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
39131
39454
  const parsed = parseVerticalId(value);
39132
39455
  if (!parsed) {
39133
39456
  ctx.addIssue({
39134
- code: z65.ZodIssueCode.custom,
39457
+ code: z66.ZodIssueCode.custom,
39135
39458
  message: "Unknown booking vertical"
39136
39459
  });
39137
- return z65.NEVER;
39460
+ return z66.NEVER;
39138
39461
  }
39139
39462
  return parsed;
39140
39463
  });
39141
- var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
39464
+ var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
39142
39465
  const parsed = parseVerticalPresetId(value);
39143
39466
  if (!parsed) {
39144
39467
  ctx.addIssue({
39145
- code: z65.ZodIssueCode.custom,
39468
+ code: z66.ZodIssueCode.custom,
39146
39469
  message: "Unknown booking preset"
39147
39470
  });
39148
- return z65.NEVER;
39471
+ return z66.NEVER;
39149
39472
  }
39150
39473
  return parsed;
39151
39474
  });
39152
- var BookingVerticalConfigSchema = z65.object({
39475
+ var BookingVerticalConfigSchema = z66.object({
39153
39476
  verticalId: VerticalIdSchema.nullable(),
39154
- selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
39477
+ selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
39155
39478
  }).transform((value, ctx) => {
39156
39479
  const resolved = resolveSiteVerticalBookingConfig(value);
39157
39480
  if (resolved.kind === "invalid") {
39158
39481
  ctx.addIssue({
39159
- code: z65.ZodIssueCode.custom,
39482
+ code: z66.ZodIssueCode.custom,
39160
39483
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
39161
39484
  });
39162
- return z65.NEVER;
39485
+ return z66.NEVER;
39163
39486
  }
39164
39487
  return resolved.config;
39165
39488
  });
@@ -39186,51 +39509,51 @@ function isRecord9(value) {
39186
39509
  }
39187
39510
 
39188
39511
  // ../api/src/appointmentSetup.ts
39189
- import { z as z66 } from "zod";
39512
+ import { z as z67 } from "zod";
39190
39513
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
39191
- var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
39192
- z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
39193
- z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
39514
+ var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
39515
+ z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
39516
+ z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
39194
39517
  ]);
39195
- var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
39196
- z66.object({ kind: z66.literal("none") }),
39197
- z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
39198
- z66.object({
39199
- kind: z66.literal("create"),
39200
- draftId: z66.string().min(1),
39201
- title: z66.string().trim().min(1),
39202
- description: z66.string().nullable(),
39203
- timezone: z66.string().trim().min(1).nullable(),
39204
- addressJson: z66.record(z66.string(), z66.unknown()),
39205
- locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
39518
+ var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
39519
+ z67.object({ kind: z67.literal("none") }),
39520
+ z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
39521
+ z67.object({
39522
+ kind: z67.literal("create"),
39523
+ draftId: z67.string().min(1),
39524
+ title: z67.string().trim().min(1),
39525
+ description: z67.string().nullable(),
39526
+ timezone: z67.string().trim().min(1).nullable(),
39527
+ addressJson: z67.record(z67.string(), z67.unknown()),
39528
+ locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
39206
39529
  })
39207
39530
  ]);
39208
- var appointmentSetupPaymentDraftSchema = z66.object({
39209
- priceType: z66.union([z66.literal("free"), z66.literal("paid")])
39210
- });
39211
- var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
39212
- z66.object({ kind: z66.literal("all_practitioners") }),
39213
- z66.object({
39214
- kind: z66.literal("selected_practitioners"),
39215
- resourceRefs: z66.array(appointmentSetupRefSchema)
39531
+ var appointmentSetupPaymentDraftSchema = z67.object({
39532
+ priceType: z67.union([z67.literal("free"), z67.literal("paid")])
39533
+ });
39534
+ var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
39535
+ z67.object({ kind: z67.literal("all_practitioners") }),
39536
+ z67.object({
39537
+ kind: z67.literal("selected_practitioners"),
39538
+ resourceRefs: z67.array(appointmentSetupRefSchema)
39216
39539
  })
39217
39540
  ]);
39218
- var appointmentSetupServiceDraftSchema = z66.object({
39541
+ var appointmentSetupServiceDraftSchema = z67.object({
39219
39542
  ref: appointmentSetupRefSchema,
39220
- title: z66.string().trim().min(1),
39221
- description: z66.string().nullable(),
39222
- durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39223
- prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39224
- cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39225
- priceAmount: z66.number().int().nonnegative().nullable(),
39226
- isActive: z66.boolean(),
39227
- locationType: z66.union([
39228
- z66.literal("virtual"),
39229
- z66.literal("in_person"),
39230
- z66.literal("hybrid")
39543
+ title: z67.string().trim().min(1),
39544
+ description: z67.string().nullable(),
39545
+ durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39546
+ prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39547
+ cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39548
+ priceAmount: z67.number().int().nonnegative().nullable(),
39549
+ isActive: z67.boolean(),
39550
+ locationType: z67.union([
39551
+ z67.literal("virtual"),
39552
+ z67.literal("in_person"),
39553
+ z67.literal("hybrid")
39231
39554
  ]),
39232
39555
  venue: appointmentSetupVenueChoiceSchema,
39233
- timezone: z66.string().trim().min(1).nullable(),
39556
+ timezone: z67.string().trim().min(1).nullable(),
39234
39557
  payment: appointmentSetupPaymentDraftSchema,
39235
39558
  assignment: appointmentSetupServiceAssignmentDraftSchema
39236
39559
  }).superRefine((service, ctx) => {
@@ -39249,49 +39572,49 @@ var appointmentSetupServiceDraftSchema = z66.object({
39249
39572
  });
39250
39573
  }
39251
39574
  });
39252
- var appointmentSetupPractitionerDraftSchema = z66.object({
39575
+ var appointmentSetupPractitionerDraftSchema = z67.object({
39253
39576
  ref: appointmentSetupRefSchema,
39254
- displayName: z66.string().trim().min(1),
39255
- bio: z66.string().nullable(),
39256
- timezone: z66.string().trim().min(1),
39257
- colorHex: z66.string().nullable()
39258
- });
39259
- var appointmentSetupWeeklyWindowDraftSchema = z66.object({
39260
- weekday: z66.number().int().min(0).max(6),
39261
- startTime: z66.string(),
39262
- endTime: z66.string()
39263
- });
39264
- var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
39265
- z66.object({ kind: z66.literal("automatic_spacing") }),
39266
- z66.object({
39267
- kind: z66.literal("regular_interval"),
39268
- intervalMinutes: z66.union([
39269
- z66.literal(10),
39270
- z66.literal(15),
39271
- z66.literal(20),
39272
- z66.literal(30),
39273
- z66.literal(45),
39274
- z66.literal(60)
39577
+ displayName: z67.string().trim().min(1),
39578
+ bio: z67.string().nullable(),
39579
+ timezone: z67.string().trim().min(1),
39580
+ colorHex: z67.string().nullable()
39581
+ });
39582
+ var appointmentSetupWeeklyWindowDraftSchema = z67.object({
39583
+ weekday: z67.number().int().min(0).max(6),
39584
+ startTime: z67.string(),
39585
+ endTime: z67.string()
39586
+ });
39587
+ var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
39588
+ z67.object({ kind: z67.literal("automatic_spacing") }),
39589
+ z67.object({
39590
+ kind: z67.literal("regular_interval"),
39591
+ intervalMinutes: z67.union([
39592
+ z67.literal(10),
39593
+ z67.literal(15),
39594
+ z67.literal(20),
39595
+ z67.literal(30),
39596
+ z67.literal(45),
39597
+ z67.literal(60)
39275
39598
  ])
39276
39599
  })
39277
39600
  ]);
39278
- var appointmentSetupAvailabilityDraftSchema = z66.object({
39279
- kind: z66.literal("weekly_windows"),
39601
+ var appointmentSetupAvailabilityDraftSchema = z67.object({
39602
+ kind: z67.literal("weekly_windows"),
39280
39603
  resourceRef: appointmentSetupRefSchema,
39281
39604
  serviceRef: appointmentSetupRefSchema.nullable(),
39282
- windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
39605
+ windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
39283
39606
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
39284
39607
  });
39285
39608
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
39286
39609
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
39287
- var appointmentSetupBookingNoticeSchema = z66.object({
39288
- minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39289
- maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39290
- });
39291
- var applyAppointmentSetupRequestSchema = z66.object({
39292
- services: z66.array(appointmentSetupServiceDraftSchema),
39293
- practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
39294
- availability: z66.array(appointmentSetupAvailabilityDraftSchema),
39610
+ var appointmentSetupBookingNoticeSchema = z67.object({
39611
+ minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39612
+ maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39613
+ });
39614
+ var applyAppointmentSetupRequestSchema = z67.object({
39615
+ services: z67.array(appointmentSetupServiceDraftSchema),
39616
+ practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
39617
+ availability: z67.array(appointmentSetupAvailabilityDraftSchema),
39295
39618
  bookingNotice: appointmentSetupBookingNoticeSchema
39296
39619
  });
39297
39620
 
@@ -39324,24 +39647,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
39324
39647
  ];
39325
39648
 
39326
39649
  // ../api/src/siteBanner.ts
39327
- import { z as z67 } from "zod";
39650
+ import { z as z68 } from "zod";
39328
39651
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
39329
39652
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
39330
39653
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
39331
39654
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
39332
- var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
39333
- var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
39334
- var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
39335
- var siteBannerCtaSchema = z67.object({
39336
- label: z67.string().trim().min(1),
39655
+ var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
39656
+ var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
39657
+ var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
39658
+ var siteBannerCtaSchema = z68.object({
39659
+ label: z68.string().trim().min(1),
39337
39660
  link: linkPayloadSchema
39338
39661
  });
39339
- var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
39340
- z67.object({
39341
- enabled: z67.literal(false)
39662
+ var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
39663
+ z68.object({
39664
+ enabled: z68.literal(false)
39342
39665
  }),
39343
- z67.object({
39344
- enabled: z67.literal(true),
39666
+ z68.object({
39667
+ enabled: z68.literal(true),
39345
39668
  scope: siteBannerScopeSchema,
39346
39669
  tone: siteBannerToneSchema,
39347
39670
  body: siteBannerBodySchema,
@@ -39355,7 +39678,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
39355
39678
  const analysis = analyzeSiteBannerBody(value.body);
39356
39679
  for (const issue of analysis.issues) {
39357
39680
  ctx.addIssue({
39358
- code: z67.ZodIssueCode.custom,
39681
+ code: z68.ZodIssueCode.custom,
39359
39682
  path: ["body"],
39360
39683
  message: siteBannerBodyIssueMessage(issue)
39361
39684
  });
@@ -39617,71 +39940,71 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
39617
39940
  var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
39618
39941
 
39619
39942
  // ../api/src/aiPlayground.ts
39620
- import { z as z68 } from "zod";
39621
- var Rfc6902PatchOp = z68.discriminatedUnion("op", [
39943
+ import { z as z69 } from "zod";
39944
+ var Rfc6902PatchOp = z69.discriminatedUnion("op", [
39622
39945
  // Standard RFC-6902 operations
39623
- z68.object({
39624
- op: z68.literal("add"),
39625
- path: z68.string(),
39626
- value: z68.unknown()
39946
+ z69.object({
39947
+ op: z69.literal("add"),
39948
+ path: z69.string(),
39949
+ value: z69.unknown()
39627
39950
  }),
39628
- z68.object({
39629
- op: z68.literal("remove"),
39630
- path: z68.string()
39951
+ z69.object({
39952
+ op: z69.literal("remove"),
39953
+ path: z69.string()
39631
39954
  }),
39632
- z68.object({
39633
- op: z68.literal("replace"),
39634
- path: z68.string(),
39635
- value: z68.unknown()
39955
+ z69.object({
39956
+ op: z69.literal("replace"),
39957
+ path: z69.string(),
39958
+ value: z69.unknown()
39636
39959
  }),
39637
- z68.object({
39638
- op: z68.literal("move"),
39639
- from: z68.string(),
39640
- path: z68.string()
39960
+ z69.object({
39961
+ op: z69.literal("move"),
39962
+ from: z69.string(),
39963
+ path: z69.string()
39641
39964
  }),
39642
- z68.object({
39643
- op: z68.literal("copy"),
39644
- from: z68.string(),
39645
- path: z68.string()
39965
+ z69.object({
39966
+ op: z69.literal("copy"),
39967
+ from: z69.string(),
39968
+ path: z69.string()
39646
39969
  }),
39647
39970
  // Block-level operations (Phase 2)
39648
- z68.object({
39649
- op: z68.literal("add_block"),
39650
- blockKind: z68.string(),
39651
- afterBlockId: z68.string().nullable(),
39652
- content: z68.record(z68.string(), z68.unknown()),
39653
- rationale: z68.string()
39971
+ z69.object({
39972
+ op: z69.literal("add_block"),
39973
+ blockKind: z69.string(),
39974
+ afterBlockId: z69.string().nullable(),
39975
+ content: z69.record(z69.string(), z69.unknown()),
39976
+ rationale: z69.string()
39654
39977
  }),
39655
- z68.object({
39656
- op: z68.literal("delete_block"),
39657
- blockId: z68.string(),
39658
- rationale: z68.string()
39978
+ z69.object({
39979
+ op: z69.literal("delete_block"),
39980
+ blockId: z69.string(),
39981
+ rationale: z69.string()
39659
39982
  }),
39660
- z68.object({
39661
- op: z68.literal("reorder_block"),
39662
- blockId: z68.string(),
39663
- afterBlockId: z68.string().nullable(),
39664
- rationale: z68.string()
39983
+ z69.object({
39984
+ op: z69.literal("reorder_block"),
39985
+ blockId: z69.string(),
39986
+ afterBlockId: z69.string().nullable(),
39987
+ rationale: z69.string()
39665
39988
  })
39666
39989
  ]);
39667
- var PlaygroundProposeRequest = z68.object({
39668
- request: z68.string().min(1).max(2e3)
39990
+ var PlaygroundProposeRequest = z69.object({
39991
+ request: z69.string().min(1).max(2e3)
39669
39992
  });
39670
- var MultiPagePatchEnvelope = z68.object({
39671
- pageId: z68.string(),
39672
- blockId: z68.string().optional(),
39993
+ var MultiPagePatchEnvelope = z69.object({
39994
+ pageId: z69.string(),
39995
+ blockId: z69.string().optional(),
39673
39996
  // Not present for page-level ops
39674
- blockKind: z68.string().optional(),
39675
- blockPurpose: z68.string().optional().nullable(),
39676
- ops: z68.array(Rfc6902PatchOp),
39677
- rationale: z68.string(),
39678
- currentContent: z68.record(z68.string(), z68.unknown()).optional()
39997
+ blockKind: z69.string().optional(),
39998
+ blockPurpose: z69.string().optional().nullable(),
39999
+ ops: z69.array(Rfc6902PatchOp),
40000
+ rationale: z69.string(),
40001
+ currentContent: z69.record(z69.string(), z69.unknown()).optional()
39679
40002
  });
39680
- var MultiPageUpdateResponse = z68.object({
39681
- patches: z68.array(MultiPagePatchEnvelope),
39682
- assistantMessage: z68.string(),
39683
- pagesModified: z68.number(),
39684
- toolCallsUsed: z68.number()
40003
+ var MultiPageUpdateResponse = z69.object({
40004
+ patches: z69.array(MultiPagePatchEnvelope),
40005
+ assistantMessage: z69.string(),
40006
+ pagesModified: z69.number(),
40007
+ toolCallsUsed: z69.number()
39685
40008
  });
39686
40009
 
39687
40010
  // src/data/prefetchBlockData.ts
@@ -39763,7 +40086,8 @@ var loaderAdapters = {
39763
40086
  listPublicPasses,
39764
40087
  listPublicMemberships,
39765
40088
  getPublicFormById,
39766
- getPublicBookingServices
40089
+ getPublicBookingServices,
40090
+ getPublicWeeklySlotAvailability
39767
40091
  };
39768
40092
  function readStringParam(params, key) {
39769
40093
  const value = params[key];
@@ -39939,6 +40263,15 @@ async function getPublicBookingServices({ client, params }) {
39939
40263
  ids: readStringParam(params, "ids")
39940
40264
  });
39941
40265
  }
40266
+ async function getPublicWeeklySlotAvailability({ client, params }) {
40267
+ return await client.getPublicWeeklySlotAvailability({
40268
+ siteId: requireStringParam(params, "siteId", "getPublicWeeklySlotAvailability"),
40269
+ serviceId: requireStringParam(params, "serviceId", "getPublicWeeklySlotAvailability"),
40270
+ resourceId: readStringParam(params, "resourceId"),
40271
+ horizonWeeks: parsePositiveIntegerParam(params, "horizonWeeks"),
40272
+ timezone: readStringParam(params, "timezone")
40273
+ });
40274
+ }
39942
40275
  async function prefetchBlockData2(page, context, client, options) {
39943
40276
  const { customBlocks } = options ?? {};
39944
40277
  const customBlockMap = new Map(
@@ -40006,6 +40339,11 @@ function usePage(params) {
40006
40339
  "This path resolves to a content entry, not a page. Use useContent() instead, which handles both pages and entries. For entries, useContent() returns the raw entry data for custom rendering."
40007
40340
  );
40008
40341
  }
40342
+ if ("pageSurface" in pageResponse) {
40343
+ throw new Error(
40344
+ "This path resolves to a page surface, not a page. Use useContent() instead, which handles pages, entries, and page surfaces."
40345
+ );
40346
+ }
40009
40347
  const { page: pageData } = pageResponse;
40010
40348
  const canonicalPagePath = pageData.path ?? path;
40011
40349
  const mediaAssets = Array.isArray(pageResponse.mediaAssets) && pageResponse.mediaAssets.length > 0 ? toMediaAssetSidecar(pageResponse.mediaAssets) : void 0;
@@ -40014,13 +40352,19 @@ function usePage(params) {
40014
40352
  throw new Error("Invalid block format in API response");
40015
40353
  }
40016
40354
  if (typeof block.id !== "string" && block.id !== null) {
40017
- throw new Error(`Invalid block id: expected string or null, got ${typeof block.id}`);
40355
+ throw new Error(
40356
+ `Invalid block id: expected string or null, got ${typeof block.id}`
40357
+ );
40018
40358
  }
40019
40359
  if (typeof block.kind !== "string") {
40020
- throw new Error(`Invalid block kind: expected string, got ${typeof block.kind}`);
40360
+ throw new Error(
40361
+ `Invalid block kind: expected string, got ${typeof block.kind}`
40362
+ );
40021
40363
  }
40022
40364
  if (typeof block.purpose !== "string") {
40023
- throw new Error(`Invalid block purpose: expected string, got ${typeof block.purpose}`);
40365
+ throw new Error(
40366
+ `Invalid block purpose: expected string, got ${typeof block.purpose}`
40367
+ );
40024
40368
  }
40025
40369
  return {
40026
40370
  id: block.id,