@riverbankcms/sdk 0.62.4 → 0.64.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 (315) hide show
  1. package/README.md +11 -0
  2. package/dist/_dts/api/src/accessAdmin.d.ts +64 -2
  3. package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
  4. package/dist/_dts/api/src/billing.d.ts +46 -10
  5. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  6. package/dist/_dts/api/src/bookingRecords.d.ts +26 -0
  7. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
  8. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  9. package/dist/_dts/api/src/courses.d.ts +3 -0
  10. package/dist/_dts/api/src/endpoints.d.ts +23 -0
  11. package/dist/_dts/api/src/index.d.ts +8 -5
  12. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +13 -1
  14. package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
  15. package/dist/_dts/api/src/siteOperations.d.ts +10 -0
  16. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +29 -0
  17. package/dist/_dts/api/src/types.d.ts +2 -1
  18. package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
  19. package/dist/_dts/billing/src/plans/types.d.ts +9 -0
  20. package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
  21. package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
  22. package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
  23. package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
  24. package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
  25. package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
  26. package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
  27. package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
  28. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
  29. package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
  30. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
  31. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
  32. package/dist/_dts/block-form/src/client/index.d.ts +30 -0
  33. package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
  34. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
  35. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
  36. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
  37. package/dist/_dts/block-form/src/context/index.d.ts +4 -0
  38. package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
  39. package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
  40. package/dist/_dts/block-form/src/index.d.ts +22 -0
  41. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
  42. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
  43. package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
  44. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
  45. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
  46. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
  47. package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
  48. package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
  49. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
  50. package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
  51. package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
  52. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
  53. package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
  54. package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
  55. package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
  56. package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
  57. package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
  58. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
  59. package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
  60. package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
  61. package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
  62. package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
  63. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
  64. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
  65. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
  66. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
  67. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
  68. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
  69. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
  70. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
  71. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
  72. package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
  73. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
  74. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
  75. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
  76. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
  77. package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
  78. package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
  79. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
  80. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
  81. package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
  82. package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
  83. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
  84. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
  85. package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
  86. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
  87. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
  88. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
  89. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
  90. package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
  91. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
  92. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
  93. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
  94. package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
  95. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
  96. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
  97. package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
  98. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
  99. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
  100. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
  101. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
  102. package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
  103. package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
  104. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
  105. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
  106. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
  107. package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
  108. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
  109. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
  110. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
  111. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
  112. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
  113. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
  114. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
  115. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
  116. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
  117. package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
  118. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
  119. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
  120. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
  121. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
  122. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
  123. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
  124. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
  125. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
  126. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
  127. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
  128. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
  129. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
  130. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
  131. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
  132. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
  133. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
  134. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
  135. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
  136. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
  137. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
  138. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
  139. package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
  140. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
  141. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
  142. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
  143. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
  144. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
  145. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
  146. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
  147. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
  148. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
  149. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
  150. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
  151. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
  152. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
  153. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
  154. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
  155. package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
  156. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
  157. package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
  158. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
  159. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
  160. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
  161. package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
  162. package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
  163. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
  164. package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
  165. package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
  166. package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
  167. package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
  168. package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
  169. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
  170. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
  171. package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
  172. package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
  173. package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
  174. package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
  175. package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
  176. package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
  177. package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
  178. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
  179. package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
  180. package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
  181. package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
  182. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
  183. package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
  184. package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
  185. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
  186. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
  187. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
  188. package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
  189. package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
  190. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
  191. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
  192. package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
  193. package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
  194. package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
  195. package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
  196. package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
  197. package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
  198. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  199. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  200. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
  201. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
  202. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  203. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
  204. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
  205. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
  206. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  207. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  208. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
  209. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
  210. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
  211. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
  212. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
  213. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  214. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
  215. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  217. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
  218. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
  219. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
  220. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
  221. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
  222. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  223. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  224. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  225. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1 -1
  226. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
  227. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
  228. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
  229. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
  230. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  231. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  232. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
  233. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
  234. package/dist/_dts/calendar/src/grid.d.ts +60 -0
  235. package/dist/_dts/calendar/src/group.d.ts +14 -0
  236. package/dist/_dts/calendar/src/index.d.ts +6 -0
  237. package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
  238. package/dist/_dts/calendar/src/timetable.d.ts +90 -0
  239. package/dist/_dts/calendar/src/timezone.d.ts +19 -0
  240. package/dist/_dts/content-editor/src/index.d.ts +1 -4
  241. package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
  242. package/dist/_dts/core/src/branded.d.ts +18 -0
  243. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +750 -0
  244. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  245. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
  246. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
  247. package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
  248. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  249. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
  250. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  251. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +4 -0
  252. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
  253. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
  254. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
  255. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
  256. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
  257. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
  258. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
  259. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +17 -0
  260. package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
  261. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
  262. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
  263. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
  264. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
  265. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +21 -0
  266. package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
  267. package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
  268. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
  269. package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
  270. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +85 -0
  271. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +2 -0
  272. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +30 -0
  273. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +1 -0
  274. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
  275. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  276. package/dist/_dts/sdk/src/version.d.ts +1 -1
  277. package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
  278. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
  279. package/dist/_dts/site-commands/src/commands.d.ts +1944 -0
  280. package/dist/_dts/site-commands/src/domain.d.ts +104 -0
  281. package/dist/_dts/site-commands/src/guards.d.ts +1 -0
  282. package/dist/_dts/site-commands/src/index.d.ts +9 -0
  283. package/dist/_dts/site-commands/src/metadata.d.ts +412 -0
  284. package/dist/_dts/site-commands/src/planner.d.ts +51 -0
  285. package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
  286. package/dist/_dts/site-commands/src/refs.d.ts +75 -0
  287. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
  288. package/dist/cli/index.mjs +3997 -548
  289. package/dist/cli/init-docs/content/cli-reference.md +18 -0
  290. package/dist/client/bookings.mjs +25 -25
  291. package/dist/client/client.mjs +2560 -2487
  292. package/dist/client/hooks.mjs +2288 -2194
  293. package/dist/client/rendering/client.mjs +296 -108
  294. package/dist/client/rendering/islands.mjs +18257 -13071
  295. package/dist/client/rendering.mjs +788 -713
  296. package/dist/preview-next/before-render.mjs +23 -0
  297. package/dist/preview-next/client/runtime.mjs +2219 -2076
  298. package/dist/preview-next/middleware.mjs +23 -0
  299. package/dist/server/components.mjs +410 -306
  300. package/dist/server/config-validation.mjs +2516 -2422
  301. package/dist/server/config.mjs +2516 -2422
  302. package/dist/server/data.mjs +2288 -2194
  303. package/dist/server/index.mjs +599 -537
  304. package/dist/server/next.mjs +2517 -2413
  305. package/dist/server/page-converter.mjs +42 -10
  306. package/dist/server/prebuild.mjs +1 -1
  307. package/dist/server/rendering/server.mjs +410 -306
  308. package/dist/server/rendering.mjs +410 -306
  309. package/dist/server/routing.mjs +2302 -2288
  310. package/dist/server/server.mjs +2306 -2212
  311. package/dist/server/theme-bridge.mjs +14 -4
  312. package/package.json +2 -1
  313. package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
  314. package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
  315. package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
@@ -5179,21 +5179,6 @@ var init_business_address = __esm({
5179
5179
  }
5180
5180
  });
5181
5181
 
5182
- // ../core/src/assert-never.ts
5183
- var init_assert_never = __esm({
5184
- "../core/src/assert-never.ts"() {
5185
- "use strict";
5186
- }
5187
- });
5188
-
5189
- // ../core/src/try-async.ts
5190
- var init_try_async = __esm({
5191
- "../core/src/try-async.ts"() {
5192
- "use strict";
5193
- init_result();
5194
- }
5195
- });
5196
-
5197
5182
  // ../core/src/narrow-result.ts
5198
5183
  var init_narrow_result = __esm({
5199
5184
  "../core/src/narrow-result.ts"() {
@@ -5205,7 +5190,6 @@ var init_narrow_result = __esm({
5205
5190
  var init_non_empty_array = __esm({
5206
5191
  "../core/src/non-empty-array.ts"() {
5207
5192
  "use strict";
5208
- init_result();
5209
5193
  }
5210
5194
  });
5211
5195
 
@@ -5227,7 +5211,6 @@ var init_sensitive_collection = __esm({
5227
5211
  var init_assertNever = __esm({
5228
5212
  "../core/src/assertNever.ts"() {
5229
5213
  "use strict";
5230
- init_assert_never();
5231
5214
  }
5232
5215
  });
5233
5216
 
@@ -5235,8 +5218,6 @@ var init_assertNever = __esm({
5235
5218
  var init_participants = __esm({
5236
5219
  "../core/src/participants.ts"() {
5237
5220
  "use strict";
5238
- init_branded();
5239
- init_result();
5240
5221
  }
5241
5222
  });
5242
5223
 
@@ -5244,7 +5225,6 @@ var init_participants = __esm({
5244
5225
  var init_participant_identity = __esm({
5245
5226
  "../core/src/participant-identity.ts"() {
5246
5227
  "use strict";
5247
- init_assertNever();
5248
5228
  }
5249
5229
  });
5250
5230
 
@@ -5266,8 +5246,6 @@ var init_src = __esm({
5266
5246
  init_location();
5267
5247
  init_business_address();
5268
5248
  init_result();
5269
- init_assert_never();
5270
- init_try_async();
5271
5249
  init_narrow_result();
5272
5250
  init_non_empty_array();
5273
5251
  init_editor_state();
@@ -5396,7 +5374,6 @@ var init_typeGuards = __esm({
5396
5374
  var init_filePersistence = __esm({
5397
5375
  "../media-core/src/filePersistence.ts"() {
5398
5376
  "use strict";
5399
- init_src();
5400
5377
  }
5401
5378
  });
5402
5379
 
@@ -5404,7 +5381,6 @@ var init_filePersistence = __esm({
5404
5381
  var init_fileUploadFinalization = __esm({
5405
5382
  "../media-core/src/fileUploadFinalization.ts"() {
5406
5383
  "use strict";
5407
- init_src();
5408
5384
  }
5409
5385
  });
5410
5386
 
@@ -5412,7 +5388,6 @@ var init_fileUploadFinalization = __esm({
5412
5388
  var init_fileUploadSessionCreation = __esm({
5413
5389
  "../media-core/src/fileUploadSessionCreation.ts"() {
5414
5390
  "use strict";
5415
- init_src();
5416
5391
  }
5417
5392
  });
5418
5393
 
@@ -5420,7 +5395,6 @@ var init_fileUploadSessionCreation = __esm({
5420
5395
  var init_fileUploadAssetBuilder = __esm({
5421
5396
  "../media-core/src/fileUploadAssetBuilder.ts"() {
5422
5397
  "use strict";
5423
- init_src();
5424
5398
  }
5425
5399
  });
5426
5400
 
@@ -5428,7 +5402,6 @@ var init_fileUploadAssetBuilder = __esm({
5428
5402
  var init_fileUploadCompletion = __esm({
5429
5403
  "../media-core/src/fileUploadCompletion.ts"() {
5430
5404
  "use strict";
5431
- init_src();
5432
5405
  }
5433
5406
  });
5434
5407
 
@@ -5436,7 +5409,6 @@ var init_fileUploadCompletion = __esm({
5436
5409
  var init_fileUploadDurableFinalization = __esm({
5437
5410
  "../media-core/src/fileUploadDurableFinalization.ts"() {
5438
5411
  "use strict";
5439
- init_src();
5440
5412
  }
5441
5413
  });
5442
5414
 
@@ -5451,7 +5423,6 @@ var init_fileUploadCleanup = __esm({
5451
5423
  var init_fileDownloadResolution = __esm({
5452
5424
  "../media-core/src/fileDownloadResolution.ts"() {
5453
5425
  "use strict";
5454
- init_src();
5455
5426
  }
5456
5427
  });
5457
5428
 
@@ -5459,7 +5430,6 @@ var init_fileDownloadResolution = __esm({
5459
5430
  var init_fileAssetDeletion = __esm({
5460
5431
  "../media-core/src/fileAssetDeletion.ts"() {
5461
5432
  "use strict";
5462
- init_src();
5463
5433
  }
5464
5434
  });
5465
5435
 
@@ -5467,7 +5437,6 @@ var init_fileAssetDeletion = __esm({
5467
5437
  var init_fileAssetCompatibility = __esm({
5468
5438
  "../media-core/src/fileAssetCompatibility.ts"() {
5469
5439
  "use strict";
5470
- init_src();
5471
5440
  }
5472
5441
  });
5473
5442
 
@@ -5486,7 +5455,6 @@ var VIDEO_PREP_LIMITS;
5486
5455
  var init_videoPrep = __esm({
5487
5456
  "../media-core/src/videoPrep.ts"() {
5488
5457
  "use strict";
5489
- init_src();
5490
5458
  VIDEO_PREP_LIMITS = {
5491
5459
  maxRawByteCount: 500 * 1024 * 1024,
5492
5460
  inlineContentMaxDurationSeconds: 60,
@@ -9408,7 +9376,7 @@ function okWith(data) {
9408
9376
  function err2(error) {
9409
9377
  return { ok: false, error };
9410
9378
  }
9411
- function assertNever5(value, message) {
9379
+ function assertNever4(value, message) {
9412
9380
  throw new Error(message ?? `Unexpected value: ${String(value)}`);
9413
9381
  }
9414
9382
  var init_dist = __esm({
@@ -9554,7 +9522,7 @@ function deriveBookingFormViewState(input) {
9554
9522
  resourceName: input.verificationState.resourceName
9555
9523
  };
9556
9524
  default:
9557
- return assertNever5(input.verificationState);
9525
+ return assertNever4(input.verificationState);
9558
9526
  }
9559
9527
  }
9560
9528
  function resolveBookingSiteId(siteId, form2) {
@@ -9637,7 +9605,7 @@ function getBookingServicePaymentSelectionMode(service) {
9637
9605
  case "flexible_balance":
9638
9606
  return "implicit_flexible_balance";
9639
9607
  default:
9640
- return assertNever5(onlyKind);
9608
+ return assertNever4(onlyKind);
9641
9609
  }
9642
9610
  }
9643
9611
  if (allowedKinds.length === 2 && allowedKinds.includes("upfront") && (allowedKinds.includes("deferred_manual") || allowedKinds.includes("instalment_plan") || allowedKinds.includes("flexible_balance"))) {
@@ -9839,7 +9807,7 @@ function formatBookingSubmissionPreparationError(error) {
9839
9807
  case "service-missing-duration":
9840
9808
  return `Service "${error.serviceTitle}" is missing duration. Please update the service in the dashboard to include a duration (e.g., 30 minutes).`;
9841
9809
  default:
9842
- return assertNever5(error);
9810
+ return assertNever4(error);
9843
9811
  }
9844
9812
  }
9845
9813
  function getBookingSuccessMessage(successMessage) {
@@ -11284,6 +11252,11 @@ var init_CoursePricingDisplay = __esm({
11284
11252
 
11285
11253
  // ../blocks/src/system/runtime/nodes/event-details/view.tsx
11286
11254
  import { Fragment as Fragment3, jsx as jsx23, jsxs as jsxs9 } from "react/jsx-runtime";
11255
+ function formatAutoApplyDiscountLine(preview, currency) {
11256
+ const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatCoursePriceAmount(preview.discountAmountCents, currency)} off`;
11257
+ const label = preview.publicLabel.trim() || "Discount";
11258
+ return preview.minTicketsRequired && preview.minTicketsRequired > 1 ? `${label} \u2014 ${rate} when buying ${preview.minTicketsRequired}+ tickets` : `${label} \u2014 ${rate} applied automatically`;
11259
+ }
11287
11260
  function TeamMemberName({
11288
11261
  name,
11289
11262
  profilePath
@@ -11300,6 +11273,7 @@ function EventDetailsView({
11300
11273
  showAcceptedMemberships = true,
11301
11274
  applicablePasses = [],
11302
11275
  applicableMemberships = [],
11276
+ autoApplyDiscount = null,
11303
11277
  mapHeight = 200,
11304
11278
  mapClassName = "event-details-map",
11305
11279
  renderVenueMap
@@ -11375,6 +11349,7 @@ function EventDetailsView({
11375
11349
  ) : shouldShowEventCost ? /* @__PURE__ */ jsxs9("div", { className: "rb-mt-6", children: [
11376
11350
  /* @__PURE__ */ jsx23("div", { className: "rb-label rb-mb-2", children: "Cost" }),
11377
11351
  eventPrice !== null ? /* @__PURE__ */ jsx23("p", { children: /* @__PURE__ */ jsx23("strong", { children: formatCoursePriceAmount(eventPrice, selected.currency ?? "USD") }) }) : /* @__PURE__ */ jsx23("p", { className: "rb-caption status-muted", children: "See checkout for details" }),
11352
+ autoApplyDiscount ? /* @__PURE__ */ jsx23("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
11378
11353
  hasAcceptedItems ? /* @__PURE__ */ jsxs9("p", { className: "rb-caption rb-mt-1", children: [
11379
11354
  "You can also attend with: ",
11380
11355
  acceptedItems.join(", ")
@@ -11432,6 +11407,7 @@ function EventDetailsSSR({
11432
11407
  showAcceptedMemberships = true,
11433
11408
  sitePasses,
11434
11409
  siteMemberships,
11410
+ autoApplyDiscount,
11435
11411
  className,
11436
11412
  children
11437
11413
  }) {
@@ -11468,6 +11444,7 @@ function EventDetailsSSR({
11468
11444
  showAcceptedMemberships,
11469
11445
  sitePasses,
11470
11446
  siteMemberships,
11447
+ autoApplyDiscount,
11471
11448
  className,
11472
11449
  nowIso
11473
11450
  }
@@ -11485,6 +11462,7 @@ function EventDetailsSSR({
11485
11462
  showAcceptedMemberships,
11486
11463
  applicablePasses,
11487
11464
  applicableMemberships,
11465
+ autoApplyDiscount: autoApplyDiscount ?? null,
11488
11466
  mapClassName: "venue-map event-details-map",
11489
11467
  renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx24("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx24(
11490
11468
  "div",
@@ -17140,11 +17118,21 @@ function asHeaderLookId(value) {
17140
17118
  return value;
17141
17119
  }
17142
17120
  function baseHeader(theme) {
17121
+ const {
17122
+ navLinkStyle: _navLinkStyle,
17123
+ dropdownStyle: _dropdownStyle,
17124
+ ctaVariant: _ctaVariant,
17125
+ navContainer: _navContainer,
17126
+ container: _container,
17127
+ shadow: _shadow,
17128
+ logo: _logo,
17129
+ logoText: _logoText,
17130
+ border: _border,
17131
+ ...header
17132
+ } = theme.header;
17143
17133
  return {
17144
- ...theme.header,
17145
- navLinkStyle: void 0,
17146
- dropdownStyle: void 0,
17147
- ctaVariant: void 0
17134
+ ...header,
17135
+ navContainer: { type: "none", tint: null, opacity: 0.15 }
17148
17136
  };
17149
17137
  }
17150
17138
  function solidBrandHeader(theme) {
@@ -33369,7 +33357,7 @@ function multiStepReducer(state, action) {
33369
33357
  case "reset":
33370
33358
  return createInitialMultiStepState(action.initialData);
33371
33359
  default:
33372
- return assertNever5(action);
33360
+ return assertNever4(action);
33373
33361
  }
33374
33362
  }
33375
33363
  function getVisibleSteps(steps, data) {
@@ -34821,7 +34809,7 @@ function buildBookingPaymentOptionViewModel(input) {
34821
34809
  };
34822
34810
  }
34823
34811
  default:
34824
- return assertNever5(input.option);
34812
+ return assertNever4(input.option);
34825
34813
  }
34826
34814
  }
34827
34815
  function buildInstalmentSchedulePreview(input) {
@@ -34878,7 +34866,7 @@ function buildInstalmentSchedulePreview(input) {
34878
34866
  })));
34879
34867
  }
34880
34868
  default:
34881
- return assertNever5(input.option.plan);
34869
+ return assertNever4(input.option.plan);
34882
34870
  }
34883
34871
  }
34884
34872
  function getPaymentCadenceLabel(plan) {
@@ -35709,7 +35697,7 @@ function pollingReducer(state, action) {
35709
35697
  case "timeout":
35710
35698
  return state;
35711
35699
  default:
35712
- return assertNever5(state);
35700
+ return assertNever4(state);
35713
35701
  }
35714
35702
  case "polling-timed-out":
35715
35703
  return {
@@ -35718,7 +35706,7 @@ function pollingReducer(state, action) {
35718
35706
  error: new Error("Polling timed out")
35719
35707
  };
35720
35708
  default:
35721
- return assertNever5(action);
35709
+ return assertNever4(action);
35722
35710
  }
35723
35711
  }
35724
35712
  var init_usePolling_state = __esm({
@@ -35908,7 +35896,7 @@ function bookingSubmissionReducer(state, action) {
35908
35896
  feedback: { tag: "idle" }
35909
35897
  };
35910
35898
  default:
35911
- return assertNever5(action);
35899
+ return assertNever4(action);
35912
35900
  }
35913
35901
  }
35914
35902
  function selectIsSubmitting2(state) {
@@ -37411,7 +37399,7 @@ function eligibilityLookupReducer(state, action) {
37411
37399
  error: action.message
37412
37400
  };
37413
37401
  default:
37414
- return assertNever5(action);
37402
+ return assertNever4(action);
37415
37403
  }
37416
37404
  }
37417
37405
  function existingRegistrationLookupReducer(state, action) {
@@ -37429,7 +37417,7 @@ function existingRegistrationLookupReducer(state, action) {
37429
37417
  registration: action.registration
37430
37418
  };
37431
37419
  default:
37432
- return assertNever5(action);
37420
+ return assertNever4(action);
37433
37421
  }
37434
37422
  }
37435
37423
  var initialEligibilityLookupState, initialExistingRegistrationLookupState;
@@ -42585,6 +42573,7 @@ function toEventDetailsClientProps(props2) {
42585
42573
  showAcceptedMemberships: props2.showAcceptedMemberships,
42586
42574
  sitePasses: props2.sitePasses ? { passes: [...props2.sitePasses.passes] } : props2.sitePasses,
42587
42575
  siteMemberships: props2.siteMemberships ? { memberships: [...props2.siteMemberships.memberships] } : props2.siteMemberships,
42576
+ autoApplyDiscount: props2.autoApplyDiscount ?? null,
42588
42577
  className: props2.className,
42589
42578
  nowIso: props2.nowIso
42590
42579
  };
@@ -42601,6 +42590,7 @@ function EventDetailsClient({
42601
42590
  showAcceptedMemberships = true,
42602
42591
  sitePasses,
42603
42592
  siteMemberships,
42593
+ autoApplyDiscount,
42604
42594
  className,
42605
42595
  nowIso,
42606
42596
  children
@@ -42628,6 +42618,7 @@ function EventDetailsClient({
42628
42618
  showAcceptedMemberships,
42629
42619
  applicablePasses,
42630
42620
  applicableMemberships,
42621
+ autoApplyDiscount: autoApplyDiscount ?? null,
42631
42622
  renderVenueMap: ({ venueName, location: location2, className: className2, height }) => /* @__PURE__ */ jsx110("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx110(
42632
42623
  LeafletStaticMap,
42633
42624
  {
@@ -42949,7 +42940,7 @@ function shopPassesMembershipsReducer(state, action) {
42949
42940
  returnNotice: null
42950
42941
  };
42951
42942
  default:
42952
- return assertNever5(action);
42943
+ return assertNever4(action);
42953
42944
  }
42954
42945
  }
42955
42946
  function getOpenCheckout(state) {
@@ -45586,7 +45577,7 @@ function shopCheckoutReducer(state, action) {
45586
45577
  notice: action.notice
45587
45578
  };
45588
45579
  default:
45589
- return assertNever5(action);
45580
+ return assertNever4(action);
45590
45581
  }
45591
45582
  }
45592
45583
  var initialShopCheckoutState;
@@ -49301,7 +49292,7 @@ function formSubmissionReducer(_state, action) {
49301
49292
  case "submission-failed":
49302
49293
  return { tag: "failed", message: action.message };
49303
49294
  default:
49304
- return assertNever5(action);
49295
+ return assertNever4(action);
49305
49296
  }
49306
49297
  }
49307
49298
  var initialFormSubmissionState;
@@ -63666,71 +63657,268 @@ import { useEffect as useEffect28 } from "react";
63666
63657
  init_runtime();
63667
63658
  init_shop_shared();
63668
63659
  init_schemas2();
63660
+ import { z as z52 } from "zod";
63661
+
63662
+ // ../blocks/src/system/blocks/event-details.ts
63663
+ init_builder();
63664
+ init_builder();
63665
+ init_styledSection();
63666
+ init_fragments();
63667
+ init_shared4();
63668
+ init_shop_shared();
63669
+ init_defineBlock();
63669
63670
  import { z as z51 } from "zod";
63670
- var accordionIslandSchema = z51.object({
63671
- type: z51.enum(["single", "multiple"]).optional(),
63672
- defaultValue: z51.union([z51.string(), z51.array(z51.string())]).optional(),
63673
- collapsible: z51.boolean().optional()
63674
- });
63675
- var headerSectionIslandSchema = z51.object({
63676
- enabled: z51.boolean().optional(),
63677
- scrollEnabled: z51.boolean().optional()
63678
- });
63679
- var responsiveSlidesToShowSchema = z51.object({
63680
- mobile: z51.union([z51.number(), z51.string()]).optional(),
63681
- tablet: z51.union([z51.number(), z51.string()]).optional(),
63682
- desktop: z51.union([z51.number(), z51.string()]).optional()
63683
- });
63684
- var carouselIslandSchema = z51.object({
63685
- slidesToShow: z51.union([z51.number(), z51.string(), responsiveSlidesToShowSchema]).optional(),
63686
- transition: z51.enum(["slide", "fade"]).optional(),
63687
- showControls: z51.union([z51.boolean(), z51.string()]).optional(),
63688
- showDots: z51.union([z51.boolean(), z51.string()]).optional(),
63689
- arrowVisibility: z51.enum(["always", "hover", "never"]).optional(),
63690
- autoplay: z51.union([z51.boolean(), z51.string()]).optional(),
63691
- autoplayDelay: z51.union([z51.number(), z51.string()]).optional(),
63692
- loop: z51.union([z51.boolean(), z51.string()]).optional()
63693
- });
63694
- var eventDetailsOccurrenceContextSchema = z51.object({
63671
+ var eventDetailsManifest = createBlockManifest({
63672
+ id: "block.event-details",
63673
+ version: "1.0.0",
63674
+ title: "Event Details",
63675
+ titleSource: "heading",
63676
+ description: "Date/time, venue, map, and other dates for an event",
63677
+ category: "content",
63678
+ tags: ["events", "venue", "map", "schedule", "dates"],
63679
+ icon: "MapPin",
63680
+ styleTokens: { background: "surface", typography: "body", spacing: "md" },
63681
+ behaviours: {
63682
+ supportsThemeSwitching: true,
63683
+ inlineEditing: false,
63684
+ animation: false,
63685
+ paletteHidden: false
63686
+ },
63687
+ additionalFields: [
63688
+ {
63689
+ id: "heading",
63690
+ type: "text",
63691
+ label: "Heading",
63692
+ description: "Optional heading shown above event details",
63693
+ required: false,
63694
+ multiline: false,
63695
+ defaultValue: "Event details"
63696
+ },
63697
+ {
63698
+ id: "showVenue",
63699
+ type: "boolean",
63700
+ label: "Show venue",
63701
+ required: false,
63702
+ defaultValue: true,
63703
+ ui: { intent: "display" }
63704
+ },
63705
+ {
63706
+ id: "showMap",
63707
+ type: "boolean",
63708
+ label: "Show map",
63709
+ description: "Embed a map when the venue has coordinates",
63710
+ required: false,
63711
+ defaultValue: true,
63712
+ ui: { intent: "display" }
63713
+ },
63714
+ {
63715
+ id: "showOtherDates",
63716
+ type: "boolean",
63717
+ label: "Show other dates",
63718
+ required: false,
63719
+ defaultValue: true,
63720
+ ui: { intent: "display" }
63721
+ },
63722
+ {
63723
+ id: "otherDatesLimit",
63724
+ type: "select",
63725
+ label: "Other dates limit",
63726
+ required: false,
63727
+ multiple: false,
63728
+ defaultValue: "5",
63729
+ options: [
63730
+ { value: "3", label: "3 dates" },
63731
+ { value: "5", label: "5 dates" },
63732
+ { value: "10", label: "10 dates" }
63733
+ ],
63734
+ ui: { intent: "display" }
63735
+ },
63736
+ {
63737
+ id: "showCost",
63738
+ type: "boolean",
63739
+ label: "Show cost",
63740
+ description: "Display ticket price for paid events",
63741
+ required: false,
63742
+ defaultValue: true,
63743
+ ui: { intent: "display" }
63744
+ },
63745
+ {
63746
+ id: "showAcceptedPasses",
63747
+ type: "boolean",
63748
+ label: "Show accepted passes",
63749
+ description: "Display passes that can be used for this event",
63750
+ required: false,
63751
+ defaultValue: true,
63752
+ ui: { intent: "display" }
63753
+ },
63754
+ {
63755
+ id: "showAcceptedMemberships",
63756
+ type: "boolean",
63757
+ label: "Show accepted memberships",
63758
+ description: "Display memberships that grant access to this event",
63759
+ required: false,
63760
+ defaultValue: true,
63761
+ ui: { intent: "display" }
63762
+ }
63763
+ ],
63764
+ layout: [
63765
+ styledSection({
63766
+ baseClass: "",
63767
+ spacing: "spacious",
63768
+ children: sectionContainer(
63769
+ [
63770
+ text({ as: "h2" }, bind("content.heading"), when("content.heading")),
63771
+ el("event-details", {
63772
+ occurrenceContext: {
63773
+ $bind: { from: "$root.occurrenceContext", fallback: null }
63774
+ },
63775
+ contentEntry: { $bind: { from: "$root.contentEntry", fallback: null } },
63776
+ events: { $bind: { from: "data.eventDetailsData.events" } },
63777
+ showVenue: { $bind: { from: "content.showVenue" } },
63778
+ showMap: { $bind: { from: "content.showMap" } },
63779
+ showOtherDates: { $bind: { from: "content.showOtherDates" } },
63780
+ otherDatesLimit: {
63781
+ $bind: { from: "content.otherDatesLimit", fallback: "5" }
63782
+ },
63783
+ showCost: { $bind: { from: "content.showCost", fallback: true } },
63784
+ showAcceptedPasses: {
63785
+ $bind: { from: "content.showAcceptedPasses", fallback: true }
63786
+ },
63787
+ showAcceptedMemberships: {
63788
+ $bind: { from: "content.showAcceptedMemberships", fallback: true }
63789
+ },
63790
+ sitePasses: { $bind: { from: "data.eventDetailsData.sitePasses" } },
63791
+ siteMemberships: { $bind: { from: "data.eventDetailsData.siteMemberships" } },
63792
+ autoApplyDiscount: {
63793
+ $bind: { from: "data.eventDetailsData.autoApplyDiscount", fallback: null }
63794
+ }
63795
+ })
63796
+ ],
63797
+ { gap: "lg" }
63798
+ )
63799
+ })
63800
+ ]
63801
+ });
63802
+ var occurrenceContextSchema2 = z51.object({
63695
63803
  id: z51.string(),
63696
63804
  seriesId: z51.string(),
63697
63805
  startsAt: z51.string(),
63698
63806
  endsAt: z51.string(),
63699
- timeZone: z51.string()
63700
- });
63701
- var eventDetailsContentEntrySchema = z51.object({
63807
+ timeZone: z51.string(),
63808
+ capacityOverride: z51.number().nullable().optional(),
63809
+ overrides: z51.record(z51.string(), z51.unknown()).nullable().optional()
63810
+ }).nullable();
63811
+ var eventAutoApplyDiscountPreviewBaseSchema = z51.object({
63702
63812
  id: z51.string(),
63703
- slug: z51.string(),
63704
- contentTypeSlug: z51.string()
63705
- });
63706
- var eventDetailsIslandSchema = z51.object({
63813
+ publicLabel: z51.string(),
63814
+ description: z51.string().nullable(),
63815
+ minTicketsRequired: z51.number().nullable()
63816
+ });
63817
+ var eventAutoApplyDiscountPreviewSchema = z51.discriminatedUnion("discountType", [
63818
+ eventAutoApplyDiscountPreviewBaseSchema.extend({
63819
+ discountType: z51.literal("percent"),
63820
+ discountPercent: z51.number(),
63821
+ discountAmountCents: z51.null()
63822
+ }),
63823
+ eventAutoApplyDiscountPreviewBaseSchema.extend({
63824
+ discountType: z51.literal("fixed"),
63825
+ discountPercent: z51.null(),
63826
+ discountAmountCents: z51.number()
63827
+ })
63828
+ ]);
63829
+ var eventDetailsBlockDefinition = {
63830
+ manifest: eventDetailsManifest,
63831
+ dataSchemas: {
63832
+ eventDetailsData: z51.object({
63833
+ events: publicEventsArraySchema,
63834
+ sitePasses: z51.object({ passes: z51.array(publicPassProductSchema) }),
63835
+ siteMemberships: z51.object({ memberships: z51.array(publicMembershipProductSchema) }),
63836
+ autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
63837
+ }).optional(),
63838
+ occurrenceContext: occurrenceContextSchema2.optional()
63839
+ },
63840
+ dataLoaders: {
63841
+ eventDetailsData: {
63842
+ endpoint: "getPublicEventDetails",
63843
+ params: {
63844
+ siteId: { $bind: { from: "$root.siteId" } },
63845
+ stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
63846
+ limit: "25",
63847
+ entryId: { $bind: { from: "$root.contentEntry._entryId" } },
63848
+ seriesId: { $bind: { from: "$root.occurrenceContext.seriesId" } },
63849
+ includeOccurrenceId: { $bind: { from: "$root.occurrenceContext.id" } }
63850
+ },
63851
+ mode: "server"
63852
+ }
63853
+ }
63854
+ };
63855
+
63856
+ // ../blocks/src/contracts/non-block-islands.ts
63857
+ var accordionIslandSchema = z52.object({
63858
+ type: z52.enum(["single", "multiple"]).optional(),
63859
+ defaultValue: z52.union([z52.string(), z52.array(z52.string())]).optional(),
63860
+ collapsible: z52.boolean().optional()
63861
+ });
63862
+ var headerSectionIslandSchema = z52.object({
63863
+ enabled: z52.boolean().optional(),
63864
+ scrollEnabled: z52.boolean().optional()
63865
+ });
63866
+ var responsiveSlidesToShowSchema = z52.object({
63867
+ mobile: z52.union([z52.number(), z52.string()]).optional(),
63868
+ tablet: z52.union([z52.number(), z52.string()]).optional(),
63869
+ desktop: z52.union([z52.number(), z52.string()]).optional()
63870
+ });
63871
+ var carouselIslandSchema = z52.object({
63872
+ slidesToShow: z52.union([z52.number(), z52.string(), responsiveSlidesToShowSchema]).optional(),
63873
+ transition: z52.enum(["slide", "fade"]).optional(),
63874
+ showControls: z52.union([z52.boolean(), z52.string()]).optional(),
63875
+ showDots: z52.union([z52.boolean(), z52.string()]).optional(),
63876
+ arrowVisibility: z52.enum(["always", "hover", "never"]).optional(),
63877
+ autoplay: z52.union([z52.boolean(), z52.string()]).optional(),
63878
+ autoplayDelay: z52.union([z52.number(), z52.string()]).optional(),
63879
+ loop: z52.union([z52.boolean(), z52.string()]).optional()
63880
+ });
63881
+ var eventDetailsOccurrenceContextSchema = z52.object({
63882
+ id: z52.string(),
63883
+ seriesId: z52.string(),
63884
+ startsAt: z52.string(),
63885
+ endsAt: z52.string(),
63886
+ timeZone: z52.string()
63887
+ });
63888
+ var eventDetailsContentEntrySchema = z52.object({
63889
+ id: z52.string(),
63890
+ slug: z52.string(),
63891
+ contentTypeSlug: z52.string()
63892
+ });
63893
+ var eventDetailsIslandSchema = z52.object({
63707
63894
  occurrenceContext: eventDetailsOccurrenceContextSchema.nullable().optional(),
63708
63895
  contentEntry: eventDetailsContentEntrySchema.nullable().optional(),
63709
- events: z51.array(publicEventSchema).nullable().optional(),
63710
- showVenue: z51.boolean().optional(),
63711
- showMap: z51.boolean().optional(),
63712
- showOtherDates: z51.boolean().optional(),
63713
- otherDatesLimit: z51.string().optional(),
63714
- showCost: z51.boolean().optional(),
63715
- showAcceptedPasses: z51.boolean().optional(),
63716
- showAcceptedMemberships: z51.boolean().optional(),
63717
- sitePasses: z51.object({ passes: z51.array(publicPassProductSchema) }).nullable().optional(),
63718
- siteMemberships: z51.object({ memberships: z51.array(publicMembershipProductSchema) }).nullable().optional(),
63719
- className: z51.string().nullable().optional(),
63720
- nowIso: z51.string().optional()
63721
- });
63722
- var locationMapIslandSchema = z51.object({
63723
- location: z51.object({
63724
- addressText: z51.string().nullable(),
63725
- lat: z51.number().nullable(),
63726
- lng: z51.number().nullable()
63896
+ events: z52.array(publicEventSchema).nullable().optional(),
63897
+ showVenue: z52.boolean().optional(),
63898
+ showMap: z52.boolean().optional(),
63899
+ showOtherDates: z52.boolean().optional(),
63900
+ otherDatesLimit: z52.string().optional(),
63901
+ showCost: z52.boolean().optional(),
63902
+ showAcceptedPasses: z52.boolean().optional(),
63903
+ showAcceptedMemberships: z52.boolean().optional(),
63904
+ sitePasses: z52.object({ passes: z52.array(publicPassProductSchema) }).nullable().optional(),
63905
+ siteMemberships: z52.object({ memberships: z52.array(publicMembershipProductSchema) }).nullable().optional(),
63906
+ autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional(),
63907
+ className: z52.string().nullable().optional(),
63908
+ nowIso: z52.string().optional()
63909
+ });
63910
+ var locationMapIslandSchema = z52.object({
63911
+ location: z52.object({
63912
+ addressText: z52.string().nullable(),
63913
+ lat: z52.number().nullable(),
63914
+ lng: z52.number().nullable()
63727
63915
  }).nullable().optional(),
63728
- zoom: z51.number().nullable().optional(),
63729
- heightPx: z51.number().nullable().optional(),
63730
- showAddressText: z51.boolean().optional(),
63731
- showDirections: z51.boolean().optional(),
63732
- directionsLabel: z51.string().nullable().optional(),
63733
- className: z51.string().nullable().optional()
63916
+ zoom: z52.number().nullable().optional(),
63917
+ heightPx: z52.number().nullable().optional(),
63918
+ showAddressText: z52.boolean().optional(),
63919
+ showDirections: z52.boolean().optional(),
63920
+ directionsLabel: z52.string().nullable().optional(),
63921
+ className: z52.string().nullable().optional()
63734
63922
  });
63735
63923
  var accordionIslandPropsCodec = createZodCodec(accordionIslandSchema);
63736
63924
  var headerSectionIslandPropsCodec = createZodCodec(headerSectionIslandSchema);
@@ -63983,15 +64171,15 @@ function hydrateBlocksIslands(options = {}) {
63983
64171
  import * as React38 from "react";
63984
64172
 
63985
64173
  // ../blocks/src/system/manifest/fieldValidation/index.ts
63986
- import { z as z53 } from "zod";
64174
+ import { z as z54 } from "zod";
63987
64175
 
63988
64176
  // ../blocks/src/system/types/link.ts
63989
- import { z as z52 } from "zod";
63990
- var nullableString = z52.union([z52.string().min(1), z52.null()]);
64177
+ import { z as z53 } from "zod";
64178
+ var nullableString = z53.union([z53.string().min(1), z53.null()]);
63991
64179
  var resolvedInternalLinkKeys = ["entityId", "entityType", "href", "title", "typeLabel"];
63992
- var internalRouteOnlyLinkSchema = z52.object({
63993
- kind: z52.literal("internal"),
63994
- routeId: z52.string().min(1)
64180
+ var internalRouteOnlyLinkSchema = z53.object({
64181
+ kind: z53.literal("internal"),
64182
+ routeId: z53.string().min(1)
63995
64183
  }).passthrough().superRefine((value, ctx) => {
63996
64184
  const hasResolvedMetadata = resolvedInternalLinkKeys.some((key) => value[key] != null);
63997
64185
  if (!hasResolvedMetadata) return;
@@ -64000,40 +64188,40 @@ var internalRouteOnlyLinkSchema = z52.object({
64000
64188
  message: "Internal links with resolved metadata must include entityId, entityType, href, title, and typeLabel"
64001
64189
  });
64002
64190
  });
64003
- var internalResolvedLinkSchema = z52.object({
64004
- kind: z52.literal("internal"),
64005
- routeId: z52.string().min(1),
64006
- entityId: z52.string().min(1),
64007
- entityType: z52.enum(["page", "content"]),
64008
- href: z52.string().min(1),
64009
- title: z52.string().min(1),
64010
- typeLabel: z52.string().min(1),
64191
+ var internalResolvedLinkSchema = z53.object({
64192
+ kind: z53.literal("internal"),
64193
+ routeId: z53.string().min(1),
64194
+ entityId: z53.string().min(1),
64195
+ entityType: z53.enum(["page", "content"]),
64196
+ href: z53.string().min(1),
64197
+ title: z53.string().min(1),
64198
+ typeLabel: z53.string().min(1),
64011
64199
  contentTypeKey: nullableString.optional(),
64012
64200
  contentTypeName: nullableString.optional(),
64013
64201
  updatedAt: nullableString.optional()
64014
64202
  }).passthrough();
64015
- var internalLinkSchema = z52.union([
64203
+ var internalLinkSchema = z53.union([
64016
64204
  internalResolvedLinkSchema,
64017
64205
  internalRouteOnlyLinkSchema
64018
64206
  ]);
64019
- var externalLinkSchema = z52.object({
64020
- kind: z52.literal("external"),
64021
- href: z52.string().min(1)
64207
+ var externalLinkSchema = z53.object({
64208
+ kind: z53.literal("external"),
64209
+ href: z53.string().min(1)
64022
64210
  }).passthrough();
64023
- var customLinkSchema = z52.object({
64024
- kind: z52.literal("url"),
64025
- href: z52.string().min(1)
64211
+ var customLinkSchema = z53.object({
64212
+ kind: z53.literal("url"),
64213
+ href: z53.string().min(1)
64026
64214
  }).passthrough();
64027
- var pageLinkSchema = z52.object({
64028
- kind: z52.literal("page"),
64029
- identifier: z52.string().min(1)
64215
+ var pageLinkSchema = z53.object({
64216
+ kind: z53.literal("page"),
64217
+ identifier: z53.string().min(1)
64030
64218
  }).passthrough();
64031
- var entryLinkSchema = z52.object({
64032
- kind: z52.literal("entry"),
64033
- contentType: z52.string().min(1),
64034
- identifier: z52.string().min(1)
64219
+ var entryLinkSchema = z53.object({
64220
+ kind: z53.literal("entry"),
64221
+ contentType: z53.string().min(1),
64222
+ identifier: z53.string().min(1)
64035
64223
  }).passthrough();
64036
- var linkSchema = z52.union([
64224
+ var linkSchema = z53.union([
64037
64225
  internalLinkSchema,
64038
64226
  externalLinkSchema,
64039
64227
  customLinkSchema,
@@ -64046,7 +64234,7 @@ init_schema3();
64046
64234
  var TEL_RE = /^[+()0-9\s-]{3,}$/;
64047
64235
  var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
64048
64236
  var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
64049
- function assertNever7(value) {
64237
+ function assertNever6(value) {
64050
64238
  throw new Error(`Unhandled field validation variant: ${JSON.stringify(value)}`);
64051
64239
  }
64052
64240
  function validationContext(options = {}) {
@@ -64098,7 +64286,7 @@ function fieldIssueToMessage(issue2) {
64098
64286
  case "invalidReference":
64099
64287
  return `${issue2.label} must reference a valid item`;
64100
64288
  default:
64101
- return assertNever7(issue2);
64289
+ return assertNever6(issue2);
64102
64290
  }
64103
64291
  }
64104
64292
  function pluralize(label, count) {
@@ -64183,7 +64371,7 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
64183
64371
  case "entryPicker":
64184
64372
  return makePlan("passthrough", "unknown", field, path, false, []);
64185
64373
  default:
64186
- return assertNever7(field);
64374
+ return assertNever6(field);
64187
64375
  }
64188
64376
  }
64189
64377
  function commonConstraints(required, ...specific) {
@@ -64240,7 +64428,7 @@ function resolveSelectConstraintSource(field) {
64240
64428
  case "sdk":
64241
64429
  return { kind: "runtime", source: source.kind };
64242
64430
  default:
64243
- return assertNever7(source);
64431
+ return assertNever6(source);
64244
64432
  }
64245
64433
  }
64246
64434
  function normalizeFieldValue(plan, value, ctx) {
@@ -64261,7 +64449,7 @@ function normalizeFieldValue(plan, value, ctx) {
64261
64449
  case "passthrough":
64262
64450
  return value;
64263
64451
  default:
64264
- return assertNever7(plan);
64452
+ return assertNever6(plan);
64265
64453
  }
64266
64454
  }
64267
64455
  function normalizeObjectChildren(children, value, ctx) {
@@ -64320,7 +64508,7 @@ function validateNormalizedFieldValue(plan, value, ctx) {
64320
64508
  case "passthrough":
64321
64509
  return [];
64322
64510
  default:
64323
- return assertNever7(plan);
64511
+ return assertNever6(plan);
64324
64512
  }
64325
64513
  }
64326
64514
  function shouldRequireValue(plan, value, ctx) {
@@ -64351,7 +64539,7 @@ function validateStringConstraint(plan, constraint, value) {
64351
64539
  case "maxLength":
64352
64540
  return value.length > constraint.maximum ? [issue(plan, "tooLong", { maximum: constraint.maximum })] : [];
64353
64541
  case "emailFormat":
64354
- return z53.email().safeParse(value).success ? [] : [issue(plan, "invalidEmail")];
64542
+ return z54.email().safeParse(value).success ? [] : [issue(plan, "invalidEmail")];
64355
64543
  case "phoneFormat":
64356
64544
  return TEL_RE.test(value) ? [] : [issue(plan, "invalidPhone")];
64357
64545
  case "patternFormat": {
@@ -64363,7 +64551,7 @@ function validateStringConstraint(plan, constraint, value) {
64363
64551
  case "slugFormat":
64364
64552
  return SLUG_PATTERN.test(value) ? [] : [issue(plan, "invalidSlug")];
64365
64553
  default:
64366
- return assertNever7(constraint);
64554
+ return assertNever6(constraint);
64367
64555
  }
64368
64556
  }
64369
64557
  function validateNumberPlan(plan, value) {
@@ -64380,7 +64568,7 @@ function validateNumberConstraint(plan, constraint, value) {
64380
64568
  case "numberMax":
64381
64569
  return value > constraint.maximum ? [issue(plan, "tooLarge", { maximum: constraint.maximum })] : [];
64382
64570
  default:
64383
- return assertNever7(constraint);
64571
+ return assertNever6(constraint);
64384
64572
  }
64385
64573
  }
64386
64574
  function validateSelectPlan(plan, value) {
@@ -64400,7 +64588,7 @@ function validateRepeaterPlan(plan, value, ctx) {
64400
64588
  case "maxItems":
64401
64589
  return value.length > constraint.maximum ? [issue(plan, "tooManyItems", { maximum: constraint.maximum, itemLabel: "item" })] : [];
64402
64590
  default:
64403
- return assertNever7(constraint);
64591
+ return assertNever6(constraint);
64404
64592
  }
64405
64593
  });
64406
64594
  return [
@@ -64467,7 +64655,7 @@ function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
64467
64655
  path
64468
64656
  };
64469
64657
  default:
64470
- return assertNever7(plan);
64658
+ return assertNever6(plan);
64471
64659
  }
64472
64660
  }
64473
64661
  function rebaseFieldPath(path, fromPrefix, toPrefix) {
@@ -64495,7 +64683,7 @@ function requiredIssue(plan, value) {
64495
64683
  }
64496
64684
  function fieldPlanToZod(plan, options = {}) {
64497
64685
  const ctx = validationContext(options);
64498
- return z53.any().transform((value) => normalizeFieldValue(plan, value, ctx)).superRefine((value, zodCtx) => {
64686
+ return z54.any().transform((value) => normalizeFieldValue(plan, value, ctx)).superRefine((value, zodCtx) => {
64499
64687
  for (const validationIssue of validateNormalizedFieldValue(plan, value, ctx)) {
64500
64688
  addFieldIssueToZodContext(zodCtx, validationIssue);
64501
64689
  }
@@ -64547,7 +64735,7 @@ function addFieldIssueToZodContext(zodCtx, validationIssue) {
64547
64735
  zodCtx.addIssue({ code: "custom", message });
64548
64736
  return;
64549
64737
  default:
64550
- assertNever7(validationIssue);
64738
+ assertNever6(validationIssue);
64551
64739
  }
64552
64740
  }
64553
64741
  function compilePattern(pattern) {
@@ -64616,7 +64804,7 @@ function registerManifest(manifest) {
64616
64804
  }
64617
64805
 
64618
64806
  // ../blocks/src/system/manifest/validation.ts
64619
- import { z as z54 } from "zod";
64807
+ import { z as z55 } from "zod";
64620
64808
  function preprocessEmptyValues(content) {
64621
64809
  if (!content || typeof content !== "object" || Array.isArray(content)) {
64622
64810
  return {};
@@ -64633,13 +64821,13 @@ function deriveContentZodFromManifest(manifestOrFields, options = {}) {
64633
64821
  for (const field of fields3) {
64634
64822
  shape[field.id] = buildFieldSchema(field, options);
64635
64823
  }
64636
- return z54.object(shape).catchall(z54.unknown()).passthrough();
64824
+ return z55.object(shape).catchall(z55.unknown()).passthrough();
64637
64825
  }
64638
64826
  function createManifestValidator(manifestOrFields, options = {}) {
64639
64827
  const isDraft = options.mode === "draft";
64640
64828
  const baseSchema = deriveContentZodFromManifest(manifestOrFields, options);
64641
64829
  if (isDraft) {
64642
- return z54.preprocess(preprocessEmptyValues, baseSchema);
64830
+ return z55.preprocess(preprocessEmptyValues, baseSchema);
64643
64831
  }
64644
64832
  return baseSchema;
64645
64833
  }
@@ -64939,7 +65127,7 @@ var bodyTextBlockDefinition = {
64939
65127
  init_builder();
64940
65128
  init_fragments2();
64941
65129
  init_defineBlock();
64942
- import { z as z55 } from "zod";
65130
+ import { z as z56 } from "zod";
64943
65131
  var composition = composeFragments([{ fragment: blogFeaturedPostFragment }]);
64944
65132
  var blogPostLayout = section(
64945
65133
  { background: "background", className: "rb-px-6 rb-py-12" },
@@ -64968,17 +65156,17 @@ var blogPostManifest = createBlockManifest({
64968
65156
  additionalFields: composition.fields,
64969
65157
  layout: blogPostLayout
64970
65158
  });
64971
- var blogPostDataSchema = z55.object({
64972
- id: z55.string(),
64973
- title: z55.string(),
64974
- slug: z55.string(),
64975
- path: z55.string(),
64976
- excerpt: z55.string().nullable().optional(),
64977
- image: z55.object({
64978
- url: z55.string().optional().nullable(),
64979
- alt: z55.string().optional().nullable()
65159
+ var blogPostDataSchema = z56.object({
65160
+ id: z56.string(),
65161
+ title: z56.string(),
65162
+ slug: z56.string(),
65163
+ path: z56.string(),
65164
+ excerpt: z56.string().nullable().optional(),
65165
+ image: z56.object({
65166
+ url: z56.string().optional().nullable(),
65167
+ alt: z56.string().optional().nullable()
64980
65168
  }).nullable().optional(),
64981
- publishedAt: z55.string().nullable().optional()
65169
+ publishedAt: z56.string().nullable().optional()
64982
65170
  });
64983
65171
  var blogPostBlockDefinition = {
64984
65172
  manifest: blogPostManifest,
@@ -64993,7 +65181,7 @@ init_schema3();
64993
65181
  init_builder();
64994
65182
  init_fragments();
64995
65183
  init_colorStyles();
64996
- import { z as z56 } from "zod";
65184
+ import { z as z57 } from "zod";
64997
65185
  var blogListingDataLoader = {
64998
65186
  endpoint: "listPublishedEntries",
64999
65187
  params: {
@@ -65311,24 +65499,24 @@ var blogListingManifest = createBlockManifest({
65311
65499
  spacing: "lg"
65312
65500
  }
65313
65501
  });
65314
- var blogPostListEntrySchema = z56.object({
65315
- id: z56.string(),
65316
- slug: z56.string(),
65317
- path: z56.string(),
65318
- title: z56.string(),
65319
- excerpt: z56.string().nullable().optional(),
65320
- publishedAt: z56.string().nullable().optional(),
65321
- updatedAt: z56.string(),
65322
- status: z56.string(),
65323
- image: z56.object({
65324
- url: z56.string(),
65325
- alt: z56.string().nullable().optional()
65502
+ var blogPostListEntrySchema = z57.object({
65503
+ id: z57.string(),
65504
+ slug: z57.string(),
65505
+ path: z57.string(),
65506
+ title: z57.string(),
65507
+ excerpt: z57.string().nullable().optional(),
65508
+ publishedAt: z57.string().nullable().optional(),
65509
+ updatedAt: z57.string(),
65510
+ status: z57.string(),
65511
+ image: z57.object({
65512
+ url: z57.string(),
65513
+ alt: z57.string().nullable().optional()
65326
65514
  }).nullable().optional()
65327
65515
  });
65328
65516
  var blogListingBlockDefinition = {
65329
65517
  manifest: blogListingManifest,
65330
65518
  dataSchemas: {
65331
- posts: z56.array(blogPostListEntrySchema).optional()
65519
+ posts: z57.array(blogPostListEntrySchema).optional()
65332
65520
  },
65333
65521
  dataLoaders: {
65334
65522
  posts: blogListingDataLoader
@@ -65450,7 +65638,7 @@ init_builder();
65450
65638
  init_fragments();
65451
65639
 
65452
65640
  // ../blocks/src/system/transforms/registry/formatting.ts
65453
- import { z as z57 } from "zod";
65641
+ import { z as z58 } from "zod";
65454
65642
  var uppercaseTransform = {
65455
65643
  id: "string.uppercase",
65456
65644
  kind: "string",
@@ -65461,7 +65649,7 @@ var fallbackTransform = {
65461
65649
  id: "value.fallback",
65462
65650
  kind: "formatter",
65463
65651
  summary: "Provide fallback when value is null or undefined",
65464
- schema: z57.object({ fallback: z57.unknown() }),
65652
+ schema: z58.object({ fallback: z58.unknown() }),
65465
65653
  run: (value, options) => value === null || value === void 0 || value === "" ? options.fallback : value
65466
65654
  };
65467
65655
  var dateFormatShort = {
@@ -65508,8 +65696,8 @@ var jsonArrayTransform = {
65508
65696
  return "";
65509
65697
  }
65510
65698
  };
65511
- var marqueeLoopOptionsSchema = z57.object({
65512
- minItems: z57.number().int().min(1).default(10)
65699
+ var marqueeLoopOptionsSchema = z58.object({
65700
+ minItems: z58.number().int().min(1).default(10)
65513
65701
  });
65514
65702
  var marqueeLoopTransform = {
65515
65703
  id: "array.marqueeLoop",
@@ -65542,7 +65730,7 @@ init_site_styles();
65542
65730
  init_colorStyles();
65543
65731
  init_blockColorTokens();
65544
65732
  init_sectionState_shared();
65545
- import { z as z58 } from "zod";
65733
+ import { z as z59 } from "zod";
65546
65734
  var joinClasses6 = (parts) => parts.filter(
65547
65735
  (part) => typeof part === "string" && part.trim().length > 0
65548
65736
  ).join(" ").replace(/\s+/g, " ").trim();
@@ -65613,8 +65801,8 @@ function getNavStyleClasses(navStyle) {
65613
65801
  return baseClasses;
65614
65802
  }
65615
65803
  }
65616
- var headerNavClassOptionsSchema = z58.object({
65617
- base: z58.string().optional()
65804
+ var headerNavClassOptionsSchema = z59.object({
65805
+ base: z59.string().optional()
65618
65806
  });
65619
65807
  var headerNavLinkClassTransform = {
65620
65808
  id: "ui.headerNavLinkClass",
@@ -65697,8 +65885,8 @@ function resolveHeroContentMaxWidth(content) {
65697
65885
  return raw;
65698
65886
  return "default";
65699
65887
  }
65700
- var heroContentWrapperClassSchema = z58.object({
65701
- base: z58.string().optional()
65888
+ var heroContentWrapperClassSchema = z59.object({
65889
+ base: z59.string().optional()
65702
65890
  });
65703
65891
  var heroContentWrapperClassTransform = {
65704
65892
  id: "ui.heroContentWrapperClass",
@@ -65740,8 +65928,8 @@ var heroStackJustifyFromVerticalAlignmentTransform = {
65740
65928
  return vertical === "top" ? "start" : vertical === "bottom" ? "end" : "center";
65741
65929
  }
65742
65930
  };
65743
- var heroGridClassFromVerticalAlignmentSchema = z58.object({
65744
- base: z58.string()
65931
+ var heroGridClassFromVerticalAlignmentSchema = z59.object({
65932
+ base: z59.string()
65745
65933
  });
65746
65934
  var heroGridClassFromVerticalAlignmentTransform = {
65747
65935
  id: "ui.heroGridClassFromVerticalAlignment",
@@ -65755,10 +65943,10 @@ var heroGridClassFromVerticalAlignmentTransform = {
65755
65943
  return joinClasses6([options.base, itemsClass]);
65756
65944
  }
65757
65945
  };
65758
- var imageFragmentClassOptionsSchema = z58.object({
65759
- base: z58.string(),
65760
- whenAuto: z58.string(),
65761
- whenFixed: z58.string()
65946
+ var imageFragmentClassOptionsSchema = z59.object({
65947
+ base: z59.string(),
65948
+ whenAuto: z59.string(),
65949
+ whenFixed: z59.string()
65762
65950
  });
65763
65951
  var imageFragmentClassTransform = {
65764
65952
  id: "ui.imageFragmentClass",
@@ -65774,9 +65962,9 @@ var imageFragmentClassTransform = {
65774
65962
  ]);
65775
65963
  }
65776
65964
  };
65777
- var imageFragmentSizeOptionsSchema = z58.object({
65778
- max: z58.number().int().positive().default(1920),
65779
- quality: z58.number().int().min(1).max(100).default(85)
65965
+ var imageFragmentSizeOptionsSchema = z59.object({
65966
+ max: z59.number().int().positive().default(1920),
65967
+ quality: z59.number().int().min(1).max(100).default(85)
65780
65968
  });
65781
65969
  var imageFragmentSizeTransform = {
65782
65970
  id: "ui.imageFragmentSize",
@@ -65796,9 +65984,9 @@ var imageFragmentSizeTransform = {
65796
65984
  return { width, height, quality, resize: "cover" };
65797
65985
  }
65798
65986
  };
65799
- var conditionalClassOptionsSchema = z58.object({
65800
- whenTrue: z58.string(),
65801
- whenFalse: z58.string()
65987
+ var conditionalClassOptionsSchema = z59.object({
65988
+ whenTrue: z59.string(),
65989
+ whenFalse: z59.string()
65802
65990
  });
65803
65991
  var conditionalClassTransform = {
65804
65992
  id: "ui.conditionalClass",
@@ -65810,9 +65998,9 @@ var conditionalClassTransform = {
65810
65998
  return isTrue ? options.whenTrue : options.whenFalse;
65811
65999
  }
65812
66000
  };
65813
- var twoColumnContainerClassOptionsSchema = z58.object({
65814
- base: z58.string(),
65815
- reverseClass: z58.string()
66001
+ var twoColumnContainerClassOptionsSchema = z59.object({
66002
+ base: z59.string(),
66003
+ reverseClass: z59.string()
65816
66004
  });
65817
66005
  var twoColumnContainerClassTransform = {
65818
66006
  id: "ui.twoColumnContainerClass",
@@ -65827,8 +66015,8 @@ var twoColumnContainerClassTransform = {
65827
66015
  ]);
65828
66016
  }
65829
66017
  };
65830
- var twoColumnFlexBasisOptionsSchema = z58.object({
65831
- side: z58.enum(["image", "text"])
66018
+ var twoColumnFlexBasisOptionsSchema = z59.object({
66019
+ side: z59.enum(["image", "text"])
65832
66020
  });
65833
66021
  var twoColumnFlexBasisTransform = {
65834
66022
  id: "ui.twoColumnFlexBasis",
@@ -65842,8 +66030,8 @@ var twoColumnFlexBasisTransform = {
65842
66030
  return `${percent}%`;
65843
66031
  }
65844
66032
  };
65845
- var columnsDesktopSpanClassOptionsSchema = z58.object({
65846
- base: z58.string().optional()
66033
+ var columnsDesktopSpanClassOptionsSchema = z59.object({
66034
+ base: z59.string().optional()
65847
66035
  });
65848
66036
  var columnsDesktopSpanClassTransform = {
65849
66037
  id: "ui.columnsDesktopSpanClass",
@@ -65885,8 +66073,8 @@ var columnsColsAtTransform = {
65885
66073
  id: "ui.columnsColsAt",
65886
66074
  kind: "formatter",
65887
66075
  summary: "Resolve columns count for a specific breakpoint",
65888
- schema: z58.object({
65889
- breakpoint: z58.enum(["mobile", "md", "lg", "xl"])
66076
+ schema: z59.object({
66077
+ breakpoint: z59.enum(["mobile", "md", "lg", "xl"])
65890
66078
  }),
65891
66079
  run: (value, options) => {
65892
66080
  const content = asPartialObject(value) ?? {};
@@ -66023,14 +66211,14 @@ var uiTransforms = [
66023
66211
  init_colorConversion();
66024
66212
  init_core2();
66025
66213
  init_colorStyles();
66026
- import { z as z59 } from "zod";
66214
+ import { z as z60 } from "zod";
66027
66215
  var joinClasses7 = (parts) => parts.filter(
66028
66216
  (part) => typeof part === "string" && part.trim().length > 0
66029
66217
  ).join(" ").replace(/\s+/g, " ").trim();
66030
- var maxWidthClassSchema = z59.object({
66031
- base: z59.string().optional(),
66032
- container: z59.string().optional(),
66033
- full: z59.string().optional()
66218
+ var maxWidthClassSchema = z60.object({
66219
+ base: z60.string().optional(),
66220
+ container: z60.string().optional(),
66221
+ full: z60.string().optional()
66034
66222
  });
66035
66223
  var maxWidthClassTransform = {
66036
66224
  id: "layout.maxWidthClass",
@@ -66046,11 +66234,11 @@ var maxWidthClassTransform = {
66046
66234
  return joinClasses7([base, chosen]);
66047
66235
  }
66048
66236
  };
66049
- var headerRootClassSchema = z59.object({
66050
- base: z59.string().optional(),
66051
- sticky: z59.string().optional(),
66052
- stickyTransparent: z59.string().optional(),
66053
- invert: z59.string().optional()
66237
+ var headerRootClassSchema = z60.object({
66238
+ base: z60.string().optional(),
66239
+ sticky: z60.string().optional(),
66240
+ stickyTransparent: z60.string().optional(),
66241
+ invert: z60.string().optional()
66054
66242
  });
66055
66243
  function resolveBackgroundVisualStyles(backgroundColor, tokens, defaultToken = "surface") {
66056
66244
  const backgroundToken = typeof backgroundColor === "string" && backgroundColor.trim().length > 0 ? backgroundColor : defaultToken;
@@ -66171,11 +66359,11 @@ var headerRootClassTransform = {
66171
66359
  return joinClasses7(classes);
66172
66360
  }
66173
66361
  };
66174
- var footerRootClassSchema = z59.object({
66175
- base: z59.string().optional(),
66176
- surface: z59.string().optional(),
66177
- tokenPrefix: z59.string().optional(),
66178
- transparent: z59.string().optional()
66362
+ var footerRootClassSchema = z60.object({
66363
+ base: z60.string().optional(),
66364
+ surface: z60.string().optional(),
66365
+ tokenPrefix: z60.string().optional(),
66366
+ transparent: z60.string().optional()
66179
66367
  });
66180
66368
  var footerRootClassTransform = {
66181
66369
  id: "layout.footerRootClass",
@@ -66279,8 +66467,8 @@ var footerAlignClassMap = {
66279
66467
  end: "rb-justify-end",
66280
66468
  "space-between": "rb-justify-between"
66281
66469
  };
66282
- var footerBottomBarClassSchema = z59.object({
66283
- base: z59.string().optional()
66470
+ var footerBottomBarClassSchema = z60.object({
66471
+ base: z60.string().optional()
66284
66472
  });
66285
66473
  var footerBottomBarClassTransform = {
66286
66474
  id: "layout.footerBottomBarClass",
@@ -66302,10 +66490,10 @@ var footerBottomBarClassTransform = {
66302
66490
  ]);
66303
66491
  }
66304
66492
  };
66305
- var footerBottomBarContainerClassSchema = z59.object({
66306
- base: z59.string().optional(),
66307
- fullBleed: z59.string().optional(),
66308
- contained: z59.string().optional()
66493
+ var footerBottomBarContainerClassSchema = z60.object({
66494
+ base: z60.string().optional(),
66495
+ fullBleed: z60.string().optional(),
66496
+ contained: z60.string().optional()
66309
66497
  });
66310
66498
  var footerBottomBarContainerClassTransform = {
66311
66499
  id: "layout.footerBottomBarContainerClass",
@@ -66390,9 +66578,9 @@ var footerSplitNavSingleClassTransform = {
66390
66578
  ]);
66391
66579
  }
66392
66580
  };
66393
- var footerSplitMainClassSchema = z59.object({
66394
- base: z59.string().optional(),
66395
- reverseClass: z59.string().optional()
66581
+ var footerSplitMainClassSchema = z60.object({
66582
+ base: z60.string().optional(),
66583
+ reverseClass: z60.string().optional()
66396
66584
  });
66397
66585
  var footerSplitMainClassTransform = {
66398
66586
  id: "layout.footerSplitMainClass",
@@ -66410,8 +66598,8 @@ var footerSplitMainClassTransform = {
66410
66598
  ]);
66411
66599
  }
66412
66600
  };
66413
- var footerLogoClassSchema = z59.object({
66414
- base: z59.string().optional()
66601
+ var footerLogoClassSchema = z60.object({
66602
+ base: z60.string().optional()
66415
66603
  });
66416
66604
  var footerLogoClassTransform = {
66417
66605
  id: "layout.footerLogoClass",
@@ -66430,8 +66618,8 @@ var footerLogoClassTransform = {
66430
66618
  ]);
66431
66619
  }
66432
66620
  };
66433
- var footerLogoMediaClassSchema = z59.object({
66434
- base: z59.string().optional()
66621
+ var footerLogoMediaClassSchema = z60.object({
66622
+ base: z60.string().optional()
66435
66623
  });
66436
66624
  var footerLogoMediaClassTransform = {
66437
66625
  id: "layout.footerLogoMediaClass",
@@ -66486,12 +66674,12 @@ var layoutTransforms = [
66486
66674
  ];
66487
66675
 
66488
66676
  // ../blocks/src/system/transforms/registry/media.ts
66489
- import { z as z60 } from "zod";
66490
- var mediaFromUrlOptionsSchema = z60.object({
66491
- width: z60.number().int().positive().optional(),
66492
- height: z60.number().int().positive().optional(),
66493
- quality: z60.number().int().min(1).max(100).optional(),
66494
- resize: z60.enum(["cover", "contain", "fill"]).optional()
66677
+ import { z as z61 } from "zod";
66678
+ var mediaFromUrlOptionsSchema = z61.object({
66679
+ width: z61.number().int().positive().optional(),
66680
+ height: z61.number().int().positive().optional(),
66681
+ quality: z61.number().int().min(1).max(100).optional(),
66682
+ resize: z61.enum(["cover", "contain", "fill"]).optional()
66495
66683
  });
66496
66684
  function maybeBuildSupabaseTransformUrl(inputUrl, options) {
66497
66685
  const width = options.width;
@@ -66540,10 +66728,10 @@ var mediaTransforms = [mediaFromUrl];
66540
66728
 
66541
66729
  // ../blocks/src/system/transforms/registry/content.ts
66542
66730
  init_typeGuards2();
66543
- import { z as z61 } from "zod";
66544
- var supportedRichTextTokenSchema = z61.enum(["year", "site_name"]);
66545
- var interpolateRichTextTokensOptionsSchema = z61.object({
66546
- tokens: z61.array(supportedRichTextTokenSchema).default(["year", "site_name"])
66731
+ import { z as z62 } from "zod";
66732
+ var supportedRichTextTokenSchema = z62.enum(["year", "site_name"]);
66733
+ var interpolateRichTextTokensOptionsSchema = z62.object({
66734
+ tokens: z62.array(supportedRichTextTokenSchema).default(["year", "site_name"])
66547
66735
  });
66548
66736
  var richTextTokenPattern = /\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g;
66549
66737
  function getSiteName(context) {
@@ -68389,7 +68577,7 @@ init_fragments();
68389
68577
  init_boxStyles2();
68390
68578
  init_defineBlock();
68391
68579
  init_api_bindings();
68392
- import { z as z62 } from "zod";
68580
+ import { z as z63 } from "zod";
68393
68581
  var appointmentBookingManifest = createBlockManifest({
68394
68582
  id: "block.appointment-booking",
68395
68583
  version: "2.0.0",
@@ -68465,11 +68653,11 @@ var appointmentBookingManifest = createBlockManifest({
68465
68653
  })
68466
68654
  ]
68467
68655
  });
68468
- var availabilityDataSchema = z62.object({
68469
- slots: z62.array(z62.object({
68470
- startAt: z62.string(),
68471
- endAt: z62.string(),
68472
- resourceId: z62.string()
68656
+ var availabilityDataSchema = z63.object({
68657
+ slots: z63.array(z63.object({
68658
+ startAt: z63.string(),
68659
+ endAt: z63.string(),
68660
+ resourceId: z63.string()
68473
68661
  }))
68474
68662
  });
68475
68663
  var appointmentBookingBlockDefinition = {
@@ -68497,178 +68685,6 @@ var appointmentBookingBlockDefinition = {
68497
68685
  init_event_registration();
68498
68686
  init_course_registration();
68499
68687
 
68500
- // ../blocks/src/system/blocks/event-details.ts
68501
- init_builder();
68502
- init_builder();
68503
- init_styledSection();
68504
- init_fragments();
68505
- init_shared4();
68506
- init_shop_shared();
68507
- init_defineBlock();
68508
- import { z as z63 } from "zod";
68509
- var eventDetailsManifest = createBlockManifest({
68510
- id: "block.event-details",
68511
- version: "1.0.0",
68512
- title: "Event Details",
68513
- titleSource: "heading",
68514
- description: "Date/time, venue, map, and other dates for an event",
68515
- category: "content",
68516
- tags: ["events", "venue", "map", "schedule", "dates"],
68517
- icon: "MapPin",
68518
- styleTokens: { background: "surface", typography: "body", spacing: "md" },
68519
- behaviours: {
68520
- supportsThemeSwitching: true,
68521
- inlineEditing: false,
68522
- animation: false,
68523
- paletteHidden: false
68524
- },
68525
- additionalFields: [
68526
- {
68527
- id: "heading",
68528
- type: "text",
68529
- label: "Heading",
68530
- description: "Optional heading shown above event details",
68531
- required: false,
68532
- multiline: false,
68533
- defaultValue: "Event details"
68534
- },
68535
- {
68536
- id: "showVenue",
68537
- type: "boolean",
68538
- label: "Show venue",
68539
- required: false,
68540
- defaultValue: true,
68541
- ui: { intent: "display" }
68542
- },
68543
- {
68544
- id: "showMap",
68545
- type: "boolean",
68546
- label: "Show map",
68547
- description: "Embed a map when the venue has coordinates",
68548
- required: false,
68549
- defaultValue: true,
68550
- ui: { intent: "display" }
68551
- },
68552
- {
68553
- id: "showOtherDates",
68554
- type: "boolean",
68555
- label: "Show other dates",
68556
- required: false,
68557
- defaultValue: true,
68558
- ui: { intent: "display" }
68559
- },
68560
- {
68561
- id: "otherDatesLimit",
68562
- type: "select",
68563
- label: "Other dates limit",
68564
- required: false,
68565
- multiple: false,
68566
- defaultValue: "5",
68567
- options: [
68568
- { value: "3", label: "3 dates" },
68569
- { value: "5", label: "5 dates" },
68570
- { value: "10", label: "10 dates" }
68571
- ],
68572
- ui: { intent: "display" }
68573
- },
68574
- {
68575
- id: "showCost",
68576
- type: "boolean",
68577
- label: "Show cost",
68578
- description: "Display ticket price for paid events",
68579
- required: false,
68580
- defaultValue: true,
68581
- ui: { intent: "display" }
68582
- },
68583
- {
68584
- id: "showAcceptedPasses",
68585
- type: "boolean",
68586
- label: "Show accepted passes",
68587
- description: "Display passes that can be used for this event",
68588
- required: false,
68589
- defaultValue: true,
68590
- ui: { intent: "display" }
68591
- },
68592
- {
68593
- id: "showAcceptedMemberships",
68594
- type: "boolean",
68595
- label: "Show accepted memberships",
68596
- description: "Display memberships that grant access to this event",
68597
- required: false,
68598
- defaultValue: true,
68599
- ui: { intent: "display" }
68600
- }
68601
- ],
68602
- layout: [
68603
- styledSection({
68604
- baseClass: "",
68605
- spacing: "spacious",
68606
- children: sectionContainer(
68607
- [
68608
- text({ as: "h2" }, bind("content.heading"), when("content.heading")),
68609
- el("event-details", {
68610
- occurrenceContext: {
68611
- $bind: { from: "$root.occurrenceContext", fallback: null }
68612
- },
68613
- contentEntry: { $bind: { from: "$root.contentEntry", fallback: null } },
68614
- events: { $bind: { from: "data.eventDetailsData.events" } },
68615
- showVenue: { $bind: { from: "content.showVenue" } },
68616
- showMap: { $bind: { from: "content.showMap" } },
68617
- showOtherDates: { $bind: { from: "content.showOtherDates" } },
68618
- otherDatesLimit: {
68619
- $bind: { from: "content.otherDatesLimit", fallback: "5" }
68620
- },
68621
- showCost: { $bind: { from: "content.showCost", fallback: true } },
68622
- showAcceptedPasses: {
68623
- $bind: { from: "content.showAcceptedPasses", fallback: true }
68624
- },
68625
- showAcceptedMemberships: {
68626
- $bind: { from: "content.showAcceptedMemberships", fallback: true }
68627
- },
68628
- sitePasses: { $bind: { from: "data.eventDetailsData.sitePasses" } },
68629
- siteMemberships: { $bind: { from: "data.eventDetailsData.siteMemberships" } }
68630
- })
68631
- ],
68632
- { gap: "lg" }
68633
- )
68634
- })
68635
- ]
68636
- });
68637
- var occurrenceContextSchema2 = z63.object({
68638
- id: z63.string(),
68639
- seriesId: z63.string(),
68640
- startsAt: z63.string(),
68641
- endsAt: z63.string(),
68642
- timeZone: z63.string(),
68643
- capacityOverride: z63.number().nullable().optional(),
68644
- overrides: z63.record(z63.string(), z63.unknown()).nullable().optional()
68645
- }).nullable();
68646
- var eventDetailsBlockDefinition = {
68647
- manifest: eventDetailsManifest,
68648
- dataSchemas: {
68649
- eventDetailsData: z63.object({
68650
- events: publicEventsArraySchema,
68651
- sitePasses: z63.object({ passes: z63.array(publicPassProductSchema) }),
68652
- siteMemberships: z63.object({ memberships: z63.array(publicMembershipProductSchema) })
68653
- }).optional(),
68654
- occurrenceContext: occurrenceContextSchema2.optional()
68655
- },
68656
- dataLoaders: {
68657
- eventDetailsData: {
68658
- endpoint: "getPublicEventDetails",
68659
- params: {
68660
- siteId: { $bind: { from: "$root.siteId" } },
68661
- stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
68662
- limit: "25",
68663
- entryId: { $bind: { from: "$root.contentEntry._entryId" } },
68664
- seriesId: { $bind: { from: "$root.occurrenceContext.seriesId" } },
68665
- includeOccurrenceId: { $bind: { from: "$root.occurrenceContext.id" } }
68666
- },
68667
- mode: "server"
68668
- }
68669
- }
68670
- };
68671
-
68672
68688
  // ../blocks/src/system/blocks/course-details.ts
68673
68689
  init_builder();
68674
68690
  init_styledSection();
@@ -78619,6 +78635,14 @@ var ENDPOINT_DEFINITIONS = {
78619
78635
  auth: "user",
78620
78636
  responseKind: "json"
78621
78637
  },
78638
+ saveSiteChromeLookSelection: {
78639
+ path: "/sites/{siteId}/theme/site-chrome-look",
78640
+ method: "POST",
78641
+ tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme],
78642
+ auth: "user",
78643
+ errors: [],
78644
+ responseKind: "json"
78645
+ },
78622
78646
  uploadSiteLogo: {
78623
78647
  path: "/storage/upload-site-logo",
78624
78648
  method: "POST",
@@ -81063,6 +81087,14 @@ var ENDPOINT_DEFINITIONS = {
81063
81087
  auth: "admin",
81064
81088
  responseKind: "json"
81065
81089
  },
81090
+ adminScheduleBillingComponentEnd: {
81091
+ path: "/admin/sites/{siteId}/billing/components/{componentId}/end",
81092
+ method: "POST",
81093
+ tags: ["admin", "site-{siteId}", "billing"],
81094
+ auth: "admin",
81095
+ responseKind: "json",
81096
+ errors: []
81097
+ },
81066
81098
  // Admin GSC/SEO endpoints
81067
81099
  adminGscVerifyStart: {
81068
81100
  path: "/admin/seo/gsc/properties/verify/start",
@@ -81787,6 +81819,13 @@ var ENDPOINT_DEFINITIONS = {
81787
81819
  auth: "public",
81788
81820
  responseKind: "json"
81789
81821
  },
81822
+ demoClaimMagicLink: {
81823
+ path: "/demo/auth/send-magic-link",
81824
+ method: "POST",
81825
+ auth: "public",
81826
+ responseKind: "json",
81827
+ errors: []
81828
+ },
81790
81829
  previewExchangeCode: {
81791
81830
  path: "/preview/auth/exchange",
81792
81831
  method: "POST",
@@ -81945,61 +81984,74 @@ var ENDPOINT_DEFINITIONS = {
81945
81984
  }
81946
81985
  };
81947
81986
 
81948
- // ../api/src/navigation/contracts.ts
81987
+ // ../api/src/accessAdmin.ts
81949
81988
  import { z as z66 } from "zod";
81950
- var portalLinkPayloadSchema = z66.object({
81951
- kind: z66.literal("portal"),
81952
- path: z66.string().trim().startsWith("/").optional(),
81953
- labels: z66.object({
81954
- loggedOut: z66.string().trim().min(1).optional(),
81955
- loggedIn: z66.string().trim().min(1).optional()
81989
+ var managedDomainAddOnPricingSnapshotSchema = z66.object({
81990
+ formulaVersion: z66.literal("managed-domain-overage-v1"),
81991
+ conversionRule: z66.literal("usd-to-gbp-1-to-1-v1"),
81992
+ registrarAnnualCost: z66.number().nonnegative(),
81993
+ registrarCurrency: z66.literal("USD"),
81994
+ includedAnnualAllowance: z66.number().nonnegative(),
81995
+ includedAnnualAllowanceCurrency: z66.literal("USD"),
81996
+ monthlyAmountCents: z66.number().int().nonnegative(),
81997
+ monthlyCurrency: z66.literal("gbp")
81998
+ });
81999
+
82000
+ // ../api/src/navigation/contracts.ts
82001
+ import { z as z67 } from "zod";
82002
+ var portalLinkPayloadSchema = z67.object({
82003
+ kind: z67.literal("portal"),
82004
+ path: z67.string().trim().startsWith("/").optional(),
82005
+ labels: z67.object({
82006
+ loggedOut: z67.string().trim().min(1).optional(),
82007
+ loggedIn: z67.string().trim().min(1).optional()
81956
82008
  }).optional()
81957
82009
  });
81958
- var cartLinkLabelConfigSchema = z66.discriminatedUnion("kind", [
81959
- z66.object({
81960
- kind: z66.literal("icon-only")
82010
+ var cartLinkLabelConfigSchema = z67.discriminatedUnion("kind", [
82011
+ z67.object({
82012
+ kind: z67.literal("icon-only")
81961
82013
  }),
81962
- z66.object({
81963
- kind: z66.literal("icon-with-label"),
81964
- label: z66.string().trim().min(1)
82014
+ z67.object({
82015
+ kind: z67.literal("icon-with-label"),
82016
+ label: z67.string().trim().min(1)
81965
82017
  })
81966
82018
  ]);
81967
- var cartLinkPayloadSchema = z66.object({
81968
- kind: z66.literal("cart"),
81969
- badge: z66.enum(["show-count", "hidden"]),
82019
+ var cartLinkPayloadSchema = z67.object({
82020
+ kind: z67.literal("cart"),
82021
+ badge: z67.enum(["show-count", "hidden"]),
81970
82022
  label: cartLinkLabelConfigSchema
81971
82023
  });
81972
- var internalLinkPayloadSchema = z66.object({
81973
- kind: z66.literal("internal"),
81974
- routeId: z66.string().uuid(),
81975
- entityId: z66.string().uuid(),
81976
- entityType: z66.enum(["page", "content"]),
81977
- href: z66.string().min(1),
81978
- title: z66.string().min(1),
81979
- typeLabel: z66.string().min(1),
81980
- contentTypeKey: z66.string().nullable().optional(),
81981
- contentTypeName: z66.string().nullable().optional(),
81982
- updatedAt: z66.string().nullable().optional()
82024
+ var internalLinkPayloadSchema = z67.object({
82025
+ kind: z67.literal("internal"),
82026
+ routeId: z67.string().uuid(),
82027
+ entityId: z67.string().uuid(),
82028
+ entityType: z67.enum(["page", "content"]),
82029
+ href: z67.string().min(1),
82030
+ title: z67.string().min(1),
82031
+ typeLabel: z67.string().min(1),
82032
+ contentTypeKey: z67.string().nullable().optional(),
82033
+ contentTypeName: z67.string().nullable().optional(),
82034
+ updatedAt: z67.string().nullable().optional()
81983
82035
  }).passthrough();
81984
- var externalLinkSchema2 = z66.object({
81985
- kind: z66.literal("external"),
82036
+ var externalLinkSchema2 = z67.object({
82037
+ kind: z67.literal("external"),
81986
82038
  // Navigation external links are expected to be absolute URLs.
81987
- href: z66.string().url()
82039
+ href: z67.string().url()
81988
82040
  });
81989
- var customLinkSchema2 = z66.object({
81990
- kind: z66.literal("url"),
81991
- href: z66.string().min(1)
82041
+ var customLinkSchema2 = z67.object({
82042
+ kind: z67.literal("url"),
82043
+ href: z67.string().min(1)
81992
82044
  });
81993
- var pageLinkSchema2 = z66.object({
81994
- kind: z66.literal("page"),
81995
- identifier: z66.string().min(1)
82045
+ var pageLinkSchema2 = z67.object({
82046
+ kind: z67.literal("page"),
82047
+ identifier: z67.string().min(1)
81996
82048
  });
81997
- var entryLinkSchema2 = z66.object({
81998
- kind: z66.literal("entry"),
81999
- contentType: z66.string().min(1),
82000
- identifier: z66.string().min(1)
82049
+ var entryLinkSchema2 = z67.object({
82050
+ kind: z67.literal("entry"),
82051
+ contentType: z67.string().min(1),
82052
+ identifier: z67.string().min(1)
82001
82053
  });
82002
- var linkPayloadSchema = z66.discriminatedUnion("kind", [
82054
+ var linkPayloadSchema = z67.discriminatedUnion("kind", [
82003
82055
  internalLinkPayloadSchema,
82004
82056
  pageLinkSchema2,
82005
82057
  entryLinkSchema2,
@@ -82016,7 +82068,7 @@ var navigationLinkInputSchemaOptions = [
82016
82068
  portalLinkPayloadSchema,
82017
82069
  cartLinkPayloadSchema
82018
82070
  ];
82019
- var navigationLinkInputSchema = z66.discriminatedUnion(
82071
+ var navigationLinkInputSchema = z67.discriminatedUnion(
82020
82072
  "kind",
82021
82073
  navigationLinkInputSchemaOptions
82022
82074
  );
@@ -82024,21 +82076,21 @@ var navigationLinkInputSchema = z66.discriminatedUnion(
82024
82076
  // ../api/src/sdkConfig/contracts.ts
82025
82077
  init_schema3();
82026
82078
  init_schema();
82027
- import { z as z67 } from "zod";
82079
+ import { z as z68 } from "zod";
82028
82080
  function unsafeRetypeZodSchema(schema) {
82029
82081
  return schema;
82030
82082
  }
82031
- var navIdListSchema = z67.preprocess((value) => {
82083
+ var navIdListSchema = z68.preprocess((value) => {
82032
82084
  if (!Array.isArray(value)) return void 0;
82033
82085
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
82034
82086
  return filtered.length > 0 ? filtered : void 0;
82035
- }, z67.array(z67.string()).max(200).optional());
82036
- var dashboardNavVisibilityBaseSchema = z67.object({
82037
- mode: z67.enum(["augment", "restrict"]).optional(),
82087
+ }, z68.array(z68.string()).max(200).optional());
82088
+ var dashboardNavVisibilityBaseSchema = z68.object({
82089
+ mode: z68.enum(["augment", "restrict"]).optional(),
82038
82090
  allowIds: navIdListSchema,
82039
82091
  denyIds: navIdListSchema
82040
82092
  }).strip();
82041
- var dashboardNavVisibilityRolesSchema = z67.object({
82093
+ var dashboardNavVisibilityRolesSchema = z68.object({
82042
82094
  administrator: dashboardNavVisibilityBaseSchema.optional(),
82043
82095
  editor: dashboardNavVisibilityBaseSchema.optional(),
82044
82096
  team_member: dashboardNavVisibilityBaseSchema.optional(),
@@ -82047,57 +82099,57 @@ var dashboardNavVisibilityRolesSchema = z67.object({
82047
82099
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
82048
82100
  roles: dashboardNavVisibilityRolesSchema
82049
82101
  }).strip();
82050
- var dashboardNavigationConfigSchema = z67.object({
82102
+ var dashboardNavigationConfigSchema = z68.object({
82051
82103
  siteNav: dashboardNavVisibilitySchema.optional(),
82052
82104
  settingsNav: dashboardNavVisibilitySchema.optional()
82053
82105
  }).strip();
82054
- var dashboardConfigSchema = z67.object({
82055
- previewEditingEnabled: z67.boolean().optional(),
82106
+ var dashboardConfigSchema = z68.object({
82107
+ previewEditingEnabled: z68.boolean().optional(),
82056
82108
  navigation: dashboardNavigationConfigSchema.optional()
82057
82109
  }).strip();
82058
82110
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
82059
82111
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
82060
- var sdkLoaderEndpointSchema = z67.enum(SUPPORTED_LOADER_ENDPOINTS);
82061
- var loaderParamBindingSchema = z67.object({
82062
- $bind: z67.object({
82063
- from: z67.string().min(1, "Binding path is required"),
82064
- fallback: z67.string().optional()
82112
+ var sdkLoaderEndpointSchema = z68.enum(SUPPORTED_LOADER_ENDPOINTS);
82113
+ var loaderParamBindingSchema = z68.object({
82114
+ $bind: z68.object({
82115
+ from: z68.string().min(1, "Binding path is required"),
82116
+ fallback: z68.string().optional()
82065
82117
  })
82066
82118
  });
82067
- var loaderParamValueSchema = z67.union([
82068
- z67.string(),
82069
- z67.number(),
82070
- z67.boolean(),
82119
+ var loaderParamValueSchema = z68.union([
82120
+ z68.string(),
82121
+ z68.number(),
82122
+ z68.boolean(),
82071
82123
  loaderParamBindingSchema
82072
82124
  ]);
82073
- var sdkConfigLoaderSchema = z67.object({
82125
+ var sdkConfigLoaderSchema = z68.object({
82074
82126
  endpoint: sdkLoaderEndpointSchema,
82075
- params: z67.record(z67.string(), loaderParamValueSchema),
82076
- mode: z67.enum(["server", "client"]).default("server")
82127
+ params: z68.record(z68.string(), loaderParamValueSchema),
82128
+ mode: z68.enum(["server", "client"]).default("server")
82077
82129
  });
82078
- var sdkDataLoadersSchema = z67.record(z67.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
82079
- var sdkCustomBlockIdSchema = z67.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
82130
+ var sdkDataLoadersSchema = z68.record(z68.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
82131
+ var sdkCustomBlockIdSchema = z68.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
82080
82132
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
82081
82133
  }).transform((value) => value);
82082
- var sdkCustomBlockInputSchema = z67.object({
82134
+ var sdkCustomBlockInputSchema = z68.object({
82083
82135
  id: sdkCustomBlockIdSchema,
82084
- title: z67.string().min(1),
82085
- titleSource: z67.union([z67.string().min(1), z67.array(z67.string().min(1)).min(1)]).optional(),
82086
- description: z67.string().optional(),
82136
+ title: z68.string().min(1),
82137
+ titleSource: z68.union([z68.string().min(1), z68.array(z68.string().min(1)).min(1)]).optional(),
82138
+ description: z68.string().optional(),
82087
82139
  category: blockCategoryEnum,
82088
- icon: z67.string().optional(),
82089
- tags: z67.array(z67.string()).optional(),
82140
+ icon: z68.string().optional(),
82141
+ tags: z68.array(z68.string()).optional(),
82090
82142
  fields: fieldDefinitionInputSchema.array().min(1),
82091
82143
  dataLoaders: sdkDataLoadersSchema,
82092
82144
  layout: NodeSchema.optional(),
82093
- variants: z67.record(z67.string().min(1), NodeSchema).optional(),
82094
- defaultVariant: z67.string().min(1).optional(),
82095
- variantOptions: z67.record(
82096
- z67.string().min(1),
82097
- z67.object({
82098
- label: z67.string().min(1).optional(),
82099
- description: z67.string().min(1).optional(),
82100
- icon: z67.string().min(1).optional()
82145
+ variants: z68.record(z68.string().min(1), NodeSchema).optional(),
82146
+ defaultVariant: z68.string().min(1).optional(),
82147
+ variantOptions: z68.record(
82148
+ z68.string().min(1),
82149
+ z68.object({
82150
+ label: z68.string().min(1).optional(),
82151
+ description: z68.string().min(1).optional(),
82152
+ icon: z68.string().min(1).optional()
82101
82153
  })
82102
82154
  ).optional()
82103
82155
  }).superRefine((data, ctx) => {
@@ -82107,7 +82159,7 @@ var sdkCustomBlockInputSchema = z67.object({
82107
82159
  const exists = data.fields.some((field) => field.id === source);
82108
82160
  if (!exists) {
82109
82161
  ctx.addIssue({
82110
- code: z67.ZodIssueCode.custom,
82162
+ code: z68.ZodIssueCode.custom,
82111
82163
  message: `titleSource must reference a valid field ID (got "${source}")`,
82112
82164
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
82113
82165
  });
@@ -82116,7 +82168,7 @@ var sdkCustomBlockInputSchema = z67.object({
82116
82168
  }
82117
82169
  if (data.layout && data.variants) {
82118
82170
  ctx.addIssue({
82119
- code: z67.ZodIssueCode.custom,
82171
+ code: z68.ZodIssueCode.custom,
82120
82172
  message: "Custom block must define either `layout` or `variants`, not both",
82121
82173
  path: ["variants"]
82122
82174
  });
@@ -82125,14 +82177,14 @@ var sdkCustomBlockInputSchema = z67.object({
82125
82177
  const keys = Object.keys(data.variants);
82126
82178
  if (keys.length === 0) {
82127
82179
  ctx.addIssue({
82128
- code: z67.ZodIssueCode.custom,
82180
+ code: z68.ZodIssueCode.custom,
82129
82181
  message: "`variants` must contain at least one variant key",
82130
82182
  path: ["variants"]
82131
82183
  });
82132
82184
  }
82133
82185
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
82134
82186
  ctx.addIssue({
82135
- code: z67.ZodIssueCode.custom,
82187
+ code: z68.ZodIssueCode.custom,
82136
82188
  message: "`defaultVariant` must be a key present in `variants`",
82137
82189
  path: ["defaultVariant"]
82138
82190
  });
@@ -82141,7 +82193,7 @@ var sdkCustomBlockInputSchema = z67.object({
82141
82193
  for (const key of Object.keys(data.variantOptions)) {
82142
82194
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
82143
82195
  ctx.addIssue({
82144
- code: z67.ZodIssueCode.custom,
82196
+ code: z68.ZodIssueCode.custom,
82145
82197
  message: "`variantOptions` key must exist in `variants`",
82146
82198
  path: ["variantOptions", key]
82147
82199
  });
@@ -82150,74 +82202,74 @@ var sdkCustomBlockInputSchema = z67.object({
82150
82202
  }
82151
82203
  }
82152
82204
  });
82153
- var sdkBlockFieldExtensionInputSchema = z67.object({
82205
+ var sdkBlockFieldExtensionInputSchema = z68.object({
82154
82206
  fields: fieldDefinitionInputSchema.array().min(1)
82155
82207
  });
82156
- var sdkBlockFieldExtensionsInputSchema = z67.record(
82157
- z67.string().min(1),
82208
+ var sdkBlockFieldExtensionsInputSchema = z68.record(
82209
+ z68.string().min(1),
82158
82210
  sdkBlockFieldExtensionInputSchema
82159
82211
  );
82160
- var sdkThemePaletteSchema = z67.record(z67.string(), z67.string());
82161
- var sdkThemeConfigSchema = z67.object({
82212
+ var sdkThemePaletteSchema = z68.record(z68.string(), z68.string());
82213
+ var sdkThemeConfigSchema = z68.object({
82162
82214
  palette: sdkThemePaletteSchema
82163
82215
  });
82164
- var sdkSectionBackgroundSchema = z67.object({
82165
- id: z67.string().min(1),
82166
- label: z67.string().min(1),
82167
- token: z67.string().min(1)
82216
+ var sdkSectionBackgroundSchema = z68.object({
82217
+ id: z68.string().min(1),
82218
+ label: z68.string().min(1),
82219
+ token: z68.string().min(1)
82168
82220
  });
82169
- var sdkSectionOptionsConfigSchema = z67.object({
82170
- backgroundColor: z67.boolean().optional(),
82171
- backgroundImage: z67.boolean().optional(),
82172
- backgroundGradient: z67.boolean().optional(),
82173
- spacing: z67.union([z67.array(z67.enum(["compact", "default", "spacious"])), z67.boolean()]).optional(),
82174
- textColor: z67.boolean().optional()
82221
+ var sdkSectionOptionsConfigSchema = z68.object({
82222
+ backgroundColor: z68.boolean().optional(),
82223
+ backgroundImage: z68.boolean().optional(),
82224
+ backgroundGradient: z68.boolean().optional(),
82225
+ spacing: z68.union([z68.array(z68.enum(["compact", "default", "spacious"])), z68.boolean()]).optional(),
82226
+ textColor: z68.boolean().optional()
82175
82227
  });
82176
- var sdkContainerOptionsConfigSchema = z67.object({
82177
- maxWidth: z67.union([z67.array(z67.enum(["narrow", "default", "wide", "full"])), z67.boolean()]).optional(),
82178
- alignment: z67.union([z67.array(z67.enum(["left", "center", "right"])), z67.boolean()]).optional()
82228
+ var sdkContainerOptionsConfigSchema = z68.object({
82229
+ maxWidth: z68.union([z68.array(z68.enum(["narrow", "default", "wide", "full"])), z68.boolean()]).optional(),
82230
+ alignment: z68.union([z68.array(z68.enum(["left", "center", "right"])), z68.boolean()]).optional()
82179
82231
  });
82180
- var sdkSiteStyleConfigSchema = z67.object({
82181
- sectionBackgrounds: z67.array(sdkSectionBackgroundSchema).optional(),
82232
+ var sdkSiteStyleConfigSchema = z68.object({
82233
+ sectionBackgrounds: z68.array(sdkSectionBackgroundSchema).optional(),
82182
82234
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
82183
82235
  containerOptions: sdkContainerOptionsConfigSchema.optional()
82184
82236
  });
82185
- var sdkSiteLayoutConfigSchema = z67.object({
82186
- footerBlocks: z67.array(
82187
- z67.object({
82188
- id: z67.string().min(1).optional(),
82189
- kind: z67.string().min(1),
82190
- content: z67.record(z67.string(), z67.unknown()).optional()
82237
+ var sdkSiteLayoutConfigSchema = z68.object({
82238
+ footerBlocks: z68.array(
82239
+ z68.object({
82240
+ id: z68.string().min(1).optional(),
82241
+ kind: z68.string().min(1),
82242
+ content: z68.record(z68.string(), z68.unknown()).optional()
82191
82243
  })
82192
82244
  ).optional()
82193
82245
  });
82194
- var sdkFieldSelectOptionSchema = z67.object({
82195
- value: z67.string(),
82196
- label: z67.string()
82246
+ var sdkFieldSelectOptionSchema = z68.object({
82247
+ value: z68.string(),
82248
+ label: z68.string()
82197
82249
  });
82198
- var sdkBlockFieldConfigSchema = z67.object({
82199
- options: z67.array(sdkFieldSelectOptionSchema).optional()
82250
+ var sdkBlockFieldConfigSchema = z68.object({
82251
+ options: z68.array(sdkFieldSelectOptionSchema).optional()
82200
82252
  });
82201
- var sdkBlockFieldOptionsMapSchema = z67.record(
82202
- z67.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
82253
+ var sdkBlockFieldOptionsMapSchema = z68.record(
82254
+ z68.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
82203
82255
  message: "Block ID must be 'block.*' or 'custom.*' format"
82204
82256
  }),
82205
- z67.record(z67.string().min(1), sdkBlockFieldConfigSchema)
82257
+ z68.record(z68.string().min(1), sdkBlockFieldConfigSchema)
82206
82258
  ).optional();
82207
- var sdkContentTypeTemplateConfigSchema = z67.object({
82208
- blocks: z67.array(z67.unknown())
82259
+ var sdkContentTypeTemplateConfigSchema = z68.object({
82260
+ blocks: z68.array(z68.unknown())
82209
82261
  }).passthrough();
82210
- var sdkContentTypeConfigSchema = z67.object({
82211
- key: z67.string().min(1),
82212
- fields: z67.array(z67.unknown()),
82262
+ var sdkContentTypeConfigSchema = z68.object({
82263
+ key: z68.string().min(1),
82264
+ fields: z68.array(z68.unknown()),
82213
82265
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
82214
82266
  }).passthrough();
82215
- var sdkContentConfigSchema = z67.object({
82216
- contentTypes: z67.array(sdkContentTypeConfigSchema).optional(),
82217
- pages: z67.array(z67.unknown()).optional(),
82218
- entries: z67.array(z67.unknown()).optional(),
82219
- navigationMenus: z67.array(z67.unknown()).optional(),
82220
- settings: z67.unknown().optional()
82267
+ var sdkContentConfigSchema = z68.object({
82268
+ contentTypes: z68.array(sdkContentTypeConfigSchema).optional(),
82269
+ pages: z68.array(z68.unknown()).optional(),
82270
+ entries: z68.array(z68.unknown()).optional(),
82271
+ navigationMenus: z68.array(z68.unknown()).optional(),
82272
+ settings: z68.unknown().optional()
82221
82273
  }).passthrough();
82222
82274
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
82223
82275
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -82225,46 +82277,69 @@ var SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH = 500;
82225
82277
  var SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH = 120;
82226
82278
  var SDK_WORKFLOW_ENDPOINT_MAX_LENGTH = 500;
82227
82279
  var SDK_WORKFLOW_TRIGGER_MAX_COUNT = 5;
82280
+ var SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH = 120;
82281
+ var SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT = 10;
82228
82282
  var SDK_WORKFLOW_MAX_COUNT = 50;
82229
82283
  var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
82230
82284
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
82231
82285
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
82232
82286
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
82233
- var sdkWorkflowIdSchema = z67.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
82287
+ var sdkWorkflowIdSchema = z68.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
82234
82288
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
82235
82289
  });
82236
- var 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 "/"' });
82237
- var sdkWorkflowManualTriggerSchema = z67.object({
82238
- type: z67.literal("manual")
82290
+ var 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 "/"' });
82291
+ var sdkWorkflowManualTriggerSchema = z68.object({
82292
+ type: z68.literal("manual")
82293
+ }).strict();
82294
+ var sdkWorkflowTriggerFieldSchema = z68.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
82295
+ message: "Workflow trigger fields must be top-level content field IDs, not paths"
82296
+ });
82297
+ var sdkWorkflowFieldChangedConditionSchema = z68.object({
82298
+ field: sdkWorkflowTriggerFieldSchema,
82299
+ changed: z68.literal(true)
82300
+ }).strict();
82301
+ var sdkWorkflowFieldEmptyConditionSchema = z68.object({
82302
+ field: sdkWorkflowTriggerFieldSchema,
82303
+ isEmpty: z68.boolean()
82239
82304
  }).strict();
82240
- var sdkWorkflowTriggerSchema = z67.discriminatedUnion("type", [
82241
- sdkWorkflowManualTriggerSchema
82305
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z68.object({
82306
+ type: z68.literal("entry.draft.updated"),
82307
+ when: z68.array(
82308
+ z68.union([
82309
+ sdkWorkflowFieldChangedConditionSchema,
82310
+ sdkWorkflowFieldEmptyConditionSchema
82311
+ ])
82312
+ ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
82313
+ }).strict();
82314
+ var sdkWorkflowTriggerSchema = z68.discriminatedUnion("type", [
82315
+ sdkWorkflowManualTriggerSchema,
82316
+ sdkWorkflowEntryDraftUpdatedTriggerSchema
82242
82317
  ]);
82243
- var sdkWorkflowConfirmationSchema = z67.object({
82244
- title: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
82245
- body: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
82318
+ var sdkWorkflowConfirmationSchema = z68.object({
82319
+ title: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
82320
+ body: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
82246
82321
  }).strict();
82247
- var sdkWorkflowConfigSchema = z67.object({
82322
+ var sdkWorkflowConfigSchema = z68.object({
82248
82323
  id: sdkWorkflowIdSchema,
82249
- title: z67.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
82250
- description: z67.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
82251
- contentType: z67.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
82324
+ title: z68.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
82325
+ description: z68.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
82326
+ contentType: z68.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
82252
82327
  endpoint: sdkWorkflowEndpointSchema,
82253
- triggers: z67.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
82328
+ triggers: z68.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
82254
82329
  confirmation: sdkWorkflowConfirmationSchema.optional()
82255
82330
  }).strict();
82256
- var sdkWorkflowsSchema = z67.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
82331
+ var sdkWorkflowsSchema = z68.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
82257
82332
  const ids = workflows.map((workflow) => workflow.id);
82258
82333
  return ids.length === new Set(ids).size;
82259
82334
  }, { message: "Workflow IDs must be unique" }).optional();
82260
- var riverbankSiteConfigInputSchema = z67.object({
82261
- siteId: z67.string().uuid(),
82262
- previewUrl: z67.string().url().optional(),
82263
- liveUrl: z67.string().url().optional(),
82335
+ var riverbankSiteConfigInputSchema = z68.object({
82336
+ siteId: z68.string().uuid(),
82337
+ previewUrl: z68.string().url().optional(),
82338
+ liveUrl: z68.string().url().optional(),
82264
82339
  theme: sdkThemeConfigSchema.optional(),
82265
82340
  styles: sdkSiteStyleConfigSchema.optional(),
82266
82341
  layout: sdkSiteLayoutConfigSchema.optional(),
82267
- customBlocks: z67.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
82342
+ customBlocks: z68.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
82268
82343
  const ids = blocks.map((b2) => b2.id);
82269
82344
  return ids.length === new Set(ids).size;
82270
82345
  }, { message: "Block IDs must be unique" }).optional(),
@@ -82272,48 +82347,51 @@ var riverbankSiteConfigInputSchema = z67.object({
82272
82347
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
82273
82348
  workflows: sdkWorkflowsSchema,
82274
82349
  content: sdkContentConfigSchema.optional(),
82275
- contentDir: z67.string().optional(),
82276
- sync: z67.object({
82277
- existingEntries: z67.enum(["skip", "update"]).optional()
82350
+ contentDir: z68.string().optional(),
82351
+ sync: z68.object({
82352
+ existingEntries: z68.enum(["skip", "update"]).optional()
82278
82353
  }).optional(),
82279
- deploy: z67.object({
82280
- verifyCommand: z67.string().optional(),
82281
- prebuildOutput: z67.string().optional()
82354
+ deploy: z68.object({
82355
+ verifyCommand: z68.string().optional(),
82356
+ prebuildOutput: z68.string().optional()
82282
82357
  }).optional(),
82283
- themeSource: z67.enum(["local", "cms"]).optional(),
82284
- activeTheme: z67.string().optional(),
82285
- enablePortal: z67.boolean().optional(),
82358
+ themeSource: z68.enum(["local", "cms"]).optional(),
82359
+ activeTheme: z68.string().optional(),
82360
+ enablePortal: z68.boolean().optional(),
82286
82361
  dashboard: dashboardConfigSchema.optional()
82287
82362
  }).strict();
82288
- var pushSdkConfigBodySchema = z67.object({
82363
+ var pushSdkConfigBodySchema = z68.object({
82289
82364
  config: riverbankSiteConfigInputSchema,
82290
- forceContentTypes: z67.boolean().optional()
82365
+ forceContentTypes: z68.boolean().optional()
82291
82366
  }).strict();
82292
82367
 
82293
82368
  // ../api/src/siteOnboarding.ts
82294
- import { z as z68 } from "zod";
82369
+ import { z as z69 } from "zod";
82295
82370
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
82296
82371
  configure_appointments: {
82297
82372
  requirementId: "configure_appointments",
82298
82373
  reason: "launch_anyway"
82299
82374
  }
82300
82375
  };
82301
- var acknowledgeLaunchRequirementRequestSchema = z68.discriminatedUnion(
82376
+ var acknowledgeLaunchRequirementRequestSchema = z69.discriminatedUnion(
82302
82377
  "requirementId",
82303
82378
  [
82304
- z68.object({
82305
- requirementId: z68.literal("review_generated_site")
82379
+ z69.object({
82380
+ requirementId: z69.literal("review_generated_site")
82306
82381
  }),
82307
- z68.object({
82308
- requirementId: z68.literal(
82382
+ z69.object({
82383
+ requirementId: z69.literal(
82309
82384
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
82310
82385
  ),
82311
- overrideReason: z68.literal(
82386
+ overrideReason: z69.literal(
82312
82387
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
82313
82388
  )
82314
82389
  })
82315
82390
  ]
82316
82391
  );
82392
+ var goLiveSiteRequestSchema = z69.object({
82393
+ acceptExtraSiteCharge: z69.boolean().optional()
82394
+ });
82317
82395
 
82318
82396
  // ../surfaces/src/index.ts
82319
82397
  var SURFACE_IDS = ["core", "macadamia"];
@@ -82493,79 +82571,79 @@ function isRecord6(value) {
82493
82571
  }
82494
82572
 
82495
82573
  // ../api/src/appointmentSetup.ts
82496
- import { z as z69 } from "zod";
82497
- var appointmentSetupRefSchema = z69.discriminatedUnion("kind", [
82498
- z69.object({ kind: z69.literal("existing"), id: z69.string().min(1) }),
82499
- z69.object({ kind: z69.literal("new"), draftId: z69.string().min(1) })
82574
+ import { z as z70 } from "zod";
82575
+ var appointmentSetupRefSchema = z70.discriminatedUnion("kind", [
82576
+ z70.object({ kind: z70.literal("existing"), id: z70.string().min(1) }),
82577
+ z70.object({ kind: z70.literal("new"), draftId: z70.string().min(1) })
82500
82578
  ]);
82501
- var appointmentSetupVenueChoiceSchema = z69.discriminatedUnion("kind", [
82502
- z69.object({ kind: z69.literal("none") }),
82503
- z69.object({ kind: z69.literal("existing"), venueId: z69.string().min(1) }),
82504
- z69.object({
82505
- kind: z69.literal("create"),
82506
- draftId: z69.string().min(1),
82507
- title: z69.string().trim().min(1),
82508
- description: z69.string().nullable(),
82509
- timezone: z69.string().trim().min(1).nullable(),
82510
- addressJson: z69.record(z69.string(), z69.unknown()),
82511
- locationJson: z69.object({ lat: z69.number(), lng: z69.number() }).nullable()
82579
+ var appointmentSetupVenueChoiceSchema = z70.discriminatedUnion("kind", [
82580
+ z70.object({ kind: z70.literal("none") }),
82581
+ z70.object({ kind: z70.literal("existing"), venueId: z70.string().min(1) }),
82582
+ z70.object({
82583
+ kind: z70.literal("create"),
82584
+ draftId: z70.string().min(1),
82585
+ title: z70.string().trim().min(1),
82586
+ description: z70.string().nullable(),
82587
+ timezone: z70.string().trim().min(1).nullable(),
82588
+ addressJson: z70.record(z70.string(), z70.unknown()),
82589
+ locationJson: z70.object({ lat: z70.number(), lng: z70.number() }).nullable()
82512
82590
  })
82513
82591
  ]);
82514
- var appointmentSetupPaymentDraftSchema = z69.object({
82515
- priceType: z69.union([z69.literal("free"), z69.literal("paid")])
82516
- });
82517
- var appointmentSetupServiceAssignmentDraftSchema = z69.discriminatedUnion("kind", [
82518
- z69.object({ kind: z69.literal("all_practitioners") }),
82519
- z69.object({
82520
- kind: z69.literal("selected_practitioners"),
82521
- resourceRefs: z69.array(appointmentSetupRefSchema)
82592
+ var appointmentSetupPaymentDraftSchema = z70.object({
82593
+ priceType: z70.union([z70.literal("free"), z70.literal("paid")])
82594
+ });
82595
+ var appointmentSetupServiceAssignmentDraftSchema = z70.discriminatedUnion("kind", [
82596
+ z70.object({ kind: z70.literal("all_practitioners") }),
82597
+ z70.object({
82598
+ kind: z70.literal("selected_practitioners"),
82599
+ resourceRefs: z70.array(appointmentSetupRefSchema)
82522
82600
  })
82523
82601
  ]);
82524
- var appointmentSetupServiceDraftSchema = z69.object({
82602
+ var appointmentSetupServiceDraftSchema = z70.object({
82525
82603
  ref: appointmentSetupRefSchema,
82526
- title: z69.string().trim().min(1),
82527
- description: z69.string().nullable(),
82528
- durationMinutes: z69.number().int().positive(),
82529
- priceAmount: z69.number().int().nonnegative().nullable(),
82530
- isActive: z69.boolean(),
82531
- locationType: z69.union([
82532
- z69.literal("virtual"),
82533
- z69.literal("in_person"),
82534
- z69.literal("hybrid")
82604
+ title: z70.string().trim().min(1),
82605
+ description: z70.string().nullable(),
82606
+ durationMinutes: z70.number().int().positive(),
82607
+ priceAmount: z70.number().int().nonnegative().nullable(),
82608
+ isActive: z70.boolean(),
82609
+ locationType: z70.union([
82610
+ z70.literal("virtual"),
82611
+ z70.literal("in_person"),
82612
+ z70.literal("hybrid")
82535
82613
  ]),
82536
82614
  venue: appointmentSetupVenueChoiceSchema,
82537
- timezone: z69.string().trim().min(1).nullable(),
82615
+ timezone: z70.string().trim().min(1).nullable(),
82538
82616
  payment: appointmentSetupPaymentDraftSchema,
82539
82617
  assignment: appointmentSetupServiceAssignmentDraftSchema
82540
82618
  });
82541
- var appointmentSetupPractitionerDraftSchema = z69.object({
82619
+ var appointmentSetupPractitionerDraftSchema = z70.object({
82542
82620
  ref: appointmentSetupRefSchema,
82543
- displayName: z69.string().trim().min(1),
82544
- bio: z69.string().nullable(),
82545
- timezone: z69.string().trim().min(1),
82546
- colorHex: z69.string().nullable()
82547
- });
82548
- var appointmentSetupWeeklyWindowDraftSchema = z69.object({
82549
- weekday: z69.number().int().min(0).max(6),
82550
- startTime: z69.string(),
82551
- endTime: z69.string()
82552
- });
82553
- var appointmentSetupAvailabilityDraftSchema = z69.object({
82554
- kind: z69.literal("weekly_windows"),
82621
+ displayName: z70.string().trim().min(1),
82622
+ bio: z70.string().nullable(),
82623
+ timezone: z70.string().trim().min(1),
82624
+ colorHex: z70.string().nullable()
82625
+ });
82626
+ var appointmentSetupWeeklyWindowDraftSchema = z70.object({
82627
+ weekday: z70.number().int().min(0).max(6),
82628
+ startTime: z70.string(),
82629
+ endTime: z70.string()
82630
+ });
82631
+ var appointmentSetupAvailabilityDraftSchema = z70.object({
82632
+ kind: z70.literal("weekly_windows"),
82555
82633
  resourceRef: appointmentSetupRefSchema,
82556
82634
  serviceRef: appointmentSetupRefSchema.nullable(),
82557
- windows: z69.array(appointmentSetupWeeklyWindowDraftSchema)
82635
+ windows: z70.array(appointmentSetupWeeklyWindowDraftSchema)
82558
82636
  });
82559
82637
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
82560
82638
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
82561
- var appointmentSetupBookingNoticeSchema = z69.object({
82562
- minLeadMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
82563
- maxBookingNoticeMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
82564
- });
82565
- var applyAppointmentSetupRequestSchema = z69.object({
82566
- services: z69.array(appointmentSetupServiceDraftSchema),
82567
- practitioners: z69.array(appointmentSetupPractitionerDraftSchema),
82568
- availability: z69.array(appointmentSetupAvailabilityDraftSchema),
82639
+ var appointmentSetupBookingNoticeSchema = z70.object({
82640
+ minLeadMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
82641
+ maxBookingNoticeMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
82642
+ });
82643
+ var applyAppointmentSetupRequestSchema = z70.object({
82644
+ services: z70.array(appointmentSetupServiceDraftSchema),
82645
+ practitioners: z70.array(appointmentSetupPractitionerDraftSchema),
82646
+ availability: z70.array(appointmentSetupAvailabilityDraftSchema),
82569
82647
  bookingNotice: appointmentSetupBookingNoticeSchema
82570
82648
  });
82571
82649
 
@@ -82598,24 +82676,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
82598
82676
  ];
82599
82677
 
82600
82678
  // ../api/src/siteBanner.ts
82601
- import { z as z70 } from "zod";
82679
+ import { z as z71 } from "zod";
82602
82680
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
82603
82681
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
82604
82682
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
82605
82683
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
82606
- var siteBannerScopeSchema = z70.enum(SITE_BANNER_SCOPE_VALUES);
82607
- var siteBannerToneSchema = z70.enum(SITE_BANNER_TONE_VALUES);
82608
- var siteBannerBodySchema = z70.unknown().transform(unwrapRichTextValue);
82609
- var siteBannerCtaSchema = z70.object({
82610
- label: z70.string().trim().min(1),
82684
+ var siteBannerScopeSchema = z71.enum(SITE_BANNER_SCOPE_VALUES);
82685
+ var siteBannerToneSchema = z71.enum(SITE_BANNER_TONE_VALUES);
82686
+ var siteBannerBodySchema = z71.unknown().transform(unwrapRichTextValue);
82687
+ var siteBannerCtaSchema = z71.object({
82688
+ label: z71.string().trim().min(1),
82611
82689
  link: linkPayloadSchema
82612
82690
  });
82613
- var siteBannerSettingsSchema = z70.discriminatedUnion("enabled", [
82614
- z70.object({
82615
- enabled: z70.literal(false)
82691
+ var siteBannerSettingsSchema = z71.discriminatedUnion("enabled", [
82692
+ z71.object({
82693
+ enabled: z71.literal(false)
82616
82694
  }),
82617
- z70.object({
82618
- enabled: z70.literal(true),
82695
+ z71.object({
82696
+ enabled: z71.literal(true),
82619
82697
  scope: siteBannerScopeSchema,
82620
82698
  tone: siteBannerToneSchema,
82621
82699
  body: siteBannerBodySchema,
@@ -82629,7 +82707,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
82629
82707
  const analysis = analyzeSiteBannerBody(value.body);
82630
82708
  for (const issue2 of analysis.issues) {
82631
82709
  ctx.addIssue({
82632
- code: z70.ZodIssueCode.custom,
82710
+ code: z71.ZodIssueCode.custom,
82633
82711
  path: ["body"],
82634
82712
  message: siteBannerBodyIssueMessage(issue2)
82635
82713
  });
@@ -82852,75 +82930,72 @@ function parsePublicProductCategorySelector(value) {
82852
82930
  return void 0;
82853
82931
  }
82854
82932
 
82855
- // ../api/src/navigation/linkValue.ts
82856
- init_src();
82857
-
82858
82933
  // ../api/src/aiPlayground.ts
82859
- import { z as z71 } from "zod";
82860
- var Rfc6902PatchOp = z71.discriminatedUnion("op", [
82934
+ import { z as z72 } from "zod";
82935
+ var Rfc6902PatchOp = z72.discriminatedUnion("op", [
82861
82936
  // Standard RFC-6902 operations
82862
- z71.object({
82863
- op: z71.literal("add"),
82864
- path: z71.string(),
82865
- value: z71.unknown()
82937
+ z72.object({
82938
+ op: z72.literal("add"),
82939
+ path: z72.string(),
82940
+ value: z72.unknown()
82866
82941
  }),
82867
- z71.object({
82868
- op: z71.literal("remove"),
82869
- path: z71.string()
82942
+ z72.object({
82943
+ op: z72.literal("remove"),
82944
+ path: z72.string()
82870
82945
  }),
82871
- z71.object({
82872
- op: z71.literal("replace"),
82873
- path: z71.string(),
82874
- value: z71.unknown()
82946
+ z72.object({
82947
+ op: z72.literal("replace"),
82948
+ path: z72.string(),
82949
+ value: z72.unknown()
82875
82950
  }),
82876
- z71.object({
82877
- op: z71.literal("move"),
82878
- from: z71.string(),
82879
- path: z71.string()
82951
+ z72.object({
82952
+ op: z72.literal("move"),
82953
+ from: z72.string(),
82954
+ path: z72.string()
82880
82955
  }),
82881
- z71.object({
82882
- op: z71.literal("copy"),
82883
- from: z71.string(),
82884
- path: z71.string()
82956
+ z72.object({
82957
+ op: z72.literal("copy"),
82958
+ from: z72.string(),
82959
+ path: z72.string()
82885
82960
  }),
82886
82961
  // Block-level operations (Phase 2)
82887
- z71.object({
82888
- op: z71.literal("add_block"),
82889
- blockKind: z71.string(),
82890
- afterBlockId: z71.string().nullable(),
82891
- content: z71.record(z71.string(), z71.unknown()),
82892
- rationale: z71.string()
82962
+ z72.object({
82963
+ op: z72.literal("add_block"),
82964
+ blockKind: z72.string(),
82965
+ afterBlockId: z72.string().nullable(),
82966
+ content: z72.record(z72.string(), z72.unknown()),
82967
+ rationale: z72.string()
82893
82968
  }),
82894
- z71.object({
82895
- op: z71.literal("delete_block"),
82896
- blockId: z71.string(),
82897
- rationale: z71.string()
82969
+ z72.object({
82970
+ op: z72.literal("delete_block"),
82971
+ blockId: z72.string(),
82972
+ rationale: z72.string()
82898
82973
  }),
82899
- z71.object({
82900
- op: z71.literal("reorder_block"),
82901
- blockId: z71.string(),
82902
- afterBlockId: z71.string().nullable(),
82903
- rationale: z71.string()
82974
+ z72.object({
82975
+ op: z72.literal("reorder_block"),
82976
+ blockId: z72.string(),
82977
+ afterBlockId: z72.string().nullable(),
82978
+ rationale: z72.string()
82904
82979
  })
82905
82980
  ]);
82906
- var PlaygroundProposeRequest = z71.object({
82907
- request: z71.string().min(1).max(2e3)
82981
+ var PlaygroundProposeRequest = z72.object({
82982
+ request: z72.string().min(1).max(2e3)
82908
82983
  });
82909
- var MultiPagePatchEnvelope = z71.object({
82910
- pageId: z71.string(),
82911
- blockId: z71.string().optional(),
82984
+ var MultiPagePatchEnvelope = z72.object({
82985
+ pageId: z72.string(),
82986
+ blockId: z72.string().optional(),
82912
82987
  // Not present for page-level ops
82913
- blockKind: z71.string().optional(),
82914
- blockPurpose: z71.string().optional().nullable(),
82915
- ops: z71.array(Rfc6902PatchOp),
82916
- rationale: z71.string(),
82917
- currentContent: z71.record(z71.string(), z71.unknown()).optional()
82918
- });
82919
- var MultiPageUpdateResponse = z71.object({
82920
- patches: z71.array(MultiPagePatchEnvelope),
82921
- assistantMessage: z71.string(),
82922
- pagesModified: z71.number(),
82923
- toolCallsUsed: z71.number()
82988
+ blockKind: z72.string().optional(),
82989
+ blockPurpose: z72.string().optional().nullable(),
82990
+ ops: z72.array(Rfc6902PatchOp),
82991
+ rationale: z72.string(),
82992
+ currentContent: z72.record(z72.string(), z72.unknown()).optional()
82993
+ });
82994
+ var MultiPageUpdateResponse = z72.object({
82995
+ patches: z72.array(MultiPagePatchEnvelope),
82996
+ assistantMessage: z72.string(),
82997
+ pagesModified: z72.number(),
82998
+ toolCallsUsed: z72.number()
82924
82999
  });
82925
83000
 
82926
83001
  // src/data/prefetchBlockData.ts