@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
@@ -1064,6 +1064,94 @@ var init_endpoints = __esm({
1064
1064
  responseKind: "json",
1065
1065
  errors: ["resource:not_found", "server:internal_error"]
1066
1066
  },
1067
+ listAppointmentReservations: {
1068
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1069
+ method: "GET",
1070
+ auth: "user",
1071
+ responseKind: "json",
1072
+ errors: []
1073
+ },
1074
+ createAppointmentReservation: {
1075
+ path: "/sites/{siteId}/bookings/appointment-reservations",
1076
+ method: "POST",
1077
+ auth: "user",
1078
+ responseKind: "json",
1079
+ errors: [
1080
+ "validation:invalid_input",
1081
+ "resource:not_found",
1082
+ "resource:conflict",
1083
+ "server:internal_error"
1084
+ ]
1085
+ },
1086
+ getAppointmentReservation: {
1087
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1088
+ method: "GET",
1089
+ auth: "user",
1090
+ responseKind: "json",
1091
+ errors: ["resource:not_found", "server:internal_error"]
1092
+ },
1093
+ updateAppointmentReservation: {
1094
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
1095
+ method: "PUT",
1096
+ auth: "user",
1097
+ responseKind: "json",
1098
+ errors: [
1099
+ "validation:invalid_input",
1100
+ "resource:not_found",
1101
+ "resource:conflict",
1102
+ "server:internal_error"
1103
+ ]
1104
+ },
1105
+ pauseAppointmentReservation: {
1106
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/pause",
1107
+ method: "POST",
1108
+ auth: "user",
1109
+ responseKind: "json",
1110
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1111
+ },
1112
+ resumeAppointmentReservation: {
1113
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/resume",
1114
+ method: "POST",
1115
+ auth: "user",
1116
+ responseKind: "json",
1117
+ errors: ["resource:not_found", "resource:conflict", "server:internal_error"]
1118
+ },
1119
+ endAppointmentReservation: {
1120
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/end",
1121
+ method: "POST",
1122
+ auth: "user",
1123
+ responseKind: "json",
1124
+ errors: [
1125
+ "validation:invalid_input",
1126
+ "resource:not_found",
1127
+ "resource:conflict",
1128
+ "server:internal_error"
1129
+ ]
1130
+ },
1131
+ previewAppointmentReservationRun: {
1132
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/run-preview",
1133
+ method: "POST",
1134
+ auth: "user",
1135
+ responseKind: "json",
1136
+ errors: [
1137
+ "validation:invalid_input",
1138
+ "resource:not_found",
1139
+ "resource:conflict",
1140
+ "server:internal_error"
1141
+ ]
1142
+ },
1143
+ createAppointmentReservationRun: {
1144
+ path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/runs",
1145
+ method: "POST",
1146
+ auth: "user",
1147
+ responseKind: "json",
1148
+ errors: [
1149
+ "validation:invalid_input",
1150
+ "resource:not_found",
1151
+ "resource:conflict",
1152
+ "server:internal_error"
1153
+ ]
1154
+ },
1067
1155
  createTeamMemberProfile: {
1068
1156
  path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
1069
1157
  method: "POST",
@@ -3520,6 +3608,18 @@ var init_endpoints = __esm({
3520
3608
  responseKind: "json",
3521
3609
  errors: ["validation:invalid_input", "server:internal_error"]
3522
3610
  },
3611
+ resolveRouteDecision: {
3612
+ path: "/sites/{siteId}/route-decision",
3613
+ method: "GET",
3614
+ tags: [
3615
+ TAG_TEMPLATES.siteRoutableContent,
3616
+ TAG_TEMPLATES.siteRedirects,
3617
+ TAG_TEMPLATES.siteRouteOutcomes
3618
+ ],
3619
+ auth: "public",
3620
+ responseKind: "json",
3621
+ errors: ["validation:invalid_input", "server:internal_error"]
3622
+ },
3523
3623
  getPageByPath: {
3524
3624
  path: "/sites/{siteId}/pages",
3525
3625
  method: "GET",
@@ -3658,6 +3758,15 @@ var init_endpoints = __esm({
3658
3758
  auth: "public",
3659
3759
  responseKind: "json"
3660
3760
  },
3761
+ getPublicWeeklySlotAvailability: {
3762
+ path: "/public/bookings/weekly-slot-availability",
3763
+ method: "GET",
3764
+ revalidate: 60,
3765
+ tags: ["site-{siteId}"],
3766
+ auth: "public",
3767
+ responseKind: "json",
3768
+ errors: []
3769
+ },
3661
3770
  createPublicBookingAppointment: {
3662
3771
  path: "/public/bookings/appointments",
3663
3772
  method: "POST",
@@ -7835,7 +7944,7 @@ var init_link = __esm({
7835
7944
 
7836
7945
  // ../blocks/src/system/node/schema.ts
7837
7946
  import { z as z4 } from "zod";
7838
- var transformStepSchema, bindingPathSchema, bindingSchema, repeatSchema, conditionSchema, dataScopeSchema, nodePropsSchema, nodeSchema, nodeTreeSchema, NodeSchema, NodeTreeSchema;
7947
+ var transformStepSchema, bindingPathSchema, bindingSchema, repeatSchema, conditionalAuthoringPresenceSchema, conditionSchema, dataScopeSchema, nodePropsSchema, nodeSchema, nodeTreeSchema, NodeSchema, NodeTreeSchema;
7839
7948
  var init_schema = __esm({
7840
7949
  "../blocks/src/system/node/schema.ts"() {
7841
7950
  "use strict";
@@ -7861,10 +7970,20 @@ var init_schema = __esm({
7861
7970
  direction: z4.enum(["asc", "desc"]).default("asc")
7862
7971
  }).optional()
7863
7972
  });
7973
+ conditionalAuthoringPresenceSchema = z4.discriminatedUnion("kind", [
7974
+ z4.object({ kind: z4.literal("visitor-only") }),
7975
+ z4.object({
7976
+ kind: z4.literal("recover-empty-when-active"),
7977
+ placeholder: z4.string().min(1).optional()
7978
+ })
7979
+ ]);
7864
7980
  conditionSchema = z4.object({
7865
7981
  when: bindingSchema,
7866
7982
  equals: z4.unknown().optional(),
7867
- not: z4.boolean().default(false)
7983
+ not: z4.boolean().default(false),
7984
+ authoringPresence: conditionalAuthoringPresenceSchema.default({
7985
+ kind: "visitor-only"
7986
+ })
7868
7987
  });
7869
7988
  dataScopeSchema = z4.object({
7870
7989
  name: z4.string().min(1),
@@ -7936,6 +8055,7 @@ var init_validation_constants = __esm({
7936
8055
  // Forms
7937
8056
  "form",
7938
8057
  "booking-form",
8058
+ "weekly-slot-availability",
7939
8059
  // Events
7940
8060
  "event-registration",
7941
8061
  "event-spotlight",
@@ -8110,6 +8230,7 @@ function getFieldSchemaInternal() {
8110
8230
  _fieldSchemaInternal = z5.discriminatedUnion("type", [
8111
8231
  textFieldSchema,
8112
8232
  richTextFieldSchema,
8233
+ inlineTextFieldSchema,
8113
8234
  mediaFieldSchema,
8114
8235
  fileFieldSchema,
8115
8236
  booleanFieldSchema,
@@ -8175,7 +8296,7 @@ function createSdkSelectField(input) {
8175
8296
  })
8176
8297
  );
8177
8298
  }
8178
- var visibilityLevels, MEDIA_KINDS, DISPLAY_MEDIA_KINDS, PUBLIC_FILE_FIELD_KINDS, siteOptionSources, mediaDeliverySchema, selectOptionSchema, selectSourceSchema, visibleWhenPredicateSchema, visibleWhenSchema, uiSchema, baseFieldSchema, textFieldSchema, richTextFieldSchema, mediaFieldSchema, fileFieldSchema, booleanFieldSchema, dateFieldSchema, timeFieldSchema, dateTimeFieldSchema, slugFieldSchema, urlFieldSchema, linkFieldSchema, selectFieldSchema, referenceFieldSchema, itemTypeSchema, repeaterFieldSchema, groupFieldSchema, modalFieldSchema, numberFieldSchema, tabDefinitionSchema, tabGroupFieldSchema, presetOptionSchema, presetOrCustomFieldSchema, contentTypeSelectFieldSchema, entryPickerFieldSchema, _fieldSchemaInternal, fieldSchema, slotSchema, typographyTokens, colorTokens, spacingTokens, radiusTokens, styleTokenSchema, behaviourSchema, quickFieldPrioritySchema, previewCustomizeManifestCurationSchema, blockCategoryEnum, manifestSchema;
8299
+ var visibilityLevels, MEDIA_KINDS, DISPLAY_MEDIA_KINDS, PUBLIC_FILE_FIELD_KINDS, siteOptionSources, mediaDeliverySchema, selectOptionSchema, selectSourceSchema, visibleWhenPredicateSchema, visibleWhenSchema, uiSchema, baseFieldSchema, textFieldSchema, richTextFieldSchema, inlineTextFieldSchema, mediaFieldSchema, fileFieldSchema, booleanFieldSchema, dateFieldSchema, timeFieldSchema, dateTimeFieldSchema, slugFieldSchema, urlFieldSchema, linkFieldSchema, selectFieldSchema, referenceFieldSchema, itemTypeSchema, repeaterFieldSchema, groupFieldSchema, modalFieldSchema, numberFieldSchema, tabDefinitionSchema, tabGroupFieldSchema, presetOptionSchema, presetOrCustomFieldSchema, contentTypeSelectFieldSchema, entryPickerFieldSchema, _fieldSchemaInternal, fieldSchema, slotSchema, typographyTokens, colorTokens, spacingTokens, radiusTokens, styleTokenSchema, behaviourSchema, quickFieldPrioritySchema, previewCustomizeManifestCurationSchema, blockCategoryEnum, manifestSchema;
8179
8300
  var init_schema2 = __esm({
8180
8301
  "../blocks/src/system/manifest/schema.ts"() {
8181
8302
  "use strict";
@@ -8377,6 +8498,11 @@ var init_schema2 = __esm({
8377
8498
  richTextFieldSchema = baseFieldSchema.extend({
8378
8499
  type: z5.literal("richText")
8379
8500
  });
8501
+ inlineTextFieldSchema = baseFieldSchema.extend({
8502
+ type: z5.literal("inlineText"),
8503
+ maxLength: z5.number().int().positive().optional(),
8504
+ plainTextField: z5.string().min(1).optional()
8505
+ });
8380
8506
  mediaFieldSchema = baseFieldSchema.extend({
8381
8507
  type: z5.literal("media"),
8382
8508
  // Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
@@ -21232,7 +21358,8 @@ function when(path, options) {
21232
21358
  $when: {
21233
21359
  when: { from: path },
21234
21360
  ...options?.equals !== void 0 ? { equals: options.equals } : {},
21235
- ...options?.not ? { not: true } : {}
21361
+ ...options?.not ? { not: true } : {},
21362
+ ...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
21236
21363
  }
21237
21364
  });
21238
21365
  }
@@ -23577,8 +23704,16 @@ var init_heroCopy = __esm({
23577
23704
  id: "headline",
23578
23705
  type: "text",
23579
23706
  label: "Headline",
23707
+ maxLength: 120,
23708
+ ui: { hidden: true }
23709
+ },
23710
+ {
23711
+ id: "headlineInline",
23712
+ type: "inlineText",
23713
+ label: "Headline",
23580
23714
  required: true,
23581
- maxLength: 120
23715
+ maxLength: 120,
23716
+ plainTextField: "headline"
23582
23717
  },
23583
23718
  {
23584
23719
  id: "subheadline",
@@ -23603,9 +23738,12 @@ var init_heroCopy = __esm({
23603
23738
  as: "h1",
23604
23739
  // heading-display: uses fluid typography from theme (--fs-h1-display-fluid)
23605
23740
  // Color in blocks-static/index.css (.hero-headline)
23606
- className: "hero-headline heading-display"
23741
+ className: "hero-headline heading-display",
23742
+ // Resolved against top-level block content; keep this beside the sibling headline field.
23743
+ inlineTextFallbackPath: "headline",
23744
+ maxLength: 120
23607
23745
  },
23608
- bind("content.headline")
23746
+ bind("content.headlineInline")
23609
23747
  ),
23610
23748
  text(
23611
23749
  {
@@ -32259,6 +32397,189 @@ var init_appointment_booking = __esm({
32259
32397
  }
32260
32398
  });
32261
32399
 
32400
+ // ../blocks/src/system/blocks/weekly-slot-availability.ts
32401
+ import { z as z42 } from "zod";
32402
+ var weeklySlotAvailabilityManifest, weeklySlotAvailabilityOptionSchema, weeklySlotAvailabilityDataSchema, weeklySlotAvailabilityBlockDefinition;
32403
+ var init_weekly_slot_availability = __esm({
32404
+ "../blocks/src/system/blocks/weekly-slot-availability.ts"() {
32405
+ "use strict";
32406
+ init_builder2();
32407
+ init_builder2();
32408
+ init_styledSection();
32409
+ init_fragments();
32410
+ init_boxStyles();
32411
+ init_defineBlock();
32412
+ init_api_bindings();
32413
+ weeklySlotAvailabilityManifest = createBlockManifest({
32414
+ id: "block.weekly-slot-availability",
32415
+ version: "1.0.0",
32416
+ title: "Weekly Slot Availability",
32417
+ titleSource: "heading",
32418
+ description: "Shows available recurring appointment slot patterns",
32419
+ skipSectionStyles: true,
32420
+ additionalFields: [
32421
+ {
32422
+ id: "serviceId",
32423
+ type: "reference",
32424
+ label: "Appointment service",
32425
+ description: "Choose which appointment service to show availability for",
32426
+ required: true,
32427
+ referenceKind: "appointmentService",
32428
+ allowManualEntry: false,
32429
+ ui: { intent: "behavior" }
32430
+ },
32431
+ {
32432
+ id: "resourceId",
32433
+ type: "reference",
32434
+ label: "Appointment resource",
32435
+ description: "Optionally narrow the availability to one practitioner or room",
32436
+ required: false,
32437
+ referenceKind: "appointmentResource",
32438
+ allowManualEntry: false,
32439
+ ui: { intent: "behavior" }
32440
+ },
32441
+ {
32442
+ id: "horizonWeeks",
32443
+ type: "select",
32444
+ label: "Look ahead",
32445
+ required: false,
32446
+ multiple: false,
32447
+ defaultValue: "4",
32448
+ options: [
32449
+ { value: "1", label: "1 week" },
32450
+ { value: "2", label: "2 weeks" },
32451
+ { value: "4", label: "4 weeks" }
32452
+ ],
32453
+ ui: { intent: "behavior" }
32454
+ },
32455
+ {
32456
+ id: "timezone",
32457
+ type: "text",
32458
+ label: "Timezone",
32459
+ description: "Leave blank to use the visitor timezone when the block loads",
32460
+ required: false,
32461
+ multiline: false,
32462
+ defaultValue: "",
32463
+ maxLength: 64,
32464
+ ui: { intent: "behavior" }
32465
+ },
32466
+ {
32467
+ id: "heading",
32468
+ type: "text",
32469
+ label: "Heading",
32470
+ required: false,
32471
+ multiline: false,
32472
+ defaultValue: "Weekly availability"
32473
+ },
32474
+ {
32475
+ id: "description",
32476
+ type: "richText",
32477
+ label: "Description",
32478
+ required: false
32479
+ },
32480
+ {
32481
+ id: "emptyMessage",
32482
+ type: "text",
32483
+ label: "Empty message",
32484
+ required: false,
32485
+ multiline: true,
32486
+ defaultValue: "No regular weekly openings are currently available.",
32487
+ maxLength: 180
32488
+ },
32489
+ {
32490
+ id: "ctaText",
32491
+ type: "text",
32492
+ label: "Enquiry button text",
32493
+ required: false,
32494
+ multiline: false,
32495
+ defaultValue: "Enquire about this slot",
32496
+ maxLength: 60
32497
+ },
32498
+ {
32499
+ id: "ctaUrl",
32500
+ type: "url",
32501
+ label: "Enquiry URL",
32502
+ required: false,
32503
+ ui: { intent: "behavior" }
32504
+ },
32505
+ sectionStylesField({
32506
+ id: "_sectionStyles",
32507
+ label: "Section styles"
32508
+ })
32509
+ ],
32510
+ styleTokens: { background: "surface", typography: "body", spacing: "md" },
32511
+ behaviours: {
32512
+ supportsThemeSwitching: true,
32513
+ inlineEditing: false,
32514
+ animation: false,
32515
+ paletteHidden: false
32516
+ },
32517
+ category: "interactive",
32518
+ tags: ["booking", "appointment", "calendar", "weekly", "availability"],
32519
+ icon: "CalendarDays",
32520
+ layout: [
32521
+ styledSection({
32522
+ children: sectionContainer([
32523
+ text({ as: "h2" }, bind("content.heading"), when("content.heading")),
32524
+ richText({}, bind("content.description"), when("content.description")),
32525
+ el(
32526
+ "weekly-slot-availability",
32527
+ withApiBindings({
32528
+ serviceId: { $bind: { from: "content.serviceId" } },
32529
+ resourceId: { $bind: { from: "content.resourceId", fallback: null } },
32530
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
32531
+ timezone: { $bind: { from: "content.timezone", fallback: null } },
32532
+ availability: { $bind: { from: "data.availability", fallback: null } },
32533
+ emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
32534
+ ctaText: { $bind: { from: "content.ctaText", fallback: null } },
32535
+ ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
32536
+ })
32537
+ )
32538
+ ], {
32539
+ gap: "lg"
32540
+ }),
32541
+ baseClass: "",
32542
+ spacing: "spacious"
32543
+ })
32544
+ ]
32545
+ });
32546
+ weeklySlotAvailabilityOptionSchema = z42.object({
32547
+ id: z42.string(),
32548
+ resourceId: z42.string(),
32549
+ weekday: z42.number(),
32550
+ weekdayLabel: z42.string(),
32551
+ startTime: z42.string(),
32552
+ endTime: z42.string(),
32553
+ nextDate: z42.string(),
32554
+ availableWeeks: z42.number()
32555
+ });
32556
+ weeklySlotAvailabilityDataSchema = z42.object({
32557
+ slots: z42.array(weeklySlotAvailabilityOptionSchema),
32558
+ horizonWeeks: z42.number(),
32559
+ timezone: z42.string(),
32560
+ startDate: z42.string(),
32561
+ endDate: z42.string()
32562
+ });
32563
+ weeklySlotAvailabilityBlockDefinition = {
32564
+ manifest: weeklySlotAvailabilityManifest,
32565
+ dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
32566
+ dataLoaders: {
32567
+ availability: {
32568
+ endpoint: "getPublicWeeklySlotAvailability",
32569
+ params: {
32570
+ siteId: { $bind: { from: "$root.siteId" } },
32571
+ serviceId: { $bind: { from: "content.serviceId" } },
32572
+ resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
32573
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
32574
+ timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
32575
+ },
32576
+ mode: "server"
32577
+ }
32578
+ }
32579
+ };
32580
+ }
32581
+ });
32582
+
32262
32583
  // ../blocks/src/system/blocks/events/shared/types.ts
32263
32584
  var init_types15 = __esm({
32264
32585
  "../blocks/src/system/blocks/events/shared/types.ts"() {
@@ -32267,7 +32588,7 @@ var init_types15 = __esm({
32267
32588
  });
32268
32589
 
32269
32590
  // ../blocks/src/lib/media.ts
32270
- import z42 from "zod";
32591
+ import z43 from "zod";
32271
32592
  var PUBLIC_DOWNLOAD_MEDIA_TYPES, hotspotSchema2, rotationSchema2, rectSchema2, aspectCropSchema2, transformSchema2, mediaPosterSchema, mediaBaseSchema, imageMediaSchema, videoMediaSchema, audioMediaSchema, documentMediaSchema, spreadsheetMediaSchema, archiveMediaSchema, mediaSchema2;
32272
32593
  var init_media4 = __esm({
32273
32594
  "../blocks/src/lib/media.ts"() {
@@ -32278,66 +32599,66 @@ var init_media4 = __esm({
32278
32599
  "archive",
32279
32600
  "audio"
32280
32601
  ];
32281
- hotspotSchema2 = z42.object({
32282
- x: z42.number().min(0).max(1),
32283
- y: z42.number().min(0).max(1),
32284
- radius: z42.number().optional()
32285
- });
32286
- rotationSchema2 = z42.union([z42.literal(0), z42.literal(90), z42.literal(180), z42.literal(270)]);
32287
- rectSchema2 = z42.tuple([z42.number(), z42.number(), z42.number(), z42.number()]);
32288
- aspectCropSchema2 = z42.object({
32289
- aspect: z42.preprocess((value) => value == null ? void 0 : value, z42.string().optional()),
32290
- rect: z42.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
32291
- hotspot: z42.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
32292
- rotation: z42.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
32293
- });
32294
- transformSchema2 = z42.object({
32295
- aspectCrops: z42.preprocess((value) => {
32602
+ hotspotSchema2 = z43.object({
32603
+ x: z43.number().min(0).max(1),
32604
+ y: z43.number().min(0).max(1),
32605
+ radius: z43.number().optional()
32606
+ });
32607
+ rotationSchema2 = z43.union([z43.literal(0), z43.literal(90), z43.literal(180), z43.literal(270)]);
32608
+ rectSchema2 = z43.tuple([z43.number(), z43.number(), z43.number(), z43.number()]);
32609
+ aspectCropSchema2 = z43.object({
32610
+ aspect: z43.preprocess((value) => value == null ? void 0 : value, z43.string().optional()),
32611
+ rect: z43.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
32612
+ hotspot: z43.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
32613
+ rotation: z43.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
32614
+ });
32615
+ transformSchema2 = z43.object({
32616
+ aspectCrops: z43.preprocess((value) => {
32296
32617
  if (!value || typeof value !== "object" || Array.isArray(value)) {
32297
32618
  return void 0;
32298
32619
  }
32299
32620
  return value;
32300
- }, z42.record(z42.string(), aspectCropSchema2.catch({}))).optional(),
32621
+ }, z43.record(z43.string(), aspectCropSchema2.catch({}))).optional(),
32301
32622
  rect: rectSchema2.optional(),
32302
32623
  hotspot: hotspotSchema2.optional(),
32303
32624
  rotation: rotationSchema2.optional()
32304
32625
  });
32305
- mediaPosterSchema = z42.discriminatedUnion("tag", [
32306
- z42.object({
32307
- tag: z42.literal("storage"),
32308
- assetId: z42.string().optional(),
32309
- storageBucket: z42.string().min(1),
32310
- storagePath: z42.string().min(1)
32626
+ mediaPosterSchema = z43.discriminatedUnion("tag", [
32627
+ z43.object({
32628
+ tag: z43.literal("storage"),
32629
+ assetId: z43.string().optional(),
32630
+ storageBucket: z43.string().min(1),
32631
+ storagePath: z43.string().min(1)
32311
32632
  }),
32312
- z42.object({
32313
- tag: z42.literal("external-src"),
32314
- assetId: z42.string().optional(),
32315
- src: z42.string().url()
32633
+ z43.object({
32634
+ tag: z43.literal("external-src"),
32635
+ assetId: z43.string().optional(),
32636
+ src: z43.string().url()
32316
32637
  })
32317
32638
  ]);
32318
- mediaBaseSchema = z42.object({
32319
- purpose: z42.string().optional(),
32320
- placeholder: z42.boolean().default(true).optional(),
32321
- assetId: z42.string().optional(),
32322
- identifier: z42.string().optional(),
32323
- src: z42.string().optional(),
32324
- alt: z42.string().optional(),
32325
- filename: z42.string().optional(),
32326
- mimeType: z42.string().optional(),
32327
- width: z42.number().optional(),
32328
- height: z42.number().optional(),
32329
- storageBucket: z42.string().optional(),
32330
- storagePath: z42.string().optional(),
32639
+ mediaBaseSchema = z43.object({
32640
+ purpose: z43.string().optional(),
32641
+ placeholder: z43.boolean().default(true).optional(),
32642
+ assetId: z43.string().optional(),
32643
+ identifier: z43.string().optional(),
32644
+ src: z43.string().optional(),
32645
+ alt: z43.string().optional(),
32646
+ filename: z43.string().optional(),
32647
+ mimeType: z43.string().optional(),
32648
+ width: z43.number().optional(),
32649
+ height: z43.number().optional(),
32650
+ storageBucket: z43.string().optional(),
32651
+ storagePath: z43.string().optional(),
32331
32652
  poster: mediaPosterSchema.optional(),
32332
32653
  transform: transformSchema2.optional()
32333
32654
  });
32334
- imageMediaSchema = mediaBaseSchema.extend({ type: z42.literal("image") });
32335
- videoMediaSchema = mediaBaseSchema.extend({ type: z42.literal("video") });
32336
- audioMediaSchema = mediaBaseSchema.extend({ type: z42.literal("audio") });
32337
- documentMediaSchema = mediaBaseSchema.extend({ type: z42.literal("document") });
32338
- spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z42.literal("spreadsheet") });
32339
- archiveMediaSchema = mediaBaseSchema.extend({ type: z42.literal("archive") });
32340
- mediaSchema2 = z42.discriminatedUnion("type", [
32655
+ imageMediaSchema = mediaBaseSchema.extend({ type: z43.literal("image") });
32656
+ videoMediaSchema = mediaBaseSchema.extend({ type: z43.literal("video") });
32657
+ audioMediaSchema = mediaBaseSchema.extend({ type: z43.literal("audio") });
32658
+ documentMediaSchema = mediaBaseSchema.extend({ type: z43.literal("document") });
32659
+ spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z43.literal("spreadsheet") });
32660
+ archiveMediaSchema = mediaBaseSchema.extend({ type: z43.literal("archive") });
32661
+ mediaSchema2 = z43.discriminatedUnion("type", [
32341
32662
  imageMediaSchema,
32342
32663
  videoMediaSchema,
32343
32664
  audioMediaSchema,
@@ -32349,186 +32670,186 @@ var init_media4 = __esm({
32349
32670
  });
32350
32671
 
32351
32672
  // ../blocks/src/system/manifest/richTextSchema.ts
32352
- import { z as z43 } from "zod";
32673
+ import { z as z44 } from "zod";
32353
32674
  var TipTapMarkSchema, TipTapNodeSchema, RichTextValueSchema, RichTextDocSchema;
32354
32675
  var init_richTextSchema = __esm({
32355
32676
  "../blocks/src/system/manifest/richTextSchema.ts"() {
32356
32677
  "use strict";
32357
- TipTapMarkSchema = z43.object({
32358
- type: z43.string(),
32359
- attrs: z43.record(z43.string(), z43.unknown()).optional()
32360
- });
32361
- TipTapNodeSchema = z43.lazy(
32362
- () => z43.object({
32363
- type: z43.string(),
32364
- content: z43.array(TipTapNodeSchema).optional(),
32365
- text: z43.string().optional(),
32366
- attrs: z43.record(z43.string(), z43.unknown()).optional(),
32367
- marks: z43.array(TipTapMarkSchema).optional()
32678
+ TipTapMarkSchema = z44.object({
32679
+ type: z44.string(),
32680
+ attrs: z44.record(z44.string(), z44.unknown()).optional()
32681
+ });
32682
+ TipTapNodeSchema = z44.lazy(
32683
+ () => z44.object({
32684
+ type: z44.string(),
32685
+ content: z44.array(TipTapNodeSchema).optional(),
32686
+ text: z44.string().optional(),
32687
+ attrs: z44.record(z44.string(), z44.unknown()).optional(),
32688
+ marks: z44.array(TipTapMarkSchema).optional()
32368
32689
  })
32369
32690
  );
32370
- RichTextValueSchema = z43.union([
32691
+ RichTextValueSchema = z44.union([
32371
32692
  // Canonical: TipTap document directly
32372
32693
  TipTapNodeSchema,
32373
32694
  // Legacy (read-tolerance only): wrapped in { doc: {...} }
32374
- z43.object({
32695
+ z44.object({
32375
32696
  doc: TipTapNodeSchema
32376
32697
  })
32377
32698
  ]);
32378
- RichTextDocSchema = z43.object({
32379
- type: z43.literal("doc"),
32380
- content: z43.array(TipTapNodeSchema)
32699
+ RichTextDocSchema = z44.object({
32700
+ type: z44.literal("doc"),
32701
+ content: z44.array(TipTapNodeSchema)
32381
32702
  });
32382
32703
  }
32383
32704
  });
32384
32705
 
32385
32706
  // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
32386
- import { z as z44 } from "zod";
32707
+ import { z as z45 } from "zod";
32387
32708
  var bookingDepositRefundPolicySchema, bookingInstalmentPlanSchema, bookingFlexibleBalanceDueDateRuleSchema, bookingFlexibleBalanceConfigSchema, blockBookingPaymentCollectionOptionSchema, blockBookingPaymentTermsSchema;
32388
32709
  var init_bookingPaymentTerms = __esm({
32389
32710
  "../blocks/src/system/blocks/shared/bookingPaymentTerms.ts"() {
32390
32711
  "use strict";
32391
- bookingDepositRefundPolicySchema = z44.enum([
32712
+ bookingDepositRefundPolicySchema = z45.enum([
32392
32713
  "refundable",
32393
32714
  "non_refundable"
32394
32715
  ]);
32395
- bookingInstalmentPlanSchema = z44.union([
32396
- z44.object({
32397
- kind: z44.literal("deposit_plus_one_remainder"),
32398
- depositAmountCents: z44.number().int().min(0),
32716
+ bookingInstalmentPlanSchema = z45.union([
32717
+ z45.object({
32718
+ kind: z45.literal("deposit_plus_one_remainder"),
32719
+ depositAmountCents: z45.number().int().min(0),
32399
32720
  depositRefundability: bookingDepositRefundPolicySchema,
32400
- remainderDueCount: z44.number().int().positive(),
32401
- intervalUnit: z44.enum(["day", "week", "month"])
32721
+ remainderDueCount: z45.number().int().positive(),
32722
+ intervalUnit: z45.enum(["day", "week", "month"])
32402
32723
  }),
32403
- z44.object({
32404
- kind: z44.literal("deposit_plus_scheduled_instalments"),
32405
- depositAmountCents: z44.number().int().min(0),
32724
+ z45.object({
32725
+ kind: z45.literal("deposit_plus_scheduled_instalments"),
32726
+ depositAmountCents: z45.number().int().min(0),
32406
32727
  depositRefundability: bookingDepositRefundPolicySchema,
32407
- instalmentCount: z44.number().int().positive(),
32408
- intervalCount: z44.number().int().positive(),
32409
- intervalUnit: z44.enum(["day", "week", "month"])
32728
+ instalmentCount: z45.number().int().positive(),
32729
+ intervalCount: z45.number().int().positive(),
32730
+ intervalUnit: z45.enum(["day", "week", "month"])
32410
32731
  }),
32411
- z44.object({
32412
- kind: z44.literal("equal_scheduled_instalments"),
32413
- instalmentCount: z44.number().int().positive(),
32414
- intervalCount: z44.number().int().positive(),
32415
- intervalUnit: z44.enum(["day", "week", "month"])
32732
+ z45.object({
32733
+ kind: z45.literal("equal_scheduled_instalments"),
32734
+ instalmentCount: z45.number().int().positive(),
32735
+ intervalCount: z45.number().int().positive(),
32736
+ intervalUnit: z45.enum(["day", "week", "month"])
32416
32737
  })
32417
32738
  ]);
32418
- bookingFlexibleBalanceDueDateRuleSchema = z44.union([
32419
- z44.object({
32420
- kind: z44.literal("relative_to_start_date"),
32421
- daysBeforeStart: z44.number().int().positive()
32739
+ bookingFlexibleBalanceDueDateRuleSchema = z45.union([
32740
+ z45.object({
32741
+ kind: z45.literal("relative_to_start_date"),
32742
+ daysBeforeStart: z45.number().int().positive()
32422
32743
  }),
32423
- z44.object({
32424
- kind: z44.literal("fixed_calendar_date"),
32425
- dueAt: z44.string().datetime()
32744
+ z45.object({
32745
+ kind: z45.literal("fixed_calendar_date"),
32746
+ dueAt: z45.string().datetime()
32426
32747
  })
32427
32748
  ]);
32428
- bookingFlexibleBalanceConfigSchema = z44.object({
32429
- upfrontAmountCents: z44.number().int().min(0),
32749
+ bookingFlexibleBalanceConfigSchema = z45.object({
32750
+ upfrontAmountCents: z45.number().int().min(0),
32430
32751
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
32431
32752
  depositRefundability: bookingDepositRefundPolicySchema
32432
32753
  });
32433
- blockBookingPaymentCollectionOptionSchema = z44.union([
32434
- z44.object({
32435
- kind: z44.literal("upfront")
32754
+ blockBookingPaymentCollectionOptionSchema = z45.union([
32755
+ z45.object({
32756
+ kind: z45.literal("upfront")
32436
32757
  }),
32437
- z44.object({
32438
- kind: z44.literal("deferred_manual")
32758
+ z45.object({
32759
+ kind: z45.literal("deferred_manual")
32439
32760
  }),
32440
- z44.object({
32441
- kind: z44.literal("instalment_plan"),
32761
+ z45.object({
32762
+ kind: z45.literal("instalment_plan"),
32442
32763
  plan: bookingInstalmentPlanSchema
32443
32764
  }),
32444
- z44.object({
32445
- kind: z44.literal("flexible_balance"),
32765
+ z45.object({
32766
+ kind: z45.literal("flexible_balance"),
32446
32767
  config: bookingFlexibleBalanceConfigSchema
32447
32768
  })
32448
32769
  ]);
32449
- blockBookingPaymentTermsSchema = z44.object({
32450
- allowedOptions: z44.array(blockBookingPaymentCollectionOptionSchema).min(1)
32770
+ blockBookingPaymentTermsSchema = z45.object({
32771
+ allowedOptions: z45.array(blockBookingPaymentCollectionOptionSchema).min(1)
32451
32772
  });
32452
32773
  }
32453
32774
  });
32454
32775
 
32455
32776
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
32456
- import { z as z45 } from "zod";
32777
+ import { z as z46 } from "zod";
32457
32778
  var courseVenueSchema, courseSessionSchema, courseTeamMemberSummarySchema, coursePricingOptionSchema, coursePricingSchema, publicCourseSchema, publicCoursesArraySchema;
32458
32779
  var init_schemas = __esm({
32459
32780
  "../blocks/src/system/blocks/courses/shared/schemas.ts"() {
32460
32781
  "use strict";
32461
32782
  init_bookingPaymentTerms();
32462
- courseVenueSchema = z45.object({
32463
- id: z45.string(),
32464
- name: z45.string(),
32465
- address: z45.string().nullable()
32466
- });
32467
- courseSessionSchema = z45.object({
32468
- id: z45.string(),
32469
- startsAt: z45.string(),
32470
- endsAt: z45.string(),
32471
- timeZone: z45.string(),
32472
- capacityOverride: z45.number().nullable().optional(),
32473
- overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
32474
- });
32475
- courseTeamMemberSummarySchema = z45.object({
32476
- id: z45.string(),
32477
- name: z45.string(),
32478
- roleLabel: z45.string().nullable(),
32479
- summary: z45.string().nullable(),
32480
- profilePath: z45.string().nullable()
32481
- });
32482
- coursePricingOptionSchema = z45.object({
32483
- id: z45.string(),
32484
- name: z45.string(),
32485
- description: z45.string().nullable(),
32486
- priceAmount: z45.number(),
32487
- isActive: z45.boolean(),
32488
- sortOrder: z45.number(),
32489
- capacityLimit: z45.number().nullable(),
32490
- saleStartsAt: z45.string().nullable(),
32491
- saleEndsAt: z45.string().nullable(),
32492
- attendanceScope: z45.enum(["in_person", "online", "both"]).nullable().optional()
32493
- });
32494
- coursePricingSchema = z45.object({
32495
- bookingRequirement: z45.enum(["none", "required"]),
32496
- pricingStrategy: z45.enum(["free", "single", "tiered", "sliding_scale"]),
32497
- currency: z45.string(),
32498
- singlePriceAmount: z45.number().nullable(),
32499
- slidingMinAmount: z45.number().nullable().optional(),
32500
- slidingMaxAmount: z45.number().nullable().optional(),
32501
- slidingSuggestedAmount: z45.number().nullable().optional(),
32783
+ courseVenueSchema = z46.object({
32784
+ id: z46.string(),
32785
+ name: z46.string(),
32786
+ address: z46.string().nullable()
32787
+ });
32788
+ courseSessionSchema = z46.object({
32789
+ id: z46.string(),
32790
+ startsAt: z46.string(),
32791
+ endsAt: z46.string(),
32792
+ timeZone: z46.string(),
32793
+ capacityOverride: z46.number().nullable().optional(),
32794
+ overrides: z46.record(z46.string(), z46.unknown()).nullable().optional()
32795
+ });
32796
+ courseTeamMemberSummarySchema = z46.object({
32797
+ id: z46.string(),
32798
+ name: z46.string(),
32799
+ roleLabel: z46.string().nullable(),
32800
+ summary: z46.string().nullable(),
32801
+ profilePath: z46.string().nullable()
32802
+ });
32803
+ coursePricingOptionSchema = z46.object({
32804
+ id: z46.string(),
32805
+ name: z46.string(),
32806
+ description: z46.string().nullable(),
32807
+ priceAmount: z46.number(),
32808
+ isActive: z46.boolean(),
32809
+ sortOrder: z46.number(),
32810
+ capacityLimit: z46.number().nullable(),
32811
+ saleStartsAt: z46.string().nullable(),
32812
+ saleEndsAt: z46.string().nullable(),
32813
+ attendanceScope: z46.enum(["in_person", "online", "both"]).nullable().optional()
32814
+ });
32815
+ coursePricingSchema = z46.object({
32816
+ bookingRequirement: z46.enum(["none", "required"]),
32817
+ pricingStrategy: z46.enum(["free", "single", "tiered", "sliding_scale"]),
32818
+ currency: z46.string(),
32819
+ singlePriceAmount: z46.number().nullable(),
32820
+ slidingMinAmount: z46.number().nullable().optional(),
32821
+ slidingMaxAmount: z46.number().nullable().optional(),
32822
+ slidingSuggestedAmount: z46.number().nullable().optional(),
32502
32823
  paymentTerms: blockBookingPaymentTermsSchema,
32503
- options: z45.array(coursePricingOptionSchema)
32504
- });
32505
- publicCourseSchema = z45.object({
32506
- id: z45.string(),
32507
- title: z45.string(),
32508
- slug: z45.string(),
32509
- description: z45.unknown().nullable(),
32510
- teamMembers: z45.array(courseTeamMemberSummarySchema).optional(),
32511
- enrollmentOpen: z45.boolean(),
32824
+ options: z46.array(coursePricingOptionSchema)
32825
+ });
32826
+ publicCourseSchema = z46.object({
32827
+ id: z46.string(),
32828
+ title: z46.string(),
32829
+ slug: z46.string(),
32830
+ description: z46.unknown().nullable(),
32831
+ teamMembers: z46.array(courseTeamMemberSummarySchema).optional(),
32832
+ enrollmentOpen: z46.boolean(),
32512
32833
  pricing: coursePricingSchema.optional(),
32513
- priceCents: z45.number().nullable(),
32514
- currency: z45.string(),
32834
+ priceCents: z46.number().nullable(),
32835
+ currency: z46.string(),
32515
32836
  paymentTerms: blockBookingPaymentTermsSchema,
32516
- enrollmentCapacity: z45.number().nullable(),
32517
- acceptsMemberships: z45.boolean(),
32518
- status: z45.enum(["active", "draft", "cancelled"]),
32519
- sessionsCount: z45.number(),
32520
- enrolledCount: z45.number(),
32521
- availableSpots: z45.number().nullable(),
32522
- sessions: z45.array(courseSessionSchema),
32837
+ enrollmentCapacity: z46.number().nullable(),
32838
+ acceptsMemberships: z46.boolean(),
32839
+ status: z46.enum(["active", "draft", "cancelled"]),
32840
+ sessionsCount: z46.number(),
32841
+ enrolledCount: z46.number(),
32842
+ availableSpots: z46.number().nullable(),
32843
+ sessions: z46.array(courseSessionSchema),
32523
32844
  venue: courseVenueSchema.nullable(),
32524
- contentEntryId: z45.string().nullable()
32845
+ contentEntryId: z46.string().nullable()
32525
32846
  });
32526
- publicCoursesArraySchema = z45.array(publicCourseSchema);
32847
+ publicCoursesArraySchema = z46.array(publicCourseSchema);
32527
32848
  }
32528
32849
  });
32529
32850
 
32530
32851
  // ../blocks/src/system/blocks/events/shared/schemas.ts
32531
- import { z as z46 } from "zod";
32852
+ import { z as z47 } from "zod";
32532
32853
  var eventPresetSchema, eventScheduleScopeSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, pricingTypeSchema, accessRestrictionSchema, eventPricingModeSchema, publicCoursePriceDisplaySchema, publicEventPriceDisplaySchema, publicEventTicketTypePriceDisplaySchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventTicketTypeAvailabilitySchema, publicEventTicketTypeSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventSchema, publicEventsArraySchema;
32533
32854
  var init_schemas2 = __esm({
32534
32855
  "../blocks/src/system/blocks/events/shared/schemas.ts"() {
@@ -32537,212 +32858,212 @@ var init_schemas2 = __esm({
32537
32858
  init_richTextSchema();
32538
32859
  init_bookingPaymentTerms();
32539
32860
  init_schemas();
32540
- eventPresetSchema = z46.enum(["event", "class", "workshop", "retreat", "performance"]);
32541
- eventScheduleScopeSchema = z46.enum(["recurring", "oneOff"]);
32542
- eventDestinationModeSchema = z46.enum(["cms-managed", "system-managed"]);
32543
- publicEventDestinationSchema = z46.discriminatedUnion("kind", [
32544
- z46.object({
32545
- kind: z46.literal("native"),
32861
+ eventPresetSchema = z47.enum(["event", "class", "workshop", "retreat", "performance"]);
32862
+ eventScheduleScopeSchema = z47.enum(["recurring", "oneOff"]);
32863
+ eventDestinationModeSchema = z47.enum(["cms-managed", "system-managed"]);
32864
+ publicEventDestinationSchema = z47.discriminatedUnion("kind", [
32865
+ z47.object({
32866
+ kind: z47.literal("native"),
32546
32867
  mode: eventDestinationModeSchema,
32547
- path: z46.string()
32868
+ path: z47.string()
32548
32869
  }),
32549
- z46.object({
32550
- kind: z46.literal("external"),
32551
- url: z46.string(),
32552
- label: z46.string()
32870
+ z47.object({
32871
+ kind: z47.literal("external"),
32872
+ url: z47.string(),
32873
+ label: z47.string()
32553
32874
  })
32554
32875
  ]);
32555
- eventVenueSchema = z46.object({
32556
- id: z46.string(),
32557
- name: z46.string(),
32558
- address: z46.string().nullable(),
32559
- location: z46.object({
32560
- lat: z46.number(),
32561
- lng: z46.number()
32876
+ eventVenueSchema = z47.object({
32877
+ id: z47.string(),
32878
+ name: z47.string(),
32879
+ address: z47.string().nullable(),
32880
+ location: z47.object({
32881
+ lat: z47.number(),
32882
+ lng: z47.number()
32562
32883
  }).nullable()
32563
32884
  });
32564
- eventCategorySchema = z46.object({
32565
- id: z46.string(),
32566
- name: z46.string(),
32567
- color: z46.string().nullable()
32568
- });
32569
- pricingTypeSchema = z46.enum(["free", "paid", "external"]);
32570
- accessRestrictionSchema = z46.enum(["none", "category"]);
32571
- eventPricingModeSchema = z46.enum(["single", "ticket_types"]);
32572
- publicCoursePriceDisplaySchema = z46.discriminatedUnion("kind", [
32573
- z46.object({ kind: z46.literal("free"), currency: z46.string() }),
32574
- z46.object({ kind: z46.literal("exact"), amount: z46.number(), currency: z46.string() }),
32575
- z46.object({ kind: z46.literal("from"), amount: z46.number(), currency: z46.string() }),
32576
- z46.object({ kind: z46.literal("unavailable"), currency: z46.string() })
32885
+ eventCategorySchema = z47.object({
32886
+ id: z47.string(),
32887
+ name: z47.string(),
32888
+ color: z47.string().nullable()
32889
+ });
32890
+ pricingTypeSchema = z47.enum(["free", "paid", "external"]);
32891
+ accessRestrictionSchema = z47.enum(["none", "category"]);
32892
+ eventPricingModeSchema = z47.enum(["single", "ticket_types"]);
32893
+ publicCoursePriceDisplaySchema = z47.discriminatedUnion("kind", [
32894
+ z47.object({ kind: z47.literal("free"), currency: z47.string() }),
32895
+ z47.object({ kind: z47.literal("exact"), amount: z47.number(), currency: z47.string() }),
32896
+ z47.object({ kind: z47.literal("from"), amount: z47.number(), currency: z47.string() }),
32897
+ z47.object({ kind: z47.literal("unavailable"), currency: z47.string() })
32577
32898
  ]);
32578
- publicEventPriceDisplaySchema = z46.discriminatedUnion("kind", [
32579
- z46.object({ kind: z46.literal("free"), currency: z46.string() }),
32580
- z46.object({ kind: z46.literal("exact"), amount: z46.number(), currency: z46.string() }),
32581
- z46.object({ kind: z46.literal("from"), amount: z46.number(), currency: z46.string() }),
32582
- z46.object({ kind: z46.literal("range"), minAmount: z46.number(), maxAmount: z46.number(), currency: z46.string() }),
32583
- z46.object({
32584
- kind: z46.literal("mixed"),
32585
- paidFromAmount: z46.number(),
32586
- paidToAmount: z46.number(),
32587
- currency: z46.string()
32899
+ publicEventPriceDisplaySchema = z47.discriminatedUnion("kind", [
32900
+ z47.object({ kind: z47.literal("free"), currency: z47.string() }),
32901
+ z47.object({ kind: z47.literal("exact"), amount: z47.number(), currency: z47.string() }),
32902
+ z47.object({ kind: z47.literal("from"), amount: z47.number(), currency: z47.string() }),
32903
+ z47.object({ kind: z47.literal("range"), minAmount: z47.number(), maxAmount: z47.number(), currency: z47.string() }),
32904
+ z47.object({
32905
+ kind: z47.literal("mixed"),
32906
+ paidFromAmount: z47.number(),
32907
+ paidToAmount: z47.number(),
32908
+ currency: z47.string()
32588
32909
  }),
32589
- z46.object({ kind: z46.literal("unavailable"), currency: z46.string() }),
32590
- z46.object({ kind: z46.literal("external"), label: z46.string() }),
32591
- z46.object({ kind: z46.literal("course"), display: publicCoursePriceDisplaySchema })
32910
+ z47.object({ kind: z47.literal("unavailable"), currency: z47.string() }),
32911
+ z47.object({ kind: z47.literal("external"), label: z47.string() }),
32912
+ z47.object({ kind: z47.literal("course"), display: publicCoursePriceDisplaySchema })
32592
32913
  ]);
32593
- publicEventTicketTypePriceDisplaySchema = z46.union([
32594
- z46.object({ kind: z46.literal("free"), currency: z46.string() }),
32595
- z46.object({ kind: z46.literal("exact"), amount: z46.number(), currency: z46.string() }),
32596
- z46.object({ kind: z46.literal("from"), amount: z46.number(), currency: z46.string() }),
32597
- z46.object({ kind: z46.literal("range"), minAmount: z46.number(), maxAmount: z46.number(), currency: z46.string() }),
32598
- z46.object({
32599
- kind: z46.literal("mixed"),
32600
- paidFromAmount: z46.number(),
32601
- paidToAmount: z46.number(),
32602
- currency: z46.string()
32914
+ publicEventTicketTypePriceDisplaySchema = z47.union([
32915
+ z47.object({ kind: z47.literal("free"), currency: z47.string() }),
32916
+ z47.object({ kind: z47.literal("exact"), amount: z47.number(), currency: z47.string() }),
32917
+ z47.object({ kind: z47.literal("from"), amount: z47.number(), currency: z47.string() }),
32918
+ z47.object({ kind: z47.literal("range"), minAmount: z47.number(), maxAmount: z47.number(), currency: z47.string() }),
32919
+ z47.object({
32920
+ kind: z47.literal("mixed"),
32921
+ paidFromAmount: z47.number(),
32922
+ paidToAmount: z47.number(),
32923
+ currency: z47.string()
32603
32924
  }),
32604
- z46.object({ kind: z46.literal("unavailable"), currency: z46.string() })
32925
+ z47.object({ kind: z47.literal("unavailable"), currency: z47.string() })
32605
32926
  ]);
32606
- publicEventAttendanceModeSchema = z46.enum(["in_person", "online"]);
32607
- publicEventAttendanceModeAvailabilitySchema = z46.object({
32927
+ publicEventAttendanceModeSchema = z47.enum(["in_person", "online"]);
32928
+ publicEventAttendanceModeAvailabilitySchema = z47.object({
32608
32929
  mode: publicEventAttendanceModeSchema,
32609
- capacity: z46.number().nullable(),
32610
- registeredCount: z46.number(),
32611
- availableSpots: z46.number().nullable(),
32612
- waitlistEnabled: z46.boolean()
32613
- });
32614
- publicEventTicketTypeAvailabilitySchema = z46.union([
32615
- z46.object({
32616
- kind: z46.literal("available"),
32617
- remainingCapacity: z46.number().nullable()
32930
+ capacity: z47.number().nullable(),
32931
+ registeredCount: z47.number(),
32932
+ availableSpots: z47.number().nullable(),
32933
+ waitlistEnabled: z47.boolean()
32934
+ });
32935
+ publicEventTicketTypeAvailabilitySchema = z47.union([
32936
+ z47.object({
32937
+ kind: z47.literal("available"),
32938
+ remainingCapacity: z47.number().nullable()
32618
32939
  }),
32619
- z46.object({
32620
- kind: z46.literal("unavailable"),
32621
- reason: z46.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
32622
- remainingCapacity: z46.number().nullable()
32940
+ z47.object({
32941
+ kind: z47.literal("unavailable"),
32942
+ reason: z47.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
32943
+ remainingCapacity: z47.number().nullable()
32623
32944
  })
32624
32945
  ]);
32625
- publicEventTicketTypeSchema = z46.object({
32626
- id: z46.string(),
32627
- siteId: z46.string(),
32628
- eventSeriesId: z46.string(),
32629
- name: z46.string(),
32630
- description: z46.string().nullable(),
32631
- priceAmount: z46.number(),
32632
- isActive: z46.boolean(),
32633
- sortOrder: z46.number(),
32634
- capacityMode: z46.enum(["limited", "unlimited"]),
32635
- capacityLimit: z46.number().nullable(),
32636
- attendanceScope: z46.enum(["in_person", "online", "both"]).optional(),
32637
- saleStartsAt: z46.string().nullable(),
32638
- saleEndsAt: z46.string().nullable(),
32946
+ publicEventTicketTypeSchema = z47.object({
32947
+ id: z47.string(),
32948
+ siteId: z47.string(),
32949
+ eventSeriesId: z47.string(),
32950
+ name: z47.string(),
32951
+ description: z47.string().nullable(),
32952
+ priceAmount: z47.number(),
32953
+ isActive: z47.boolean(),
32954
+ sortOrder: z47.number(),
32955
+ capacityMode: z47.enum(["limited", "unlimited"]),
32956
+ capacityLimit: z47.number().nullable(),
32957
+ attendanceScope: z47.enum(["in_person", "online", "both"]).optional(),
32958
+ saleStartsAt: z47.string().nullable(),
32959
+ saleEndsAt: z47.string().nullable(),
32639
32960
  availability: publicEventTicketTypeAvailabilitySchema,
32640
- createdAt: z46.string(),
32641
- updatedAt: z46.string()
32642
- });
32643
- publicEventPricingSchema = z46.discriminatedUnion("kind", [
32644
- z46.object({
32645
- kind: z46.literal("drop_in"),
32646
- currency: z46.string(),
32647
- display: z46.object({ kind: z46.literal("free"), currency: z46.string() })
32961
+ createdAt: z47.string(),
32962
+ updatedAt: z47.string()
32963
+ });
32964
+ publicEventPricingSchema = z47.discriminatedUnion("kind", [
32965
+ z47.object({
32966
+ kind: z47.literal("drop_in"),
32967
+ currency: z47.string(),
32968
+ display: z47.object({ kind: z47.literal("free"), currency: z47.string() })
32648
32969
  }),
32649
- z46.object({
32650
- kind: z46.literal("free_registration"),
32651
- currency: z46.string(),
32652
- display: z46.object({ kind: z46.literal("free"), currency: z46.string() })
32970
+ z47.object({
32971
+ kind: z47.literal("free_registration"),
32972
+ currency: z47.string(),
32973
+ display: z47.object({ kind: z47.literal("free"), currency: z47.string() })
32653
32974
  }),
32654
- z46.object({
32655
- kind: z46.literal("single_paid"),
32656
- amount: z46.number(),
32657
- currency: z46.string(),
32658
- display: z46.object({ kind: z46.literal("exact"), amount: z46.number(), currency: z46.string() })
32975
+ z47.object({
32976
+ kind: z47.literal("single_paid"),
32977
+ amount: z47.number(),
32978
+ currency: z47.string(),
32979
+ display: z47.object({ kind: z47.literal("exact"), amount: z47.number(), currency: z47.string() })
32659
32980
  }),
32660
- z46.object({
32661
- kind: z46.literal("ticket_types"),
32662
- currency: z46.string(),
32663
- ticketTypes: z46.array(publicEventTicketTypeSchema),
32981
+ z47.object({
32982
+ kind: z47.literal("ticket_types"),
32983
+ currency: z47.string(),
32984
+ ticketTypes: z47.array(publicEventTicketTypeSchema),
32664
32985
  display: publicEventTicketTypePriceDisplaySchema
32665
32986
  }),
32666
- z46.object({
32667
- kind: z46.literal("sliding_scale"),
32668
- minAmount: z46.number(),
32669
- maxAmount: z46.number(),
32670
- suggestedAmount: z46.number().nullable(),
32671
- currency: z46.string(),
32672
- display: z46.object({
32673
- kind: z46.literal("range"),
32674
- minAmount: z46.number(),
32675
- maxAmount: z46.number(),
32676
- currency: z46.string()
32987
+ z47.object({
32988
+ kind: z47.literal("sliding_scale"),
32989
+ minAmount: z47.number(),
32990
+ maxAmount: z47.number(),
32991
+ suggestedAmount: z47.number().nullable(),
32992
+ currency: z47.string(),
32993
+ display: z47.object({
32994
+ kind: z47.literal("range"),
32995
+ minAmount: z47.number(),
32996
+ maxAmount: z47.number(),
32997
+ currency: z47.string()
32677
32998
  })
32678
32999
  }),
32679
- z46.object({
32680
- kind: z46.literal("course"),
32681
- display: z46.object({ kind: z46.literal("course"), display: publicCoursePriceDisplaySchema })
33000
+ z47.object({
33001
+ kind: z47.literal("course"),
33002
+ display: z47.object({ kind: z47.literal("course"), display: publicCoursePriceDisplaySchema })
32682
33003
  }),
32683
- z46.object({
32684
- kind: z46.literal("external"),
32685
- display: z46.object({ kind: z46.literal("external"), label: z46.string() })
33004
+ z47.object({
33005
+ kind: z47.literal("external"),
33006
+ display: z47.object({ kind: z47.literal("external"), label: z47.string() })
32686
33007
  })
32687
33008
  ]);
32688
- publicTeamMemberSummarySchema = z46.object({
32689
- id: z46.string(),
32690
- name: z46.string(),
32691
- roleLabel: z46.string().nullable(),
32692
- summary: z46.string().nullable(),
32693
- profilePath: z46.string().nullable()
33009
+ publicTeamMemberSummarySchema = z47.object({
33010
+ id: z47.string(),
33011
+ name: z47.string(),
33012
+ roleLabel: z47.string().nullable(),
33013
+ summary: z47.string().nullable(),
33014
+ profilePath: z47.string().nullable()
32694
33015
  });
32695
- publicEventSchema = z46.object({
32696
- kind: z46.enum(["event", "course_session"]).optional(),
33016
+ publicEventSchema = z47.object({
33017
+ kind: z47.enum(["event", "course_session"]).optional(),
32697
33018
  eventPreset: eventPresetSchema.optional(),
32698
33019
  eventDestinationMode: eventDestinationModeSchema.optional(),
32699
33020
  scheduleScope: eventScheduleScopeSchema.optional(),
32700
- id: z46.string(),
32701
- occurrenceId: z46.string(),
32702
- seriesId: z46.string(),
32703
- title: z46.string(),
32704
- description: z46.string().nullable(),
32705
- content: z46.object({
33021
+ id: z47.string(),
33022
+ occurrenceId: z47.string(),
33023
+ seriesId: z47.string(),
33024
+ title: z47.string(),
33025
+ description: z47.string().nullable(),
33026
+ content: z47.object({
32706
33027
  body: RichTextDocSchema.nullable().optional()
32707
33028
  }).optional(),
32708
- presentation: z46.object({
32709
- cardTitleOverride: z46.string().nullable().optional(),
32710
- summary: z46.string().nullable().optional(),
33029
+ presentation: z47.object({
33030
+ cardTitleOverride: z47.string().nullable().optional(),
33031
+ summary: z47.string().nullable().optional(),
32711
33032
  image: mediaSchema2.nullable().optional()
32712
33033
  }).optional(),
32713
- slug: z46.string(),
32714
- path: z46.string().nullable(),
33034
+ slug: z47.string(),
33035
+ path: z47.string().nullable(),
32715
33036
  destination: publicEventDestinationSchema,
32716
- requiresRegistration: z46.boolean(),
32717
- deliveryMode: z46.enum(["in_person", "online", "hybrid"]),
32718
- attendanceModes: z46.array(publicEventAttendanceModeAvailabilitySchema),
32719
- startsAt: z46.string(),
32720
- endsAt: z46.string(),
32721
- capacity: z46.number().nullable(),
32722
- registeredCount: z46.number(),
32723
- availableSpots: z46.number().nullable(),
32724
- waitlistEnabled: z46.boolean(),
33037
+ requiresRegistration: z47.boolean(),
33038
+ deliveryMode: z47.enum(["in_person", "online", "hybrid"]),
33039
+ attendanceModes: z47.array(publicEventAttendanceModeAvailabilitySchema),
33040
+ startsAt: z47.string(),
33041
+ endsAt: z47.string(),
33042
+ capacity: z47.number().nullable(),
33043
+ registeredCount: z47.number(),
33044
+ availableSpots: z47.number().nullable(),
33045
+ waitlistEnabled: z47.boolean(),
32725
33046
  venue: eventVenueSchema.nullable(),
32726
33047
  eventCategory: eventCategorySchema.nullable(),
32727
- teamMembers: z46.array(publicTeamMemberSummarySchema).optional(),
32728
- status: z46.enum(["active", "draft", "archived"]).optional(),
32729
- timeZone: z46.string(),
33048
+ teamMembers: z47.array(publicTeamMemberSummarySchema).optional(),
33049
+ status: z47.enum(["active", "draft", "archived"]).optional(),
33050
+ timeZone: z47.string(),
32730
33051
  pricing: publicEventPricingSchema,
32731
33052
  paymentTerms: blockBookingPaymentTermsSchema,
32732
33053
  accessRestriction: accessRestrictionSchema,
32733
- allowedCategoryIds: z46.array(z46.string()),
32734
- requireGuestDetails: z46.boolean().optional(),
32735
- acceptsPasses: z46.boolean().optional(),
32736
- acceptsMemberships: z46.boolean().optional(),
32737
- course: z46.object({
32738
- id: z46.string(),
33054
+ allowedCategoryIds: z47.array(z47.string()),
33055
+ requireGuestDetails: z47.boolean().optional(),
33056
+ acceptsPasses: z47.boolean().optional(),
33057
+ acceptsMemberships: z47.boolean().optional(),
33058
+ course: z47.object({
33059
+ id: z47.string(),
32739
33060
  pricing: coursePricingSchema.optional(),
32740
- priceCents: z46.number().nullable(),
32741
- currency: z46.string(),
32742
- enrollmentOpen: z46.boolean()
33061
+ priceCents: z47.number().nullable(),
33062
+ currency: z47.string(),
33063
+ enrollmentOpen: z47.boolean()
32743
33064
  }).nullable().optional()
32744
33065
  });
32745
- publicEventsArraySchema = z46.array(publicEventSchema);
33066
+ publicEventsArraySchema = z47.array(publicEventSchema);
32746
33067
  }
32747
33068
  });
32748
33069
 
@@ -32967,6 +33288,41 @@ var init_filtering = __esm({
32967
33288
  }
32968
33289
  });
32969
33290
 
33291
+ // ../blocks/src/system/blocks/events/shared/layout.ts
33292
+ function eventSectionHeaderLayoutNodes() {
33293
+ return [
33294
+ text(
33295
+ { as: "h2" },
33296
+ bind("content.heading"),
33297
+ when("content.heading", {
33298
+ authoringPresence: recoverEmptyHeadingWhenActive
33299
+ })
33300
+ ),
33301
+ richText(
33302
+ { className: "rb-prose rb-max-w-none" },
33303
+ bind("content.description"),
33304
+ when("content.description", {
33305
+ authoringPresence: recoverEmptyDescriptionWhenActive
33306
+ })
33307
+ )
33308
+ ];
33309
+ }
33310
+ var recoverEmptyHeadingWhenActive, recoverEmptyDescriptionWhenActive;
33311
+ var init_layout2 = __esm({
33312
+ "../blocks/src/system/blocks/events/shared/layout.ts"() {
33313
+ "use strict";
33314
+ init_builder2();
33315
+ recoverEmptyHeadingWhenActive = {
33316
+ kind: "recover-empty-when-active",
33317
+ placeholder: "Add heading"
33318
+ };
33319
+ recoverEmptyDescriptionWhenActive = {
33320
+ kind: "recover-empty-when-active",
33321
+ placeholder: "Add description"
33322
+ };
33323
+ }
33324
+ });
33325
+
32970
33326
  // ../blocks/src/system/blocks/events/shared/index.ts
32971
33327
  var init_shared3 = __esm({
32972
33328
  "../blocks/src/system/blocks/events/shared/index.ts"() {
@@ -32975,61 +33331,62 @@ var init_shared3 = __esm({
32975
33331
  init_schemas2();
32976
33332
  init_fields();
32977
33333
  init_filtering();
33334
+ init_layout2();
32978
33335
  }
32979
33336
  });
32980
33337
 
32981
33338
  // ../blocks/src/system/blocks/shop.shared.ts
32982
- import { z as z47 } from "zod";
33339
+ import { z as z48 } from "zod";
32983
33340
  var publicPassProductSchema, publicPassProductCollectionSchema, publicMembershipProductSchema, publicMembershipProductCollectionSchema;
32984
33341
  var init_shop_shared = __esm({
32985
33342
  "../blocks/src/system/blocks/shop.shared.ts"() {
32986
33343
  "use strict";
32987
- publicPassProductSchema = z47.object({
32988
- id: z47.string(),
32989
- productUseCase: z47.enum(["event_pass", "appointment_package"]).default("event_pass"),
32990
- name: z47.string(),
32991
- description: z47.string().nullable(),
32992
- price: z47.number(),
32993
- currency: z47.string(),
32994
- creditsTotal: z47.number(),
32995
- pricePerCredit: z47.number(),
32996
- validDays: z47.number().nullable(),
32997
- eligibleCategoryIds: z47.array(z47.string()),
32998
- eligibleCategoryNames: z47.array(z47.string())
32999
- });
33000
- publicPassProductCollectionSchema = z47.object({
33001
- passes: z47.array(publicPassProductSchema)
33002
- });
33003
- publicMembershipProductSchema = z47.object({
33004
- id: z47.string(),
33005
- name: z47.string(),
33006
- description: z47.string().nullable(),
33007
- price: z47.number(),
33008
- currency: z47.string(),
33009
- billingInterval: z47.enum(["month", "year"]),
33010
- eligibleCategoryIds: z47.array(z47.string()),
33011
- eligibleCategoryNames: z47.array(z47.string())
33344
+ publicPassProductSchema = z48.object({
33345
+ id: z48.string(),
33346
+ productUseCase: z48.enum(["event_pass", "appointment_package"]).default("event_pass"),
33347
+ name: z48.string(),
33348
+ description: z48.string().nullable(),
33349
+ price: z48.number(),
33350
+ currency: z48.string(),
33351
+ creditsTotal: z48.number(),
33352
+ pricePerCredit: z48.number(),
33353
+ validDays: z48.number().nullable(),
33354
+ eligibleCategoryIds: z48.array(z48.string()),
33355
+ eligibleCategoryNames: z48.array(z48.string())
33356
+ });
33357
+ publicPassProductCollectionSchema = z48.object({
33358
+ passes: z48.array(publicPassProductSchema)
33359
+ });
33360
+ publicMembershipProductSchema = z48.object({
33361
+ id: z48.string(),
33362
+ name: z48.string(),
33363
+ description: z48.string().nullable(),
33364
+ price: z48.number(),
33365
+ currency: z48.string(),
33366
+ billingInterval: z48.enum(["month", "year"]),
33367
+ eligibleCategoryIds: z48.array(z48.string()),
33368
+ eligibleCategoryNames: z48.array(z48.string())
33012
33369
  });
33013
- publicMembershipProductCollectionSchema = z47.object({
33014
- memberships: z47.array(publicMembershipProductSchema)
33370
+ publicMembershipProductCollectionSchema = z48.object({
33371
+ memberships: z48.array(publicMembershipProductSchema)
33015
33372
  });
33016
33373
  }
33017
33374
  });
33018
33375
 
33019
33376
  // ../blocks/src/system/blocks/event-registration.shared.ts
33020
- import { z as z48 } from "zod";
33377
+ import { z as z49 } from "zod";
33021
33378
  var occurrenceContextSchema;
33022
33379
  var init_event_registration_shared = __esm({
33023
33380
  "../blocks/src/system/blocks/event-registration.shared.ts"() {
33024
33381
  "use strict";
33025
- occurrenceContextSchema = z48.object({
33026
- id: z48.string(),
33027
- seriesId: z48.string(),
33028
- startsAt: z48.string(),
33029
- endsAt: z48.string(),
33030
- timeZone: z48.string(),
33031
- capacityOverride: z48.number().nullable().optional(),
33032
- overrides: z48.record(z48.string(), z48.unknown()).nullable().optional()
33382
+ occurrenceContextSchema = z49.object({
33383
+ id: z49.string(),
33384
+ seriesId: z49.string(),
33385
+ startsAt: z49.string(),
33386
+ endsAt: z49.string(),
33387
+ timeZone: z49.string(),
33388
+ capacityOverride: z49.number().nullable().optional(),
33389
+ overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
33033
33390
  }).nullable();
33034
33391
  }
33035
33392
  });
@@ -33237,22 +33594,22 @@ var init_pricing = __esm({
33237
33594
  });
33238
33595
 
33239
33596
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
33240
- import { z as z49 } from "zod";
33597
+ import { z as z50 } from "zod";
33241
33598
  var previewStageSchema, registrationButtonVariantSchema, eventButtonVariantSchema, eventLayoutSchema, eventCalendarDisplayModeSchema, eventCalendarDefaultViewSchema, columnOptionSchema, weekStartSchema, filterAutoShowSchema, calendarTabViewsSchema;
33242
33599
  var init_contract_schemas = __esm({
33243
33600
  "../blocks/src/system/runtime/nodes/shared/contract-schemas.ts"() {
33244
33601
  "use strict";
33245
33602
  init_events();
33246
- previewStageSchema = z49.enum(["preview", "published"]);
33247
- registrationButtonVariantSchema = z49.enum(["primary", "secondary", "outline"]);
33248
- eventButtonVariantSchema = z49.enum(["primary", "secondary", "outline", "link"]);
33249
- eventLayoutSchema = z49.enum(eventCalendarListLayoutValues);
33250
- eventCalendarDisplayModeSchema = z49.enum(eventCalendarDisplayModeValues);
33251
- eventCalendarDefaultViewSchema = z49.enum(eventCalendarDefaultViewValues);
33252
- columnOptionSchema = z49.enum(["2", "3", "4"]);
33253
- weekStartSchema = z49.enum(["sunday", "monday"]);
33254
- filterAutoShowSchema = z49.enum(["auto", "always", "never"]);
33255
- calendarTabViewsSchema = z49.enum(["both", "month", "week"]);
33603
+ previewStageSchema = z50.enum(["preview", "published"]);
33604
+ registrationButtonVariantSchema = z50.enum(["primary", "secondary", "outline"]);
33605
+ eventButtonVariantSchema = z50.enum(["primary", "secondary", "outline", "link"]);
33606
+ eventLayoutSchema = z50.enum(eventCalendarListLayoutValues);
33607
+ eventCalendarDisplayModeSchema = z50.enum(eventCalendarDisplayModeValues);
33608
+ eventCalendarDefaultViewSchema = z50.enum(eventCalendarDefaultViewValues);
33609
+ columnOptionSchema = z50.enum(["2", "3", "4"]);
33610
+ weekStartSchema = z50.enum(["sunday", "monday"]);
33611
+ filterAutoShowSchema = z50.enum(["auto", "always", "never"]);
33612
+ calendarTabViewsSchema = z50.enum(["both", "month", "week"]);
33256
33613
  }
33257
33614
  });
33258
33615
 
@@ -33330,7 +33687,7 @@ var init_registrationEventAdapter = __esm({
33330
33687
  });
33331
33688
 
33332
33689
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
33333
- import { z as z50 } from "zod";
33690
+ import { z as z51 } from "zod";
33334
33691
  function buildEventRegistrationDisplay(source) {
33335
33692
  const stepLabels = buildEventRegistrationShellStepLabels(source);
33336
33693
  return {
@@ -33438,72 +33795,72 @@ var init_event_registration_interactive = __esm({
33438
33795
  init_registrationEventAdapter();
33439
33796
  EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
33440
33797
  EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
33441
- contentEntrySchema = z50.object({
33442
- id: z50.string(),
33443
- slug: z50.string(),
33444
- contentTypeSlug: z50.string()
33798
+ contentEntrySchema = z51.object({
33799
+ id: z51.string(),
33800
+ slug: z51.string(),
33801
+ contentTypeSlug: z51.string()
33445
33802
  });
33446
- eventRegistrationPublicEventSchema = z50.preprocess(
33803
+ eventRegistrationPublicEventSchema = z51.preprocess(
33447
33804
  normalizeEventRegistrationEventInput,
33448
33805
  publicEventSchema
33449
33806
  );
33450
- eventRegistrationSourceSchema = z50.object({
33451
- siteId: z50.string().optional(),
33452
- apiBaseUrl: z50.string().optional(),
33453
- portalToken: z50.string().nullable().optional(),
33454
- previewToken: z50.string().nullable().optional(),
33807
+ eventRegistrationSourceSchema = z51.object({
33808
+ siteId: z51.string().optional(),
33809
+ apiBaseUrl: z51.string().optional(),
33810
+ portalToken: z51.string().nullable().optional(),
33811
+ previewToken: z51.string().nullable().optional(),
33455
33812
  occurrenceContext: occurrenceContextSchema.optional(),
33456
33813
  contentEntry: contentEntrySchema.nullable().optional(),
33457
- events: z50.array(eventRegistrationPublicEventSchema).nullable().optional(),
33458
- className: z50.string().nullable().optional(),
33459
- buttonText: z50.string().nullable().optional(),
33460
- maxTickets: z50.string().nullable().optional(),
33461
- showVenue: z50.boolean().optional(),
33462
- showCapacity: z50.boolean().optional(),
33463
- successMessage: z50.string().optional(),
33464
- waitlistMessage: z50.string().optional(),
33814
+ events: z51.array(eventRegistrationPublicEventSchema).nullable().optional(),
33815
+ className: z51.string().nullable().optional(),
33816
+ buttonText: z51.string().nullable().optional(),
33817
+ maxTickets: z51.string().nullable().optional(),
33818
+ showVenue: z51.boolean().optional(),
33819
+ showCapacity: z51.boolean().optional(),
33820
+ successMessage: z51.string().optional(),
33821
+ waitlistMessage: z51.string().optional(),
33465
33822
  buttonVariant: registrationButtonVariantSchema.optional(),
33466
- overlayEnabled: z50.boolean().optional(),
33467
- spamProtectionEnabled: z50.boolean().optional(),
33823
+ overlayEnabled: z51.boolean().optional(),
33824
+ spamProtectionEnabled: z51.boolean().optional(),
33468
33825
  stage: previewStageSchema.optional(),
33469
- supportEmail: z50.string().optional(),
33826
+ supportEmail: z51.string().optional(),
33470
33827
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
33471
33828
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
33472
33829
  });
33473
- eventRegistrationDisplaySchema = z50.object({
33474
- kind: z50.literal("event-registration"),
33475
- state: z50.literal("generic-shell"),
33476
- className: z50.string().nullable(),
33477
- titleText: z50.string(),
33478
- bodyText: z50.string(),
33479
- stepLabels: z50.array(z50.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
33480
- summaryButtonText: z50.string()
33830
+ eventRegistrationDisplaySchema = z51.object({
33831
+ kind: z51.literal("event-registration"),
33832
+ state: z51.literal("generic-shell"),
33833
+ className: z51.string().nullable(),
33834
+ titleText: z51.string(),
33835
+ bodyText: z51.string(),
33836
+ stepLabels: z51.array(z51.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
33837
+ summaryButtonText: z51.string()
33481
33838
  });
33482
- eventRegistrationHydrationSchema = z50.object({
33839
+ eventRegistrationHydrationSchema = z51.object({
33483
33840
  occurrenceContext: occurrenceContextSchema.optional(),
33484
33841
  contentEntry: contentEntrySchema.nullable().optional(),
33485
- events: z50.array(eventRegistrationPublicEventSchema).nullable().optional(),
33486
- maxTickets: z50.string().optional(),
33487
- showVenue: z50.boolean().optional(),
33488
- showCapacity: z50.boolean().optional(),
33489
- successMessage: z50.string().optional(),
33490
- waitlistMessage: z50.string().optional(),
33842
+ events: z51.array(eventRegistrationPublicEventSchema).nullable().optional(),
33843
+ maxTickets: z51.string().optional(),
33844
+ showVenue: z51.boolean().optional(),
33845
+ showCapacity: z51.boolean().optional(),
33846
+ successMessage: z51.string().optional(),
33847
+ waitlistMessage: z51.string().optional(),
33491
33848
  buttonVariant: registrationButtonVariantSchema.optional(),
33492
- overlayEnabled: z50.boolean().optional(),
33493
- spamProtectionEnabled: z50.boolean().optional(),
33494
- supportEmail: z50.string().optional(),
33849
+ overlayEnabled: z51.boolean().optional(),
33850
+ spamProtectionEnabled: z51.boolean().optional(),
33851
+ supportEmail: z51.string().optional(),
33495
33852
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
33496
33853
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
33497
33854
  });
33498
- eventRegistrationRenderSchema = z50.object({
33855
+ eventRegistrationRenderSchema = z51.object({
33499
33856
  display: eventRegistrationDisplaySchema,
33500
33857
  hydration: eventRegistrationHydrationSchema
33501
33858
  });
33502
- eventRegistrationIslandMetaCodec = createZodCodec(z50.object({
33503
- siteId: z50.string().optional(),
33504
- apiBaseUrl: z50.string().optional(),
33505
- portalToken: z50.string().nullable().optional(),
33506
- previewToken: z50.string().nullable().optional(),
33859
+ eventRegistrationIslandMetaCodec = createZodCodec(z51.object({
33860
+ siteId: z51.string().optional(),
33861
+ apiBaseUrl: z51.string().optional(),
33862
+ portalToken: z51.string().nullable().optional(),
33863
+ previewToken: z51.string().nullable().optional(),
33507
33864
  stage: previewStageSchema.optional()
33508
33865
  }));
33509
33866
  eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -33807,7 +34164,7 @@ var init_shared4 = __esm({
33807
34164
  });
33808
34165
 
33809
34166
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
33810
- import { z as z51 } from "zod";
34167
+ import { z as z52 } from "zod";
33811
34168
  function buildCourseRegistrationDisplay(source) {
33812
34169
  return {
33813
34170
  kind: "course-registration",
@@ -33825,72 +34182,72 @@ var init_course_registration_interactive = __esm({
33825
34182
  init_islands();
33826
34183
  init_runtime();
33827
34184
  init_contract_schemas();
33828
- contentEntrySchema2 = z51.object({
33829
- id: z51.string(),
33830
- slug: z51.string(),
33831
- contentTypeSlug: z51.string()
33832
- });
33833
- courseEntrySubrouteContextSchema = z51.union([
33834
- z51.object({
33835
- kind: z51.literal("course-run"),
33836
- run: z51.object({
33837
- courseId: z51.string(),
33838
- seriesId: z51.string(),
33839
- runSlug: z51.string(),
33840
- runName: z51.string().nullable()
34185
+ contentEntrySchema2 = z52.object({
34186
+ id: z52.string(),
34187
+ slug: z52.string(),
34188
+ contentTypeSlug: z52.string()
34189
+ });
34190
+ courseEntrySubrouteContextSchema = z52.union([
34191
+ z52.object({
34192
+ kind: z52.literal("course-run"),
34193
+ run: z52.object({
34194
+ courseId: z52.string(),
34195
+ seriesId: z52.string(),
34196
+ runSlug: z52.string(),
34197
+ runName: z52.string().nullable()
33841
34198
  })
33842
34199
  }),
33843
- z51.object({
33844
- kind: z51.literal("event-occurrence"),
34200
+ z52.object({
34201
+ kind: z52.literal("event-occurrence"),
33845
34202
  occurrence: occurrenceContextSchema
33846
34203
  })
33847
34204
  ]);
33848
- courseRegistrationSourceSchema = z51.object({
33849
- siteId: z51.string().optional(),
33850
- apiBaseUrl: z51.string().optional(),
33851
- portalToken: z51.string().nullable().optional(),
34205
+ courseRegistrationSourceSchema = z52.object({
34206
+ siteId: z52.string().optional(),
34207
+ apiBaseUrl: z52.string().optional(),
34208
+ portalToken: z52.string().nullable().optional(),
33852
34209
  contentEntry: contentEntrySchema2.nullable().optional(),
33853
34210
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
33854
- courses: z51.array(publicCourseSchema).nullable().optional(),
33855
- className: z51.string().nullable().optional(),
33856
- showSessions: z51.boolean().optional(),
33857
- showPrice: z51.boolean().optional(),
33858
- showCapacity: z51.boolean().optional(),
33859
- showVenue: z51.boolean().optional(),
33860
- successMessage: z51.string().optional(),
33861
- waitlistMessage: z51.string().optional(),
33862
- membershipMessage: z51.string().optional(),
33863
- buttonText: z51.string().nullable().optional(),
34211
+ courses: z52.array(publicCourseSchema).nullable().optional(),
34212
+ className: z52.string().nullable().optional(),
34213
+ showSessions: z52.boolean().optional(),
34214
+ showPrice: z52.boolean().optional(),
34215
+ showCapacity: z52.boolean().optional(),
34216
+ showVenue: z52.boolean().optional(),
34217
+ successMessage: z52.string().optional(),
34218
+ waitlistMessage: z52.string().optional(),
34219
+ membershipMessage: z52.string().optional(),
34220
+ buttonText: z52.string().nullable().optional(),
33864
34221
  buttonVariant: registrationButtonVariantSchema.optional(),
33865
34222
  stage: previewStageSchema.optional()
33866
34223
  });
33867
- courseRegistrationDisplaySchema = z51.object({
33868
- kind: z51.literal("course-registration"),
33869
- state: z51.literal("shell"),
33870
- className: z51.string().nullable(),
33871
- summaryButtonText: z51.string()
34224
+ courseRegistrationDisplaySchema = z52.object({
34225
+ kind: z52.literal("course-registration"),
34226
+ state: z52.literal("shell"),
34227
+ className: z52.string().nullable(),
34228
+ summaryButtonText: z52.string()
33872
34229
  });
33873
- courseRegistrationHydrationSchema = z51.object({
34230
+ courseRegistrationHydrationSchema = z52.object({
33874
34231
  contentEntry: contentEntrySchema2.nullable().optional(),
33875
34232
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
33876
- courses: z51.array(publicCourseSchema).nullable().optional(),
33877
- showSessions: z51.boolean().optional(),
33878
- showPrice: z51.boolean().optional(),
33879
- showCapacity: z51.boolean().optional(),
33880
- showVenue: z51.boolean().optional(),
33881
- successMessage: z51.string().optional(),
33882
- waitlistMessage: z51.string().optional(),
33883
- membershipMessage: z51.string().optional(),
34233
+ courses: z52.array(publicCourseSchema).nullable().optional(),
34234
+ showSessions: z52.boolean().optional(),
34235
+ showPrice: z52.boolean().optional(),
34236
+ showCapacity: z52.boolean().optional(),
34237
+ showVenue: z52.boolean().optional(),
34238
+ successMessage: z52.string().optional(),
34239
+ waitlistMessage: z52.string().optional(),
34240
+ membershipMessage: z52.string().optional(),
33884
34241
  buttonVariant: registrationButtonVariantSchema.optional()
33885
34242
  });
33886
- courseRegistrationRenderSchema = z51.object({
34243
+ courseRegistrationRenderSchema = z52.object({
33887
34244
  display: courseRegistrationDisplaySchema,
33888
34245
  hydration: courseRegistrationHydrationSchema
33889
34246
  });
33890
- courseRegistrationIslandMetaCodec = createZodCodec(z51.object({
33891
- siteId: z51.string().optional(),
33892
- apiBaseUrl: z51.string().optional(),
33893
- portalToken: z51.string().nullable().optional(),
34247
+ courseRegistrationIslandMetaCodec = createZodCodec(z52.object({
34248
+ siteId: z52.string().optional(),
34249
+ apiBaseUrl: z52.string().optional(),
34250
+ portalToken: z52.string().nullable().optional(),
33894
34251
  stage: previewStageSchema.optional()
33895
34252
  }));
33896
34253
  courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -34158,7 +34515,7 @@ var init_course_registration = __esm({
34158
34515
  });
34159
34516
 
34160
34517
  // ../blocks/src/system/blocks/event-details.ts
34161
- import { z as z52 } from "zod";
34518
+ import { z as z53 } from "zod";
34162
34519
  var eventDetailsManifest, occurrenceContextSchema2, eventAutoApplyDiscountPreviewBaseSchema, eventAutoApplyDiscountPreviewSchema, eventDetailsBlockDefinition;
34163
34520
  var init_event_details = __esm({
34164
34521
  "../blocks/src/system/blocks/event-details.ts"() {
@@ -34301,37 +34658,37 @@ var init_event_details = __esm({
34301
34658
  })
34302
34659
  ]
34303
34660
  });
34304
- occurrenceContextSchema2 = z52.object({
34305
- id: z52.string(),
34306
- seriesId: z52.string(),
34307
- startsAt: z52.string(),
34308
- endsAt: z52.string(),
34309
- timeZone: z52.string(),
34310
- capacityOverride: z52.number().nullable().optional(),
34311
- overrides: z52.record(z52.string(), z52.unknown()).nullable().optional()
34661
+ occurrenceContextSchema2 = z53.object({
34662
+ id: z53.string(),
34663
+ seriesId: z53.string(),
34664
+ startsAt: z53.string(),
34665
+ endsAt: z53.string(),
34666
+ timeZone: z53.string(),
34667
+ capacityOverride: z53.number().nullable().optional(),
34668
+ overrides: z53.record(z53.string(), z53.unknown()).nullable().optional()
34312
34669
  }).nullable();
34313
- eventAutoApplyDiscountPreviewBaseSchema = z52.object({
34314
- id: z52.string(),
34315
- publicLabel: z52.string(),
34316
- description: z52.string().nullable(),
34317
- minTicketsRequired: z52.number().nullable()
34670
+ eventAutoApplyDiscountPreviewBaseSchema = z53.object({
34671
+ id: z53.string(),
34672
+ publicLabel: z53.string(),
34673
+ description: z53.string().nullable(),
34674
+ minTicketsRequired: z53.number().nullable()
34318
34675
  });
34319
- eventAutoApplyDiscountPreviewSchema = z52.discriminatedUnion("discountType", [
34676
+ eventAutoApplyDiscountPreviewSchema = z53.discriminatedUnion("discountType", [
34320
34677
  eventAutoApplyDiscountPreviewBaseSchema.extend({
34321
- discountType: z52.literal("percent"),
34322
- discountPercent: z52.number(),
34323
- discountAmountCents: z52.null()
34678
+ discountType: z53.literal("percent"),
34679
+ discountPercent: z53.number(),
34680
+ discountAmountCents: z53.null()
34324
34681
  }),
34325
34682
  eventAutoApplyDiscountPreviewBaseSchema.extend({
34326
- discountType: z52.literal("fixed"),
34327
- discountPercent: z52.null(),
34328
- discountAmountCents: z52.number()
34683
+ discountType: z53.literal("fixed"),
34684
+ discountPercent: z53.null(),
34685
+ discountAmountCents: z53.number()
34329
34686
  })
34330
34687
  ]);
34331
34688
  eventDetailsBlockDefinition = {
34332
34689
  manifest: eventDetailsManifest,
34333
34690
  dataSchemas: {
34334
- eventDetailsData: z52.object({
34691
+ eventDetailsData: z53.object({
34335
34692
  events: publicEventsArraySchema,
34336
34693
  sitePasses: publicPassProductCollectionSchema,
34337
34694
  siteMemberships: publicMembershipProductCollectionSchema,
@@ -34554,7 +34911,6 @@ var init_event_spotlight = __esm({
34554
34911
  "../blocks/src/system/blocks/events/event-spotlight.ts"() {
34555
34912
  "use strict";
34556
34913
  init_builder2();
34557
- init_builder2();
34558
34914
  init_styledSection();
34559
34915
  init_fragments();
34560
34916
  init_boxStyles();
@@ -34610,18 +34966,7 @@ var init_event_spotlight = __esm({
34610
34966
  eventSpotlightLayout = [
34611
34967
  styledSection({
34612
34968
  children: sectionContainer([
34613
- // Optional heading
34614
- text(
34615
- { as: "h2" },
34616
- bind("content.heading"),
34617
- when("content.heading")
34618
- ),
34619
- // Optional description
34620
- richText(
34621
- { className: "rb-prose rb-max-w-none" },
34622
- bind("content.description"),
34623
- when("content.description")
34624
- ),
34969
+ ...eventSectionHeaderLayoutNodes(),
34625
34970
  // Event spotlight component
34626
34971
  el("event-spotlight", {
34627
34972
  events: { $bind: { from: "data.events" } },
@@ -34818,7 +35163,7 @@ var init_shared5 = __esm({
34818
35163
  });
34819
35164
 
34820
35165
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
34821
- import { z as z53 } from "zod";
35166
+ import { z as z54 } from "zod";
34822
35167
  function resolveEventPageSize(value, fallback = 12) {
34823
35168
  const candidate = typeof value === "number" ? value : typeof value === "string" && value.trim() !== "" ? Number(value.trim()) : null;
34824
35169
  return candidate != null && Number.isInteger(candidate) && eventPageSizeSet.has(candidate) ? candidate : fallback;
@@ -34839,32 +35184,32 @@ var init_listOptions = __esm({
34839
35184
  "../blocks/src/system/runtime/nodes/events/shared/listOptions.ts"() {
34840
35185
  "use strict";
34841
35186
  eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
34842
- eventPageSizeSchema = z53.union([
34843
- z53.literal(3),
34844
- z53.literal(6),
34845
- z53.literal(10),
34846
- z53.literal(12),
34847
- z53.literal(20),
34848
- z53.literal(24),
34849
- z53.literal(30)
35187
+ eventPageSizeSchema = z54.union([
35188
+ z54.literal(3),
35189
+ z54.literal(6),
35190
+ z54.literal(10),
35191
+ z54.literal(12),
35192
+ z54.literal(20),
35193
+ z54.literal(24),
35194
+ z54.literal(30)
34850
35195
  ]);
34851
35196
  eventPageSizeSet = new Set(eventPageSizeValues);
34852
- eventListPaginationActionSchema = z53.discriminatedUnion("kind", [
34853
- z53.object({
34854
- kind: z53.literal("loadMore"),
34855
- label: z53.string()
35197
+ eventListPaginationActionSchema = z54.discriminatedUnion("kind", [
35198
+ z54.object({
35199
+ kind: z54.literal("loadMore"),
35200
+ label: z54.string()
34856
35201
  }),
34857
- z53.object({
34858
- kind: z53.literal("seeAllLink"),
34859
- label: z53.string(),
34860
- href: z53.string()
35202
+ z54.object({
35203
+ kind: z54.literal("seeAllLink"),
35204
+ label: z54.string(),
35205
+ href: z54.string()
34861
35206
  })
34862
35207
  ]);
34863
35208
  }
34864
35209
  });
34865
35210
 
34866
35211
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
34867
- import { z as z54 } from "zod";
35212
+ import { z as z55 } from "zod";
34868
35213
  var legacyEventCardVariantSchema, eventCardVariantInputSchema, cardOrientationSchema, eventBlockKindSchema, eventSurfaceScopeSchema, eventScheduleScopeSchema2, eventListingSourceSchema, eventListingDisplaySchema, eventListingHydrationSchema, eventListingRenderSchema, eventListingIslandMetaCodec, eventListingBlockRuntime, eventListingIslandMetaKeys, eventListingInteractiveIslandPropsCodec;
34869
35214
  var init_EventListing_interactive = __esm({
34870
35215
  "../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts"() {
@@ -34877,89 +35222,89 @@ var init_EventListing_interactive = __esm({
34877
35222
  init_shared5();
34878
35223
  init_contract_schemas();
34879
35224
  init_listOptions();
34880
- legacyEventCardVariantSchema = z54.enum(["variant1", "variant2"]);
34881
- eventCardVariantInputSchema = z54.union([
35225
+ legacyEventCardVariantSchema = z55.enum(["variant1", "variant2"]);
35226
+ eventCardVariantInputSchema = z55.union([
34882
35227
  cardVariantRoleSchema,
34883
35228
  legacyEventCardVariantSchema
34884
35229
  ]);
34885
- cardOrientationSchema = z54.enum(["vertical", "horizontal"]);
34886
- eventBlockKindSchema = z54.enum(eventBlockKindValues);
34887
- eventSurfaceScopeSchema = z54.enum(eventSurfaceScopeValues);
34888
- eventScheduleScopeSchema2 = z54.enum(eventScheduleScopeValues);
34889
- eventListingSourceSchema = z54.object({
34890
- events: z54.array(publicEventSchema).nullable().optional(),
34891
- siteId: z54.string(),
34892
- apiBaseUrl: z54.string().optional(),
35230
+ cardOrientationSchema = z55.enum(["vertical", "horizontal"]);
35231
+ eventBlockKindSchema = z55.enum(eventBlockKindValues);
35232
+ eventSurfaceScopeSchema = z55.enum(eventSurfaceScopeValues);
35233
+ eventScheduleScopeSchema2 = z55.enum(eventScheduleScopeValues);
35234
+ eventListingSourceSchema = z55.object({
35235
+ events: z55.array(publicEventSchema).nullable().optional(),
35236
+ siteId: z55.string(),
35237
+ apiBaseUrl: z55.string().optional(),
34893
35238
  stage: previewStageSchema.optional(),
34894
35239
  layout: eventLayoutSchema.optional(),
34895
35240
  columns: columnOptionSchema.optional(),
34896
- eventsPerPage: z54.string().optional(),
34897
- paginationMode: z54.enum(["loadMore", "seeAllLink"]).optional(),
34898
- seeAllUrl: z54.string().optional(),
34899
- loadMoreText: z54.string().optional(),
35241
+ eventsPerPage: z55.string().optional(),
35242
+ paginationMode: z55.enum(["loadMore", "seeAllLink"]).optional(),
35243
+ seeAllUrl: z55.string().optional(),
35244
+ loadMoreText: z55.string().optional(),
34900
35245
  cardVariant: eventCardVariantInputSchema.optional(),
34901
35246
  buttonVariant: eventButtonVariantSchema.optional(),
34902
- buttonText: z54.string().optional(),
34903
- showVenue: z54.boolean().optional(),
34904
- showMap: z54.boolean().optional(),
34905
- showCapacity: z54.boolean().optional(),
34906
- emptyMessage: z54.string().optional(),
34907
- className: z54.string().optional(),
34908
- showFilters: z54.boolean().nullable().optional(),
35247
+ buttonText: z55.string().optional(),
35248
+ showVenue: z55.boolean().optional(),
35249
+ showMap: z55.boolean().optional(),
35250
+ showCapacity: z55.boolean().optional(),
35251
+ emptyMessage: z55.string().optional(),
35252
+ className: z55.string().optional(),
35253
+ showFilters: z55.boolean().nullable().optional(),
34909
35254
  showCategoryFilter: filterAutoShowSchema.optional(),
34910
- showVenueFilter: z54.boolean().nullable().optional(),
34911
- showStaffFilter: z54.boolean().nullable().optional(),
35255
+ showVenueFilter: z55.boolean().nullable().optional(),
35256
+ showStaffFilter: z55.boolean().nullable().optional(),
34912
35257
  eventKind: eventBlockKindSchema.nullable().optional(),
34913
35258
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
34914
- filterEventPresets: z54.union([z54.string(), z54.array(z54.string())]).nullable().optional(),
35259
+ filterEventPresets: z55.union([z55.string(), z55.array(z55.string())]).nullable().optional(),
34915
35260
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
34916
- filterCategoryIds: z54.string().nullable().optional(),
34917
- filterStaffMemberId: z54.string().nullable().optional(),
34918
- filterVenueId: z54.string().nullable().optional()
35261
+ filterCategoryIds: z55.string().nullable().optional(),
35262
+ filterStaffMemberId: z55.string().nullable().optional(),
35263
+ filterVenueId: z55.string().nullable().optional()
34919
35264
  });
34920
- eventListingDisplaySchema = z54.object({
34921
- kind: z54.literal("event-listing"),
34922
- state: z54.enum(["loading", "empty", "ready"]),
35265
+ eventListingDisplaySchema = z55.object({
35266
+ kind: z55.literal("event-listing"),
35267
+ state: z55.enum(["loading", "empty", "ready"]),
34923
35268
  listLayout: eventLayoutSchema,
34924
- className: z54.string().nullable(),
34925
- emptyMessage: z54.string(),
34926
- loadingMessage: z54.string(),
34927
- containerClass: z54.string(),
35269
+ className: z55.string().nullable(),
35270
+ emptyMessage: z55.string(),
35271
+ loadingMessage: z55.string(),
35272
+ containerClass: z55.string(),
34928
35273
  cardVariant: cardVariantRoleSchema,
34929
35274
  buttonVariant: eventButtonVariantSchema,
34930
- buttonText: z54.string(),
34931
- showVenue: z54.boolean(),
34932
- showMap: z54.boolean(),
34933
- showCapacity: z54.boolean(),
35275
+ buttonText: z55.string(),
35276
+ showVenue: z55.boolean(),
35277
+ showMap: z55.boolean(),
35278
+ showCapacity: z55.boolean(),
34934
35279
  orientation: cardOrientationSchema,
34935
- events: z54.array(publicEventSchema)
35280
+ events: z55.array(publicEventSchema)
34936
35281
  });
34937
- eventListingHydrationSchema = z54.object({
34938
- siteId: z54.string(),
35282
+ eventListingHydrationSchema = z55.object({
35283
+ siteId: z55.string(),
34939
35284
  stage: previewStageSchema.optional(),
34940
35285
  eventsPerPage: eventPageSizeSchema,
34941
35286
  paginationAction: eventListPaginationActionSchema,
34942
- showFilters: z54.boolean(),
35287
+ showFilters: z55.boolean(),
34943
35288
  showCategoryFilter: filterAutoShowSchema,
34944
- showVenueFilter: z54.boolean(),
34945
- showStaffFilter: z54.boolean(),
35289
+ showVenueFilter: z55.boolean(),
35290
+ showStaffFilter: z55.boolean(),
34946
35291
  eventKind: eventBlockKindSchema,
34947
35292
  eventSurface: eventSurfaceScopeSchema,
34948
- filterEventPresets: z54.string().nullable(),
35293
+ filterEventPresets: z55.string().nullable(),
34949
35294
  scheduleScope: eventScheduleScopeSchema2,
34950
- filterCategoryIds: z54.string().nullable().optional(),
34951
- filterStaffMemberId: z54.string().nullable().optional(),
34952
- filterVenueId: z54.string().nullable().optional(),
34953
- fetchInitialEventsOnMount: z54.boolean()
35295
+ filterCategoryIds: z55.string().nullable().optional(),
35296
+ filterStaffMemberId: z55.string().nullable().optional(),
35297
+ filterVenueId: z55.string().nullable().optional(),
35298
+ fetchInitialEventsOnMount: z55.boolean()
34954
35299
  });
34955
- eventListingRenderSchema = z54.object({
35300
+ eventListingRenderSchema = z55.object({
34956
35301
  display: eventListingDisplaySchema,
34957
35302
  hydration: eventListingHydrationSchema
34958
35303
  });
34959
35304
  eventListingIslandMetaCodec = createZodCodec(
34960
- z54.object({
34961
- siteId: z54.string(),
34962
- apiBaseUrl: z54.string().optional(),
35305
+ z55.object({
35306
+ siteId: z55.string(),
35307
+ apiBaseUrl: z55.string().optional(),
34963
35308
  stage: previewStageSchema.optional()
34964
35309
  })
34965
35310
  );
@@ -35049,7 +35394,6 @@ var init_event_listing = __esm({
35049
35394
  "../blocks/src/system/blocks/events/event-listing.ts"() {
35050
35395
  "use strict";
35051
35396
  init_builder2();
35052
- init_builder2();
35053
35397
  init_styledSection();
35054
35398
  init_fragments();
35055
35399
  init_boxStyles();
@@ -35214,18 +35558,7 @@ var init_event_listing = __esm({
35214
35558
  eventListingLayout = [
35215
35559
  styledSection({
35216
35560
  children: sectionContainer([
35217
- // Optional heading
35218
- text(
35219
- { as: "h2" },
35220
- bind("content.heading"),
35221
- when("content.heading")
35222
- ),
35223
- // Optional description
35224
- richText(
35225
- { className: "rb-prose rb-max-w-none" },
35226
- bind("content.description"),
35227
- when("content.description")
35228
- ),
35561
+ ...eventSectionHeaderLayoutNodes(),
35229
35562
  // Event listing component with pagination
35230
35563
  el("event-listing", withApiBindings({
35231
35564
  events: { $bind: { from: "data.events" } },
@@ -35343,7 +35676,7 @@ var init_event_listing = __esm({
35343
35676
  });
35344
35677
 
35345
35678
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
35346
- import { z as z55 } from "zod";
35679
+ import { z as z56 } from "zod";
35347
35680
  function buildEventCalendarDisplay(source) {
35348
35681
  const listLayout = source.listLayout ?? source.layout ?? "stack";
35349
35682
  return {
@@ -35397,14 +35730,14 @@ var init_EventCalendar_interactive = __esm({
35397
35730
  init_runtime();
35398
35731
  init_contract_schemas();
35399
35732
  init_listOptions();
35400
- eventBlockKindSchema2 = z55.enum(eventBlockKindValues);
35401
- eventSurfaceScopeSchema2 = z55.enum(eventSurfaceScopeValues);
35402
- eventScheduleScopeSchema3 = z55.enum(eventScheduleScopeValues);
35403
- eventCalendarSourceSchema = z55.object(
35733
+ eventBlockKindSchema2 = z56.enum(eventBlockKindValues);
35734
+ eventSurfaceScopeSchema2 = z56.enum(eventSurfaceScopeValues);
35735
+ eventScheduleScopeSchema3 = z56.enum(eventScheduleScopeValues);
35736
+ eventCalendarSourceSchema = z56.object(
35404
35737
  {
35405
- events: z55.array(publicEventSchema).nullable().optional(),
35406
- siteId: z55.string(),
35407
- apiBaseUrl: z55.string().optional(),
35738
+ events: z56.array(publicEventSchema).nullable().optional(),
35739
+ siteId: z56.string(),
35740
+ apiBaseUrl: z56.string().optional(),
35408
35741
  stage: previewStageSchema.optional(),
35409
35742
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
35410
35743
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -35412,38 +35745,38 @@ var init_EventCalendar_interactive = __esm({
35412
35745
  listColumns: columnOptionSchema.optional(),
35413
35746
  layout: eventLayoutSchema.optional(),
35414
35747
  columns: columnOptionSchema.optional(),
35415
- eventsPerPage: z55.string().optional(),
35416
- paginationMode: z55.enum(["loadMore", "seeAllLink"]).optional(),
35417
- seeAllUrl: z55.string().optional(),
35418
- loadMoreText: z55.string().optional(),
35748
+ eventsPerPage: z56.string().optional(),
35749
+ paginationMode: z56.enum(["loadMore", "seeAllLink"]).optional(),
35750
+ seeAllUrl: z56.string().optional(),
35751
+ loadMoreText: z56.string().optional(),
35419
35752
  startOfWeek: weekStartSchema.optional(),
35420
35753
  calendarTabViews: calendarTabViewsSchema.optional(),
35421
35754
  defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
35422
- showFilters: z55.boolean().nullable().optional(),
35755
+ showFilters: z56.boolean().nullable().optional(),
35423
35756
  showCategoryFilter: filterAutoShowSchema.optional(),
35424
- showVenueFilter: z55.boolean().nullable().optional(),
35425
- showStaffFilter: z55.boolean().nullable().optional(),
35757
+ showVenueFilter: z56.boolean().nullable().optional(),
35758
+ showStaffFilter: z56.boolean().nullable().optional(),
35426
35759
  kind: eventBlockKindSchema2.nullable().optional(),
35427
35760
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
35428
- filterEventPresets: z55.union([z55.string(), z55.array(z55.string())]).nullable().optional(),
35761
+ filterEventPresets: z56.union([z56.string(), z56.array(z56.string())]).nullable().optional(),
35429
35762
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
35430
- filterCategoryIds: z55.union([z55.string(), z55.array(z55.string())]).nullable().optional(),
35431
- filterStaffMemberId: z55.string().nullable().optional(),
35432
- filterVenueId: z55.string().nullable().optional(),
35763
+ filterCategoryIds: z56.union([z56.string(), z56.array(z56.string())]).nullable().optional(),
35764
+ filterStaffMemberId: z56.string().nullable().optional(),
35765
+ filterVenueId: z56.string().nullable().optional(),
35433
35766
  buttonVariant: eventButtonVariantSchema.optional(),
35434
- buttonText: z55.string().optional(),
35435
- showVenue: z55.boolean().nullable().optional(),
35436
- showMap: z55.boolean().nullable().optional(),
35437
- showCapacity: z55.boolean().nullable().optional(),
35438
- emptyMessage: z55.string().optional(),
35439
- className: z55.string().optional()
35767
+ buttonText: z56.string().optional(),
35768
+ showVenue: z56.boolean().nullable().optional(),
35769
+ showMap: z56.boolean().nullable().optional(),
35770
+ showCapacity: z56.boolean().nullable().optional(),
35771
+ emptyMessage: z56.string().optional(),
35772
+ className: z56.string().optional()
35440
35773
  }
35441
35774
  );
35442
- eventCalendarDisplaySchema = z55.object({
35443
- kind: z55.literal("event-calendar"),
35775
+ eventCalendarDisplaySchema = z56.object({
35776
+ kind: z56.literal("event-calendar"),
35444
35777
  displayMode: eventCalendarDisplayModeSchema,
35445
- className: z55.string().nullable(),
35446
- events: z55.array(publicEventSchema),
35778
+ className: z56.string().nullable(),
35779
+ events: z56.array(publicEventSchema),
35447
35780
  listLayout: eventLayoutSchema,
35448
35781
  listColumns: columnOptionSchema,
35449
35782
  eventsPerPage: eventPageSizeSchema,
@@ -35451,41 +35784,41 @@ var init_EventCalendar_interactive = __esm({
35451
35784
  startOfWeek: weekStartSchema,
35452
35785
  calendarTabViews: calendarTabViewsSchema,
35453
35786
  defaultCalendarView: eventCalendarDefaultViewSchema,
35454
- showFilters: z55.boolean(),
35787
+ showFilters: z56.boolean(),
35455
35788
  showCategoryFilter: filterAutoShowSchema,
35456
- showVenueFilter: z55.boolean(),
35457
- showStaffFilter: z55.boolean(),
35789
+ showVenueFilter: z56.boolean(),
35790
+ showStaffFilter: z56.boolean(),
35458
35791
  eventKind: eventBlockKindSchema2,
35459
35792
  eventSurface: eventSurfaceScopeSchema2,
35460
- filterEventPresets: z55.string().nullable(),
35793
+ filterEventPresets: z56.string().nullable(),
35461
35794
  scheduleScope: eventScheduleScopeSchema3,
35462
- filterCategoryIds: z55.string().nullable(),
35463
- filterStaffMemberId: z55.string().nullable(),
35464
- filterVenueId: z55.string().nullable(),
35795
+ filterCategoryIds: z56.string().nullable(),
35796
+ filterStaffMemberId: z56.string().nullable(),
35797
+ filterVenueId: z56.string().nullable(),
35465
35798
  buttonVariant: eventButtonVariantSchema,
35466
- buttonText: z55.string(),
35467
- showVenue: z55.boolean(),
35468
- showMap: z55.boolean(),
35469
- showCapacity: z55.boolean(),
35470
- emptyMessage: z55.string()
35471
- });
35472
- eventCalendarHydrationSchema = z55.object({
35473
- siteId: z55.string(),
35799
+ buttonText: z56.string(),
35800
+ showVenue: z56.boolean(),
35801
+ showMap: z56.boolean(),
35802
+ showCapacity: z56.boolean(),
35803
+ emptyMessage: z56.string()
35804
+ });
35805
+ eventCalendarHydrationSchema = z56.object({
35806
+ siteId: z56.string(),
35474
35807
  stage: previewStageSchema.optional(),
35475
- prefetchedEvents: z55.boolean(),
35808
+ prefetchedEvents: z56.boolean(),
35476
35809
  eventKind: eventBlockKindSchema2,
35477
35810
  eventSurface: eventSurfaceScopeSchema2,
35478
- filterEventPresets: z55.string().nullable(),
35811
+ filterEventPresets: z56.string().nullable(),
35479
35812
  scheduleScope: eventScheduleScopeSchema3
35480
35813
  });
35481
- eventCalendarRenderSchema = z55.object({
35814
+ eventCalendarRenderSchema = z56.object({
35482
35815
  display: eventCalendarDisplaySchema,
35483
35816
  hydration: eventCalendarHydrationSchema
35484
35817
  });
35485
35818
  eventCalendarIslandMetaCodec = createZodCodec(
35486
- z55.object({
35487
- siteId: z55.string(),
35488
- apiBaseUrl: z55.string().optional(),
35819
+ z56.object({
35820
+ siteId: z56.string(),
35821
+ apiBaseUrl: z56.string().optional(),
35489
35822
  stage: previewStageSchema.optional()
35490
35823
  })
35491
35824
  );
@@ -35566,7 +35899,6 @@ var init_event_calendar = __esm({
35566
35899
  "use strict";
35567
35900
  init_schema2();
35568
35901
  init_builder2();
35569
- init_builder2();
35570
35902
  init_styledSection();
35571
35903
  init_fragments();
35572
35904
  init_boxStyles();
@@ -35579,14 +35911,7 @@ var init_event_calendar = __esm({
35579
35911
  styledSection({
35580
35912
  children: sectionContainer(
35581
35913
  [
35582
- // Optional heading
35583
- text({ as: "h2" }, bind("content.heading"), when("content.heading")),
35584
- // Optional description
35585
- richText(
35586
- { className: "rb-prose rb-max-w-none" },
35587
- bind("content.description"),
35588
- when("content.description")
35589
- ),
35914
+ ...eventSectionHeaderLayoutNodes(),
35590
35915
  // Event calendar component (handles all display modes)
35591
35916
  el(
35592
35917
  "event-calendar",
@@ -36339,7 +36664,7 @@ var init_model = __esm({
36339
36664
  });
36340
36665
 
36341
36666
  // ../blocks/src/system/blocks/offerings-preview/index.ts
36342
- import { z as z56 } from "zod";
36667
+ import { z as z57 } from "zod";
36343
36668
  function eventPresetLoader(preset2) {
36344
36669
  return {
36345
36670
  endpoint: "listPublicEvents",
@@ -36462,13 +36787,13 @@ var init_offerings_preview = __esm({
36462
36787
  init_shared3();
36463
36788
  init_shared4();
36464
36789
  init_model();
36465
- publicRouteCandidatesSchema = z56.object({
36466
- routes: z56.array(z56.object({
36467
- entityId: z56.string(),
36468
- path: z56.string(),
36469
- title: z56.string(),
36470
- kind: z56.enum(["page", "content"]),
36471
- contentTypeKey: z56.string().nullable().optional()
36790
+ publicRouteCandidatesSchema = z57.object({
36791
+ routes: z57.array(z57.object({
36792
+ entityId: z57.string(),
36793
+ path: z57.string(),
36794
+ title: z57.string(),
36795
+ kind: z57.enum(["page", "content"]),
36796
+ contentTypeKey: z57.string().nullable().optional()
36472
36797
  }))
36473
36798
  });
36474
36799
  groupOverrideFields = [
@@ -36758,7 +37083,7 @@ var init_offerings_preview = __esm({
36758
37083
  });
36759
37084
 
36760
37085
  // ../blocks/src/system/blocks/embed.ts
36761
- import { z as z57 } from "zod";
37086
+ import { z as z58 } from "zod";
36762
37087
  var embedFields, embedLayout2, embedManifest, embedEntrySchema, embedBlockDefinition;
36763
37088
  var init_embed = __esm({
36764
37089
  "../blocks/src/system/blocks/embed.ts"() {
@@ -36998,18 +37323,18 @@ var init_embed = __esm({
36998
37323
  spacing: "lg"
36999
37324
  }
37000
37325
  });
37001
- embedEntrySchema = z57.object({
37002
- id: z57.string(),
37003
- identifier: z57.string(),
37004
- title: z57.string(),
37005
- slug: z57.string().nullable().optional(),
37006
- content: z57.record(z57.string(), z57.unknown()).optional(),
37007
- publishedAt: z57.string().nullable().optional()
37326
+ embedEntrySchema = z58.object({
37327
+ id: z58.string(),
37328
+ identifier: z58.string(),
37329
+ title: z58.string(),
37330
+ slug: z58.string().nullable().optional(),
37331
+ content: z58.record(z58.string(), z58.unknown()).optional(),
37332
+ publishedAt: z58.string().nullable().optional()
37008
37333
  });
37009
37334
  embedBlockDefinition = {
37010
37335
  manifest: embedManifest,
37011
37336
  dataSchemas: {
37012
- entries: z57.array(embedEntrySchema).optional()
37337
+ entries: z58.array(embedEntrySchema).optional()
37013
37338
  },
37014
37339
  dataLoaders: {
37015
37340
  entries: {
@@ -38239,50 +38564,50 @@ var init_file_download = __esm({
38239
38564
  });
38240
38565
 
38241
38566
  // ../blocks/src/system/blocks/products/shared.ts
38242
- import { z as z58 } from "zod";
38567
+ import { z as z59 } from "zod";
38243
38568
  var publicProductVariantSchema, publicProductSchema, publicProductsResponseSchema;
38244
38569
  var init_shared6 = __esm({
38245
38570
  "../blocks/src/system/blocks/products/shared.ts"() {
38246
38571
  "use strict";
38247
- publicProductVariantSchema = z58.object({
38248
- id: z58.string(),
38249
- title: z58.string(),
38250
- sku: z58.string().nullable(),
38251
- priceCents: z58.number(),
38252
- stockQuantity: z58.number().nullable(),
38253
- soldOut: z58.boolean()
38254
- });
38255
- publicProductSchema = z58.object({
38256
- id: z58.string(),
38257
- contentEntryId: z58.string().nullable(),
38258
- title: z58.string(),
38259
- slug: z58.string(),
38260
- path: z58.string().nullable(),
38261
- status: z58.enum(["draft", "active"]),
38262
- priceCents: z58.number(),
38263
- currency: z58.string(),
38264
- productType: z58.enum(["physical", "digital"]),
38265
- requiresShipping: z58.boolean(),
38266
- hasVariants: z58.boolean(),
38267
- trackInventory: z58.boolean(),
38268
- soldOut: z58.boolean(),
38269
- category: z58.object({
38270
- id: z58.string(),
38271
- name: z58.string(),
38272
- slug: z58.string()
38572
+ publicProductVariantSchema = z59.object({
38573
+ id: z59.string(),
38574
+ title: z59.string(),
38575
+ sku: z59.string().nullable(),
38576
+ priceCents: z59.number(),
38577
+ stockQuantity: z59.number().nullable(),
38578
+ soldOut: z59.boolean()
38579
+ });
38580
+ publicProductSchema = z59.object({
38581
+ id: z59.string(),
38582
+ contentEntryId: z59.string().nullable(),
38583
+ title: z59.string(),
38584
+ slug: z59.string(),
38585
+ path: z59.string().nullable(),
38586
+ status: z59.enum(["draft", "active"]),
38587
+ priceCents: z59.number(),
38588
+ currency: z59.string(),
38589
+ productType: z59.enum(["physical", "digital"]),
38590
+ requiresShipping: z59.boolean(),
38591
+ hasVariants: z59.boolean(),
38592
+ trackInventory: z59.boolean(),
38593
+ soldOut: z59.boolean(),
38594
+ category: z59.object({
38595
+ id: z59.string(),
38596
+ name: z59.string(),
38597
+ slug: z59.string()
38273
38598
  }).nullable(),
38274
- summary: z58.string().nullable(),
38275
- body: z58.unknown().nullable(),
38276
- gallery: z58.array(
38277
- z58.object({
38278
- url: z58.string(),
38279
- alt: z58.string().nullable()
38599
+ summary: z59.string().nullable(),
38600
+ body: z59.unknown().nullable(),
38601
+ gallery: z59.array(
38602
+ z59.object({
38603
+ url: z59.string(),
38604
+ alt: z59.string().nullable()
38280
38605
  })
38281
38606
  ),
38282
- variants: z58.array(publicProductVariantSchema)
38607
+ variants: z59.array(publicProductVariantSchema)
38283
38608
  });
38284
- publicProductsResponseSchema = z58.object({
38285
- products: z58.array(publicProductSchema)
38609
+ publicProductsResponseSchema = z59.object({
38610
+ products: z59.array(publicProductSchema)
38286
38611
  });
38287
38612
  }
38288
38613
  });
@@ -38353,7 +38678,7 @@ var init_creditProducts = __esm({
38353
38678
  });
38354
38679
 
38355
38680
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
38356
- import { z as z59 } from "zod";
38681
+ import { z as z60 } from "zod";
38357
38682
  function deriveCommerceCheckoutState(state) {
38358
38683
  if (state.items.length === 0) {
38359
38684
  return { kind: "empty" };
@@ -38392,26 +38717,26 @@ var storedProductCartItemSchema, storedPassCartItemSchema;
38392
38717
  var init_shop_commerce_shared = __esm({
38393
38718
  "../blocks/src/system/runtime/nodes/shop-commerce.shared.ts"() {
38394
38719
  "use strict";
38395
- storedProductCartItemSchema = z59.object({
38396
- kind: z59.literal("product"),
38397
- productId: z59.string().min(1),
38398
- productCategoryId: z59.string().min(1).optional().nullable(),
38399
- variantId: z59.string().min(1).optional().nullable(),
38400
- title: z59.string().min(1),
38401
- variantTitle: z59.string().optional().nullable(),
38402
- quantity: z59.number().finite(),
38403
- unitPriceCents: z59.number().finite(),
38404
- currency: z59.string().min(1),
38405
- imageUrl: z59.string().optional().nullable(),
38406
- soldOut: z59.boolean().optional()
38720
+ storedProductCartItemSchema = z60.object({
38721
+ kind: z60.literal("product"),
38722
+ productId: z60.string().min(1),
38723
+ productCategoryId: z60.string().min(1).optional().nullable(),
38724
+ variantId: z60.string().min(1).optional().nullable(),
38725
+ title: z60.string().min(1),
38726
+ variantTitle: z60.string().optional().nullable(),
38727
+ quantity: z60.number().finite(),
38728
+ unitPriceCents: z60.number().finite(),
38729
+ currency: z60.string().min(1),
38730
+ imageUrl: z60.string().optional().nullable(),
38731
+ soldOut: z60.boolean().optional()
38407
38732
  });
38408
- storedPassCartItemSchema = z59.object({
38409
- kind: z59.literal("pass"),
38410
- passId: z59.string().min(1),
38411
- title: z59.string().min(1),
38412
- quantity: z59.number().finite().optional(),
38413
- unitPriceCents: z59.number().finite(),
38414
- currency: z59.string().min(1)
38733
+ storedPassCartItemSchema = z60.object({
38734
+ kind: z60.literal("pass"),
38735
+ passId: z60.string().min(1),
38736
+ title: z60.string().min(1),
38737
+ quantity: z60.number().finite().optional(),
38738
+ unitPriceCents: z60.number().finite(),
38739
+ currency: z60.string().min(1)
38415
38740
  });
38416
38741
  }
38417
38742
  });
@@ -38621,7 +38946,7 @@ var init_display = __esm({
38621
38946
  });
38622
38947
 
38623
38948
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
38624
- import { z as z60 } from "zod";
38949
+ import { z as z61 } from "zod";
38625
38950
  function resolveShowPricePerCredit(source) {
38626
38951
  return source.showPricePerCredit ?? true;
38627
38952
  }
@@ -38649,211 +38974,211 @@ var init_shop_interactive = __esm({
38649
38974
  init_islands();
38650
38975
  init_runtime();
38651
38976
  init_contract_schemas();
38652
- shopModeSchema = z60.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
38653
- contentEntrySchema3 = z60.object({
38654
- id: z60.string().nullable().optional(),
38655
- slug: z60.string().nullable().optional()
38977
+ shopModeSchema = z61.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
38978
+ contentEntrySchema3 = z61.object({
38979
+ id: z61.string().nullable().optional(),
38980
+ slug: z61.string().nullable().optional()
38656
38981
  }).nullable();
38657
- shopSourceSchema = z60.object({
38658
- className: z60.string().nullable().optional(),
38982
+ shopSourceSchema = z61.object({
38983
+ className: z61.string().nullable().optional(),
38659
38984
  mode: shopModeSchema.optional(),
38660
- heading: z60.string().nullable().optional(),
38661
- productSlug: z60.string().nullable().optional(),
38662
- showPasses: z60.boolean().optional(),
38663
- showMemberships: z60.boolean().optional(),
38664
- layout: z60.enum(["grid", "list"]).optional(),
38665
- columns: z60.string().optional(),
38666
- showDescriptions: z60.boolean().optional(),
38667
- showSummary: z60.boolean().optional(),
38668
- showBody: z60.boolean().optional(),
38669
- showPrices: z60.boolean().optional(),
38670
- showValidityPeriod: z60.boolean().optional(),
38671
- showPricePerCredit: z60.boolean().nullable().optional(),
38672
- passesHeading: z60.string().optional(),
38673
- membershipsHeading: z60.string().optional(),
38674
- buyButtonText: z60.string().optional(),
38675
- addButtonText: z60.string().optional(),
38676
- passPurchaseMode: z60.enum(["add_to_cart", "buy_now"]).optional(),
38677
- subscribeButtonText: z60.string().optional(),
38678
- emptyStateText: z60.string().optional(),
38679
- checkoutButtonText: z60.string().optional(),
38680
- clearButtonText: z60.string().optional(),
38681
- submitButtonText: z60.string().optional(),
38985
+ heading: z61.string().nullable().optional(),
38986
+ productSlug: z61.string().nullable().optional(),
38987
+ showPasses: z61.boolean().optional(),
38988
+ showMemberships: z61.boolean().optional(),
38989
+ layout: z61.enum(["grid", "list"]).optional(),
38990
+ columns: z61.string().optional(),
38991
+ showDescriptions: z61.boolean().optional(),
38992
+ showSummary: z61.boolean().optional(),
38993
+ showBody: z61.boolean().optional(),
38994
+ showPrices: z61.boolean().optional(),
38995
+ showValidityPeriod: z61.boolean().optional(),
38996
+ showPricePerCredit: z61.boolean().nullable().optional(),
38997
+ passesHeading: z61.string().optional(),
38998
+ membershipsHeading: z61.string().optional(),
38999
+ buyButtonText: z61.string().optional(),
39000
+ addButtonText: z61.string().optional(),
39001
+ passPurchaseMode: z61.enum(["add_to_cart", "buy_now"]).optional(),
39002
+ subscribeButtonText: z61.string().optional(),
39003
+ emptyStateText: z61.string().optional(),
39004
+ checkoutButtonText: z61.string().optional(),
39005
+ clearButtonText: z61.string().optional(),
39006
+ submitButtonText: z61.string().optional(),
38682
39007
  contentEntry: contentEntrySchema3.optional(),
38683
- passes: z60.array(publicPassProductSchema).nullable().optional(),
38684
- memberships: z60.array(publicMembershipProductSchema).nullable().optional(),
38685
- products: z60.array(publicProductSchema).nullable().optional(),
38686
- siteId: z60.string().optional(),
38687
- apiBaseUrl: z60.string().optional(),
39008
+ passes: z61.array(publicPassProductSchema).nullable().optional(),
39009
+ memberships: z61.array(publicMembershipProductSchema).nullable().optional(),
39010
+ products: z61.array(publicProductSchema).nullable().optional(),
39011
+ siteId: z61.string().optional(),
39012
+ apiBaseUrl: z61.string().optional(),
38688
39013
  stage: previewStageSchema.optional()
38689
39014
  });
38690
- productVariantOptionDisplaySchema = z60.object({
38691
- id: z60.string(),
38692
- label: z60.string(),
38693
- soldOut: z60.boolean()
38694
- });
38695
- productCardDisplaySchema = z60.object({
38696
- productId: z60.string(),
38697
- title: z60.string(),
38698
- path: z60.string().nullable(),
38699
- summary: z60.string().nullable(),
38700
- priceLabel: z60.string().nullable(),
38701
- image: z60.object({
38702
- url: z60.string(),
38703
- alt: z60.string().nullable()
39015
+ productVariantOptionDisplaySchema = z61.object({
39016
+ id: z61.string(),
39017
+ label: z61.string(),
39018
+ soldOut: z61.boolean()
39019
+ });
39020
+ productCardDisplaySchema = z61.object({
39021
+ productId: z61.string(),
39022
+ title: z61.string(),
39023
+ path: z61.string().nullable(),
39024
+ summary: z61.string().nullable(),
39025
+ priceLabel: z61.string().nullable(),
39026
+ image: z61.object({
39027
+ url: z61.string(),
39028
+ alt: z61.string().nullable()
38704
39029
  }).nullable(),
38705
- variantOptions: z60.array(productVariantOptionDisplaySchema),
38706
- selectedVariantId: z60.string().nullable(),
38707
- selectionLabel: z60.string(),
38708
- actionLabel: z60.string(),
38709
- soldOut: z60.boolean()
38710
- });
38711
- productListDisplaySchema = z60.object({
38712
- kind: z60.literal("product-list"),
38713
- state: z60.enum(["empty", "ready"]),
38714
- heading: z60.string().nullable(),
38715
- className: z60.string().nullable(),
38716
- layout: z60.enum(["grid", "list"]),
38717
- columns: z60.string(),
38718
- emptyMessage: z60.string(),
38719
- cards: z60.array(productCardDisplaySchema)
38720
- });
38721
- productDetailDisplaySchema = z60.discriminatedUnion("state", [
38722
- z60.object({
38723
- kind: z60.literal("product-detail"),
38724
- state: z60.literal("empty"),
38725
- heading: z60.string().nullable(),
38726
- className: z60.string().nullable(),
38727
- emptyMessage: z60.string()
39030
+ variantOptions: z61.array(productVariantOptionDisplaySchema),
39031
+ selectedVariantId: z61.string().nullable(),
39032
+ selectionLabel: z61.string(),
39033
+ actionLabel: z61.string(),
39034
+ soldOut: z61.boolean()
39035
+ });
39036
+ productListDisplaySchema = z61.object({
39037
+ kind: z61.literal("product-list"),
39038
+ state: z61.enum(["empty", "ready"]),
39039
+ heading: z61.string().nullable(),
39040
+ className: z61.string().nullable(),
39041
+ layout: z61.enum(["grid", "list"]),
39042
+ columns: z61.string(),
39043
+ emptyMessage: z61.string(),
39044
+ cards: z61.array(productCardDisplaySchema)
39045
+ });
39046
+ productDetailDisplaySchema = z61.discriminatedUnion("state", [
39047
+ z61.object({
39048
+ kind: z61.literal("product-detail"),
39049
+ state: z61.literal("empty"),
39050
+ heading: z61.string().nullable(),
39051
+ className: z61.string().nullable(),
39052
+ emptyMessage: z61.string()
38728
39053
  }),
38729
- z60.object({
38730
- kind: z60.literal("product-detail"),
38731
- state: z60.literal("ready"),
38732
- heading: z60.string().nullable(),
38733
- className: z60.string().nullable(),
38734
- title: z60.string(),
38735
- priceLabel: z60.string(),
38736
- summary: z60.string().nullable(),
38737
- categoryLabel: z60.string().nullable(),
38738
- gallery: z60.array(z60.object({
38739
- url: z60.string(),
38740
- alt: z60.string().nullable()
39054
+ z61.object({
39055
+ kind: z61.literal("product-detail"),
39056
+ state: z61.literal("ready"),
39057
+ heading: z61.string().nullable(),
39058
+ className: z61.string().nullable(),
39059
+ title: z61.string(),
39060
+ priceLabel: z61.string(),
39061
+ summary: z61.string().nullable(),
39062
+ categoryLabel: z61.string().nullable(),
39063
+ gallery: z61.array(z61.object({
39064
+ url: z61.string(),
39065
+ alt: z61.string().nullable()
38741
39066
  })),
38742
- variantOptions: z60.array(productVariantOptionDisplaySchema),
38743
- selectedVariantId: z60.string().nullable(),
38744
- selectionLabel: z60.string(),
38745
- actionLabel: z60.string(),
38746
- soldOut: z60.boolean(),
38747
- body: z60.unknown().nullable()
39067
+ variantOptions: z61.array(productVariantOptionDisplaySchema),
39068
+ selectedVariantId: z61.string().nullable(),
39069
+ selectionLabel: z61.string(),
39070
+ actionLabel: z61.string(),
39071
+ soldOut: z61.boolean(),
39072
+ body: z61.unknown().nullable()
38748
39073
  })
38749
39074
  ]);
38750
- passCardDisplaySchema = z60.object({
38751
- id: z60.string(),
38752
- title: z60.string(),
38753
- description: z60.string().nullable(),
38754
- priceLabel: z60.string(),
38755
- creditsLabel: z60.string(),
38756
- perCreditLabel: z60.string().nullable(),
38757
- validityLabel: z60.string().nullable(),
38758
- actionLabel: z60.string()
38759
- });
38760
- membershipCardDisplaySchema = z60.object({
38761
- id: z60.string(),
38762
- title: z60.string(),
38763
- description: z60.string().nullable(),
38764
- priceLabel: z60.string(),
38765
- intervalLabel: z60.string(),
38766
- actionLabel: z60.string()
38767
- });
38768
- passesMembershipsDisplaySchema = z60.object({
38769
- kind: z60.literal("passes-memberships"),
38770
- state: z60.enum(["empty", "ready"]),
38771
- className: z60.string().nullable(),
38772
- layout: z60.enum(["grid", "list"]),
38773
- columns: z60.string(),
38774
- emptyMessage: z60.string(),
38775
- passesHeading: z60.string(),
38776
- membershipsHeading: z60.string(),
38777
- passes: z60.array(passCardDisplaySchema),
38778
- memberships: z60.array(membershipCardDisplaySchema)
38779
- });
38780
- cartLineDisplaySchema = z60.object({
38781
- key: z60.string(),
38782
- title: z60.string(),
38783
- priceLabel: z60.string(),
38784
- quantity: z60.number(),
38785
- quantityEditable: z60.boolean()
38786
- });
38787
- cartDisplaySchema = z60.object({
38788
- kind: z60.literal("cart"),
38789
- state: z60.enum(["empty", "ready"]),
38790
- heading: z60.string().nullable(),
38791
- className: z60.string().nullable(),
38792
- emptyMessage: z60.string(),
38793
- supportText: z60.string().nullable(),
38794
- items: z60.array(cartLineDisplaySchema),
38795
- subtotalLabel: z60.string().nullable(),
38796
- checkoutButtonText: z60.string(),
38797
- clearButtonText: z60.string()
38798
- });
38799
- checkoutDisplaySchema = z60.object({
38800
- kind: z60.literal("checkout"),
38801
- state: z60.enum(["empty", "blocked", "ready"]),
38802
- heading: z60.string().nullable(),
38803
- className: z60.string().nullable(),
38804
- message: z60.string().nullable(),
38805
- submitButtonText: z60.string()
38806
- });
38807
- passesMembershipsHydrationSchema = z60.object({
38808
- passes: z60.array(publicPassProductSchema),
38809
- memberships: z60.array(publicMembershipProductSchema),
38810
- passPurchaseMode: z60.enum(["add_to_cart", "buy_now"])
38811
- });
38812
- productListHydrationSchema = z60.object({
38813
- products: z60.array(publicProductSchema),
38814
- showSummary: z60.boolean(),
38815
- showPrices: z60.boolean(),
38816
- addButtonText: z60.string()
38817
- });
38818
- productDetailHydrationSchema = z60.object({
38819
- products: z60.array(publicProductSchema),
38820
- productId: z60.string().nullable(),
38821
- showSummary: z60.boolean(),
38822
- showBody: z60.boolean(),
38823
- addButtonText: z60.string()
38824
- });
38825
- cartHydrationSchema = z60.object({
38826
- emptyStateText: z60.string(),
38827
- checkoutButtonText: z60.string(),
38828
- clearButtonText: z60.string()
38829
- });
38830
- checkoutHydrationSchema = z60.object({
38831
- emptyStateText: z60.string(),
38832
- submitButtonText: z60.string()
38833
- });
38834
- passesMembershipsRenderSchema = z60.object({
39075
+ passCardDisplaySchema = z61.object({
39076
+ id: z61.string(),
39077
+ title: z61.string(),
39078
+ description: z61.string().nullable(),
39079
+ priceLabel: z61.string(),
39080
+ creditsLabel: z61.string(),
39081
+ perCreditLabel: z61.string().nullable(),
39082
+ validityLabel: z61.string().nullable(),
39083
+ actionLabel: z61.string()
39084
+ });
39085
+ membershipCardDisplaySchema = z61.object({
39086
+ id: z61.string(),
39087
+ title: z61.string(),
39088
+ description: z61.string().nullable(),
39089
+ priceLabel: z61.string(),
39090
+ intervalLabel: z61.string(),
39091
+ actionLabel: z61.string()
39092
+ });
39093
+ passesMembershipsDisplaySchema = z61.object({
39094
+ kind: z61.literal("passes-memberships"),
39095
+ state: z61.enum(["empty", "ready"]),
39096
+ className: z61.string().nullable(),
39097
+ layout: z61.enum(["grid", "list"]),
39098
+ columns: z61.string(),
39099
+ emptyMessage: z61.string(),
39100
+ passesHeading: z61.string(),
39101
+ membershipsHeading: z61.string(),
39102
+ passes: z61.array(passCardDisplaySchema),
39103
+ memberships: z61.array(membershipCardDisplaySchema)
39104
+ });
39105
+ cartLineDisplaySchema = z61.object({
39106
+ key: z61.string(),
39107
+ title: z61.string(),
39108
+ priceLabel: z61.string(),
39109
+ quantity: z61.number(),
39110
+ quantityEditable: z61.boolean()
39111
+ });
39112
+ cartDisplaySchema = z61.object({
39113
+ kind: z61.literal("cart"),
39114
+ state: z61.enum(["empty", "ready"]),
39115
+ heading: z61.string().nullable(),
39116
+ className: z61.string().nullable(),
39117
+ emptyMessage: z61.string(),
39118
+ supportText: z61.string().nullable(),
39119
+ items: z61.array(cartLineDisplaySchema),
39120
+ subtotalLabel: z61.string().nullable(),
39121
+ checkoutButtonText: z61.string(),
39122
+ clearButtonText: z61.string()
39123
+ });
39124
+ checkoutDisplaySchema = z61.object({
39125
+ kind: z61.literal("checkout"),
39126
+ state: z61.enum(["empty", "blocked", "ready"]),
39127
+ heading: z61.string().nullable(),
39128
+ className: z61.string().nullable(),
39129
+ message: z61.string().nullable(),
39130
+ submitButtonText: z61.string()
39131
+ });
39132
+ passesMembershipsHydrationSchema = z61.object({
39133
+ passes: z61.array(publicPassProductSchema),
39134
+ memberships: z61.array(publicMembershipProductSchema),
39135
+ passPurchaseMode: z61.enum(["add_to_cart", "buy_now"])
39136
+ });
39137
+ productListHydrationSchema = z61.object({
39138
+ products: z61.array(publicProductSchema),
39139
+ showSummary: z61.boolean(),
39140
+ showPrices: z61.boolean(),
39141
+ addButtonText: z61.string()
39142
+ });
39143
+ productDetailHydrationSchema = z61.object({
39144
+ products: z61.array(publicProductSchema),
39145
+ productId: z61.string().nullable(),
39146
+ showSummary: z61.boolean(),
39147
+ showBody: z61.boolean(),
39148
+ addButtonText: z61.string()
39149
+ });
39150
+ cartHydrationSchema = z61.object({
39151
+ emptyStateText: z61.string(),
39152
+ checkoutButtonText: z61.string(),
39153
+ clearButtonText: z61.string()
39154
+ });
39155
+ checkoutHydrationSchema = z61.object({
39156
+ emptyStateText: z61.string(),
39157
+ submitButtonText: z61.string()
39158
+ });
39159
+ passesMembershipsRenderSchema = z61.object({
38835
39160
  display: passesMembershipsDisplaySchema,
38836
39161
  hydration: passesMembershipsHydrationSchema
38837
39162
  });
38838
- productListRenderSchema = z60.object({
39163
+ productListRenderSchema = z61.object({
38839
39164
  display: productListDisplaySchema,
38840
39165
  hydration: productListHydrationSchema
38841
39166
  });
38842
- productDetailRenderSchema = z60.object({
39167
+ productDetailRenderSchema = z61.object({
38843
39168
  display: productDetailDisplaySchema,
38844
39169
  hydration: productDetailHydrationSchema
38845
39170
  });
38846
- cartRenderSchema = z60.object({
39171
+ cartRenderSchema = z61.object({
38847
39172
  display: cartDisplaySchema,
38848
39173
  hydration: cartHydrationSchema
38849
39174
  });
38850
- checkoutRenderSchema = z60.object({
39175
+ checkoutRenderSchema = z61.object({
38851
39176
  display: checkoutDisplaySchema,
38852
39177
  hydration: checkoutHydrationSchema
38853
39178
  });
38854
- shopIslandMetaCodec = createZodCodec(z60.object({
38855
- siteId: z60.string().optional(),
38856
- apiBaseUrl: z60.string().optional(),
39179
+ shopIslandMetaCodec = createZodCodec(z61.object({
39180
+ siteId: z61.string().optional(),
39181
+ apiBaseUrl: z61.string().optional(),
38857
39182
  stage: previewStageSchema.optional()
38858
39183
  }));
38859
39184
  shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -39259,7 +39584,7 @@ var init_shop = __esm({
39259
39584
  });
39260
39585
 
39261
39586
  // ../blocks/src/system/blocks/product-list.ts
39262
- import { z as z61 } from "zod";
39587
+ import { z as z62 } from "zod";
39263
39588
  var productListManifest, productListBlockDefinition, productListDataSchema;
39264
39589
  var init_product_list = __esm({
39265
39590
  "../blocks/src/system/blocks/product-list.ts"() {
@@ -39404,7 +39729,7 @@ var init_product_list = __esm({
39404
39729
  }
39405
39730
  }
39406
39731
  };
39407
- productListDataSchema = z61.object({
39732
+ productListDataSchema = z62.object({
39408
39733
  products: publicProductsResponseSchema.optional()
39409
39734
  });
39410
39735
  }
@@ -39707,7 +40032,7 @@ var init_checkout = __esm({
39707
40032
  });
39708
40033
 
39709
40034
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
39710
- import { z as z62 } from "zod";
40035
+ import { z as z63 } from "zod";
39711
40036
  function buildGiftingDisplay(source) {
39712
40037
  return {
39713
40038
  kind: "gifting",
@@ -39726,71 +40051,71 @@ var init_gifting_interactive = __esm({
39726
40051
  "use strict";
39727
40052
  init_islands();
39728
40053
  init_runtime();
39729
- publicGiftCardOfferSchema = z62.object({
39730
- id: z62.string(),
39731
- kind: z62.literal("gift_card"),
39732
- title: z62.string(),
39733
- description: z62.string().nullable(),
39734
- sortOrder: z62.number().int(),
39735
- giftCard: z62.object({
39736
- fixedDenominations: z62.array(z62.number().int().positive()),
39737
- customAmountEnabled: z62.boolean(),
39738
- customAmountMinCents: z62.number().int().positive(),
39739
- customAmountMaxCents: z62.number().int().positive()
40054
+ publicGiftCardOfferSchema = z63.object({
40055
+ id: z63.string(),
40056
+ kind: z63.literal("gift_card"),
40057
+ title: z63.string(),
40058
+ description: z63.string().nullable(),
40059
+ sortOrder: z63.number().int(),
40060
+ giftCard: z63.object({
40061
+ fixedDenominations: z63.array(z63.number().int().positive()),
40062
+ customAmountEnabled: z63.boolean(),
40063
+ customAmountMinCents: z63.number().int().positive(),
40064
+ customAmountMaxCents: z63.number().int().positive()
39740
40065
  }),
39741
- voucher: z62.null()
39742
- });
39743
- publicVoucherOfferSchema = z62.object({
39744
- id: z62.string(),
39745
- kind: z62.literal("voucher"),
39746
- title: z62.string(),
39747
- description: z62.string().nullable(),
39748
- sortOrder: z62.number().int(),
39749
- giftCard: z62.null(),
39750
- voucher: z62.object({
39751
- purchaseAmountCents: z62.number().int().positive()
40066
+ voucher: z63.null()
40067
+ });
40068
+ publicVoucherOfferSchema = z63.object({
40069
+ id: z63.string(),
40070
+ kind: z63.literal("voucher"),
40071
+ title: z63.string(),
40072
+ description: z63.string().nullable(),
40073
+ sortOrder: z63.number().int(),
40074
+ giftCard: z63.null(),
40075
+ voucher: z63.object({
40076
+ purchaseAmountCents: z63.number().int().positive()
39752
40077
  })
39753
40078
  });
39754
- publicGiftingOffersResponseSchema = z62.object({
39755
- currency: z62.string(),
39756
- giftCards: z62.array(publicGiftCardOfferSchema),
39757
- vouchers: z62.array(publicVoucherOfferSchema)
40079
+ publicGiftingOffersResponseSchema = z63.object({
40080
+ currency: z63.string(),
40081
+ giftCards: z63.array(publicGiftCardOfferSchema),
40082
+ vouchers: z63.array(publicVoucherOfferSchema)
39758
40083
  });
39759
- giftingSourceSchema = z62.object({
39760
- siteId: z62.string().optional(),
39761
- apiBaseUrl: z62.string().optional(),
40084
+ giftingSourceSchema = z63.object({
40085
+ siteId: z63.string().optional(),
40086
+ apiBaseUrl: z63.string().optional(),
39762
40087
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
39763
- className: z62.string().nullable().optional(),
39764
- heading: z62.string().nullable().optional(),
39765
- intro: z62.string().nullable().optional(),
39766
- giftCardsHeading: z62.string().nullable().optional(),
39767
- vouchersHeading: z62.string().nullable().optional(),
39768
- emptyStateText: z62.string().nullable().optional(),
39769
- checkoutButtonText: z62.string().nullable().optional(),
39770
- successMessage: z62.string().nullable().optional()
39771
- });
39772
- giftingDisplaySchema = z62.object({
39773
- kind: z62.literal("gifting"),
39774
- state: z62.literal("ready"),
39775
- className: z62.string().nullable(),
39776
- heading: z62.string(),
39777
- intro: z62.string().nullable(),
39778
- giftCardsHeading: z62.string(),
39779
- vouchersHeading: z62.string(),
39780
- emptyStateText: z62.string()
39781
- });
39782
- giftingHydrationSchema = z62.object({
40088
+ className: z63.string().nullable().optional(),
40089
+ heading: z63.string().nullable().optional(),
40090
+ intro: z63.string().nullable().optional(),
40091
+ giftCardsHeading: z63.string().nullable().optional(),
40092
+ vouchersHeading: z63.string().nullable().optional(),
40093
+ emptyStateText: z63.string().nullable().optional(),
40094
+ checkoutButtonText: z63.string().nullable().optional(),
40095
+ successMessage: z63.string().nullable().optional()
40096
+ });
40097
+ giftingDisplaySchema = z63.object({
40098
+ kind: z63.literal("gifting"),
40099
+ state: z63.literal("ready"),
40100
+ className: z63.string().nullable(),
40101
+ heading: z63.string(),
40102
+ intro: z63.string().nullable(),
40103
+ giftCardsHeading: z63.string(),
40104
+ vouchersHeading: z63.string(),
40105
+ emptyStateText: z63.string()
40106
+ });
40107
+ giftingHydrationSchema = z63.object({
39783
40108
  offers: publicGiftingOffersResponseSchema.nullable(),
39784
- checkoutButtonText: z62.string(),
39785
- successMessage: z62.string()
40109
+ checkoutButtonText: z63.string(),
40110
+ successMessage: z63.string()
39786
40111
  });
39787
- giftingRenderSchema = z62.object({
40112
+ giftingRenderSchema = z63.object({
39788
40113
  display: giftingDisplaySchema,
39789
40114
  hydration: giftingHydrationSchema
39790
40115
  });
39791
- giftingIslandMetaCodec = createZodCodec(z62.object({
39792
- siteId: z62.string().optional(),
39793
- apiBaseUrl: z62.string().optional()
40116
+ giftingIslandMetaCodec = createZodCodec(z63.object({
40117
+ siteId: z63.string().optional(),
40118
+ apiBaseUrl: z63.string().optional()
39794
40119
  }));
39795
40120
  giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
39796
40121
  "siteId",
@@ -40107,7 +40432,7 @@ var init_newsletter_form_types = __esm({
40107
40432
  });
40108
40433
 
40109
40434
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
40110
- import { z as z63 } from "zod";
40435
+ import { z as z64 } from "zod";
40111
40436
  function buildNewsletterDisplay(source) {
40112
40437
  const preset2 = source.preset ?? "emailOnly";
40113
40438
  const includePhone = source.includePhone ?? false;
@@ -40142,65 +40467,65 @@ var init_newsletter_form_interactive = __esm({
40142
40467
  init_runtime();
40143
40468
  init_newsletter_signup_destination();
40144
40469
  init_newsletter_form_types();
40145
- newsletterPresetSchema = z63.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
40146
- newsletterDestinationProviderSchema = z63.enum(["riverbank", "mailchimp"]);
40147
- newsletterFieldSchema = z63.object({
40148
- id: z63.string(),
40149
- type: z63.enum(["email", "text"]),
40150
- label: z63.string(),
40151
- required: z63.boolean(),
40152
- placeholder: z63.string().optional()
40153
- });
40154
- newsletterSignupBlockIdSchema = z63.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
40155
- signedNewsletterDestinationRefSchema = z63.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
40156
- newsletterPublicDestinationRefSchema = z63.discriminatedUnion("tag", [
40157
- z63.object({
40158
- tag: z63.literal("block_ref"),
40470
+ newsletterPresetSchema = z64.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
40471
+ newsletterDestinationProviderSchema = z64.enum(["riverbank", "mailchimp"]);
40472
+ newsletterFieldSchema = z64.object({
40473
+ id: z64.string(),
40474
+ type: z64.enum(["email", "text"]),
40475
+ label: z64.string(),
40476
+ required: z64.boolean(),
40477
+ placeholder: z64.string().optional()
40478
+ });
40479
+ newsletterSignupBlockIdSchema = z64.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
40480
+ signedNewsletterDestinationRefSchema = z64.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
40481
+ newsletterPublicDestinationRefSchema = z64.discriminatedUnion("tag", [
40482
+ z64.object({
40483
+ tag: z64.literal("block_ref"),
40159
40484
  blockId: newsletterSignupBlockIdSchema
40160
40485
  }),
40161
- z63.object({
40162
- tag: z63.literal("signed_destination_ref"),
40486
+ z64.object({
40487
+ tag: z64.literal("signed_destination_ref"),
40163
40488
  token: signedNewsletterDestinationRefSchema
40164
40489
  })
40165
40490
  ]);
40166
- newsletterSourceSchema = z63.object({
40167
- blockId: z63.string().nullable().optional(),
40168
- siteId: z63.string().optional(),
40169
- apiBaseUrl: z63.string().optional(),
40170
- listId: z63.string().nullable().optional(),
40491
+ newsletterSourceSchema = z64.object({
40492
+ blockId: z64.string().nullable().optional(),
40493
+ siteId: z64.string().optional(),
40494
+ apiBaseUrl: z64.string().optional(),
40495
+ listId: z64.string().nullable().optional(),
40171
40496
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
40172
40497
  preset: newsletterPresetSchema.optional(),
40173
- includePhone: z63.boolean().optional(),
40174
- buttonLabel: z63.string().nullable().optional(),
40175
- successMessage: z63.string().nullable().optional(),
40176
- privacyNote: z63.string().nullable().optional(),
40177
- tags: z63.string().nullable().optional(),
40178
- spamProtectionEnabled: z63.boolean().optional(),
40179
- className: z63.string().nullable().optional()
40180
- });
40181
- newsletterDisplaySchema = z63.object({
40182
- kind: z63.literal("newsletter-form"),
40183
- className: z63.string().nullable(),
40184
- buttonLabel: z63.string(),
40185
- successMessage: z63.string().nullable(),
40186
- privacyNote: z63.string().nullable(),
40187
- fields: z63.array(newsletterFieldSchema)
40188
- });
40189
- newsletterHydrationSchema = z63.object({
40498
+ includePhone: z64.boolean().optional(),
40499
+ buttonLabel: z64.string().nullable().optional(),
40500
+ successMessage: z64.string().nullable().optional(),
40501
+ privacyNote: z64.string().nullable().optional(),
40502
+ tags: z64.string().nullable().optional(),
40503
+ spamProtectionEnabled: z64.boolean().optional(),
40504
+ className: z64.string().nullable().optional()
40505
+ });
40506
+ newsletterDisplaySchema = z64.object({
40507
+ kind: z64.literal("newsletter-form"),
40508
+ className: z64.string().nullable(),
40509
+ buttonLabel: z64.string(),
40510
+ successMessage: z64.string().nullable(),
40511
+ privacyNote: z64.string().nullable(),
40512
+ fields: z64.array(newsletterFieldSchema)
40513
+ });
40514
+ newsletterHydrationSchema = z64.object({
40190
40515
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
40191
- listId: z63.string().nullable().optional(),
40516
+ listId: z64.string().nullable().optional(),
40192
40517
  preset: newsletterPresetSchema,
40193
- includePhone: z63.boolean(),
40194
- tags: z63.string().nullable().optional(),
40195
- spamProtectionEnabled: z63.boolean().optional()
40518
+ includePhone: z64.boolean(),
40519
+ tags: z64.string().nullable().optional(),
40520
+ spamProtectionEnabled: z64.boolean().optional()
40196
40521
  });
40197
- newsletterRenderSchema = z63.object({
40522
+ newsletterRenderSchema = z64.object({
40198
40523
  display: newsletterDisplaySchema,
40199
40524
  hydration: newsletterHydrationSchema
40200
40525
  });
40201
- newsletterIslandMetaCodec = createZodCodec(z63.object({
40202
- siteId: z63.string().optional(),
40203
- apiBaseUrl: z63.string().optional()
40526
+ newsletterIslandMetaCodec = createZodCodec(z64.object({
40527
+ siteId: z64.string().optional(),
40528
+ apiBaseUrl: z64.string().optional()
40204
40529
  }));
40205
40530
  newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
40206
40531
  newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
@@ -40327,7 +40652,7 @@ var init_newsletter_signup = __esm({
40327
40652
  });
40328
40653
 
40329
40654
  // ../blocks/src/system/blocks/team-members.ts
40330
- import { z as z64 } from "zod";
40655
+ import { z as z65 } from "zod";
40331
40656
  var ITEM_NAME2, teamMemberPhotoSchema, teamMemberDataSchema, teamMembersDataSchema, dynamicSourceWhen, manualSourceWhen, headingNode, wrapVariant3, teamMemberStackLayout, manualGridMembersNode, dynamicGridMembersNode, gridVariant, manualStackMembersNode, dynamicStackMembersNode, stackVariant, teamMembersManifest, teamMembersBlockDefinition;
40332
40657
  var init_team_members = __esm({
40333
40658
  "../blocks/src/system/blocks/team-members.ts"() {
@@ -40344,18 +40669,18 @@ var init_team_members = __esm({
40344
40669
  teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
40345
40670
  message: "Team member photos must be image media"
40346
40671
  }).nullable();
40347
- teamMemberDataSchema = z64.object({
40348
- _type: z64.literal("teamMember"),
40349
- id: z64.string(),
40350
- name: z64.string(),
40351
- role: z64.string().nullable(),
40352
- roleLabel: z64.string().nullable(),
40353
- bio: z64.string().nullable(),
40354
- summary: z64.string().nullable(),
40672
+ teamMemberDataSchema = z65.object({
40673
+ _type: z65.literal("teamMember"),
40674
+ id: z65.string(),
40675
+ name: z65.string(),
40676
+ role: z65.string().nullable(),
40677
+ roleLabel: z65.string().nullable(),
40678
+ bio: z65.string().nullable(),
40679
+ summary: z65.string().nullable(),
40355
40680
  photo: teamMemberPhotoSchema,
40356
- profilePath: z64.string().nullable()
40681
+ profilePath: z65.string().nullable()
40357
40682
  });
40358
- teamMembersDataSchema = z64.array(teamMemberDataSchema);
40683
+ teamMembersDataSchema = z65.array(teamMemberDataSchema);
40359
40684
  dynamicSourceWhen = { equals: "site_staff" };
40360
40685
  manualSourceWhen = { equals: "site_staff", not: true };
40361
40686
  headingNode = text(
@@ -41163,6 +41488,7 @@ var init_blocks = __esm({
41163
41488
  init_feature_cards();
41164
41489
  init_media_text();
41165
41490
  init_appointment_booking();
41491
+ init_weekly_slot_availability();
41166
41492
  init_event_registration();
41167
41493
  init_course_registration();
41168
41494
  init_event_details();
@@ -41203,6 +41529,7 @@ var init_blocks = __esm({
41203
41529
  init_feature_card_icons();
41204
41530
  init_media_text();
41205
41531
  init_appointment_booking();
41532
+ init_weekly_slot_availability();
41206
41533
  init_event_registration();
41207
41534
  init_event_details();
41208
41535
  init_course_registration();
@@ -41573,6 +41900,10 @@ var init_blocks = __esm({
41573
41900
  flow: conversionFlow,
41574
41901
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
41575
41902
  })),
41903
+ withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
41904
+ flow: offeringsFlow,
41905
+ layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
41906
+ })),
41576
41907
  withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
41577
41908
  flow: conversionFlow,
41578
41909
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
@@ -42740,7 +43071,7 @@ var init_componentFactory = __esm({
42740
43071
  });
42741
43072
 
42742
43073
  // ../blocks/src/system/layout/index.ts
42743
- var init_layout2 = __esm({
43074
+ var init_layout3 = __esm({
42744
43075
  "../blocks/src/system/layout/index.ts"() {
42745
43076
  "use strict";
42746
43077
  init_repeaterGrid();
@@ -42800,7 +43131,7 @@ var init_system = __esm({
42800
43131
  init_designCapabilities();
42801
43132
  init_fragments2();
42802
43133
  init_icons();
42803
- init_layout2();
43134
+ init_layout3();
42804
43135
  init_defineBlock();
42805
43136
  init_ai();
42806
43137
  init_link();
@@ -43127,7 +43458,7 @@ var init_generateLayoutCss = __esm({
43127
43458
  });
43128
43459
 
43129
43460
  // ../theme-core/src/layout/index.ts
43130
- var init_layout3 = __esm({
43461
+ var init_layout4 = __esm({
43131
43462
  "../theme-core/src/layout/index.ts"() {
43132
43463
  "use strict";
43133
43464
  init_generateLayoutCss();
@@ -43926,7 +44257,7 @@ var init_buildThemeRuntime = __esm({
43926
44257
  init_defaults2();
43927
44258
  init_header();
43928
44259
  init_footer();
43929
- init_layout3();
44260
+ init_layout4();
43930
44261
  init_status();
43931
44262
  init_progress();
43932
44263
  init_typography2();
@@ -44389,30 +44720,30 @@ var init_Button = __esm({
44389
44720
  });
44390
44721
 
44391
44722
  // ../blocks/src/structure/schema.ts
44392
- import z65 from "zod";
44723
+ import z66 from "zod";
44393
44724
  var BlockKind, blockSchema, pagePath, pageOutlineSchema;
44394
44725
  var init_schema4 = __esm({
44395
44726
  "../blocks/src/structure/schema.ts"() {
44396
44727
  "use strict";
44397
- BlockKind = z65.string();
44398
- blockSchema = z65.object({
44399
- id: z65.string().nullable(),
44728
+ BlockKind = z66.string();
44729
+ blockSchema = z66.object({
44730
+ id: z66.string().nullable(),
44400
44731
  // optional ID for reference in toggle ops
44401
44732
  kind: BlockKind,
44402
- purpose: z65.string().min(1),
44733
+ purpose: z66.string().min(1),
44403
44734
  // Optional content fields used by PageRenderer / block runtime.
44404
- content: z65.record(z65.string(), z65.unknown()).optional(),
44735
+ content: z66.record(z66.string(), z66.unknown()).optional(),
44405
44736
  // Nullable because some persisted sources store "no draft" as null.
44406
- draftContent: z65.record(z65.string(), z65.unknown()).nullable().optional(),
44737
+ draftContent: z66.record(z66.string(), z66.unknown()).nullable().optional(),
44407
44738
  // Optional template bindings for reverse field mapping (entry editing)
44408
- bindings: z65.record(z65.string(), z65.unknown()).optional()
44739
+ bindings: z66.record(z66.string(), z66.unknown()).optional()
44409
44740
  }).passthrough();
44410
- pagePath = z65.string().regex(/^\/[\S]*$/, 'path must start with "/" and contain no spaces');
44411
- pageOutlineSchema = z65.object({
44412
- name: z65.string().min(1),
44741
+ pagePath = z66.string().regex(/^\/[\S]*$/, 'path must start with "/" and contain no spaces');
44742
+ pageOutlineSchema = z66.object({
44743
+ name: z66.string().min(1),
44413
44744
  path: pagePath,
44414
- purpose: z65.string().min(1),
44415
- blocks: z65.array(blockSchema).min(1)
44745
+ purpose: z66.string().min(1),
44746
+ blocks: z66.array(blockSchema).min(1)
44416
44747
  });
44417
44748
  }
44418
44749
  });
@@ -44535,7 +44866,7 @@ var init_fonts = __esm({
44535
44866
  });
44536
44867
 
44537
44868
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
44538
- import { z as z66 } from "zod";
44869
+ import { z as z67 } from "zod";
44539
44870
  var themeBridgeConfigSchema;
44540
44871
  var init_buildThemeRuntimeFromBridge = __esm({
44541
44872
  "../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts"() {
@@ -44550,33 +44881,33 @@ var init_buildThemeRuntimeFromBridge = __esm({
44550
44881
  init_progress();
44551
44882
  init_blocks2();
44552
44883
  init_themeCssVarNames();
44553
- themeBridgeConfigSchema = z66.object({
44554
- tokens: z66.record(z66.string(), z66.string()),
44555
- typography: z66.object({
44556
- headingFamily: z66.string().optional(),
44557
- bodyFamily: z66.string().optional(),
44558
- headingWeight: z66.number().optional(),
44559
- bodyWeight: z66.number().optional()
44884
+ themeBridgeConfigSchema = z67.object({
44885
+ tokens: z67.record(z67.string(), z67.string()),
44886
+ typography: z67.object({
44887
+ headingFamily: z67.string().optional(),
44888
+ bodyFamily: z67.string().optional(),
44889
+ headingWeight: z67.number().optional(),
44890
+ bodyWeight: z67.number().optional()
44560
44891
  }).optional(),
44561
- spacing: z66.enum(["comfortable", "standard", "dense"]).optional(),
44562
- corners: z66.enum(["square", "soft", "rounded", "pill"]).optional(),
44563
- shadows: z66.enum(["none", "low", "medium", "high"]).optional(),
44564
- components: z66.object({
44565
- buttons: z66.union([
44566
- z66.boolean(),
44567
- z66.object({
44568
- variants: z66.array(z66.enum(["primary", "secondary", "outline", "ghost"])).optional()
44892
+ spacing: z67.enum(["comfortable", "standard", "dense"]).optional(),
44893
+ corners: z67.enum(["square", "soft", "rounded", "pill"]).optional(),
44894
+ shadows: z67.enum(["none", "low", "medium", "high"]).optional(),
44895
+ components: z67.object({
44896
+ buttons: z67.union([
44897
+ z67.boolean(),
44898
+ z67.object({
44899
+ variants: z67.array(z67.enum(["primary", "secondary", "outline", "ghost"])).optional()
44569
44900
  })
44570
44901
  ]).optional(),
44571
- cards: z66.union([
44572
- z66.boolean(),
44573
- z66.object({
44574
- variants: z66.array(z66.enum(["default", "elevated", "outlined"])).optional()
44902
+ cards: z67.union([
44903
+ z67.boolean(),
44904
+ z67.object({
44905
+ variants: z67.array(z67.enum(["default", "elevated", "outlined"])).optional()
44575
44906
  })
44576
44907
  ]).optional(),
44577
- inputs: z66.boolean().optional()
44908
+ inputs: z67.boolean().optional()
44578
44909
  }).optional(),
44579
- overrides: z66.record(z66.string(), z66.string()).optional()
44910
+ overrides: z67.record(z67.string(), z67.string()).optional()
44580
44911
  }).passthrough();
44581
44912
  }
44582
44913
  });
@@ -44830,14 +45161,21 @@ var init_utils5 = __esm({
44830
45161
 
44831
45162
  // ../blocks/src/system/data/prefetchBlockData.ts
44832
45163
  async function prefetchBlockData(page, context, options) {
44833
- const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders } = options;
45164
+ const {
45165
+ apiClient,
45166
+ isValidEndpoint,
45167
+ onError,
45168
+ getCustomBlockLoaders,
45169
+ getBlockDefinition: getBlockDefinition2 = getBlockDefinition,
45170
+ resolveParamsBindings: resolveParamsBindings2 = resolveParamsBindings
45171
+ } = options;
44834
45172
  const results = {};
44835
45173
  const tasks = [];
44836
45174
  for (const block of page.blocks) {
44837
45175
  const blockId = block.id;
44838
45176
  if (!blockId) continue;
44839
45177
  let loaders;
44840
- const def = getBlockDefinition(block.kind);
45178
+ const def = getBlockDefinition2(block.kind);
44841
45179
  if (def) {
44842
45180
  loaders = normalizeDataLoaders(def);
44843
45181
  } else if (getCustomBlockLoaders) {
@@ -44860,14 +45198,14 @@ async function prefetchBlockData(page, context, options) {
44860
45198
  continue;
44861
45199
  }
44862
45200
  if (typeof loader.when !== "undefined") {
44863
- const resolvedWhen = resolveParamsBindings(loader.when, vm, {
45201
+ const resolvedWhen = resolveParamsBindings2(loader.when, vm, {
44864
45202
  blockKind: block.kind
44865
45203
  });
44866
45204
  if (resolvedWhen !== true) {
44867
45205
  continue;
44868
45206
  }
44869
45207
  }
44870
- const rawParams = resolveParamsBindings(loader.params, vm, {
45208
+ const rawParams = resolveParamsBindings2(loader.params, vm, {
44871
45209
  blockKind: block.kind
44872
45210
  });
44873
45211
  const params = normalizeParams(rawParams);
@@ -44922,7 +45260,8 @@ var init_loaderEndpoints = __esm({
44922
45260
  "listPublicPasses",
44923
45261
  "listPublicMemberships",
44924
45262
  "getPublicFormById",
44925
- "getPublicBookingServices"
45263
+ "getPublicBookingServices",
45264
+ "getPublicWeeklySlotAvailability"
44926
45265
  ];
44927
45266
  }
44928
45267
  });
@@ -44963,6 +45302,10 @@ function normalizeLoaderParams(endpoint, params, context) {
44963
45302
  ensureSiteId(out, context);
44964
45303
  return out;
44965
45304
  }
45305
+ if (endpoint === "getPublicWeeklySlotAvailability") {
45306
+ ensureSiteId(out, context);
45307
+ return out;
45308
+ }
44966
45309
  if (endpoint === "listPublicEvents") {
44967
45310
  ensureSiteId(out, context);
44968
45311
  return out;
@@ -45047,7 +45390,7 @@ var init_src3 = __esm({
45047
45390
  });
45048
45391
 
45049
45392
  // ../api/src/sdkConfig/contracts.ts
45050
- import { z as z67 } from "zod";
45393
+ import { z as z68 } from "zod";
45051
45394
  function unsafeRetypeZodSchema(schema) {
45052
45395
  return schema;
45053
45396
  }
@@ -45056,17 +45399,17 @@ var init_contracts2 = __esm({
45056
45399
  "../api/src/sdkConfig/contracts.ts"() {
45057
45400
  "use strict";
45058
45401
  init_src3();
45059
- navIdListSchema = z67.preprocess((value) => {
45402
+ navIdListSchema = z68.preprocess((value) => {
45060
45403
  if (!Array.isArray(value)) return void 0;
45061
45404
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
45062
45405
  return filtered.length > 0 ? filtered : void 0;
45063
- }, z67.array(z67.string()).max(200).optional());
45064
- dashboardNavVisibilityBaseSchema = z67.object({
45065
- mode: z67.enum(["augment", "restrict"]).optional(),
45406
+ }, z68.array(z68.string()).max(200).optional());
45407
+ dashboardNavVisibilityBaseSchema = z68.object({
45408
+ mode: z68.enum(["augment", "restrict"]).optional(),
45066
45409
  allowIds: navIdListSchema,
45067
45410
  denyIds: navIdListSchema
45068
45411
  }).strip();
45069
- dashboardNavVisibilityRolesSchema = z67.object({
45412
+ dashboardNavVisibilityRolesSchema = z68.object({
45070
45413
  administrator: dashboardNavVisibilityBaseSchema.optional(),
45071
45414
  editor: dashboardNavVisibilityBaseSchema.optional(),
45072
45415
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -45074,63 +45417,63 @@ var init_contracts2 = __esm({
45074
45417
  dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
45075
45418
  roles: dashboardNavVisibilityRolesSchema
45076
45419
  }).strip();
45077
- dashboardNavigationConfigSchema = z67.object({
45420
+ dashboardNavigationConfigSchema = z68.object({
45078
45421
  siteNav: dashboardNavVisibilitySchema.optional(),
45079
45422
  settingsNav: dashboardNavVisibilitySchema.optional()
45080
45423
  }).strip();
45081
- dashboardConfigSchema = z67.object({
45082
- previewEditingEnabled: z67.boolean().optional(),
45424
+ dashboardConfigSchema = z68.object({
45425
+ previewEditingEnabled: z68.boolean().optional(),
45083
45426
  navigation: dashboardNavigationConfigSchema.optional()
45084
45427
  }).strip();
45085
45428
  fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
45086
45429
  nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
45087
- sdkLoaderEndpointSchema = z67.enum(SUPPORTED_LOADER_ENDPOINTS);
45088
- loaderFallbackScalarSchema = z67.union([
45089
- z67.string(),
45090
- z67.number(),
45091
- z67.boolean(),
45092
- z67.null()
45430
+ sdkLoaderEndpointSchema = z68.enum(SUPPORTED_LOADER_ENDPOINTS);
45431
+ loaderFallbackScalarSchema = z68.union([
45432
+ z68.string(),
45433
+ z68.number(),
45434
+ z68.boolean(),
45435
+ z68.null()
45093
45436
  ]);
45094
- loaderParamBindingSchema = z67.object({
45095
- $bind: z67.object({
45096
- from: z67.string().min(1, "Binding path is required"),
45437
+ loaderParamBindingSchema = z68.object({
45438
+ $bind: z68.object({
45439
+ from: z68.string().min(1, "Binding path is required"),
45097
45440
  fallback: loaderFallbackScalarSchema.optional()
45098
45441
  })
45099
45442
  });
45100
- loaderParamValueSchema = z67.union([
45101
- z67.string(),
45102
- z67.number(),
45103
- z67.boolean(),
45443
+ loaderParamValueSchema = z68.union([
45444
+ z68.string(),
45445
+ z68.number(),
45446
+ z68.boolean(),
45104
45447
  loaderParamBindingSchema
45105
45448
  ]);
45106
- sdkConfigLoaderSchema = z67.object({
45449
+ sdkConfigLoaderSchema = z68.object({
45107
45450
  endpoint: sdkLoaderEndpointSchema,
45108
- params: z67.record(z67.string(), loaderParamValueSchema),
45109
- mode: z67.enum(["server", "client"]).default("server")
45451
+ params: z68.record(z68.string(), loaderParamValueSchema),
45452
+ mode: z68.enum(["server", "client"]).default("server")
45110
45453
  });
45111
- sdkDataLoadersSchema = z67.record(z67.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
45112
- sdkCustomBlockIdSchema = z67.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
45454
+ sdkDataLoadersSchema = z68.record(z68.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
45455
+ sdkCustomBlockIdSchema = z68.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
45113
45456
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
45114
45457
  }).transform((value) => value);
45115
- sdkCustomBlockInputSchema = z67.object({
45458
+ sdkCustomBlockInputSchema = z68.object({
45116
45459
  id: sdkCustomBlockIdSchema,
45117
- title: z67.string().min(1),
45118
- titleSource: z67.union([z67.string().min(1), z67.array(z67.string().min(1)).min(1)]).optional(),
45119
- description: z67.string().optional(),
45460
+ title: z68.string().min(1),
45461
+ titleSource: z68.union([z68.string().min(1), z68.array(z68.string().min(1)).min(1)]).optional(),
45462
+ description: z68.string().optional(),
45120
45463
  category: blockCategoryEnum,
45121
- icon: z67.string().optional(),
45122
- tags: z67.array(z67.string()).optional(),
45464
+ icon: z68.string().optional(),
45465
+ tags: z68.array(z68.string()).optional(),
45123
45466
  fields: fieldDefinitionInputSchema.array().min(1),
45124
45467
  dataLoaders: sdkDataLoadersSchema,
45125
45468
  layout: NodeSchema.optional(),
45126
- variants: z67.record(z67.string().min(1), NodeSchema).optional(),
45127
- defaultVariant: z67.string().min(1).optional(),
45128
- variantOptions: z67.record(
45129
- z67.string().min(1),
45130
- z67.object({
45131
- label: z67.string().min(1).optional(),
45132
- description: z67.string().min(1).optional(),
45133
- icon: z67.string().min(1).optional()
45469
+ variants: z68.record(z68.string().min(1), NodeSchema).optional(),
45470
+ defaultVariant: z68.string().min(1).optional(),
45471
+ variantOptions: z68.record(
45472
+ z68.string().min(1),
45473
+ z68.object({
45474
+ label: z68.string().min(1).optional(),
45475
+ description: z68.string().min(1).optional(),
45476
+ icon: z68.string().min(1).optional()
45134
45477
  })
45135
45478
  ).optional(),
45136
45479
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -45141,7 +45484,7 @@ var init_contracts2 = __esm({
45141
45484
  const exists = data.fields.some((field) => field.id === source);
45142
45485
  if (!exists) {
45143
45486
  ctx.addIssue({
45144
- code: z67.ZodIssueCode.custom,
45487
+ code: z68.ZodIssueCode.custom,
45145
45488
  message: `titleSource must reference a valid field ID (got "${source}")`,
45146
45489
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
45147
45490
  });
@@ -45150,7 +45493,7 @@ var init_contracts2 = __esm({
45150
45493
  }
45151
45494
  if (data.layout && data.variants) {
45152
45495
  ctx.addIssue({
45153
- code: z67.ZodIssueCode.custom,
45496
+ code: z68.ZodIssueCode.custom,
45154
45497
  message: "Custom block must define either `layout` or `variants`, not both",
45155
45498
  path: ["variants"]
45156
45499
  });
@@ -45159,14 +45502,14 @@ var init_contracts2 = __esm({
45159
45502
  const keys = Object.keys(data.variants);
45160
45503
  if (keys.length === 0) {
45161
45504
  ctx.addIssue({
45162
- code: z67.ZodIssueCode.custom,
45505
+ code: z68.ZodIssueCode.custom,
45163
45506
  message: "`variants` must contain at least one variant key",
45164
45507
  path: ["variants"]
45165
45508
  });
45166
45509
  }
45167
45510
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
45168
45511
  ctx.addIssue({
45169
- code: z67.ZodIssueCode.custom,
45512
+ code: z68.ZodIssueCode.custom,
45170
45513
  message: "`defaultVariant` must be a key present in `variants`",
45171
45514
  path: ["defaultVariant"]
45172
45515
  });
@@ -45175,7 +45518,7 @@ var init_contracts2 = __esm({
45175
45518
  for (const key of Object.keys(data.variantOptions)) {
45176
45519
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
45177
45520
  ctx.addIssue({
45178
- code: z67.ZodIssueCode.custom,
45521
+ code: z68.ZodIssueCode.custom,
45179
45522
  message: "`variantOptions` key must exist in `variants`",
45180
45523
  path: ["variantOptions", key]
45181
45524
  });
@@ -45184,78 +45527,78 @@ var init_contracts2 = __esm({
45184
45527
  }
45185
45528
  }
45186
45529
  });
45187
- sdkBlockFieldExtensionInputSchema = z67.object({
45530
+ sdkBlockFieldExtensionInputSchema = z68.object({
45188
45531
  fields: fieldDefinitionInputSchema.array().min(1)
45189
45532
  });
45190
- sdkBlockFieldExtensionsInputSchema = z67.record(
45191
- z67.string().min(1),
45533
+ sdkBlockFieldExtensionsInputSchema = z68.record(
45534
+ z68.string().min(1),
45192
45535
  sdkBlockFieldExtensionInputSchema
45193
45536
  );
45194
- sdkThemePaletteSchema = z67.record(z67.string(), z67.string());
45195
- sdkThemeConfigSchema = z67.object({
45537
+ sdkThemePaletteSchema = z68.record(z68.string(), z68.string());
45538
+ sdkThemeConfigSchema = z68.object({
45196
45539
  palette: sdkThemePaletteSchema
45197
45540
  });
45198
- sdkSectionBackgroundSchema = z67.object({
45199
- id: z67.string().min(1),
45200
- label: z67.string().min(1),
45201
- token: z67.string().min(1)
45541
+ sdkSectionBackgroundSchema = z68.object({
45542
+ id: z68.string().min(1),
45543
+ label: z68.string().min(1),
45544
+ token: z68.string().min(1)
45202
45545
  });
45203
- sdkSectionOptionsConfigSchema = z67.object({
45204
- backgroundColor: z67.boolean().optional(),
45205
- backgroundImage: z67.boolean().optional(),
45206
- backgroundGradient: z67.boolean().optional(),
45207
- spacing: z67.union([z67.array(z67.enum(["compact", "default", "spacious"])), z67.boolean()]).optional(),
45208
- textColor: z67.boolean().optional()
45546
+ sdkSectionOptionsConfigSchema = z68.object({
45547
+ backgroundColor: z68.boolean().optional(),
45548
+ backgroundImage: z68.boolean().optional(),
45549
+ backgroundGradient: z68.boolean().optional(),
45550
+ spacing: z68.union([z68.array(z68.enum(["compact", "default", "spacious"])), z68.boolean()]).optional(),
45551
+ textColor: z68.boolean().optional()
45209
45552
  });
45210
- sdkContainerOptionsConfigSchema = z67.object({
45211
- maxWidth: z67.union([z67.array(z67.enum(["narrow", "default", "wide", "full"])), z67.boolean()]).optional(),
45212
- alignment: z67.union([z67.array(z67.enum(["left", "center", "right"])), z67.boolean()]).optional()
45553
+ sdkContainerOptionsConfigSchema = z68.object({
45554
+ maxWidth: z68.union([z68.array(z68.enum(["narrow", "default", "wide", "full"])), z68.boolean()]).optional(),
45555
+ alignment: z68.union([z68.array(z68.enum(["left", "center", "right"])), z68.boolean()]).optional()
45213
45556
  });
45214
- sdkSiteStyleConfigSchema = z67.object({
45215
- sectionBackgrounds: z67.array(sdkSectionBackgroundSchema).optional(),
45557
+ sdkSiteStyleConfigSchema = z68.object({
45558
+ sectionBackgrounds: z68.array(sdkSectionBackgroundSchema).optional(),
45216
45559
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
45217
45560
  containerOptions: sdkContainerOptionsConfigSchema.optional()
45218
45561
  });
45219
- sdkSiteLayoutConfigSchema = z67.object({
45220
- footerBlocks: z67.array(
45221
- z67.object({
45222
- id: z67.string().min(1).optional(),
45223
- kind: z67.string().min(1),
45224
- content: z67.record(z67.string(), z67.unknown()).optional()
45562
+ sdkSiteLayoutConfigSchema = z68.object({
45563
+ footerBlocks: z68.array(
45564
+ z68.object({
45565
+ id: z68.string().min(1).optional(),
45566
+ kind: z68.string().min(1),
45567
+ content: z68.record(z68.string(), z68.unknown()).optional()
45225
45568
  })
45226
45569
  ).optional()
45227
45570
  });
45228
- sdkFieldSelectOptionSchema = z67.object({
45229
- value: z67.string(),
45230
- label: z67.string()
45571
+ sdkFieldSelectOptionSchema = z68.object({
45572
+ value: z68.string(),
45573
+ label: z68.string()
45231
45574
  });
45232
- sdkBlockFieldConfigSchema = z67.object({
45233
- options: z67.array(sdkFieldSelectOptionSchema).optional()
45575
+ sdkBlockFieldConfigSchema = z68.object({
45576
+ options: z68.array(sdkFieldSelectOptionSchema).optional()
45234
45577
  });
45235
- sdkBlockFieldOptionsMapSchema = z67.record(
45236
- z67.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
45578
+ sdkBlockFieldOptionsMapSchema = z68.record(
45579
+ z68.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
45237
45580
  message: "Block ID must be 'block.*' or 'custom.*' format"
45238
45581
  }),
45239
- z67.record(z67.string().min(1), sdkBlockFieldConfigSchema)
45582
+ z68.record(z68.string().min(1), sdkBlockFieldConfigSchema)
45240
45583
  ).optional();
45241
- sdkContentTypeTemplateConfigSchema = z67.object({
45242
- blocks: z67.array(z67.unknown())
45584
+ sdkContentTypeTemplateConfigSchema = z68.object({
45585
+ blocks: z68.array(z68.unknown())
45243
45586
  }).passthrough();
45244
- sdkContentTypeOrderingConfigSchema = z67.object({
45245
- mode: z67.enum(["default", "manual"]).optional()
45587
+ sdkContentTypeOrderingConfigSchema = z68.object({
45588
+ mode: z68.enum(["default", "manual"]).optional()
45246
45589
  }).optional();
45247
- sdkContentTypeConfigSchema = z67.object({
45248
- key: z67.string().min(1),
45249
- fields: z67.array(z67.unknown()),
45590
+ sdkContentTypeConfigSchema = z68.object({
45591
+ key: z68.string().min(1),
45592
+ fields: z68.array(z68.unknown()),
45250
45593
  ordering: sdkContentTypeOrderingConfigSchema,
45251
45594
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
45252
45595
  }).passthrough();
45253
- sdkContentConfigSchema = z67.object({
45254
- contentTypes: z67.array(sdkContentTypeConfigSchema).optional(),
45255
- pages: z67.array(z67.unknown()).optional(),
45256
- entries: z67.array(z67.unknown()).optional(),
45257
- navigationMenus: z67.array(z67.unknown()).optional(),
45258
- settings: z67.unknown().optional()
45596
+ sdkContentConfigSchema = z68.object({
45597
+ contentTypes: z68.array(sdkContentTypeConfigSchema).optional(),
45598
+ pages: z68.array(z68.unknown()).optional(),
45599
+ entries: z68.array(z68.unknown()).optional(),
45600
+ navigationMenus: z68.array(z68.unknown()).optional(),
45601
+ settings: z68.unknown().optional()
45259
45602
  }).passthrough();
45260
45603
  SDK_WORKFLOW_ID_MAX_LENGTH = 120;
45261
45604
  SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -45270,62 +45613,62 @@ var init_contracts2 = __esm({
45270
45613
  SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
45271
45614
  SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
45272
45615
  SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
45273
- sdkWorkflowIdSchema = z67.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
45616
+ sdkWorkflowIdSchema = z68.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
45274
45617
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
45275
45618
  });
45276
- sdkWorkflowEndpointSchema = z67.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 "/"' });
45277
- sdkWorkflowManualTriggerSchema = z67.object({
45278
- type: z67.literal("manual")
45619
+ sdkWorkflowEndpointSchema = z68.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 "/"' });
45620
+ sdkWorkflowManualTriggerSchema = z68.object({
45621
+ type: z68.literal("manual")
45279
45622
  }).strict();
45280
- sdkWorkflowTriggerFieldSchema = z67.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
45623
+ sdkWorkflowTriggerFieldSchema = z68.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
45281
45624
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
45282
45625
  });
45283
- sdkWorkflowFieldChangedConditionSchema = z67.object({
45626
+ sdkWorkflowFieldChangedConditionSchema = z68.object({
45284
45627
  field: sdkWorkflowTriggerFieldSchema,
45285
- changed: z67.literal(true)
45628
+ changed: z68.literal(true)
45286
45629
  }).strict();
45287
- sdkWorkflowFieldEmptyConditionSchema = z67.object({
45630
+ sdkWorkflowFieldEmptyConditionSchema = z68.object({
45288
45631
  field: sdkWorkflowTriggerFieldSchema,
45289
- isEmpty: z67.boolean()
45632
+ isEmpty: z68.boolean()
45290
45633
  }).strict();
45291
- sdkWorkflowEntryDraftUpdatedTriggerSchema = z67.object({
45292
- type: z67.literal("entry.draft.updated"),
45293
- when: z67.array(
45294
- z67.union([
45634
+ sdkWorkflowEntryDraftUpdatedTriggerSchema = z68.object({
45635
+ type: z68.literal("entry.draft.updated"),
45636
+ when: z68.array(
45637
+ z68.union([
45295
45638
  sdkWorkflowFieldChangedConditionSchema,
45296
45639
  sdkWorkflowFieldEmptyConditionSchema
45297
45640
  ])
45298
45641
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
45299
45642
  }).strict();
45300
- sdkWorkflowTriggerSchema = z67.discriminatedUnion("type", [
45643
+ sdkWorkflowTriggerSchema = z68.discriminatedUnion("type", [
45301
45644
  sdkWorkflowManualTriggerSchema,
45302
45645
  sdkWorkflowEntryDraftUpdatedTriggerSchema
45303
45646
  ]);
45304
- sdkWorkflowConfirmationSchema = z67.object({
45305
- title: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
45306
- body: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
45647
+ sdkWorkflowConfirmationSchema = z68.object({
45648
+ title: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
45649
+ body: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
45307
45650
  }).strict();
45308
- sdkWorkflowConfigSchema = z67.object({
45651
+ sdkWorkflowConfigSchema = z68.object({
45309
45652
  id: sdkWorkflowIdSchema,
45310
- title: z67.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
45311
- description: z67.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
45312
- contentType: z67.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
45653
+ title: z68.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
45654
+ description: z68.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
45655
+ contentType: z68.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
45313
45656
  endpoint: sdkWorkflowEndpointSchema,
45314
- triggers: z67.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
45657
+ triggers: z68.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
45315
45658
  confirmation: sdkWorkflowConfirmationSchema.optional()
45316
45659
  }).strict();
45317
- sdkWorkflowsSchema = z67.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
45660
+ sdkWorkflowsSchema = z68.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
45318
45661
  const ids = workflows.map((workflow) => workflow.id);
45319
45662
  return ids.length === new Set(ids).size;
45320
45663
  }, { message: "Workflow IDs must be unique" }).optional();
45321
- riverbankSiteConfigInputSchema = z67.object({
45322
- siteId: z67.string().uuid(),
45323
- previewUrl: z67.string().url().optional(),
45324
- liveUrl: z67.string().url().optional(),
45664
+ riverbankSiteConfigInputSchema = z68.object({
45665
+ siteId: z68.string().uuid(),
45666
+ previewUrl: z68.string().url().optional(),
45667
+ liveUrl: z68.string().url().optional(),
45325
45668
  theme: sdkThemeConfigSchema.optional(),
45326
45669
  styles: sdkSiteStyleConfigSchema.optional(),
45327
45670
  layout: sdkSiteLayoutConfigSchema.optional(),
45328
- customBlocks: z67.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
45671
+ customBlocks: z68.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
45329
45672
  const ids = blocks.map((b) => b.id);
45330
45673
  return ids.length === new Set(ids).size;
45331
45674
  }, { message: "Block IDs must be unique" }).optional(),
@@ -45333,22 +45676,23 @@ var init_contracts2 = __esm({
45333
45676
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
45334
45677
  workflows: sdkWorkflowsSchema,
45335
45678
  content: sdkContentConfigSchema.optional(),
45336
- contentDir: z67.string().optional(),
45337
- sync: z67.object({
45338
- existingEntries: z67.enum(["skip", "update"]).optional()
45679
+ contentDir: z68.string().optional(),
45680
+ sync: z68.object({
45681
+ existingEntries: z68.enum(["skip", "update"]).optional()
45339
45682
  }).optional(),
45340
- deploy: z67.object({
45341
- verifyCommand: z67.string().optional(),
45342
- prebuildOutput: z67.string().optional()
45683
+ deploy: z68.object({
45684
+ verifyCommand: z68.string().optional(),
45685
+ prebuildOutput: z68.string().optional()
45343
45686
  }).optional(),
45344
- themeSource: z67.enum(["local", "cms"]).optional(),
45345
- activeTheme: z67.string().optional(),
45346
- enablePortal: z67.boolean().optional(),
45687
+ themeSource: z68.enum(["local", "cms"]).optional(),
45688
+ activeTheme: z68.string().optional(),
45689
+ enablePortal: z68.boolean().optional(),
45347
45690
  dashboard: dashboardConfigSchema.optional()
45348
45691
  }).strict();
45349
- pushSdkConfigBodySchema = z67.object({
45692
+ pushSdkConfigBodySchema = z68.object({
45350
45693
  config: riverbankSiteConfigInputSchema,
45351
- forceContentTypes: z67.boolean().optional()
45694
+ forceContentTypes: z68.boolean().optional(),
45695
+ mode: z68.enum(["apply", "preview"]).optional()
45352
45696
  }).strict();
45353
45697
  }
45354
45698
  });
@@ -45367,6 +45711,13 @@ var init_incrementalJson = __esm({
45367
45711
  }
45368
45712
  });
45369
45713
 
45714
+ // ../api/src/publicExperienceEndpoints.ts
45715
+ var init_publicExperienceEndpoints = __esm({
45716
+ "../api/src/publicExperienceEndpoints.ts"() {
45717
+ "use strict";
45718
+ }
45719
+ });
45720
+
45370
45721
  // ../api/src/mailchimpIntegration.ts
45371
45722
  var init_mailchimpIntegration = __esm({
45372
45723
  "../api/src/mailchimpIntegration.ts"() {
@@ -45375,7 +45726,7 @@ var init_mailchimpIntegration = __esm({
45375
45726
  });
45376
45727
 
45377
45728
  // ../api/src/siteOnboarding.ts
45378
- import { z as z68 } from "zod";
45729
+ import { z as z69 } from "zod";
45379
45730
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS, acknowledgeLaunchRequirementRequestSchema, goLiveSiteRequestSchema;
45380
45731
  var init_siteOnboarding = __esm({
45381
45732
  "../api/src/siteOnboarding.ts"() {
@@ -45386,24 +45737,24 @@ var init_siteOnboarding = __esm({
45386
45737
  reason: "launch_anyway"
45387
45738
  }
45388
45739
  };
45389
- acknowledgeLaunchRequirementRequestSchema = z68.discriminatedUnion(
45740
+ acknowledgeLaunchRequirementRequestSchema = z69.discriminatedUnion(
45390
45741
  "requirementId",
45391
45742
  [
45392
- z68.object({
45393
- requirementId: z68.literal("review_generated_site")
45743
+ z69.object({
45744
+ requirementId: z69.literal("review_generated_site")
45394
45745
  }),
45395
- z68.object({
45396
- requirementId: z68.literal(
45746
+ z69.object({
45747
+ requirementId: z69.literal(
45397
45748
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
45398
45749
  ),
45399
- overrideReason: z68.literal(
45750
+ overrideReason: z69.literal(
45400
45751
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
45401
45752
  )
45402
45753
  })
45403
45754
  ]
45404
45755
  );
45405
- goLiveSiteRequestSchema = z68.object({
45406
- acceptExtraSiteCharge: z68.boolean().optional()
45756
+ goLiveSiteRequestSchema = z69.object({
45757
+ acceptExtraSiteCharge: z69.boolean().optional()
45407
45758
  });
45408
45759
  }
45409
45760
  });
@@ -45592,7 +45943,7 @@ var init_bookingRefundOutcomes = __esm({
45592
45943
  });
45593
45944
 
45594
45945
  // ../api/src/bookingVerticals.ts
45595
- import { z as z69 } from "zod";
45946
+ import { z as z70 } from "zod";
45596
45947
  function parseVerticalId(value) {
45597
45948
  return typeof value === "string" && VERTICAL_ID_SET.has(value) ? value : null;
45598
45949
  }
@@ -45773,39 +46124,39 @@ var init_bookingVerticals = __esm({
45773
46124
  VERTICAL_PRESET_ID_SET = new Set(
45774
46125
  VERTICAL_BOOKING_PRESETS.map((presetDefinition) => presetDefinition.id)
45775
46126
  );
45776
- VerticalIdSchema = z69.string().trim().transform((value, ctx) => {
46127
+ VerticalIdSchema = z70.string().trim().transform((value, ctx) => {
45777
46128
  const parsed = parseVerticalId(value);
45778
46129
  if (!parsed) {
45779
46130
  ctx.addIssue({
45780
- code: z69.ZodIssueCode.custom,
46131
+ code: z70.ZodIssueCode.custom,
45781
46132
  message: "Unknown booking vertical"
45782
46133
  });
45783
- return z69.NEVER;
46134
+ return z70.NEVER;
45784
46135
  }
45785
46136
  return parsed;
45786
46137
  });
45787
- VerticalPresetIdSchema = z69.string().trim().transform((value, ctx) => {
46138
+ VerticalPresetIdSchema = z70.string().trim().transform((value, ctx) => {
45788
46139
  const parsed = parseVerticalPresetId(value);
45789
46140
  if (!parsed) {
45790
46141
  ctx.addIssue({
45791
- code: z69.ZodIssueCode.custom,
46142
+ code: z70.ZodIssueCode.custom,
45792
46143
  message: "Unknown booking preset"
45793
46144
  });
45794
- return z69.NEVER;
46145
+ return z70.NEVER;
45795
46146
  }
45796
46147
  return parsed;
45797
46148
  });
45798
- BookingVerticalConfigSchema = z69.object({
46149
+ BookingVerticalConfigSchema = z70.object({
45799
46150
  verticalId: VerticalIdSchema.nullable(),
45800
- selectedPresetIds: z69.array(VerticalPresetIdSchema).max(20)
46151
+ selectedPresetIds: z70.array(VerticalPresetIdSchema).max(20)
45801
46152
  }).transform((value, ctx) => {
45802
46153
  const resolved = resolveSiteVerticalBookingConfig(value);
45803
46154
  if (resolved.kind === "invalid") {
45804
46155
  ctx.addIssue({
45805
- code: z69.ZodIssueCode.custom,
46156
+ code: z70.ZodIssueCode.custom,
45806
46157
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
45807
46158
  });
45808
- return z69.NEVER;
46159
+ return z70.NEVER;
45809
46160
  }
45810
46161
  return resolved.config;
45811
46162
  });
@@ -45850,7 +46201,7 @@ var init_error_propagation = __esm({
45850
46201
  });
45851
46202
 
45852
46203
  // ../api/src/appointmentSetup.ts
45853
- import { z as z70 } from "zod";
46204
+ import { z as z71 } from "zod";
45854
46205
  var APPOINTMENT_SETUP_MAX_MINUTES, appointmentSetupRefSchema, appointmentSetupVenueChoiceSchema, appointmentSetupPaymentDraftSchema, appointmentSetupServiceAssignmentDraftSchema, appointmentSetupServiceDraftSchema, appointmentSetupPractitionerDraftSchema, appointmentSetupWeeklyWindowDraftSchema, appointmentSetupStartTimePolicyDraftSchema, appointmentSetupAvailabilityDraftSchema, APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX, APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX, appointmentSetupBookingNoticeSchema, applyAppointmentSetupRequestSchema;
45855
46206
  var init_appointmentSetup = __esm({
45856
46207
  "../api/src/appointmentSetup.ts"() {
@@ -45858,49 +46209,49 @@ var init_appointmentSetup = __esm({
45858
46209
  init_envelope();
45859
46210
  init_error_propagation();
45860
46211
  APPOINTMENT_SETUP_MAX_MINUTES = 1440;
45861
- appointmentSetupRefSchema = z70.discriminatedUnion("kind", [
45862
- z70.object({ kind: z70.literal("existing"), id: z70.string().min(1) }),
45863
- z70.object({ kind: z70.literal("new"), draftId: z70.string().min(1) })
46212
+ appointmentSetupRefSchema = z71.discriminatedUnion("kind", [
46213
+ z71.object({ kind: z71.literal("existing"), id: z71.string().min(1) }),
46214
+ z71.object({ kind: z71.literal("new"), draftId: z71.string().min(1) })
45864
46215
  ]);
45865
- appointmentSetupVenueChoiceSchema = z70.discriminatedUnion("kind", [
45866
- z70.object({ kind: z70.literal("none") }),
45867
- z70.object({ kind: z70.literal("existing"), venueId: z70.string().min(1) }),
45868
- z70.object({
45869
- kind: z70.literal("create"),
45870
- draftId: z70.string().min(1),
45871
- title: z70.string().trim().min(1),
45872
- description: z70.string().nullable(),
45873
- timezone: z70.string().trim().min(1).nullable(),
45874
- addressJson: z70.record(z70.string(), z70.unknown()),
45875
- locationJson: z70.object({ lat: z70.number(), lng: z70.number() }).nullable()
46216
+ appointmentSetupVenueChoiceSchema = z71.discriminatedUnion("kind", [
46217
+ z71.object({ kind: z71.literal("none") }),
46218
+ z71.object({ kind: z71.literal("existing"), venueId: z71.string().min(1) }),
46219
+ z71.object({
46220
+ kind: z71.literal("create"),
46221
+ draftId: z71.string().min(1),
46222
+ title: z71.string().trim().min(1),
46223
+ description: z71.string().nullable(),
46224
+ timezone: z71.string().trim().min(1).nullable(),
46225
+ addressJson: z71.record(z71.string(), z71.unknown()),
46226
+ locationJson: z71.object({ lat: z71.number(), lng: z71.number() }).nullable()
45876
46227
  })
45877
46228
  ]);
45878
- appointmentSetupPaymentDraftSchema = z70.object({
45879
- priceType: z70.union([z70.literal("free"), z70.literal("paid")])
45880
- });
45881
- appointmentSetupServiceAssignmentDraftSchema = z70.discriminatedUnion("kind", [
45882
- z70.object({ kind: z70.literal("all_practitioners") }),
45883
- z70.object({
45884
- kind: z70.literal("selected_practitioners"),
45885
- resourceRefs: z70.array(appointmentSetupRefSchema)
46229
+ appointmentSetupPaymentDraftSchema = z71.object({
46230
+ priceType: z71.union([z71.literal("free"), z71.literal("paid")])
46231
+ });
46232
+ appointmentSetupServiceAssignmentDraftSchema = z71.discriminatedUnion("kind", [
46233
+ z71.object({ kind: z71.literal("all_practitioners") }),
46234
+ z71.object({
46235
+ kind: z71.literal("selected_practitioners"),
46236
+ resourceRefs: z71.array(appointmentSetupRefSchema)
45886
46237
  })
45887
46238
  ]);
45888
- appointmentSetupServiceDraftSchema = z70.object({
46239
+ appointmentSetupServiceDraftSchema = z71.object({
45889
46240
  ref: appointmentSetupRefSchema,
45890
- title: z70.string().trim().min(1),
45891
- description: z70.string().nullable(),
45892
- durationMinutes: z70.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
45893
- prepMinutes: z70.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
45894
- cleanupMinutes: z70.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
45895
- priceAmount: z70.number().int().nonnegative().nullable(),
45896
- isActive: z70.boolean(),
45897
- locationType: z70.union([
45898
- z70.literal("virtual"),
45899
- z70.literal("in_person"),
45900
- z70.literal("hybrid")
46241
+ title: z71.string().trim().min(1),
46242
+ description: z71.string().nullable(),
46243
+ durationMinutes: z71.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
46244
+ prepMinutes: z71.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
46245
+ cleanupMinutes: z71.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
46246
+ priceAmount: z71.number().int().nonnegative().nullable(),
46247
+ isActive: z71.boolean(),
46248
+ locationType: z71.union([
46249
+ z71.literal("virtual"),
46250
+ z71.literal("in_person"),
46251
+ z71.literal("hybrid")
45901
46252
  ]),
45902
46253
  venue: appointmentSetupVenueChoiceSchema,
45903
- timezone: z70.string().trim().min(1).nullable(),
46254
+ timezone: z71.string().trim().min(1).nullable(),
45904
46255
  payment: appointmentSetupPaymentDraftSchema,
45905
46256
  assignment: appointmentSetupServiceAssignmentDraftSchema
45906
46257
  }).superRefine((service, ctx) => {
@@ -45919,49 +46270,49 @@ var init_appointmentSetup = __esm({
45919
46270
  });
45920
46271
  }
45921
46272
  });
45922
- appointmentSetupPractitionerDraftSchema = z70.object({
46273
+ appointmentSetupPractitionerDraftSchema = z71.object({
45923
46274
  ref: appointmentSetupRefSchema,
45924
- displayName: z70.string().trim().min(1),
45925
- bio: z70.string().nullable(),
45926
- timezone: z70.string().trim().min(1),
45927
- colorHex: z70.string().nullable()
45928
- });
45929
- appointmentSetupWeeklyWindowDraftSchema = z70.object({
45930
- weekday: z70.number().int().min(0).max(6),
45931
- startTime: z70.string(),
45932
- endTime: z70.string()
45933
- });
45934
- appointmentSetupStartTimePolicyDraftSchema = z70.discriminatedUnion("kind", [
45935
- z70.object({ kind: z70.literal("automatic_spacing") }),
45936
- z70.object({
45937
- kind: z70.literal("regular_interval"),
45938
- intervalMinutes: z70.union([
45939
- z70.literal(10),
45940
- z70.literal(15),
45941
- z70.literal(20),
45942
- z70.literal(30),
45943
- z70.literal(45),
45944
- z70.literal(60)
46275
+ displayName: z71.string().trim().min(1),
46276
+ bio: z71.string().nullable(),
46277
+ timezone: z71.string().trim().min(1),
46278
+ colorHex: z71.string().nullable()
46279
+ });
46280
+ appointmentSetupWeeklyWindowDraftSchema = z71.object({
46281
+ weekday: z71.number().int().min(0).max(6),
46282
+ startTime: z71.string(),
46283
+ endTime: z71.string()
46284
+ });
46285
+ appointmentSetupStartTimePolicyDraftSchema = z71.discriminatedUnion("kind", [
46286
+ z71.object({ kind: z71.literal("automatic_spacing") }),
46287
+ z71.object({
46288
+ kind: z71.literal("regular_interval"),
46289
+ intervalMinutes: z71.union([
46290
+ z71.literal(10),
46291
+ z71.literal(15),
46292
+ z71.literal(20),
46293
+ z71.literal(30),
46294
+ z71.literal(45),
46295
+ z71.literal(60)
45945
46296
  ])
45946
46297
  })
45947
46298
  ]);
45948
- appointmentSetupAvailabilityDraftSchema = z70.object({
45949
- kind: z70.literal("weekly_windows"),
46299
+ appointmentSetupAvailabilityDraftSchema = z71.object({
46300
+ kind: z71.literal("weekly_windows"),
45950
46301
  resourceRef: appointmentSetupRefSchema,
45951
46302
  serviceRef: appointmentSetupRefSchema.nullable(),
45952
- windows: z70.array(appointmentSetupWeeklyWindowDraftSchema),
46303
+ windows: z71.array(appointmentSetupWeeklyWindowDraftSchema),
45953
46304
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
45954
46305
  });
45955
46306
  APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
45956
46307
  APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
45957
- appointmentSetupBookingNoticeSchema = z70.object({
45958
- minLeadMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
45959
- maxBookingNoticeMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
45960
- });
45961
- applyAppointmentSetupRequestSchema = z70.object({
45962
- services: z70.array(appointmentSetupServiceDraftSchema),
45963
- practitioners: z70.array(appointmentSetupPractitionerDraftSchema),
45964
- availability: z70.array(appointmentSetupAvailabilityDraftSchema),
46308
+ appointmentSetupBookingNoticeSchema = z71.object({
46309
+ minLeadMinutes: z71.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
46310
+ maxBookingNoticeMinutes: z71.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
46311
+ });
46312
+ applyAppointmentSetupRequestSchema = z71.object({
46313
+ services: z71.array(appointmentSetupServiceDraftSchema),
46314
+ practitioners: z71.array(appointmentSetupPractitionerDraftSchema),
46315
+ availability: z71.array(appointmentSetupAvailabilityDraftSchema),
45965
46316
  bookingNotice: appointmentSetupBookingNoticeSchema
45966
46317
  });
45967
46318
  }
@@ -46085,7 +46436,7 @@ var init_eventAttendanceLabels = __esm({
46085
46436
  });
46086
46437
 
46087
46438
  // ../api/src/siteBanner.ts
46088
- import { z as z71 } from "zod";
46439
+ import { z as z72 } from "zod";
46089
46440
  function analyzeSiteBannerBody(body) {
46090
46441
  const sanitizedBody = sanitizeSiteBannerBodyInternal(body, { limitParagraphs: false });
46091
46442
  const paragraphs = collectParagraphs(sanitizedBody);
@@ -46268,19 +46619,19 @@ var init_siteBanner = __esm({
46268
46619
  SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
46269
46620
  SITE_BANNER_MAX_TEXT_LENGTH = 320;
46270
46621
  SITE_BANNER_MAX_PARAGRAPHS = 2;
46271
- siteBannerScopeSchema = z71.enum(SITE_BANNER_SCOPE_VALUES);
46272
- siteBannerToneSchema = z71.enum(SITE_BANNER_TONE_VALUES);
46273
- siteBannerBodySchema = z71.unknown().transform(unwrapRichTextValue);
46274
- siteBannerCtaSchema = z71.object({
46275
- label: z71.string().trim().min(1),
46622
+ siteBannerScopeSchema = z72.enum(SITE_BANNER_SCOPE_VALUES);
46623
+ siteBannerToneSchema = z72.enum(SITE_BANNER_TONE_VALUES);
46624
+ siteBannerBodySchema = z72.unknown().transform(unwrapRichTextValue);
46625
+ siteBannerCtaSchema = z72.object({
46626
+ label: z72.string().trim().min(1),
46276
46627
  link: linkPayloadSchema
46277
46628
  });
46278
- siteBannerSettingsSchema = z71.discriminatedUnion("enabled", [
46279
- z71.object({
46280
- enabled: z71.literal(false)
46629
+ siteBannerSettingsSchema = z72.discriminatedUnion("enabled", [
46630
+ z72.object({
46631
+ enabled: z72.literal(false)
46281
46632
  }),
46282
- z71.object({
46283
- enabled: z71.literal(true),
46633
+ z72.object({
46634
+ enabled: z72.literal(true),
46284
46635
  scope: siteBannerScopeSchema,
46285
46636
  tone: siteBannerToneSchema,
46286
46637
  body: siteBannerBodySchema,
@@ -46294,7 +46645,7 @@ var init_siteBanner = __esm({
46294
46645
  const analysis = analyzeSiteBannerBody(value.body);
46295
46646
  for (const issue of analysis.issues) {
46296
46647
  ctx.addIssue({
46297
- code: z71.ZodIssueCode.custom,
46648
+ code: z72.ZodIssueCode.custom,
46298
46649
  path: ["body"],
46299
46650
  message: siteBannerBodyIssueMessage(issue)
46300
46651
  });
@@ -46694,75 +47045,75 @@ var init_aiPatch = __esm({
46694
47045
  });
46695
47046
 
46696
47047
  // ../api/src/aiPlayground.ts
46697
- import { z as z72 } from "zod";
47048
+ import { z as z73 } from "zod";
46698
47049
  var Rfc6902PatchOp, PlaygroundProposeRequest, MultiPagePatchEnvelope, MultiPageUpdateResponse;
46699
47050
  var init_aiPlayground = __esm({
46700
47051
  "../api/src/aiPlayground.ts"() {
46701
47052
  "use strict";
46702
- Rfc6902PatchOp = z72.discriminatedUnion("op", [
47053
+ Rfc6902PatchOp = z73.discriminatedUnion("op", [
46703
47054
  // Standard RFC-6902 operations
46704
- z72.object({
46705
- op: z72.literal("add"),
46706
- path: z72.string(),
46707
- value: z72.unknown()
47055
+ z73.object({
47056
+ op: z73.literal("add"),
47057
+ path: z73.string(),
47058
+ value: z73.unknown()
46708
47059
  }),
46709
- z72.object({
46710
- op: z72.literal("remove"),
46711
- path: z72.string()
47060
+ z73.object({
47061
+ op: z73.literal("remove"),
47062
+ path: z73.string()
46712
47063
  }),
46713
- z72.object({
46714
- op: z72.literal("replace"),
46715
- path: z72.string(),
46716
- value: z72.unknown()
47064
+ z73.object({
47065
+ op: z73.literal("replace"),
47066
+ path: z73.string(),
47067
+ value: z73.unknown()
46717
47068
  }),
46718
- z72.object({
46719
- op: z72.literal("move"),
46720
- from: z72.string(),
46721
- path: z72.string()
47069
+ z73.object({
47070
+ op: z73.literal("move"),
47071
+ from: z73.string(),
47072
+ path: z73.string()
46722
47073
  }),
46723
- z72.object({
46724
- op: z72.literal("copy"),
46725
- from: z72.string(),
46726
- path: z72.string()
47074
+ z73.object({
47075
+ op: z73.literal("copy"),
47076
+ from: z73.string(),
47077
+ path: z73.string()
46727
47078
  }),
46728
47079
  // Block-level operations (Phase 2)
46729
- z72.object({
46730
- op: z72.literal("add_block"),
46731
- blockKind: z72.string(),
46732
- afterBlockId: z72.string().nullable(),
46733
- content: z72.record(z72.string(), z72.unknown()),
46734
- rationale: z72.string()
47080
+ z73.object({
47081
+ op: z73.literal("add_block"),
47082
+ blockKind: z73.string(),
47083
+ afterBlockId: z73.string().nullable(),
47084
+ content: z73.record(z73.string(), z73.unknown()),
47085
+ rationale: z73.string()
46735
47086
  }),
46736
- z72.object({
46737
- op: z72.literal("delete_block"),
46738
- blockId: z72.string(),
46739
- rationale: z72.string()
47087
+ z73.object({
47088
+ op: z73.literal("delete_block"),
47089
+ blockId: z73.string(),
47090
+ rationale: z73.string()
46740
47091
  }),
46741
- z72.object({
46742
- op: z72.literal("reorder_block"),
46743
- blockId: z72.string(),
46744
- afterBlockId: z72.string().nullable(),
46745
- rationale: z72.string()
47092
+ z73.object({
47093
+ op: z73.literal("reorder_block"),
47094
+ blockId: z73.string(),
47095
+ afterBlockId: z73.string().nullable(),
47096
+ rationale: z73.string()
46746
47097
  })
46747
47098
  ]);
46748
- PlaygroundProposeRequest = z72.object({
46749
- request: z72.string().min(1).max(2e3)
47099
+ PlaygroundProposeRequest = z73.object({
47100
+ request: z73.string().min(1).max(2e3)
46750
47101
  });
46751
- MultiPagePatchEnvelope = z72.object({
46752
- pageId: z72.string(),
46753
- blockId: z72.string().optional(),
47102
+ MultiPagePatchEnvelope = z73.object({
47103
+ pageId: z73.string(),
47104
+ blockId: z73.string().optional(),
46754
47105
  // Not present for page-level ops
46755
- blockKind: z72.string().optional(),
46756
- blockPurpose: z72.string().optional().nullable(),
46757
- ops: z72.array(Rfc6902PatchOp),
46758
- rationale: z72.string(),
46759
- currentContent: z72.record(z72.string(), z72.unknown()).optional()
47106
+ blockKind: z73.string().optional(),
47107
+ blockPurpose: z73.string().optional().nullable(),
47108
+ ops: z73.array(Rfc6902PatchOp),
47109
+ rationale: z73.string(),
47110
+ currentContent: z73.record(z73.string(), z73.unknown()).optional()
46760
47111
  });
46761
- MultiPageUpdateResponse = z72.object({
46762
- patches: z72.array(MultiPagePatchEnvelope),
46763
- assistantMessage: z72.string(),
46764
- pagesModified: z72.number(),
46765
- toolCallsUsed: z72.number()
47112
+ MultiPageUpdateResponse = z73.object({
47113
+ patches: z73.array(MultiPagePatchEnvelope),
47114
+ assistantMessage: z73.string(),
47115
+ pagesModified: z73.number(),
47116
+ toolCallsUsed: z73.number()
46766
47117
  });
46767
47118
  }
46768
47119
  });
@@ -46833,6 +47184,7 @@ var init_src5 = __esm({
46833
47184
  init_contracts2();
46834
47185
  init_sdkContracts();
46835
47186
  init_incrementalJson();
47187
+ init_publicExperienceEndpoints();
46836
47188
  init_mailchimpIntegration();
46837
47189
  init_launchReadiness();
46838
47190
  init_url();
@@ -47137,6 +47489,15 @@ async function getPublicBookingServices({ client, params }) {
47137
47489
  ids: readStringParam(params, "ids")
47138
47490
  });
47139
47491
  }
47492
+ async function getPublicWeeklySlotAvailability({ client, params }) {
47493
+ return await client.getPublicWeeklySlotAvailability({
47494
+ siteId: requireStringParam(params, "siteId", "getPublicWeeklySlotAvailability"),
47495
+ serviceId: requireStringParam(params, "serviceId", "getPublicWeeklySlotAvailability"),
47496
+ resourceId: readStringParam(params, "resourceId"),
47497
+ horizonWeeks: parsePositiveIntegerParam(params, "horizonWeeks"),
47498
+ timezone: readStringParam(params, "timezone")
47499
+ });
47500
+ }
47140
47501
  async function prefetchBlockData2(page, context, client, options) {
47141
47502
  const { customBlocks } = options ?? {};
47142
47503
  const customBlockMap = new Map(
@@ -47202,7 +47563,8 @@ var init_prefetchBlockData2 = __esm({
47202
47563
  listPublicPasses,
47203
47564
  listPublicMemberships,
47204
47565
  getPublicFormById,
47205
- getPublicBookingServices
47566
+ getPublicBookingServices,
47567
+ getPublicWeeklySlotAvailability
47206
47568
  };
47207
47569
  }
47208
47570
  });
@@ -47360,7 +47722,16 @@ __export(loadPage_exports, {
47360
47722
  loadPage: () => loadPage
47361
47723
  });
47362
47724
  async function loadPage(params) {
47363
- const { client, siteId, path, pageId, preview = false, dataLoaderOverrides, searchParams, forceSite } = params;
47725
+ const {
47726
+ client,
47727
+ siteId,
47728
+ path,
47729
+ pageId,
47730
+ preview = false,
47731
+ dataLoaderOverrides,
47732
+ searchParams,
47733
+ forceSite
47734
+ } = params;
47364
47735
  const [site, pageResponse] = await Promise.all([
47365
47736
  client.getSite({ id: siteId, ...forceSite ? { force: true } : {} }),
47366
47737
  client.getPage({ siteId, path, preview })
@@ -47370,6 +47741,11 @@ async function loadPage(params) {
47370
47741
  "This path resolves to a content entry, not a page. Use loadContent() instead, which handles both pages and entries. For entries, loadContent() returns the raw entry data for custom rendering."
47371
47742
  );
47372
47743
  }
47744
+ if ("pageSurface" in pageResponse) {
47745
+ throw new Error(
47746
+ "This path resolves to a page surface, not a page. Use loadContent() instead, which handles pages, entries, and page surfaces."
47747
+ );
47748
+ }
47373
47749
  const { page: pageData } = pageResponse;
47374
47750
  const support = buildSiteRenderSupport(
47375
47751
  site,
@@ -47399,7 +47775,11 @@ async function loadPage(params) {
47399
47775
  );
47400
47776
  let resolvedData = configData;
47401
47777
  if (dataLoaderOverrides && Object.keys(dataLoaderOverrides).length > 0) {
47402
- const codeData = await executeCodeLoaders(pageOutline, prefetchContext, dataLoaderOverrides);
47778
+ const codeData = await executeCodeLoaders(
47779
+ pageOutline,
47780
+ prefetchContext,
47781
+ dataLoaderOverrides
47782
+ );
47403
47783
  resolvedData = mergeLoaderResults(configData, codeData);
47404
47784
  }
47405
47785
  return {