@riverbankcms/sdk 0.95.0 → 0.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +47 -5
  2. package/dist/{PreviewEditorSidebar-6FQYKOSB.mjs → PreviewEditorSidebar-CG3SSJND.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-NPO2XMFB.mjs → PreviewEditorUI-RHNGKAAU.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-OV5PNJBB.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -10
  6. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +35 -1
  7. package/dist/_dts/api/src/bookingOperations.d.ts +246 -0
  8. package/dist/_dts/api/src/contentRuntime.d.ts +109 -40
  9. package/dist/_dts/api/src/endpoints.d.ts +80 -0
  10. package/dist/_dts/api/src/index.d.ts +3 -2
  11. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  12. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  14. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -1
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +7 -1
  16. package/dist/_dts/block-form/src/client/index.d.ts +1 -1
  17. package/dist/_dts/block-form/src/fields/types.d.ts +9 -1
  18. package/dist/_dts/block-form/src/registry/schemas.d.ts +4 -0
  19. package/dist/_dts/block-form/src/registry/widgets.d.ts +1 -0
  20. package/dist/_dts/block-form/src/widgets/InlineTextField/InlineTextField.d.ts +4 -0
  21. package/dist/_dts/block-form/src/widgets/InlineTextField/index.d.ts +3 -0
  22. package/dist/_dts/block-form/src/widgets/InlineTextField/inlineTextFieldDefaults.d.ts +2 -0
  23. package/dist/_dts/block-form/src/widgets/InlineTextField/inlineTextFieldSchema.d.ts +3 -0
  24. package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -1
  25. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -0
  26. package/dist/_dts/blocks/src/bindings/types.d.ts +1 -4
  27. package/dist/_dts/blocks/src/client/site-chrome.d.ts +7 -0
  28. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
  29. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +12 -12
  30. package/dist/_dts/blocks/src/index.d.ts +2 -0
  31. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -0
  32. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +2 -29631
  33. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -29614
  34. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +2 -29634
  35. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +2 -29627
  36. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -29585
  37. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +2 -0
  39. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +2 -29677
  40. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +2 -29655
  41. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  42. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +220 -0
  43. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +2 -29655
  44. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -29685
  45. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -29761
  46. package/dist/_dts/blocks/src/system/blocks/weekly-slot-availability.d.ts +34 -0
  47. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  48. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  49. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  50. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +4 -1
  52. package/dist/_dts/blocks/src/system/fragments/library/heroCopy.d.ts +9 -0
  53. package/dist/_dts/blocks/src/system/inlineText.d.ts +78 -0
  54. package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +3 -1
  55. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +15 -3
  56. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +188 -7
  57. package/dist/_dts/blocks/src/system/node/builder.d.ts +2 -0
  58. package/dist/_dts/blocks/src/system/node/schema.d.ts +13 -0
  59. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  60. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
  62. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  63. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +24 -0
  64. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -0
  65. package/dist/_dts/blocks/src/system/runtime/hooks/useAppointmentCheckoutVerification.d.ts +7 -0
  66. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +2 -2
  67. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +4 -0
  68. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +5 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +14 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +133 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/renderInlineText.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.controller.d.ts +3 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.d.ts +9 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.state.d.ts +14 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.server.d.ts +10 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.view.d.ts +11 -0
  79. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +31 -1
  80. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +5 -0
  81. package/dist/_dts/blocks/src/utils/date-formatting.d.ts +1 -1
  82. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  83. package/dist/_dts/content-editor/src/primitives/PreviewInlineTextEditor.d.ts +9 -0
  84. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
  85. package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +1 -1
  86. package/dist/_dts/content-model/src/templates/defaults.d.ts +30 -0
  87. package/dist/_dts/content-model/src/templates/types.d.ts +3 -6
  88. package/dist/_dts/core/src/branded.d.ts +8 -0
  89. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +505 -2
  90. package/dist/_dts/editor/src/inline/FloatingToolbar.d.ts +18 -0
  91. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +18 -1
  92. package/dist/_dts/editor/src/inline/InlineTextEditorStyles.d.ts +1 -0
  93. package/dist/_dts/editor/src/inline/domParse.d.ts +3 -0
  94. package/dist/_dts/editor/src/inline/presentation.d.ts +48 -0
  95. package/dist/_dts/editor/src/inline/selection.d.ts +12 -0
  96. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  97. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +3 -0
  98. package/dist/_dts/editor-blocks/src/widgets/inline-text/index.d.ts +1 -0
  99. package/dist/_dts/field-primitives/src/bindings/index.d.ts +8 -0
  100. package/dist/_dts/path-utils/src/index.d.ts +1 -0
  101. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  102. package/dist/_dts/sdk/src/cli/commands/content.d.ts +56 -0
  103. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +4 -0
  104. package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +15 -0
  105. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +4 -7
  106. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +5 -1
  107. package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +9 -3
  108. package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +56 -0
  109. package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +34 -0
  110. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +2 -1
  111. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +2 -0
  112. package/dist/_dts/sdk/src/cli/config-loader.d.ts +2 -0
  113. package/dist/_dts/sdk/src/cli/content/edit/format.d.ts +2 -0
  114. package/dist/_dts/sdk/src/cli/content/edit/path.d.ts +14 -0
  115. package/dist/_dts/sdk/src/cli/content/edit/planner.d.ts +46 -0
  116. package/dist/_dts/sdk/src/cli/content/fs-utils.d.ts +4 -0
  117. package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +29 -0
  118. package/dist/_dts/sdk/src/cli/content/reader.d.ts +16 -14
  119. package/dist/_dts/sdk/src/cli/content/writer.d.ts +8 -4
  120. package/dist/_dts/sdk/src/cli/env-scope.d.ts +2 -0
  121. package/dist/_dts/sdk/src/cli/helpers.d.ts +6 -7
  122. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -0
  123. package/dist/_dts/sdk/src/cli/merge-remote/mergeFieldChanges.d.ts +22 -0
  124. package/dist/_dts/sdk/src/cli/merge-remote/pageLocal.d.ts +3 -0
  125. package/dist/_dts/sdk/src/cli/merge-remote/pageMerge.d.ts +78 -0
  126. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePlan.d.ts +36 -0
  127. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +23 -0
  128. package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +29 -0
  129. package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +48 -0
  130. package/dist/_dts/sdk/src/cli/push-config.d.ts +13 -2
  131. package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +51 -0
  132. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +21 -0
  133. package/dist/_dts/sdk/src/cli/sync/diff.d.ts +3 -6
  134. package/dist/_dts/sdk/src/cli/sync/field-diff.d.ts +39 -0
  135. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -0
  136. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +1 -1
  137. package/dist/_dts/sdk/src/client/types.d.ts +18 -2
  138. package/dist/_dts/sdk/src/config/field-definitions.d.ts +8 -3
  139. package/dist/_dts/sdk/src/config/typed-entries.d.ts +5 -3
  140. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  141. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  142. package/dist/_dts/sdk/src/contracts/bindings.d.ts +4 -7
  143. package/dist/_dts/sdk/src/contracts/content.d.ts +18 -0
  144. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  145. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +16 -2
  146. package/dist/_dts/sdk/src/next/route-outcome-proxy.d.ts +3 -3
  147. package/dist/_dts/sdk/src/public-api/contracts.d.ts +174 -78
  148. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  149. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +4 -3
  150. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +52 -1
  151. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +2 -2
  152. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +18 -66
  153. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  154. package/dist/_dts/sdk/src/version.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  156. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -1
  157. package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
  158. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  159. package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
  160. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +42 -42
  161. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +2 -2
  162. package/dist/_dts/theme-core/src/schema.d.ts +44 -44
  163. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  164. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +16 -16
  165. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  166. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  167. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
  168. package/dist/{chunk-4A6NWO3X.mjs → chunk-6WDBXCPX.mjs} +73 -12
  169. package/dist/{chunk-VZBSD4AJ.mjs → chunk-DBRI3PQF.mjs} +2281 -322
  170. package/dist/{chunk-PJPFTVZG.mjs → chunk-H24OU7WG.mjs} +106 -4
  171. package/dist/{chunk-K2SJTZMX.mjs → chunk-PKDPQHB5.mjs} +2 -2
  172. package/dist/{chunk-VTPPVAOL.mjs → chunk-QPXE2OUZ.mjs} +1 -1
  173. package/dist/{chunk-7ED5UNHL.mjs → chunk-V2BYFSPW.mjs} +109 -0
  174. package/dist/cli/index.mjs +4182 -1165
  175. package/dist/cli/init-docs/content/cli-reference.md +72 -5
  176. package/dist/cli/init-docs/content/content-management.md +22 -0
  177. package/dist/cli/init-docs/content/getting-started.md +8 -0
  178. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +3 -1
  179. package/dist/cli/init-docs/content/workflow-preview-mode.md +6 -0
  180. package/dist/cli/init-docs/content/workflow-remote-setup.md +51 -0
  181. package/dist/client/{accordion-LGO4IO5U.mjs → accordion-Q2BDNL53.mjs} +1 -1
  182. package/dist/client/{bookingForm-MWLS4LGU.mjs → bookingForm-ZMP4P7EK.mjs} +16 -6
  183. package/dist/client/bookings.mjs +98 -18
  184. package/dist/client/{carousel-6AHNP5HA.mjs → carousel-LW3UXPWO.mjs} +1 -1
  185. package/dist/client/{cart-CIXGYAZB.mjs → cart-Z6D3KS6K.mjs} +5 -5
  186. package/dist/client/{checkout-OTX6O3DN.mjs → checkout-YMT2QJQM.mjs} +5 -5
  187. package/dist/client/{chunk-Y2PMKCXO.mjs → chunk-26ZBRXFR.mjs} +9 -3
  188. package/dist/client/{chunk-MYCXAKWP.mjs → chunk-DRRQ7QSL.mjs} +2 -2
  189. package/dist/client/{chunk-TREIML53.mjs → chunk-ET2MDQQT.mjs} +4 -4
  190. package/dist/client/{chunk-AVBQSUIS.mjs → chunk-HBQEAOG4.mjs} +1 -1
  191. package/dist/client/{chunk-INRIT6DP.mjs → chunk-IEOECM7U.mjs} +62 -43
  192. package/dist/client/{chunk-TNGL2WJF.mjs → chunk-KDP7ZRZV.mjs} +16 -0
  193. package/dist/client/{chunk-V67AT7ZW.mjs → chunk-R4XK3CKR.mjs} +18 -1
  194. package/dist/client/{chunk-R3NQTBWE.mjs → chunk-SK2BMD22.mjs} +2 -2
  195. package/dist/client/{chunk-HOP7MKAZ.mjs → chunk-XNTHVZ25.mjs} +1 -1
  196. package/dist/client/client.mjs +5172 -4177
  197. package/dist/client/{courseRegistration-2LU6C3JL.mjs → courseRegistration-DGKCMC77.mjs} +4 -4
  198. package/dist/client/{eventCalendar-OKUSISBZ.mjs → eventCalendar-74Z2NNFM.mjs} +7 -7
  199. package/dist/client/{eventCombined-CMF6CD4S.mjs → eventCombined-GK2ODOX2.mjs} +7 -7
  200. package/dist/client/{eventDetails-XYWH7WXI.mjs → eventDetails-MONAGT3N.mjs} +7 -7
  201. package/dist/client/{eventListing-EK5DJTAH.mjs → eventListing-SKGAO6PS.mjs} +7 -7
  202. package/dist/client/{eventRegistration-XDOSICV6.mjs → eventRegistration-6KISGXRD.mjs} +7 -7
  203. package/dist/client/{form-J6GOHKYG.mjs → form-FXPRTXHI.mjs} +2 -2
  204. package/dist/client/{headerSection-C5SYJTRW.mjs → headerSection-7NAN5WNB.mjs} +2 -2
  205. package/dist/client/hooks.mjs +1681 -1337
  206. package/dist/client/{locationMap-QSQIFVVT.mjs → locationMap-UERN74U4.mjs} +2 -2
  207. package/dist/client/{newsletterForm-47VXJRWK.mjs → newsletterForm-SGWXMJ7U.mjs} +2 -2
  208. package/dist/client/{productDetail-5U6ISCC2.mjs → productDetail-HN3HWZQZ.mjs} +5 -5
  209. package/dist/client/{productList-XDZUMR3P.mjs → productList-YT22Z5UR.mjs} +5 -5
  210. package/dist/client/rendering/client.mjs +4796 -4288
  211. package/dist/client/rendering/islands.mjs +18 -18
  212. package/dist/client/rendering.mjs +2120 -1106
  213. package/dist/client/{shop-ZSZKIY3R.mjs → shop-TKEDNWUS.mjs} +5 -5
  214. package/dist/preview-next/before-render.mjs +109 -0
  215. package/dist/preview-next/client/runtime.mjs +5 -5
  216. package/dist/preview-next/middleware.mjs +109 -0
  217. package/dist/{sdk-runtime-PHNM7MRD.mjs → sdk-runtime-LWNYCQF2.mjs} +6 -6
  218. package/dist/server/components.mjs +3777 -2981
  219. package/dist/server/config-template-validation.mjs +35 -22
  220. package/dist/server/config-validation.mjs +1883 -1565
  221. package/dist/server/config.mjs +1883 -1565
  222. package/dist/server/data.mjs +1667 -1334
  223. package/dist/server/index.mjs +208 -9
  224. package/dist/server/next/middleware.mjs +2 -2
  225. package/dist/server/next.mjs +4077 -3060
  226. package/dist/server/page-converter.mjs +1481 -1279
  227. package/dist/server/prebuild.mjs +1 -1
  228. package/dist/server/rendering/server.mjs +3806 -2993
  229. package/dist/server/rendering.mjs +4000 -3060
  230. package/dist/server/routing.mjs +1737 -1357
  231. package/dist/server/server.mjs +2918 -2276
  232. package/dist/server/theme-bridge.mjs +43 -0
  233. package/dist/styles/index.css +44 -0
  234. package/package.json +1 -1
  235. package/dist/SdkPreviewModeRuntime-PBEFH5AL.mjs +0 -8
@@ -324,10 +324,20 @@ var repeatSchema = z.object({
324
324
  direction: z.enum(["asc", "desc"]).default("asc")
325
325
  }).optional()
326
326
  });
327
+ var conditionalAuthoringPresenceSchema = z.discriminatedUnion("kind", [
328
+ z.object({ kind: z.literal("visitor-only") }),
329
+ z.object({
330
+ kind: z.literal("recover-empty-when-active"),
331
+ placeholder: z.string().min(1).optional()
332
+ })
333
+ ]);
327
334
  var conditionSchema = z.object({
328
335
  when: bindingSchema,
329
336
  equals: z.unknown().optional(),
330
- not: z.boolean().default(false)
337
+ not: z.boolean().default(false),
338
+ authoringPresence: conditionalAuthoringPresenceSchema.default({
339
+ kind: "visitor-only"
340
+ })
331
341
  });
332
342
  var dataScopeSchema = z.object({
333
343
  name: z.string().min(1),
@@ -388,6 +398,7 @@ var ALLOWED_NODE_TYPES = [
388
398
  // Forms
389
399
  "form",
390
400
  "booking-form",
401
+ "weekly-slot-availability",
391
402
  // Events
392
403
  "event-registration",
393
404
  "event-spotlight",
@@ -717,6 +728,11 @@ var textFieldSchema = baseFieldSchema.extend({
717
728
  var richTextFieldSchema = baseFieldSchema.extend({
718
729
  type: z2.literal("richText")
719
730
  });
731
+ var inlineTextFieldSchema = baseFieldSchema.extend({
732
+ type: z2.literal("inlineText"),
733
+ maxLength: z2.number().int().positive().optional(),
734
+ plainTextField: z2.string().min(1).optional()
735
+ });
720
736
  var mediaFieldSchema = baseFieldSchema.extend({
721
737
  type: z2.literal("media"),
722
738
  // Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
@@ -1039,6 +1055,7 @@ function getFieldSchemaInternal() {
1039
1055
  _fieldSchemaInternal = z2.discriminatedUnion("type", [
1040
1056
  textFieldSchema,
1041
1057
  richTextFieldSchema,
1058
+ inlineTextFieldSchema,
1042
1059
  mediaFieldSchema,
1043
1060
  fileFieldSchema,
1044
1061
  booleanFieldSchema,
@@ -11246,7 +11263,8 @@ function when(path2, options) {
11246
11263
  $when: {
11247
11264
  when: { from: path2 },
11248
11265
  ...options?.equals !== void 0 ? { equals: options.equals } : {},
11249
- ...options?.not ? { not: true } : {}
11266
+ ...options?.not ? { not: true } : {},
11267
+ ...options?.authoringPresence ? { authoringPresence: options.authoringPresence } : {}
11250
11268
  }
11251
11269
  });
11252
11270
  }
@@ -12744,8 +12762,16 @@ var heroCopyFragment = defineFragment({
12744
12762
  id: "headline",
12745
12763
  type: "text",
12746
12764
  label: "Headline",
12765
+ maxLength: 120,
12766
+ ui: { hidden: true }
12767
+ },
12768
+ {
12769
+ id: "headlineInline",
12770
+ type: "inlineText",
12771
+ label: "Headline",
12747
12772
  required: true,
12748
- maxLength: 120
12773
+ maxLength: 120,
12774
+ plainTextField: "headline"
12749
12775
  },
12750
12776
  {
12751
12777
  id: "subheadline",
@@ -12770,9 +12796,12 @@ var heroCopyFragment = defineFragment({
12770
12796
  as: "h1",
12771
12797
  // heading-display: uses fluid typography from theme (--fs-h1-display-fluid)
12772
12798
  // Color in blocks-static/index.css (.hero-headline)
12773
- className: "hero-headline heading-display"
12799
+ className: "hero-headline heading-display",
12800
+ // Resolved against top-level block content; keep this beside the sibling headline field.
12801
+ inlineTextFallbackPath: "headline",
12802
+ maxLength: 120
12774
12803
  },
12775
- bind("content.headline")
12804
+ bind("content.headlineInline")
12776
12805
  ),
12777
12806
  text(
12778
12807
  {
@@ -19029,77 +19058,247 @@ var appointmentBookingBlockDefinition = {
19029
19058
  }
19030
19059
  };
19031
19060
 
19061
+ // ../blocks/src/system/blocks/weekly-slot-availability.ts
19062
+ import { z as z32 } from "zod";
19063
+ var weeklySlotAvailabilityManifest = createBlockManifest({
19064
+ id: "block.weekly-slot-availability",
19065
+ version: "1.0.0",
19066
+ title: "Weekly Slot Availability",
19067
+ titleSource: "heading",
19068
+ description: "Shows available recurring appointment slot patterns",
19069
+ skipSectionStyles: true,
19070
+ additionalFields: [
19071
+ {
19072
+ id: "serviceId",
19073
+ type: "reference",
19074
+ label: "Appointment service",
19075
+ description: "Choose which appointment service to show availability for",
19076
+ required: true,
19077
+ referenceKind: "appointmentService",
19078
+ allowManualEntry: false,
19079
+ ui: { intent: "behavior" }
19080
+ },
19081
+ {
19082
+ id: "resourceId",
19083
+ type: "reference",
19084
+ label: "Appointment resource",
19085
+ description: "Optionally narrow the availability to one practitioner or room",
19086
+ required: false,
19087
+ referenceKind: "appointmentResource",
19088
+ allowManualEntry: false,
19089
+ ui: { intent: "behavior" }
19090
+ },
19091
+ {
19092
+ id: "horizonWeeks",
19093
+ type: "select",
19094
+ label: "Look ahead",
19095
+ required: false,
19096
+ multiple: false,
19097
+ defaultValue: "4",
19098
+ options: [
19099
+ { value: "1", label: "1 week" },
19100
+ { value: "2", label: "2 weeks" },
19101
+ { value: "4", label: "4 weeks" }
19102
+ ],
19103
+ ui: { intent: "behavior" }
19104
+ },
19105
+ {
19106
+ id: "timezone",
19107
+ type: "text",
19108
+ label: "Timezone",
19109
+ description: "Leave blank to use the visitor timezone when the block loads",
19110
+ required: false,
19111
+ multiline: false,
19112
+ defaultValue: "",
19113
+ maxLength: 64,
19114
+ ui: { intent: "behavior" }
19115
+ },
19116
+ {
19117
+ id: "heading",
19118
+ type: "text",
19119
+ label: "Heading",
19120
+ required: false,
19121
+ multiline: false,
19122
+ defaultValue: "Weekly availability"
19123
+ },
19124
+ {
19125
+ id: "description",
19126
+ type: "richText",
19127
+ label: "Description",
19128
+ required: false
19129
+ },
19130
+ {
19131
+ id: "emptyMessage",
19132
+ type: "text",
19133
+ label: "Empty message",
19134
+ required: false,
19135
+ multiline: true,
19136
+ defaultValue: "No regular weekly openings are currently available.",
19137
+ maxLength: 180
19138
+ },
19139
+ {
19140
+ id: "ctaText",
19141
+ type: "text",
19142
+ label: "Enquiry button text",
19143
+ required: false,
19144
+ multiline: false,
19145
+ defaultValue: "Enquire about this slot",
19146
+ maxLength: 60
19147
+ },
19148
+ {
19149
+ id: "ctaUrl",
19150
+ type: "url",
19151
+ label: "Enquiry URL",
19152
+ required: false,
19153
+ ui: { intent: "behavior" }
19154
+ },
19155
+ sectionStylesField({
19156
+ id: "_sectionStyles",
19157
+ label: "Section styles"
19158
+ })
19159
+ ],
19160
+ styleTokens: { background: "surface", typography: "body", spacing: "md" },
19161
+ behaviours: {
19162
+ supportsThemeSwitching: true,
19163
+ inlineEditing: false,
19164
+ animation: false,
19165
+ paletteHidden: false
19166
+ },
19167
+ category: "interactive",
19168
+ tags: ["booking", "appointment", "calendar", "weekly", "availability"],
19169
+ icon: "CalendarDays",
19170
+ layout: [
19171
+ styledSection({
19172
+ children: sectionContainer([
19173
+ text({ as: "h2" }, bind("content.heading"), when("content.heading")),
19174
+ richText({}, bind("content.description"), when("content.description")),
19175
+ el(
19176
+ "weekly-slot-availability",
19177
+ withApiBindings({
19178
+ serviceId: { $bind: { from: "content.serviceId" } },
19179
+ resourceId: { $bind: { from: "content.resourceId", fallback: null } },
19180
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
19181
+ timezone: { $bind: { from: "content.timezone", fallback: null } },
19182
+ availability: { $bind: { from: "data.availability", fallback: null } },
19183
+ emptyMessage: { $bind: { from: "content.emptyMessage", fallback: null } },
19184
+ ctaText: { $bind: { from: "content.ctaText", fallback: null } },
19185
+ ctaUrl: { $bind: { from: "content.ctaUrl", fallback: null } }
19186
+ })
19187
+ )
19188
+ ], {
19189
+ gap: "lg"
19190
+ }),
19191
+ baseClass: "",
19192
+ spacing: "spacious"
19193
+ })
19194
+ ]
19195
+ });
19196
+ var weeklySlotAvailabilityOptionSchema = z32.object({
19197
+ id: z32.string(),
19198
+ resourceId: z32.string(),
19199
+ weekday: z32.number(),
19200
+ weekdayLabel: z32.string(),
19201
+ startTime: z32.string(),
19202
+ endTime: z32.string(),
19203
+ nextDate: z32.string(),
19204
+ availableWeeks: z32.number()
19205
+ });
19206
+ var weeklySlotAvailabilityDataSchema = z32.object({
19207
+ slots: z32.array(weeklySlotAvailabilityOptionSchema),
19208
+ horizonWeeks: z32.number(),
19209
+ timezone: z32.string(),
19210
+ startDate: z32.string(),
19211
+ endDate: z32.string()
19212
+ });
19213
+ var weeklySlotAvailabilityBlockDefinition = {
19214
+ manifest: weeklySlotAvailabilityManifest,
19215
+ dataSchemas: { availability: weeklySlotAvailabilityDataSchema.optional() },
19216
+ dataLoaders: {
19217
+ availability: {
19218
+ endpoint: "getPublicWeeklySlotAvailability",
19219
+ params: {
19220
+ siteId: { $bind: { from: "$root.siteId" } },
19221
+ serviceId: { $bind: { from: "content.serviceId" } },
19222
+ resourceId: { $bind: { from: "content.resourceId", fallback: void 0 } },
19223
+ horizonWeeks: { $bind: { from: "content.horizonWeeks", fallback: "4" } },
19224
+ timezone: { $bind: { from: "content.timezone", fallback: void 0 } }
19225
+ },
19226
+ mode: "server"
19227
+ }
19228
+ }
19229
+ };
19230
+
19032
19231
  // ../blocks/src/system/blocks/events/shared/schemas.ts
19033
- import { z as z36 } from "zod";
19232
+ import { z as z37 } from "zod";
19034
19233
 
19035
19234
  // ../blocks/src/lib/media.ts
19036
- import z32 from "zod";
19235
+ import z33 from "zod";
19037
19236
  var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
19038
19237
  "document",
19039
19238
  "spreadsheet",
19040
19239
  "archive",
19041
19240
  "audio"
19042
19241
  ];
19043
- var hotspotSchema2 = z32.object({
19044
- x: z32.number().min(0).max(1),
19045
- y: z32.number().min(0).max(1),
19046
- radius: z32.number().optional()
19047
- });
19048
- var rotationSchema2 = z32.union([z32.literal(0), z32.literal(90), z32.literal(180), z32.literal(270)]);
19049
- var rectSchema2 = z32.tuple([z32.number(), z32.number(), z32.number(), z32.number()]);
19050
- var aspectCropSchema2 = z32.object({
19051
- aspect: z32.preprocess((value) => value == null ? void 0 : value, z32.string().optional()),
19052
- rect: z32.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
19053
- hotspot: z32.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
19054
- rotation: z32.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
19055
- });
19056
- var transformSchema2 = z32.object({
19057
- aspectCrops: z32.preprocess((value) => {
19242
+ var hotspotSchema2 = z33.object({
19243
+ x: z33.number().min(0).max(1),
19244
+ y: z33.number().min(0).max(1),
19245
+ radius: z33.number().optional()
19246
+ });
19247
+ var rotationSchema2 = z33.union([z33.literal(0), z33.literal(90), z33.literal(180), z33.literal(270)]);
19248
+ var rectSchema2 = z33.tuple([z33.number(), z33.number(), z33.number(), z33.number()]);
19249
+ var aspectCropSchema2 = z33.object({
19250
+ aspect: z33.preprocess((value) => value == null ? void 0 : value, z33.string().optional()),
19251
+ rect: z33.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
19252
+ hotspot: z33.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
19253
+ rotation: z33.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
19254
+ });
19255
+ var transformSchema2 = z33.object({
19256
+ aspectCrops: z33.preprocess((value) => {
19058
19257
  if (!value || typeof value !== "object" || Array.isArray(value)) {
19059
19258
  return void 0;
19060
19259
  }
19061
19260
  return value;
19062
- }, z32.record(z32.string(), aspectCropSchema2.catch({}))).optional(),
19261
+ }, z33.record(z33.string(), aspectCropSchema2.catch({}))).optional(),
19063
19262
  rect: rectSchema2.optional(),
19064
19263
  hotspot: hotspotSchema2.optional(),
19065
19264
  rotation: rotationSchema2.optional()
19066
19265
  });
19067
- var mediaPosterSchema = z32.discriminatedUnion("tag", [
19068
- z32.object({
19069
- tag: z32.literal("storage"),
19070
- assetId: z32.string().optional(),
19071
- storageBucket: z32.string().min(1),
19072
- storagePath: z32.string().min(1)
19266
+ var mediaPosterSchema = z33.discriminatedUnion("tag", [
19267
+ z33.object({
19268
+ tag: z33.literal("storage"),
19269
+ assetId: z33.string().optional(),
19270
+ storageBucket: z33.string().min(1),
19271
+ storagePath: z33.string().min(1)
19073
19272
  }),
19074
- z32.object({
19075
- tag: z32.literal("external-src"),
19076
- assetId: z32.string().optional(),
19077
- src: z32.string().url()
19273
+ z33.object({
19274
+ tag: z33.literal("external-src"),
19275
+ assetId: z33.string().optional(),
19276
+ src: z33.string().url()
19078
19277
  })
19079
19278
  ]);
19080
- var mediaBaseSchema = z32.object({
19081
- purpose: z32.string().optional(),
19082
- placeholder: z32.boolean().default(true).optional(),
19083
- assetId: z32.string().optional(),
19084
- identifier: z32.string().optional(),
19085
- src: z32.string().optional(),
19086
- alt: z32.string().optional(),
19087
- filename: z32.string().optional(),
19088
- mimeType: z32.string().optional(),
19089
- width: z32.number().optional(),
19090
- height: z32.number().optional(),
19091
- storageBucket: z32.string().optional(),
19092
- storagePath: z32.string().optional(),
19279
+ var mediaBaseSchema = z33.object({
19280
+ purpose: z33.string().optional(),
19281
+ placeholder: z33.boolean().default(true).optional(),
19282
+ assetId: z33.string().optional(),
19283
+ identifier: z33.string().optional(),
19284
+ src: z33.string().optional(),
19285
+ alt: z33.string().optional(),
19286
+ filename: z33.string().optional(),
19287
+ mimeType: z33.string().optional(),
19288
+ width: z33.number().optional(),
19289
+ height: z33.number().optional(),
19290
+ storageBucket: z33.string().optional(),
19291
+ storagePath: z33.string().optional(),
19093
19292
  poster: mediaPosterSchema.optional(),
19094
19293
  transform: transformSchema2.optional()
19095
19294
  });
19096
- var imageMediaSchema = mediaBaseSchema.extend({ type: z32.literal("image") });
19097
- var videoMediaSchema = mediaBaseSchema.extend({ type: z32.literal("video") });
19098
- var audioMediaSchema = mediaBaseSchema.extend({ type: z32.literal("audio") });
19099
- var documentMediaSchema = mediaBaseSchema.extend({ type: z32.literal("document") });
19100
- var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z32.literal("spreadsheet") });
19101
- var archiveMediaSchema = mediaBaseSchema.extend({ type: z32.literal("archive") });
19102
- var mediaSchema2 = z32.discriminatedUnion("type", [
19295
+ var imageMediaSchema = mediaBaseSchema.extend({ type: z33.literal("image") });
19296
+ var videoMediaSchema = mediaBaseSchema.extend({ type: z33.literal("video") });
19297
+ var audioMediaSchema = mediaBaseSchema.extend({ type: z33.literal("audio") });
19298
+ var documentMediaSchema = mediaBaseSchema.extend({ type: z33.literal("document") });
19299
+ var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z33.literal("spreadsheet") });
19300
+ var archiveMediaSchema = mediaBaseSchema.extend({ type: z33.literal("archive") });
19301
+ var mediaSchema2 = z33.discriminatedUnion("type", [
19103
19302
  imageMediaSchema,
19104
19303
  videoMediaSchema,
19105
19304
  audioMediaSchema,
@@ -19109,31 +19308,31 @@ var mediaSchema2 = z32.discriminatedUnion("type", [
19109
19308
  ]);
19110
19309
 
19111
19310
  // ../blocks/src/system/manifest/richTextSchema.ts
19112
- import { z as z33 } from "zod";
19113
- var TipTapMarkSchema = z33.object({
19114
- type: z33.string(),
19115
- attrs: z33.record(z33.string(), z33.unknown()).optional()
19116
- });
19117
- var TipTapNodeSchema = z33.lazy(
19118
- () => z33.object({
19119
- type: z33.string(),
19120
- content: z33.array(TipTapNodeSchema).optional(),
19121
- text: z33.string().optional(),
19122
- attrs: z33.record(z33.string(), z33.unknown()).optional(),
19123
- marks: z33.array(TipTapMarkSchema).optional()
19311
+ import { z as z34 } from "zod";
19312
+ var TipTapMarkSchema = z34.object({
19313
+ type: z34.string(),
19314
+ attrs: z34.record(z34.string(), z34.unknown()).optional()
19315
+ });
19316
+ var TipTapNodeSchema = z34.lazy(
19317
+ () => z34.object({
19318
+ type: z34.string(),
19319
+ content: z34.array(TipTapNodeSchema).optional(),
19320
+ text: z34.string().optional(),
19321
+ attrs: z34.record(z34.string(), z34.unknown()).optional(),
19322
+ marks: z34.array(TipTapMarkSchema).optional()
19124
19323
  })
19125
19324
  );
19126
- var RichTextValueSchema = z33.union([
19325
+ var RichTextValueSchema = z34.union([
19127
19326
  // Canonical: TipTap document directly
19128
19327
  TipTapNodeSchema,
19129
19328
  // Legacy (read-tolerance only): wrapped in { doc: {...} }
19130
- z33.object({
19329
+ z34.object({
19131
19330
  doc: TipTapNodeSchema
19132
19331
  })
19133
19332
  ]);
19134
- var RichTextDocSchema = z33.object({
19135
- type: z33.literal("doc"),
19136
- content: z33.array(TipTapNodeSchema)
19333
+ var RichTextDocSchema = z34.object({
19334
+ type: z34.literal("doc"),
19335
+ content: z34.array(TipTapNodeSchema)
19137
19336
  });
19138
19337
  function createHardBreakNode() {
19139
19338
  return { type: "hardBreak" };
@@ -19184,344 +19383,344 @@ function createRichTextDocFromMarkdown(markdown) {
19184
19383
  }
19185
19384
 
19186
19385
  // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
19187
- import { z as z34 } from "zod";
19188
- var bookingDepositRefundPolicySchema = z34.enum([
19386
+ import { z as z35 } from "zod";
19387
+ var bookingDepositRefundPolicySchema = z35.enum([
19189
19388
  "refundable",
19190
19389
  "non_refundable"
19191
19390
  ]);
19192
- var bookingInstalmentPlanSchema = z34.union([
19193
- z34.object({
19194
- kind: z34.literal("deposit_plus_one_remainder"),
19195
- depositAmountCents: z34.number().int().min(0),
19391
+ var bookingInstalmentPlanSchema = z35.union([
19392
+ z35.object({
19393
+ kind: z35.literal("deposit_plus_one_remainder"),
19394
+ depositAmountCents: z35.number().int().min(0),
19196
19395
  depositRefundability: bookingDepositRefundPolicySchema,
19197
- remainderDueCount: z34.number().int().positive(),
19198
- intervalUnit: z34.enum(["day", "week", "month"])
19396
+ remainderDueCount: z35.number().int().positive(),
19397
+ intervalUnit: z35.enum(["day", "week", "month"])
19199
19398
  }),
19200
- z34.object({
19201
- kind: z34.literal("deposit_plus_scheduled_instalments"),
19202
- depositAmountCents: z34.number().int().min(0),
19399
+ z35.object({
19400
+ kind: z35.literal("deposit_plus_scheduled_instalments"),
19401
+ depositAmountCents: z35.number().int().min(0),
19203
19402
  depositRefundability: bookingDepositRefundPolicySchema,
19204
- instalmentCount: z34.number().int().positive(),
19205
- intervalCount: z34.number().int().positive(),
19206
- intervalUnit: z34.enum(["day", "week", "month"])
19403
+ instalmentCount: z35.number().int().positive(),
19404
+ intervalCount: z35.number().int().positive(),
19405
+ intervalUnit: z35.enum(["day", "week", "month"])
19207
19406
  }),
19208
- z34.object({
19209
- kind: z34.literal("equal_scheduled_instalments"),
19210
- instalmentCount: z34.number().int().positive(),
19211
- intervalCount: z34.number().int().positive(),
19212
- intervalUnit: z34.enum(["day", "week", "month"])
19407
+ z35.object({
19408
+ kind: z35.literal("equal_scheduled_instalments"),
19409
+ instalmentCount: z35.number().int().positive(),
19410
+ intervalCount: z35.number().int().positive(),
19411
+ intervalUnit: z35.enum(["day", "week", "month"])
19213
19412
  })
19214
19413
  ]);
19215
- var bookingFlexibleBalanceDueDateRuleSchema = z34.union([
19216
- z34.object({
19217
- kind: z34.literal("relative_to_start_date"),
19218
- daysBeforeStart: z34.number().int().positive()
19414
+ var bookingFlexibleBalanceDueDateRuleSchema = z35.union([
19415
+ z35.object({
19416
+ kind: z35.literal("relative_to_start_date"),
19417
+ daysBeforeStart: z35.number().int().positive()
19219
19418
  }),
19220
- z34.object({
19221
- kind: z34.literal("fixed_calendar_date"),
19222
- dueAt: z34.string().datetime()
19419
+ z35.object({
19420
+ kind: z35.literal("fixed_calendar_date"),
19421
+ dueAt: z35.string().datetime()
19223
19422
  })
19224
19423
  ]);
19225
- var bookingFlexibleBalanceConfigSchema = z34.object({
19226
- upfrontAmountCents: z34.number().int().min(0),
19424
+ var bookingFlexibleBalanceConfigSchema = z35.object({
19425
+ upfrontAmountCents: z35.number().int().min(0),
19227
19426
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
19228
19427
  depositRefundability: bookingDepositRefundPolicySchema
19229
19428
  });
19230
- var blockBookingPaymentCollectionOptionSchema = z34.union([
19231
- z34.object({
19232
- kind: z34.literal("upfront")
19429
+ var blockBookingPaymentCollectionOptionSchema = z35.union([
19430
+ z35.object({
19431
+ kind: z35.literal("upfront")
19233
19432
  }),
19234
- z34.object({
19235
- kind: z34.literal("deferred_manual")
19433
+ z35.object({
19434
+ kind: z35.literal("deferred_manual")
19236
19435
  }),
19237
- z34.object({
19238
- kind: z34.literal("instalment_plan"),
19436
+ z35.object({
19437
+ kind: z35.literal("instalment_plan"),
19239
19438
  plan: bookingInstalmentPlanSchema
19240
19439
  }),
19241
- z34.object({
19242
- kind: z34.literal("flexible_balance"),
19440
+ z35.object({
19441
+ kind: z35.literal("flexible_balance"),
19243
19442
  config: bookingFlexibleBalanceConfigSchema
19244
19443
  })
19245
19444
  ]);
19246
- var blockBookingPaymentTermsSchema = z34.object({
19247
- allowedOptions: z34.array(blockBookingPaymentCollectionOptionSchema).min(1)
19445
+ var blockBookingPaymentTermsSchema = z35.object({
19446
+ allowedOptions: z35.array(blockBookingPaymentCollectionOptionSchema).min(1)
19248
19447
  });
19249
19448
 
19250
19449
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
19251
- import { z as z35 } from "zod";
19252
- var courseVenueSchema = z35.object({
19253
- id: z35.string(),
19254
- name: z35.string(),
19255
- address: z35.string().nullable()
19256
- });
19257
- var courseSessionSchema = z35.object({
19258
- id: z35.string(),
19259
- startsAt: z35.string(),
19260
- endsAt: z35.string(),
19261
- timeZone: z35.string(),
19262
- capacityOverride: z35.number().nullable().optional(),
19263
- overrides: z35.record(z35.string(), z35.unknown()).nullable().optional()
19264
- });
19265
- var courseTeamMemberSummarySchema = z35.object({
19266
- id: z35.string(),
19267
- name: z35.string(),
19268
- roleLabel: z35.string().nullable(),
19269
- summary: z35.string().nullable(),
19270
- profilePath: z35.string().nullable()
19271
- });
19272
- var coursePricingOptionSchema = z35.object({
19273
- id: z35.string(),
19274
- name: z35.string(),
19275
- description: z35.string().nullable(),
19276
- priceAmount: z35.number(),
19277
- isActive: z35.boolean(),
19278
- sortOrder: z35.number(),
19279
- capacityLimit: z35.number().nullable(),
19280
- saleStartsAt: z35.string().nullable(),
19281
- saleEndsAt: z35.string().nullable(),
19282
- attendanceScope: z35.enum(["in_person", "online", "both"]).nullable().optional()
19283
- });
19284
- var coursePricingSchema = z35.object({
19285
- bookingRequirement: z35.enum(["none", "required"]),
19286
- pricingStrategy: z35.enum(["free", "single", "tiered", "sliding_scale"]),
19287
- currency: z35.string(),
19288
- singlePriceAmount: z35.number().nullable(),
19289
- slidingMinAmount: z35.number().nullable().optional(),
19290
- slidingMaxAmount: z35.number().nullable().optional(),
19291
- slidingSuggestedAmount: z35.number().nullable().optional(),
19450
+ import { z as z36 } from "zod";
19451
+ var courseVenueSchema = z36.object({
19452
+ id: z36.string(),
19453
+ name: z36.string(),
19454
+ address: z36.string().nullable()
19455
+ });
19456
+ var courseSessionSchema = z36.object({
19457
+ id: z36.string(),
19458
+ startsAt: z36.string(),
19459
+ endsAt: z36.string(),
19460
+ timeZone: z36.string(),
19461
+ capacityOverride: z36.number().nullable().optional(),
19462
+ overrides: z36.record(z36.string(), z36.unknown()).nullable().optional()
19463
+ });
19464
+ var courseTeamMemberSummarySchema = z36.object({
19465
+ id: z36.string(),
19466
+ name: z36.string(),
19467
+ roleLabel: z36.string().nullable(),
19468
+ summary: z36.string().nullable(),
19469
+ profilePath: z36.string().nullable()
19470
+ });
19471
+ var coursePricingOptionSchema = z36.object({
19472
+ id: z36.string(),
19473
+ name: z36.string(),
19474
+ description: z36.string().nullable(),
19475
+ priceAmount: z36.number(),
19476
+ isActive: z36.boolean(),
19477
+ sortOrder: z36.number(),
19478
+ capacityLimit: z36.number().nullable(),
19479
+ saleStartsAt: z36.string().nullable(),
19480
+ saleEndsAt: z36.string().nullable(),
19481
+ attendanceScope: z36.enum(["in_person", "online", "both"]).nullable().optional()
19482
+ });
19483
+ var coursePricingSchema = z36.object({
19484
+ bookingRequirement: z36.enum(["none", "required"]),
19485
+ pricingStrategy: z36.enum(["free", "single", "tiered", "sliding_scale"]),
19486
+ currency: z36.string(),
19487
+ singlePriceAmount: z36.number().nullable(),
19488
+ slidingMinAmount: z36.number().nullable().optional(),
19489
+ slidingMaxAmount: z36.number().nullable().optional(),
19490
+ slidingSuggestedAmount: z36.number().nullable().optional(),
19292
19491
  paymentTerms: blockBookingPaymentTermsSchema,
19293
- options: z35.array(coursePricingOptionSchema)
19294
- });
19295
- var publicCourseSchema = z35.object({
19296
- id: z35.string(),
19297
- title: z35.string(),
19298
- slug: z35.string(),
19299
- description: z35.unknown().nullable(),
19300
- teamMembers: z35.array(courseTeamMemberSummarySchema).optional(),
19301
- enrollmentOpen: z35.boolean(),
19492
+ options: z36.array(coursePricingOptionSchema)
19493
+ });
19494
+ var publicCourseSchema = z36.object({
19495
+ id: z36.string(),
19496
+ title: z36.string(),
19497
+ slug: z36.string(),
19498
+ description: z36.unknown().nullable(),
19499
+ teamMembers: z36.array(courseTeamMemberSummarySchema).optional(),
19500
+ enrollmentOpen: z36.boolean(),
19302
19501
  pricing: coursePricingSchema.optional(),
19303
- priceCents: z35.number().nullable(),
19304
- currency: z35.string(),
19502
+ priceCents: z36.number().nullable(),
19503
+ currency: z36.string(),
19305
19504
  paymentTerms: blockBookingPaymentTermsSchema,
19306
- enrollmentCapacity: z35.number().nullable(),
19307
- acceptsMemberships: z35.boolean(),
19308
- status: z35.enum(["active", "draft", "cancelled"]),
19309
- sessionsCount: z35.number(),
19310
- enrolledCount: z35.number(),
19311
- availableSpots: z35.number().nullable(),
19312
- sessions: z35.array(courseSessionSchema),
19505
+ enrollmentCapacity: z36.number().nullable(),
19506
+ acceptsMemberships: z36.boolean(),
19507
+ status: z36.enum(["active", "draft", "cancelled"]),
19508
+ sessionsCount: z36.number(),
19509
+ enrolledCount: z36.number(),
19510
+ availableSpots: z36.number().nullable(),
19511
+ sessions: z36.array(courseSessionSchema),
19313
19512
  venue: courseVenueSchema.nullable(),
19314
- contentEntryId: z35.string().nullable()
19513
+ contentEntryId: z36.string().nullable()
19315
19514
  });
19316
- var publicCoursesArraySchema = z35.array(publicCourseSchema);
19515
+ var publicCoursesArraySchema = z36.array(publicCourseSchema);
19317
19516
 
19318
19517
  // ../blocks/src/system/blocks/events/shared/schemas.ts
19319
- var eventPresetSchema = z36.enum(["event", "class", "workshop", "retreat", "performance"]);
19320
- var eventScheduleScopeSchema = z36.enum(["recurring", "oneOff"]);
19321
- var eventDestinationModeSchema = z36.enum(["cms-managed", "system-managed"]);
19322
- var publicEventDestinationSchema = z36.discriminatedUnion("kind", [
19323
- z36.object({
19324
- kind: z36.literal("native"),
19518
+ var eventPresetSchema = z37.enum(["event", "class", "workshop", "retreat", "performance"]);
19519
+ var eventScheduleScopeSchema = z37.enum(["recurring", "oneOff"]);
19520
+ var eventDestinationModeSchema = z37.enum(["cms-managed", "system-managed"]);
19521
+ var publicEventDestinationSchema = z37.discriminatedUnion("kind", [
19522
+ z37.object({
19523
+ kind: z37.literal("native"),
19325
19524
  mode: eventDestinationModeSchema,
19326
- path: z36.string()
19525
+ path: z37.string()
19327
19526
  }),
19328
- z36.object({
19329
- kind: z36.literal("external"),
19330
- url: z36.string(),
19331
- label: z36.string()
19527
+ z37.object({
19528
+ kind: z37.literal("external"),
19529
+ url: z37.string(),
19530
+ label: z37.string()
19332
19531
  })
19333
19532
  ]);
19334
- var eventVenueSchema = z36.object({
19335
- id: z36.string(),
19336
- name: z36.string(),
19337
- address: z36.string().nullable(),
19338
- location: z36.object({
19339
- lat: z36.number(),
19340
- lng: z36.number()
19533
+ var eventVenueSchema = z37.object({
19534
+ id: z37.string(),
19535
+ name: z37.string(),
19536
+ address: z37.string().nullable(),
19537
+ location: z37.object({
19538
+ lat: z37.number(),
19539
+ lng: z37.number()
19341
19540
  }).nullable()
19342
19541
  });
19343
- var eventCategorySchema = z36.object({
19344
- id: z36.string(),
19345
- name: z36.string(),
19346
- color: z36.string().nullable()
19347
- });
19348
- var pricingTypeSchema = z36.enum(["free", "paid", "external"]);
19349
- var accessRestrictionSchema = z36.enum(["none", "category"]);
19350
- var eventPricingModeSchema = z36.enum(["single", "ticket_types"]);
19351
- var publicCoursePriceDisplaySchema = z36.discriminatedUnion("kind", [
19352
- z36.object({ kind: z36.literal("free"), currency: z36.string() }),
19353
- z36.object({ kind: z36.literal("exact"), amount: z36.number(), currency: z36.string() }),
19354
- z36.object({ kind: z36.literal("from"), amount: z36.number(), currency: z36.string() }),
19355
- z36.object({ kind: z36.literal("unavailable"), currency: z36.string() })
19542
+ var eventCategorySchema = z37.object({
19543
+ id: z37.string(),
19544
+ name: z37.string(),
19545
+ color: z37.string().nullable()
19546
+ });
19547
+ var pricingTypeSchema = z37.enum(["free", "paid", "external"]);
19548
+ var accessRestrictionSchema = z37.enum(["none", "category"]);
19549
+ var eventPricingModeSchema = z37.enum(["single", "ticket_types"]);
19550
+ var publicCoursePriceDisplaySchema = z37.discriminatedUnion("kind", [
19551
+ z37.object({ kind: z37.literal("free"), currency: z37.string() }),
19552
+ z37.object({ kind: z37.literal("exact"), amount: z37.number(), currency: z37.string() }),
19553
+ z37.object({ kind: z37.literal("from"), amount: z37.number(), currency: z37.string() }),
19554
+ z37.object({ kind: z37.literal("unavailable"), currency: z37.string() })
19356
19555
  ]);
19357
- var publicEventPriceDisplaySchema = z36.discriminatedUnion("kind", [
19358
- z36.object({ kind: z36.literal("free"), currency: z36.string() }),
19359
- z36.object({ kind: z36.literal("exact"), amount: z36.number(), currency: z36.string() }),
19360
- z36.object({ kind: z36.literal("from"), amount: z36.number(), currency: z36.string() }),
19361
- z36.object({ kind: z36.literal("range"), minAmount: z36.number(), maxAmount: z36.number(), currency: z36.string() }),
19362
- z36.object({
19363
- kind: z36.literal("mixed"),
19364
- paidFromAmount: z36.number(),
19365
- paidToAmount: z36.number(),
19366
- currency: z36.string()
19556
+ var publicEventPriceDisplaySchema = z37.discriminatedUnion("kind", [
19557
+ z37.object({ kind: z37.literal("free"), currency: z37.string() }),
19558
+ z37.object({ kind: z37.literal("exact"), amount: z37.number(), currency: z37.string() }),
19559
+ z37.object({ kind: z37.literal("from"), amount: z37.number(), currency: z37.string() }),
19560
+ z37.object({ kind: z37.literal("range"), minAmount: z37.number(), maxAmount: z37.number(), currency: z37.string() }),
19561
+ z37.object({
19562
+ kind: z37.literal("mixed"),
19563
+ paidFromAmount: z37.number(),
19564
+ paidToAmount: z37.number(),
19565
+ currency: z37.string()
19367
19566
  }),
19368
- z36.object({ kind: z36.literal("unavailable"), currency: z36.string() }),
19369
- z36.object({ kind: z36.literal("external"), label: z36.string() }),
19370
- z36.object({ kind: z36.literal("course"), display: publicCoursePriceDisplaySchema })
19567
+ z37.object({ kind: z37.literal("unavailable"), currency: z37.string() }),
19568
+ z37.object({ kind: z37.literal("external"), label: z37.string() }),
19569
+ z37.object({ kind: z37.literal("course"), display: publicCoursePriceDisplaySchema })
19371
19570
  ]);
19372
- var publicEventTicketTypePriceDisplaySchema = z36.union([
19373
- z36.object({ kind: z36.literal("free"), currency: z36.string() }),
19374
- z36.object({ kind: z36.literal("exact"), amount: z36.number(), currency: z36.string() }),
19375
- z36.object({ kind: z36.literal("from"), amount: z36.number(), currency: z36.string() }),
19376
- z36.object({ kind: z36.literal("range"), minAmount: z36.number(), maxAmount: z36.number(), currency: z36.string() }),
19377
- z36.object({
19378
- kind: z36.literal("mixed"),
19379
- paidFromAmount: z36.number(),
19380
- paidToAmount: z36.number(),
19381
- currency: z36.string()
19571
+ var publicEventTicketTypePriceDisplaySchema = z37.union([
19572
+ z37.object({ kind: z37.literal("free"), currency: z37.string() }),
19573
+ z37.object({ kind: z37.literal("exact"), amount: z37.number(), currency: z37.string() }),
19574
+ z37.object({ kind: z37.literal("from"), amount: z37.number(), currency: z37.string() }),
19575
+ z37.object({ kind: z37.literal("range"), minAmount: z37.number(), maxAmount: z37.number(), currency: z37.string() }),
19576
+ z37.object({
19577
+ kind: z37.literal("mixed"),
19578
+ paidFromAmount: z37.number(),
19579
+ paidToAmount: z37.number(),
19580
+ currency: z37.string()
19382
19581
  }),
19383
- z36.object({ kind: z36.literal("unavailable"), currency: z36.string() })
19582
+ z37.object({ kind: z37.literal("unavailable"), currency: z37.string() })
19384
19583
  ]);
19385
- var publicEventAttendanceModeSchema = z36.enum(["in_person", "online"]);
19386
- var publicEventAttendanceModeAvailabilitySchema = z36.object({
19584
+ var publicEventAttendanceModeSchema = z37.enum(["in_person", "online"]);
19585
+ var publicEventAttendanceModeAvailabilitySchema = z37.object({
19387
19586
  mode: publicEventAttendanceModeSchema,
19388
- capacity: z36.number().nullable(),
19389
- registeredCount: z36.number(),
19390
- availableSpots: z36.number().nullable(),
19391
- waitlistEnabled: z36.boolean()
19392
- });
19393
- var publicEventTicketTypeAvailabilitySchema = z36.union([
19394
- z36.object({
19395
- kind: z36.literal("available"),
19396
- remainingCapacity: z36.number().nullable()
19587
+ capacity: z37.number().nullable(),
19588
+ registeredCount: z37.number(),
19589
+ availableSpots: z37.number().nullable(),
19590
+ waitlistEnabled: z37.boolean()
19591
+ });
19592
+ var publicEventTicketTypeAvailabilitySchema = z37.union([
19593
+ z37.object({
19594
+ kind: z37.literal("available"),
19595
+ remainingCapacity: z37.number().nullable()
19397
19596
  }),
19398
- z36.object({
19399
- kind: z36.literal("unavailable"),
19400
- reason: z36.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
19401
- remainingCapacity: z36.number().nullable()
19597
+ z37.object({
19598
+ kind: z37.literal("unavailable"),
19599
+ reason: z37.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
19600
+ remainingCapacity: z37.number().nullable()
19402
19601
  })
19403
19602
  ]);
19404
- var publicEventTicketTypeSchema = z36.object({
19405
- id: z36.string(),
19406
- siteId: z36.string(),
19407
- eventSeriesId: z36.string(),
19408
- name: z36.string(),
19409
- description: z36.string().nullable(),
19410
- priceAmount: z36.number(),
19411
- isActive: z36.boolean(),
19412
- sortOrder: z36.number(),
19413
- capacityMode: z36.enum(["limited", "unlimited"]),
19414
- capacityLimit: z36.number().nullable(),
19415
- attendanceScope: z36.enum(["in_person", "online", "both"]).optional(),
19416
- saleStartsAt: z36.string().nullable(),
19417
- saleEndsAt: z36.string().nullable(),
19603
+ var publicEventTicketTypeSchema = z37.object({
19604
+ id: z37.string(),
19605
+ siteId: z37.string(),
19606
+ eventSeriesId: z37.string(),
19607
+ name: z37.string(),
19608
+ description: z37.string().nullable(),
19609
+ priceAmount: z37.number(),
19610
+ isActive: z37.boolean(),
19611
+ sortOrder: z37.number(),
19612
+ capacityMode: z37.enum(["limited", "unlimited"]),
19613
+ capacityLimit: z37.number().nullable(),
19614
+ attendanceScope: z37.enum(["in_person", "online", "both"]).optional(),
19615
+ saleStartsAt: z37.string().nullable(),
19616
+ saleEndsAt: z37.string().nullable(),
19418
19617
  availability: publicEventTicketTypeAvailabilitySchema,
19419
- createdAt: z36.string(),
19420
- updatedAt: z36.string()
19421
- });
19422
- var publicEventPricingSchema = z36.discriminatedUnion("kind", [
19423
- z36.object({
19424
- kind: z36.literal("drop_in"),
19425
- currency: z36.string(),
19426
- display: z36.object({ kind: z36.literal("free"), currency: z36.string() })
19618
+ createdAt: z37.string(),
19619
+ updatedAt: z37.string()
19620
+ });
19621
+ var publicEventPricingSchema = z37.discriminatedUnion("kind", [
19622
+ z37.object({
19623
+ kind: z37.literal("drop_in"),
19624
+ currency: z37.string(),
19625
+ display: z37.object({ kind: z37.literal("free"), currency: z37.string() })
19427
19626
  }),
19428
- z36.object({
19429
- kind: z36.literal("free_registration"),
19430
- currency: z36.string(),
19431
- display: z36.object({ kind: z36.literal("free"), currency: z36.string() })
19627
+ z37.object({
19628
+ kind: z37.literal("free_registration"),
19629
+ currency: z37.string(),
19630
+ display: z37.object({ kind: z37.literal("free"), currency: z37.string() })
19432
19631
  }),
19433
- z36.object({
19434
- kind: z36.literal("single_paid"),
19435
- amount: z36.number(),
19436
- currency: z36.string(),
19437
- display: z36.object({ kind: z36.literal("exact"), amount: z36.number(), currency: z36.string() })
19632
+ z37.object({
19633
+ kind: z37.literal("single_paid"),
19634
+ amount: z37.number(),
19635
+ currency: z37.string(),
19636
+ display: z37.object({ kind: z37.literal("exact"), amount: z37.number(), currency: z37.string() })
19438
19637
  }),
19439
- z36.object({
19440
- kind: z36.literal("ticket_types"),
19441
- currency: z36.string(),
19442
- ticketTypes: z36.array(publicEventTicketTypeSchema),
19638
+ z37.object({
19639
+ kind: z37.literal("ticket_types"),
19640
+ currency: z37.string(),
19641
+ ticketTypes: z37.array(publicEventTicketTypeSchema),
19443
19642
  display: publicEventTicketTypePriceDisplaySchema
19444
19643
  }),
19445
- z36.object({
19446
- kind: z36.literal("sliding_scale"),
19447
- minAmount: z36.number(),
19448
- maxAmount: z36.number(),
19449
- suggestedAmount: z36.number().nullable(),
19450
- currency: z36.string(),
19451
- display: z36.object({
19452
- kind: z36.literal("range"),
19453
- minAmount: z36.number(),
19454
- maxAmount: z36.number(),
19455
- currency: z36.string()
19644
+ z37.object({
19645
+ kind: z37.literal("sliding_scale"),
19646
+ minAmount: z37.number(),
19647
+ maxAmount: z37.number(),
19648
+ suggestedAmount: z37.number().nullable(),
19649
+ currency: z37.string(),
19650
+ display: z37.object({
19651
+ kind: z37.literal("range"),
19652
+ minAmount: z37.number(),
19653
+ maxAmount: z37.number(),
19654
+ currency: z37.string()
19456
19655
  })
19457
19656
  }),
19458
- z36.object({
19459
- kind: z36.literal("course"),
19460
- display: z36.object({ kind: z36.literal("course"), display: publicCoursePriceDisplaySchema })
19657
+ z37.object({
19658
+ kind: z37.literal("course"),
19659
+ display: z37.object({ kind: z37.literal("course"), display: publicCoursePriceDisplaySchema })
19461
19660
  }),
19462
- z36.object({
19463
- kind: z36.literal("external"),
19464
- display: z36.object({ kind: z36.literal("external"), label: z36.string() })
19661
+ z37.object({
19662
+ kind: z37.literal("external"),
19663
+ display: z37.object({ kind: z37.literal("external"), label: z37.string() })
19465
19664
  })
19466
19665
  ]);
19467
- var publicTeamMemberSummarySchema = z36.object({
19468
- id: z36.string(),
19469
- name: z36.string(),
19470
- roleLabel: z36.string().nullable(),
19471
- summary: z36.string().nullable(),
19472
- profilePath: z36.string().nullable()
19666
+ var publicTeamMemberSummarySchema = z37.object({
19667
+ id: z37.string(),
19668
+ name: z37.string(),
19669
+ roleLabel: z37.string().nullable(),
19670
+ summary: z37.string().nullable(),
19671
+ profilePath: z37.string().nullable()
19473
19672
  });
19474
- var publicEventSchema = z36.object({
19475
- kind: z36.enum(["event", "course_session"]).optional(),
19673
+ var publicEventSchema = z37.object({
19674
+ kind: z37.enum(["event", "course_session"]).optional(),
19476
19675
  eventPreset: eventPresetSchema.optional(),
19477
19676
  eventDestinationMode: eventDestinationModeSchema.optional(),
19478
19677
  scheduleScope: eventScheduleScopeSchema.optional(),
19479
- id: z36.string(),
19480
- occurrenceId: z36.string(),
19481
- seriesId: z36.string(),
19482
- title: z36.string(),
19483
- description: z36.string().nullable(),
19484
- content: z36.object({
19678
+ id: z37.string(),
19679
+ occurrenceId: z37.string(),
19680
+ seriesId: z37.string(),
19681
+ title: z37.string(),
19682
+ description: z37.string().nullable(),
19683
+ content: z37.object({
19485
19684
  body: RichTextDocSchema.nullable().optional()
19486
19685
  }).optional(),
19487
- presentation: z36.object({
19488
- cardTitleOverride: z36.string().nullable().optional(),
19489
- summary: z36.string().nullable().optional(),
19686
+ presentation: z37.object({
19687
+ cardTitleOverride: z37.string().nullable().optional(),
19688
+ summary: z37.string().nullable().optional(),
19490
19689
  image: mediaSchema2.nullable().optional()
19491
19690
  }).optional(),
19492
- slug: z36.string(),
19493
- path: z36.string().nullable(),
19691
+ slug: z37.string(),
19692
+ path: z37.string().nullable(),
19494
19693
  destination: publicEventDestinationSchema,
19495
- requiresRegistration: z36.boolean(),
19496
- deliveryMode: z36.enum(["in_person", "online", "hybrid"]),
19497
- attendanceModes: z36.array(publicEventAttendanceModeAvailabilitySchema),
19498
- startsAt: z36.string(),
19499
- endsAt: z36.string(),
19500
- capacity: z36.number().nullable(),
19501
- registeredCount: z36.number(),
19502
- availableSpots: z36.number().nullable(),
19503
- waitlistEnabled: z36.boolean(),
19694
+ requiresRegistration: z37.boolean(),
19695
+ deliveryMode: z37.enum(["in_person", "online", "hybrid"]),
19696
+ attendanceModes: z37.array(publicEventAttendanceModeAvailabilitySchema),
19697
+ startsAt: z37.string(),
19698
+ endsAt: z37.string(),
19699
+ capacity: z37.number().nullable(),
19700
+ registeredCount: z37.number(),
19701
+ availableSpots: z37.number().nullable(),
19702
+ waitlistEnabled: z37.boolean(),
19504
19703
  venue: eventVenueSchema.nullable(),
19505
19704
  eventCategory: eventCategorySchema.nullable(),
19506
- teamMembers: z36.array(publicTeamMemberSummarySchema).optional(),
19507
- status: z36.enum(["active", "draft", "archived"]).optional(),
19508
- timeZone: z36.string(),
19705
+ teamMembers: z37.array(publicTeamMemberSummarySchema).optional(),
19706
+ status: z37.enum(["active", "draft", "archived"]).optional(),
19707
+ timeZone: z37.string(),
19509
19708
  pricing: publicEventPricingSchema,
19510
19709
  paymentTerms: blockBookingPaymentTermsSchema,
19511
19710
  accessRestriction: accessRestrictionSchema,
19512
- allowedCategoryIds: z36.array(z36.string()),
19513
- requireGuestDetails: z36.boolean().optional(),
19514
- acceptsPasses: z36.boolean().optional(),
19515
- acceptsMemberships: z36.boolean().optional(),
19516
- course: z36.object({
19517
- id: z36.string(),
19711
+ allowedCategoryIds: z37.array(z37.string()),
19712
+ requireGuestDetails: z37.boolean().optional(),
19713
+ acceptsPasses: z37.boolean().optional(),
19714
+ acceptsMemberships: z37.boolean().optional(),
19715
+ course: z37.object({
19716
+ id: z37.string(),
19518
19717
  pricing: coursePricingSchema.optional(),
19519
- priceCents: z36.number().nullable(),
19520
- currency: z36.string(),
19521
- enrollmentOpen: z36.boolean()
19718
+ priceCents: z37.number().nullable(),
19719
+ currency: z37.string(),
19720
+ enrollmentOpen: z37.boolean()
19522
19721
  }).nullable().optional()
19523
19722
  });
19524
- var publicEventsArraySchema = z36.array(publicEventSchema);
19723
+ var publicEventsArraySchema = z37.array(publicEventSchema);
19525
19724
 
19526
19725
  // ../blocks/src/system/blocks/events/shared/fields.ts
19527
19726
  var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
@@ -19724,52 +19923,80 @@ function normalizeEventStaffMemberId(value) {
19724
19923
  return trimmed ? trimmed : null;
19725
19924
  }
19726
19925
 
19926
+ // ../blocks/src/system/blocks/events/shared/layout.ts
19927
+ var recoverEmptyHeadingWhenActive = {
19928
+ kind: "recover-empty-when-active",
19929
+ placeholder: "Add heading"
19930
+ };
19931
+ var recoverEmptyDescriptionWhenActive = {
19932
+ kind: "recover-empty-when-active",
19933
+ placeholder: "Add description"
19934
+ };
19935
+ function eventSectionHeaderLayoutNodes() {
19936
+ return [
19937
+ text(
19938
+ { as: "h2" },
19939
+ bind("content.heading"),
19940
+ when("content.heading", {
19941
+ authoringPresence: recoverEmptyHeadingWhenActive
19942
+ })
19943
+ ),
19944
+ richText(
19945
+ { className: "rb-prose rb-max-w-none" },
19946
+ bind("content.description"),
19947
+ when("content.description", {
19948
+ authoringPresence: recoverEmptyDescriptionWhenActive
19949
+ })
19950
+ )
19951
+ ];
19952
+ }
19953
+
19727
19954
  // ../blocks/src/system/blocks/shop.shared.ts
19728
- import { z as z37 } from "zod";
19729
- var publicPassProductSchema = z37.object({
19730
- id: z37.string(),
19731
- productUseCase: z37.enum(["event_pass", "appointment_package"]).default("event_pass"),
19732
- name: z37.string(),
19733
- description: z37.string().nullable(),
19734
- price: z37.number(),
19735
- currency: z37.string(),
19736
- creditsTotal: z37.number(),
19737
- pricePerCredit: z37.number(),
19738
- validDays: z37.number().nullable(),
19739
- eligibleCategoryIds: z37.array(z37.string()),
19740
- eligibleCategoryNames: z37.array(z37.string())
19741
- });
19742
- var publicPassProductCollectionSchema = z37.object({
19743
- passes: z37.array(publicPassProductSchema)
19744
- });
19745
- var publicMembershipProductSchema = z37.object({
19746
- id: z37.string(),
19747
- name: z37.string(),
19748
- description: z37.string().nullable(),
19749
- price: z37.number(),
19750
- currency: z37.string(),
19751
- billingInterval: z37.enum(["month", "year"]),
19752
- eligibleCategoryIds: z37.array(z37.string()),
19753
- eligibleCategoryNames: z37.array(z37.string())
19955
+ import { z as z38 } from "zod";
19956
+ var publicPassProductSchema = z38.object({
19957
+ id: z38.string(),
19958
+ productUseCase: z38.enum(["event_pass", "appointment_package"]).default("event_pass"),
19959
+ name: z38.string(),
19960
+ description: z38.string().nullable(),
19961
+ price: z38.number(),
19962
+ currency: z38.string(),
19963
+ creditsTotal: z38.number(),
19964
+ pricePerCredit: z38.number(),
19965
+ validDays: z38.number().nullable(),
19966
+ eligibleCategoryIds: z38.array(z38.string()),
19967
+ eligibleCategoryNames: z38.array(z38.string())
19968
+ });
19969
+ var publicPassProductCollectionSchema = z38.object({
19970
+ passes: z38.array(publicPassProductSchema)
19971
+ });
19972
+ var publicMembershipProductSchema = z38.object({
19973
+ id: z38.string(),
19974
+ name: z38.string(),
19975
+ description: z38.string().nullable(),
19976
+ price: z38.number(),
19977
+ currency: z38.string(),
19978
+ billingInterval: z38.enum(["month", "year"]),
19979
+ eligibleCategoryIds: z38.array(z38.string()),
19980
+ eligibleCategoryNames: z38.array(z38.string())
19754
19981
  });
19755
- var publicMembershipProductCollectionSchema = z37.object({
19756
- memberships: z37.array(publicMembershipProductSchema)
19982
+ var publicMembershipProductCollectionSchema = z38.object({
19983
+ memberships: z38.array(publicMembershipProductSchema)
19757
19984
  });
19758
19985
 
19759
19986
  // ../blocks/src/system/blocks/event-registration.shared.ts
19760
- import { z as z38 } from "zod";
19761
- var occurrenceContextSchema = z38.object({
19762
- id: z38.string(),
19763
- seriesId: z38.string(),
19764
- startsAt: z38.string(),
19765
- endsAt: z38.string(),
19766
- timeZone: z38.string(),
19767
- capacityOverride: z38.number().nullable().optional(),
19768
- overrides: z38.record(z38.string(), z38.unknown()).nullable().optional()
19987
+ import { z as z39 } from "zod";
19988
+ var occurrenceContextSchema = z39.object({
19989
+ id: z39.string(),
19990
+ seriesId: z39.string(),
19991
+ startsAt: z39.string(),
19992
+ endsAt: z39.string(),
19993
+ timeZone: z39.string(),
19994
+ capacityOverride: z39.number().nullable().optional(),
19995
+ overrides: z39.record(z39.string(), z39.unknown()).nullable().optional()
19769
19996
  }).nullable();
19770
19997
 
19771
19998
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
19772
- import { z as z40 } from "zod";
19999
+ import { z as z41 } from "zod";
19773
20000
 
19774
20001
  // ../blocks/src/system/constants/events.ts
19775
20002
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
@@ -19956,17 +20183,17 @@ function readAmount(value) {
19956
20183
  }
19957
20184
 
19958
20185
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
19959
- import { z as z39 } from "zod";
19960
- var previewStageSchema = z39.enum(["preview", "published"]);
19961
- var registrationButtonVariantSchema = z39.enum(["primary", "secondary", "outline"]);
19962
- var eventButtonVariantSchema = z39.enum(["primary", "secondary", "outline", "link"]);
19963
- var eventLayoutSchema = z39.enum(eventCalendarListLayoutValues);
19964
- var eventCalendarDisplayModeSchema = z39.enum(eventCalendarDisplayModeValues);
19965
- var eventCalendarDefaultViewSchema = z39.enum(eventCalendarDefaultViewValues);
19966
- var columnOptionSchema = z39.enum(["2", "3", "4"]);
19967
- var weekStartSchema = z39.enum(["sunday", "monday"]);
19968
- var filterAutoShowSchema = z39.enum(["auto", "always", "never"]);
19969
- var calendarTabViewsSchema = z39.enum(["both", "month", "week"]);
20186
+ import { z as z40 } from "zod";
20187
+ var previewStageSchema = z40.enum(["preview", "published"]);
20188
+ var registrationButtonVariantSchema = z40.enum(["primary", "secondary", "outline"]);
20189
+ var eventButtonVariantSchema = z40.enum(["primary", "secondary", "outline", "link"]);
20190
+ var eventLayoutSchema = z40.enum(eventCalendarListLayoutValues);
20191
+ var eventCalendarDisplayModeSchema = z40.enum(eventCalendarDisplayModeValues);
20192
+ var eventCalendarDefaultViewSchema = z40.enum(eventCalendarDefaultViewValues);
20193
+ var columnOptionSchema = z40.enum(["2", "3", "4"]);
20194
+ var weekStartSchema = z40.enum(["sunday", "monday"]);
20195
+ var filterAutoShowSchema = z40.enum(["auto", "always", "never"]);
20196
+ var calendarTabViewsSchema = z40.enum(["both", "month", "week"]);
19970
20197
 
19971
20198
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
19972
20199
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -20026,72 +20253,72 @@ function toRegistrationEvents(events) {
20026
20253
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
20027
20254
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
20028
20255
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
20029
- var contentEntrySchema = z40.object({
20030
- id: z40.string(),
20031
- slug: z40.string(),
20032
- contentTypeSlug: z40.string()
20256
+ var contentEntrySchema = z41.object({
20257
+ id: z41.string(),
20258
+ slug: z41.string(),
20259
+ contentTypeSlug: z41.string()
20033
20260
  });
20034
- var eventRegistrationPublicEventSchema = z40.preprocess(
20261
+ var eventRegistrationPublicEventSchema = z41.preprocess(
20035
20262
  normalizeEventRegistrationEventInput,
20036
20263
  publicEventSchema
20037
20264
  );
20038
- var eventRegistrationSourceSchema = z40.object({
20039
- siteId: z40.string().optional(),
20040
- apiBaseUrl: z40.string().optional(),
20041
- portalToken: z40.string().nullable().optional(),
20042
- previewToken: z40.string().nullable().optional(),
20265
+ var eventRegistrationSourceSchema = z41.object({
20266
+ siteId: z41.string().optional(),
20267
+ apiBaseUrl: z41.string().optional(),
20268
+ portalToken: z41.string().nullable().optional(),
20269
+ previewToken: z41.string().nullable().optional(),
20043
20270
  occurrenceContext: occurrenceContextSchema.optional(),
20044
20271
  contentEntry: contentEntrySchema.nullable().optional(),
20045
- events: z40.array(eventRegistrationPublicEventSchema).nullable().optional(),
20046
- className: z40.string().nullable().optional(),
20047
- buttonText: z40.string().nullable().optional(),
20048
- maxTickets: z40.string().nullable().optional(),
20049
- showVenue: z40.boolean().optional(),
20050
- showCapacity: z40.boolean().optional(),
20051
- successMessage: z40.string().optional(),
20052
- waitlistMessage: z40.string().optional(),
20272
+ events: z41.array(eventRegistrationPublicEventSchema).nullable().optional(),
20273
+ className: z41.string().nullable().optional(),
20274
+ buttonText: z41.string().nullable().optional(),
20275
+ maxTickets: z41.string().nullable().optional(),
20276
+ showVenue: z41.boolean().optional(),
20277
+ showCapacity: z41.boolean().optional(),
20278
+ successMessage: z41.string().optional(),
20279
+ waitlistMessage: z41.string().optional(),
20053
20280
  buttonVariant: registrationButtonVariantSchema.optional(),
20054
- overlayEnabled: z40.boolean().optional(),
20055
- spamProtectionEnabled: z40.boolean().optional(),
20281
+ overlayEnabled: z41.boolean().optional(),
20282
+ spamProtectionEnabled: z41.boolean().optional(),
20056
20283
  stage: previewStageSchema.optional(),
20057
- supportEmail: z40.string().optional(),
20284
+ supportEmail: z41.string().optional(),
20058
20285
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
20059
20286
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
20060
20287
  });
20061
- var eventRegistrationDisplaySchema = z40.object({
20062
- kind: z40.literal("event-registration"),
20063
- state: z40.literal("generic-shell"),
20064
- className: z40.string().nullable(),
20065
- titleText: z40.string(),
20066
- bodyText: z40.string(),
20067
- stepLabels: z40.array(z40.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
20068
- summaryButtonText: z40.string()
20288
+ var eventRegistrationDisplaySchema = z41.object({
20289
+ kind: z41.literal("event-registration"),
20290
+ state: z41.literal("generic-shell"),
20291
+ className: z41.string().nullable(),
20292
+ titleText: z41.string(),
20293
+ bodyText: z41.string(),
20294
+ stepLabels: z41.array(z41.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
20295
+ summaryButtonText: z41.string()
20069
20296
  });
20070
- var eventRegistrationHydrationSchema = z40.object({
20297
+ var eventRegistrationHydrationSchema = z41.object({
20071
20298
  occurrenceContext: occurrenceContextSchema.optional(),
20072
20299
  contentEntry: contentEntrySchema.nullable().optional(),
20073
- events: z40.array(eventRegistrationPublicEventSchema).nullable().optional(),
20074
- maxTickets: z40.string().optional(),
20075
- showVenue: z40.boolean().optional(),
20076
- showCapacity: z40.boolean().optional(),
20077
- successMessage: z40.string().optional(),
20078
- waitlistMessage: z40.string().optional(),
20300
+ events: z41.array(eventRegistrationPublicEventSchema).nullable().optional(),
20301
+ maxTickets: z41.string().optional(),
20302
+ showVenue: z41.boolean().optional(),
20303
+ showCapacity: z41.boolean().optional(),
20304
+ successMessage: z41.string().optional(),
20305
+ waitlistMessage: z41.string().optional(),
20079
20306
  buttonVariant: registrationButtonVariantSchema.optional(),
20080
- overlayEnabled: z40.boolean().optional(),
20081
- spamProtectionEnabled: z40.boolean().optional(),
20082
- supportEmail: z40.string().optional(),
20307
+ overlayEnabled: z41.boolean().optional(),
20308
+ spamProtectionEnabled: z41.boolean().optional(),
20309
+ supportEmail: z41.string().optional(),
20083
20310
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
20084
20311
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
20085
20312
  });
20086
- var eventRegistrationRenderSchema = z40.object({
20313
+ var eventRegistrationRenderSchema = z41.object({
20087
20314
  display: eventRegistrationDisplaySchema,
20088
20315
  hydration: eventRegistrationHydrationSchema
20089
20316
  });
20090
- var eventRegistrationIslandMetaCodec = createZodCodec(z40.object({
20091
- siteId: z40.string().optional(),
20092
- apiBaseUrl: z40.string().optional(),
20093
- portalToken: z40.string().nullable().optional(),
20094
- previewToken: z40.string().nullable().optional(),
20317
+ var eventRegistrationIslandMetaCodec = createZodCodec(z41.object({
20318
+ siteId: z41.string().optional(),
20319
+ apiBaseUrl: z41.string().optional(),
20320
+ portalToken: z41.string().nullable().optional(),
20321
+ previewToken: z41.string().nullable().optional(),
20095
20322
  stage: previewStageSchema.optional()
20096
20323
  }));
20097
20324
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -20442,73 +20669,73 @@ var eventRegistrationBlockDefinition = {
20442
20669
  };
20443
20670
 
20444
20671
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
20445
- import { z as z41 } from "zod";
20446
- var contentEntrySchema2 = z41.object({
20447
- id: z41.string(),
20448
- slug: z41.string(),
20449
- contentTypeSlug: z41.string()
20450
- });
20451
- var courseEntrySubrouteContextSchema = z41.union([
20452
- z41.object({
20453
- kind: z41.literal("course-run"),
20454
- run: z41.object({
20455
- courseId: z41.string(),
20456
- seriesId: z41.string(),
20457
- runSlug: z41.string(),
20458
- runName: z41.string().nullable()
20672
+ import { z as z42 } from "zod";
20673
+ var contentEntrySchema2 = z42.object({
20674
+ id: z42.string(),
20675
+ slug: z42.string(),
20676
+ contentTypeSlug: z42.string()
20677
+ });
20678
+ var courseEntrySubrouteContextSchema = z42.union([
20679
+ z42.object({
20680
+ kind: z42.literal("course-run"),
20681
+ run: z42.object({
20682
+ courseId: z42.string(),
20683
+ seriesId: z42.string(),
20684
+ runSlug: z42.string(),
20685
+ runName: z42.string().nullable()
20459
20686
  })
20460
20687
  }),
20461
- z41.object({
20462
- kind: z41.literal("event-occurrence"),
20688
+ z42.object({
20689
+ kind: z42.literal("event-occurrence"),
20463
20690
  occurrence: occurrenceContextSchema
20464
20691
  })
20465
20692
  ]);
20466
- var courseRegistrationSourceSchema = z41.object({
20467
- siteId: z41.string().optional(),
20468
- apiBaseUrl: z41.string().optional(),
20469
- portalToken: z41.string().nullable().optional(),
20693
+ var courseRegistrationSourceSchema = z42.object({
20694
+ siteId: z42.string().optional(),
20695
+ apiBaseUrl: z42.string().optional(),
20696
+ portalToken: z42.string().nullable().optional(),
20470
20697
  contentEntry: contentEntrySchema2.nullable().optional(),
20471
20698
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
20472
- courses: z41.array(publicCourseSchema).nullable().optional(),
20473
- className: z41.string().nullable().optional(),
20474
- showSessions: z41.boolean().optional(),
20475
- showPrice: z41.boolean().optional(),
20476
- showCapacity: z41.boolean().optional(),
20477
- showVenue: z41.boolean().optional(),
20478
- successMessage: z41.string().optional(),
20479
- waitlistMessage: z41.string().optional(),
20480
- membershipMessage: z41.string().optional(),
20481
- buttonText: z41.string().nullable().optional(),
20699
+ courses: z42.array(publicCourseSchema).nullable().optional(),
20700
+ className: z42.string().nullable().optional(),
20701
+ showSessions: z42.boolean().optional(),
20702
+ showPrice: z42.boolean().optional(),
20703
+ showCapacity: z42.boolean().optional(),
20704
+ showVenue: z42.boolean().optional(),
20705
+ successMessage: z42.string().optional(),
20706
+ waitlistMessage: z42.string().optional(),
20707
+ membershipMessage: z42.string().optional(),
20708
+ buttonText: z42.string().nullable().optional(),
20482
20709
  buttonVariant: registrationButtonVariantSchema.optional(),
20483
20710
  stage: previewStageSchema.optional()
20484
20711
  });
20485
- var courseRegistrationDisplaySchema = z41.object({
20486
- kind: z41.literal("course-registration"),
20487
- state: z41.literal("shell"),
20488
- className: z41.string().nullable(),
20489
- summaryButtonText: z41.string()
20712
+ var courseRegistrationDisplaySchema = z42.object({
20713
+ kind: z42.literal("course-registration"),
20714
+ state: z42.literal("shell"),
20715
+ className: z42.string().nullable(),
20716
+ summaryButtonText: z42.string()
20490
20717
  });
20491
- var courseRegistrationHydrationSchema = z41.object({
20718
+ var courseRegistrationHydrationSchema = z42.object({
20492
20719
  contentEntry: contentEntrySchema2.nullable().optional(),
20493
20720
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
20494
- courses: z41.array(publicCourseSchema).nullable().optional(),
20495
- showSessions: z41.boolean().optional(),
20496
- showPrice: z41.boolean().optional(),
20497
- showCapacity: z41.boolean().optional(),
20498
- showVenue: z41.boolean().optional(),
20499
- successMessage: z41.string().optional(),
20500
- waitlistMessage: z41.string().optional(),
20501
- membershipMessage: z41.string().optional(),
20721
+ courses: z42.array(publicCourseSchema).nullable().optional(),
20722
+ showSessions: z42.boolean().optional(),
20723
+ showPrice: z42.boolean().optional(),
20724
+ showCapacity: z42.boolean().optional(),
20725
+ showVenue: z42.boolean().optional(),
20726
+ successMessage: z42.string().optional(),
20727
+ waitlistMessage: z42.string().optional(),
20728
+ membershipMessage: z42.string().optional(),
20502
20729
  buttonVariant: registrationButtonVariantSchema.optional()
20503
20730
  });
20504
- var courseRegistrationRenderSchema = z41.object({
20731
+ var courseRegistrationRenderSchema = z42.object({
20505
20732
  display: courseRegistrationDisplaySchema,
20506
20733
  hydration: courseRegistrationHydrationSchema
20507
20734
  });
20508
- var courseRegistrationIslandMetaCodec = createZodCodec(z41.object({
20509
- siteId: z41.string().optional(),
20510
- apiBaseUrl: z41.string().optional(),
20511
- portalToken: z41.string().nullable().optional(),
20735
+ var courseRegistrationIslandMetaCodec = createZodCodec(z42.object({
20736
+ siteId: z42.string().optional(),
20737
+ apiBaseUrl: z42.string().optional(),
20738
+ portalToken: z42.string().nullable().optional(),
20512
20739
  stage: previewStageSchema.optional()
20513
20740
  }));
20514
20741
  var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -20768,7 +20995,7 @@ var courseRegistrationBlockDefinition = {
20768
20995
  };
20769
20996
 
20770
20997
  // ../blocks/src/system/blocks/event-details.ts
20771
- import { z as z42 } from "zod";
20998
+ import { z as z43 } from "zod";
20772
20999
  var eventDetailsManifest = createBlockManifest({
20773
21000
  id: "block.event-details",
20774
21001
  version: "1.0.0",
@@ -20900,37 +21127,37 @@ var eventDetailsManifest = createBlockManifest({
20900
21127
  })
20901
21128
  ]
20902
21129
  });
20903
- var occurrenceContextSchema2 = z42.object({
20904
- id: z42.string(),
20905
- seriesId: z42.string(),
20906
- startsAt: z42.string(),
20907
- endsAt: z42.string(),
20908
- timeZone: z42.string(),
20909
- capacityOverride: z42.number().nullable().optional(),
20910
- overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
21130
+ var occurrenceContextSchema2 = z43.object({
21131
+ id: z43.string(),
21132
+ seriesId: z43.string(),
21133
+ startsAt: z43.string(),
21134
+ endsAt: z43.string(),
21135
+ timeZone: z43.string(),
21136
+ capacityOverride: z43.number().nullable().optional(),
21137
+ overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
20911
21138
  }).nullable();
20912
- var eventAutoApplyDiscountPreviewBaseSchema = z42.object({
20913
- id: z42.string(),
20914
- publicLabel: z42.string(),
20915
- description: z42.string().nullable(),
20916
- minTicketsRequired: z42.number().nullable()
21139
+ var eventAutoApplyDiscountPreviewBaseSchema = z43.object({
21140
+ id: z43.string(),
21141
+ publicLabel: z43.string(),
21142
+ description: z43.string().nullable(),
21143
+ minTicketsRequired: z43.number().nullable()
20917
21144
  });
20918
- var eventAutoApplyDiscountPreviewSchema = z42.discriminatedUnion("discountType", [
21145
+ var eventAutoApplyDiscountPreviewSchema = z43.discriminatedUnion("discountType", [
20919
21146
  eventAutoApplyDiscountPreviewBaseSchema.extend({
20920
- discountType: z42.literal("percent"),
20921
- discountPercent: z42.number(),
20922
- discountAmountCents: z42.null()
21147
+ discountType: z43.literal("percent"),
21148
+ discountPercent: z43.number(),
21149
+ discountAmountCents: z43.null()
20923
21150
  }),
20924
21151
  eventAutoApplyDiscountPreviewBaseSchema.extend({
20925
- discountType: z42.literal("fixed"),
20926
- discountPercent: z42.null(),
20927
- discountAmountCents: z42.number()
21152
+ discountType: z43.literal("fixed"),
21153
+ discountPercent: z43.null(),
21154
+ discountAmountCents: z43.number()
20928
21155
  })
20929
21156
  ]);
20930
21157
  var eventDetailsBlockDefinition = {
20931
21158
  manifest: eventDetailsManifest,
20932
21159
  dataSchemas: {
20933
- eventDetailsData: z42.object({
21160
+ eventDetailsData: z43.object({
20934
21161
  events: publicEventsArraySchema,
20935
21162
  sitePasses: publicPassProductCollectionSchema,
20936
21163
  siteMemberships: publicMembershipProductCollectionSchema,
@@ -21185,18 +21412,7 @@ var eventSpotlightFields = [
21185
21412
  var eventSpotlightLayout = [
21186
21413
  styledSection({
21187
21414
  children: sectionContainer([
21188
- // Optional heading
21189
- text(
21190
- { as: "h2" },
21191
- bind("content.heading"),
21192
- when("content.heading")
21193
- ),
21194
- // Optional description
21195
- richText(
21196
- { className: "rb-prose rb-max-w-none" },
21197
- bind("content.description"),
21198
- when("content.description")
21199
- ),
21415
+ ...eventSectionHeaderLayoutNodes(),
21200
21416
  // Event spotlight component
21201
21417
  el("event-spotlight", {
21202
21418
  events: { $bind: { from: "data.events" } },
@@ -21257,7 +21473,7 @@ var eventSpotlightBlockDefinition = {
21257
21473
  };
21258
21474
 
21259
21475
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
21260
- import { z as z44 } from "zod";
21476
+ import { z as z45 } from "zod";
21261
21477
 
21262
21478
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
21263
21479
  var COLUMN_CLASSES = {
@@ -21289,16 +21505,16 @@ function getCardOrientation(layout) {
21289
21505
  }
21290
21506
 
21291
21507
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
21292
- import { z as z43 } from "zod";
21508
+ import { z as z44 } from "zod";
21293
21509
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
21294
- var eventPageSizeSchema = z43.union([
21295
- z43.literal(3),
21296
- z43.literal(6),
21297
- z43.literal(10),
21298
- z43.literal(12),
21299
- z43.literal(20),
21300
- z43.literal(24),
21301
- z43.literal(30)
21510
+ var eventPageSizeSchema = z44.union([
21511
+ z44.literal(3),
21512
+ z44.literal(6),
21513
+ z44.literal(10),
21514
+ z44.literal(12),
21515
+ z44.literal(20),
21516
+ z44.literal(24),
21517
+ z44.literal(30)
21302
21518
  ]);
21303
21519
  var eventPageSizeSet = new Set(eventPageSizeValues);
21304
21520
  function resolveEventPageSize(value, fallback = 12) {
@@ -21308,15 +21524,15 @@ function resolveEventPageSize(value, fallback = 12) {
21308
21524
  function resolveEventCalendarListPageSize(input) {
21309
21525
  return resolveEventPageSize(input.eventsPerPage);
21310
21526
  }
21311
- var eventListPaginationActionSchema = z43.discriminatedUnion("kind", [
21312
- z43.object({
21313
- kind: z43.literal("loadMore"),
21314
- label: z43.string()
21527
+ var eventListPaginationActionSchema = z44.discriminatedUnion("kind", [
21528
+ z44.object({
21529
+ kind: z44.literal("loadMore"),
21530
+ label: z44.string()
21315
21531
  }),
21316
- z43.object({
21317
- kind: z43.literal("seeAllLink"),
21318
- label: z43.string(),
21319
- href: z43.string()
21532
+ z44.object({
21533
+ kind: z44.literal("seeAllLink"),
21534
+ label: z44.string(),
21535
+ href: z44.string()
21320
21536
  })
21321
21537
  ]);
21322
21538
  function resolveEventListPaginationAction(input) {
@@ -21329,89 +21545,89 @@ function resolveEventListPaginationAction(input) {
21329
21545
  }
21330
21546
 
21331
21547
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
21332
- var legacyEventCardVariantSchema = z44.enum(["variant1", "variant2"]);
21333
- var eventCardVariantInputSchema = z44.union([
21548
+ var legacyEventCardVariantSchema = z45.enum(["variant1", "variant2"]);
21549
+ var eventCardVariantInputSchema = z45.union([
21334
21550
  cardVariantRoleSchema,
21335
21551
  legacyEventCardVariantSchema
21336
21552
  ]);
21337
- var cardOrientationSchema = z44.enum(["vertical", "horizontal"]);
21338
- var eventBlockKindSchema = z44.enum(eventBlockKindValues);
21339
- var eventSurfaceScopeSchema = z44.enum(eventSurfaceScopeValues);
21340
- var eventScheduleScopeSchema2 = z44.enum(eventScheduleScopeValues);
21341
- var eventListingSourceSchema = z44.object({
21342
- events: z44.array(publicEventSchema).nullable().optional(),
21343
- siteId: z44.string(),
21344
- apiBaseUrl: z44.string().optional(),
21553
+ var cardOrientationSchema = z45.enum(["vertical", "horizontal"]);
21554
+ var eventBlockKindSchema = z45.enum(eventBlockKindValues);
21555
+ var eventSurfaceScopeSchema = z45.enum(eventSurfaceScopeValues);
21556
+ var eventScheduleScopeSchema2 = z45.enum(eventScheduleScopeValues);
21557
+ var eventListingSourceSchema = z45.object({
21558
+ events: z45.array(publicEventSchema).nullable().optional(),
21559
+ siteId: z45.string(),
21560
+ apiBaseUrl: z45.string().optional(),
21345
21561
  stage: previewStageSchema.optional(),
21346
21562
  layout: eventLayoutSchema.optional(),
21347
21563
  columns: columnOptionSchema.optional(),
21348
- eventsPerPage: z44.string().optional(),
21349
- paginationMode: z44.enum(["loadMore", "seeAllLink"]).optional(),
21350
- seeAllUrl: z44.string().optional(),
21351
- loadMoreText: z44.string().optional(),
21564
+ eventsPerPage: z45.string().optional(),
21565
+ paginationMode: z45.enum(["loadMore", "seeAllLink"]).optional(),
21566
+ seeAllUrl: z45.string().optional(),
21567
+ loadMoreText: z45.string().optional(),
21352
21568
  cardVariant: eventCardVariantInputSchema.optional(),
21353
21569
  buttonVariant: eventButtonVariantSchema.optional(),
21354
- buttonText: z44.string().optional(),
21355
- showVenue: z44.boolean().optional(),
21356
- showMap: z44.boolean().optional(),
21357
- showCapacity: z44.boolean().optional(),
21358
- emptyMessage: z44.string().optional(),
21359
- className: z44.string().optional(),
21360
- showFilters: z44.boolean().nullable().optional(),
21570
+ buttonText: z45.string().optional(),
21571
+ showVenue: z45.boolean().optional(),
21572
+ showMap: z45.boolean().optional(),
21573
+ showCapacity: z45.boolean().optional(),
21574
+ emptyMessage: z45.string().optional(),
21575
+ className: z45.string().optional(),
21576
+ showFilters: z45.boolean().nullable().optional(),
21361
21577
  showCategoryFilter: filterAutoShowSchema.optional(),
21362
- showVenueFilter: z44.boolean().nullable().optional(),
21363
- showStaffFilter: z44.boolean().nullable().optional(),
21578
+ showVenueFilter: z45.boolean().nullable().optional(),
21579
+ showStaffFilter: z45.boolean().nullable().optional(),
21364
21580
  eventKind: eventBlockKindSchema.nullable().optional(),
21365
21581
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
21366
- filterEventPresets: z44.union([z44.string(), z44.array(z44.string())]).nullable().optional(),
21582
+ filterEventPresets: z45.union([z45.string(), z45.array(z45.string())]).nullable().optional(),
21367
21583
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
21368
- filterCategoryIds: z44.string().nullable().optional(),
21369
- filterStaffMemberId: z44.string().nullable().optional(),
21370
- filterVenueId: z44.string().nullable().optional()
21584
+ filterCategoryIds: z45.string().nullable().optional(),
21585
+ filterStaffMemberId: z45.string().nullable().optional(),
21586
+ filterVenueId: z45.string().nullable().optional()
21371
21587
  });
21372
- var eventListingDisplaySchema = z44.object({
21373
- kind: z44.literal("event-listing"),
21374
- state: z44.enum(["loading", "empty", "ready"]),
21588
+ var eventListingDisplaySchema = z45.object({
21589
+ kind: z45.literal("event-listing"),
21590
+ state: z45.enum(["loading", "empty", "ready"]),
21375
21591
  listLayout: eventLayoutSchema,
21376
- className: z44.string().nullable(),
21377
- emptyMessage: z44.string(),
21378
- loadingMessage: z44.string(),
21379
- containerClass: z44.string(),
21592
+ className: z45.string().nullable(),
21593
+ emptyMessage: z45.string(),
21594
+ loadingMessage: z45.string(),
21595
+ containerClass: z45.string(),
21380
21596
  cardVariant: cardVariantRoleSchema,
21381
21597
  buttonVariant: eventButtonVariantSchema,
21382
- buttonText: z44.string(),
21383
- showVenue: z44.boolean(),
21384
- showMap: z44.boolean(),
21385
- showCapacity: z44.boolean(),
21598
+ buttonText: z45.string(),
21599
+ showVenue: z45.boolean(),
21600
+ showMap: z45.boolean(),
21601
+ showCapacity: z45.boolean(),
21386
21602
  orientation: cardOrientationSchema,
21387
- events: z44.array(publicEventSchema)
21603
+ events: z45.array(publicEventSchema)
21388
21604
  });
21389
- var eventListingHydrationSchema = z44.object({
21390
- siteId: z44.string(),
21605
+ var eventListingHydrationSchema = z45.object({
21606
+ siteId: z45.string(),
21391
21607
  stage: previewStageSchema.optional(),
21392
21608
  eventsPerPage: eventPageSizeSchema,
21393
21609
  paginationAction: eventListPaginationActionSchema,
21394
- showFilters: z44.boolean(),
21610
+ showFilters: z45.boolean(),
21395
21611
  showCategoryFilter: filterAutoShowSchema,
21396
- showVenueFilter: z44.boolean(),
21397
- showStaffFilter: z44.boolean(),
21612
+ showVenueFilter: z45.boolean(),
21613
+ showStaffFilter: z45.boolean(),
21398
21614
  eventKind: eventBlockKindSchema,
21399
21615
  eventSurface: eventSurfaceScopeSchema,
21400
- filterEventPresets: z44.string().nullable(),
21616
+ filterEventPresets: z45.string().nullable(),
21401
21617
  scheduleScope: eventScheduleScopeSchema2,
21402
- filterCategoryIds: z44.string().nullable().optional(),
21403
- filterStaffMemberId: z44.string().nullable().optional(),
21404
- filterVenueId: z44.string().nullable().optional(),
21405
- fetchInitialEventsOnMount: z44.boolean()
21618
+ filterCategoryIds: z45.string().nullable().optional(),
21619
+ filterStaffMemberId: z45.string().nullable().optional(),
21620
+ filterVenueId: z45.string().nullable().optional(),
21621
+ fetchInitialEventsOnMount: z45.boolean()
21406
21622
  });
21407
- var eventListingRenderSchema = z44.object({
21623
+ var eventListingRenderSchema = z45.object({
21408
21624
  display: eventListingDisplaySchema,
21409
21625
  hydration: eventListingHydrationSchema
21410
21626
  });
21411
21627
  var eventListingIslandMetaCodec = createZodCodec(
21412
- z44.object({
21413
- siteId: z44.string(),
21414
- apiBaseUrl: z44.string().optional(),
21628
+ z45.object({
21629
+ siteId: z45.string(),
21630
+ apiBaseUrl: z45.string().optional(),
21415
21631
  stage: previewStageSchema.optional()
21416
21632
  })
21417
21633
  );
@@ -21651,18 +21867,7 @@ var eventListingAdditionalFields = [
21651
21867
  var eventListingLayout = [
21652
21868
  styledSection({
21653
21869
  children: sectionContainer([
21654
- // Optional heading
21655
- text(
21656
- { as: "h2" },
21657
- bind("content.heading"),
21658
- when("content.heading")
21659
- ),
21660
- // Optional description
21661
- richText(
21662
- { className: "rb-prose rb-max-w-none" },
21663
- bind("content.description"),
21664
- when("content.description")
21665
- ),
21870
+ ...eventSectionHeaderLayoutNodes(),
21666
21871
  // Event listing component with pagination
21667
21872
  el("event-listing", withApiBindings({
21668
21873
  events: { $bind: { from: "data.events" } },
@@ -21778,15 +21983,15 @@ var eventListingBlockDefinition = {
21778
21983
  };
21779
21984
 
21780
21985
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
21781
- import { z as z45 } from "zod";
21782
- var eventBlockKindSchema2 = z45.enum(eventBlockKindValues);
21783
- var eventSurfaceScopeSchema2 = z45.enum(eventSurfaceScopeValues);
21784
- var eventScheduleScopeSchema3 = z45.enum(eventScheduleScopeValues);
21785
- var eventCalendarSourceSchema = z45.object(
21986
+ import { z as z46 } from "zod";
21987
+ var eventBlockKindSchema2 = z46.enum(eventBlockKindValues);
21988
+ var eventSurfaceScopeSchema2 = z46.enum(eventSurfaceScopeValues);
21989
+ var eventScheduleScopeSchema3 = z46.enum(eventScheduleScopeValues);
21990
+ var eventCalendarSourceSchema = z46.object(
21786
21991
  {
21787
- events: z45.array(publicEventSchema).nullable().optional(),
21788
- siteId: z45.string(),
21789
- apiBaseUrl: z45.string().optional(),
21992
+ events: z46.array(publicEventSchema).nullable().optional(),
21993
+ siteId: z46.string(),
21994
+ apiBaseUrl: z46.string().optional(),
21790
21995
  stage: previewStageSchema.optional(),
21791
21996
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
21792
21997
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -21794,38 +21999,38 @@ var eventCalendarSourceSchema = z45.object(
21794
21999
  listColumns: columnOptionSchema.optional(),
21795
22000
  layout: eventLayoutSchema.optional(),
21796
22001
  columns: columnOptionSchema.optional(),
21797
- eventsPerPage: z45.string().optional(),
21798
- paginationMode: z45.enum(["loadMore", "seeAllLink"]).optional(),
21799
- seeAllUrl: z45.string().optional(),
21800
- loadMoreText: z45.string().optional(),
22002
+ eventsPerPage: z46.string().optional(),
22003
+ paginationMode: z46.enum(["loadMore", "seeAllLink"]).optional(),
22004
+ seeAllUrl: z46.string().optional(),
22005
+ loadMoreText: z46.string().optional(),
21801
22006
  startOfWeek: weekStartSchema.optional(),
21802
22007
  calendarTabViews: calendarTabViewsSchema.optional(),
21803
22008
  defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
21804
- showFilters: z45.boolean().nullable().optional(),
22009
+ showFilters: z46.boolean().nullable().optional(),
21805
22010
  showCategoryFilter: filterAutoShowSchema.optional(),
21806
- showVenueFilter: z45.boolean().nullable().optional(),
21807
- showStaffFilter: z45.boolean().nullable().optional(),
22011
+ showVenueFilter: z46.boolean().nullable().optional(),
22012
+ showStaffFilter: z46.boolean().nullable().optional(),
21808
22013
  kind: eventBlockKindSchema2.nullable().optional(),
21809
22014
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
21810
- filterEventPresets: z45.union([z45.string(), z45.array(z45.string())]).nullable().optional(),
22015
+ filterEventPresets: z46.union([z46.string(), z46.array(z46.string())]).nullable().optional(),
21811
22016
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
21812
- filterCategoryIds: z45.union([z45.string(), z45.array(z45.string())]).nullable().optional(),
21813
- filterStaffMemberId: z45.string().nullable().optional(),
21814
- filterVenueId: z45.string().nullable().optional(),
22017
+ filterCategoryIds: z46.union([z46.string(), z46.array(z46.string())]).nullable().optional(),
22018
+ filterStaffMemberId: z46.string().nullable().optional(),
22019
+ filterVenueId: z46.string().nullable().optional(),
21815
22020
  buttonVariant: eventButtonVariantSchema.optional(),
21816
- buttonText: z45.string().optional(),
21817
- showVenue: z45.boolean().nullable().optional(),
21818
- showMap: z45.boolean().nullable().optional(),
21819
- showCapacity: z45.boolean().nullable().optional(),
21820
- emptyMessage: z45.string().optional(),
21821
- className: z45.string().optional()
22021
+ buttonText: z46.string().optional(),
22022
+ showVenue: z46.boolean().nullable().optional(),
22023
+ showMap: z46.boolean().nullable().optional(),
22024
+ showCapacity: z46.boolean().nullable().optional(),
22025
+ emptyMessage: z46.string().optional(),
22026
+ className: z46.string().optional()
21822
22027
  }
21823
22028
  );
21824
- var eventCalendarDisplaySchema = z45.object({
21825
- kind: z45.literal("event-calendar"),
22029
+ var eventCalendarDisplaySchema = z46.object({
22030
+ kind: z46.literal("event-calendar"),
21826
22031
  displayMode: eventCalendarDisplayModeSchema,
21827
- className: z45.string().nullable(),
21828
- events: z45.array(publicEventSchema),
22032
+ className: z46.string().nullable(),
22033
+ events: z46.array(publicEventSchema),
21829
22034
  listLayout: eventLayoutSchema,
21830
22035
  listColumns: columnOptionSchema,
21831
22036
  eventsPerPage: eventPageSizeSchema,
@@ -21833,41 +22038,41 @@ var eventCalendarDisplaySchema = z45.object({
21833
22038
  startOfWeek: weekStartSchema,
21834
22039
  calendarTabViews: calendarTabViewsSchema,
21835
22040
  defaultCalendarView: eventCalendarDefaultViewSchema,
21836
- showFilters: z45.boolean(),
22041
+ showFilters: z46.boolean(),
21837
22042
  showCategoryFilter: filterAutoShowSchema,
21838
- showVenueFilter: z45.boolean(),
21839
- showStaffFilter: z45.boolean(),
22043
+ showVenueFilter: z46.boolean(),
22044
+ showStaffFilter: z46.boolean(),
21840
22045
  eventKind: eventBlockKindSchema2,
21841
22046
  eventSurface: eventSurfaceScopeSchema2,
21842
- filterEventPresets: z45.string().nullable(),
22047
+ filterEventPresets: z46.string().nullable(),
21843
22048
  scheduleScope: eventScheduleScopeSchema3,
21844
- filterCategoryIds: z45.string().nullable(),
21845
- filterStaffMemberId: z45.string().nullable(),
21846
- filterVenueId: z45.string().nullable(),
22049
+ filterCategoryIds: z46.string().nullable(),
22050
+ filterStaffMemberId: z46.string().nullable(),
22051
+ filterVenueId: z46.string().nullable(),
21847
22052
  buttonVariant: eventButtonVariantSchema,
21848
- buttonText: z45.string(),
21849
- showVenue: z45.boolean(),
21850
- showMap: z45.boolean(),
21851
- showCapacity: z45.boolean(),
21852
- emptyMessage: z45.string()
21853
- });
21854
- var eventCalendarHydrationSchema = z45.object({
21855
- siteId: z45.string(),
22053
+ buttonText: z46.string(),
22054
+ showVenue: z46.boolean(),
22055
+ showMap: z46.boolean(),
22056
+ showCapacity: z46.boolean(),
22057
+ emptyMessage: z46.string()
22058
+ });
22059
+ var eventCalendarHydrationSchema = z46.object({
22060
+ siteId: z46.string(),
21856
22061
  stage: previewStageSchema.optional(),
21857
- prefetchedEvents: z45.boolean(),
22062
+ prefetchedEvents: z46.boolean(),
21858
22063
  eventKind: eventBlockKindSchema2,
21859
22064
  eventSurface: eventSurfaceScopeSchema2,
21860
- filterEventPresets: z45.string().nullable(),
22065
+ filterEventPresets: z46.string().nullable(),
21861
22066
  scheduleScope: eventScheduleScopeSchema3
21862
22067
  });
21863
- var eventCalendarRenderSchema = z45.object({
22068
+ var eventCalendarRenderSchema = z46.object({
21864
22069
  display: eventCalendarDisplaySchema,
21865
22070
  hydration: eventCalendarHydrationSchema
21866
22071
  });
21867
22072
  var eventCalendarIslandMetaCodec = createZodCodec(
21868
- z45.object({
21869
- siteId: z45.string(),
21870
- apiBaseUrl: z45.string().optional(),
22073
+ z46.object({
22074
+ siteId: z46.string(),
22075
+ apiBaseUrl: z46.string().optional(),
21871
22076
  stage: previewStageSchema.optional()
21872
22077
  })
21873
22078
  );
@@ -21987,14 +22192,7 @@ var eventCalendarLayout = [
21987
22192
  styledSection({
21988
22193
  children: sectionContainer(
21989
22194
  [
21990
- // Optional heading
21991
- text({ as: "h2" }, bind("content.heading"), when("content.heading")),
21992
- // Optional description
21993
- richText(
21994
- { className: "rb-prose rb-max-w-none" },
21995
- bind("content.description"),
21996
- when("content.description")
21997
- ),
22195
+ ...eventSectionHeaderLayoutNodes(),
21998
22196
  // Event calendar component (handles all display modes)
21999
22197
  el(
22000
22198
  "event-calendar",
@@ -22639,7 +22837,7 @@ var eventCalendarBlockDefinition = {
22639
22837
  };
22640
22838
 
22641
22839
  // ../blocks/src/system/blocks/offerings-preview/index.ts
22642
- import { z as z46 } from "zod";
22840
+ import { z as z47 } from "zod";
22643
22841
 
22644
22842
  // ../blocks/src/system/blocks/offerings-preview/model.ts
22645
22843
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -22731,13 +22929,13 @@ function isRecord5(value) {
22731
22929
  }
22732
22930
 
22733
22931
  // ../blocks/src/system/blocks/offerings-preview/index.ts
22734
- var publicRouteCandidatesSchema = z46.object({
22735
- routes: z46.array(z46.object({
22736
- entityId: z46.string(),
22737
- path: z46.string(),
22738
- title: z46.string(),
22739
- kind: z46.enum(["page", "content"]),
22740
- contentTypeKey: z46.string().nullable().optional()
22932
+ var publicRouteCandidatesSchema = z47.object({
22933
+ routes: z47.array(z47.object({
22934
+ entityId: z47.string(),
22935
+ path: z47.string(),
22936
+ title: z47.string(),
22937
+ kind: z47.enum(["page", "content"]),
22938
+ contentTypeKey: z47.string().nullable().optional()
22741
22939
  }))
22742
22940
  });
22743
22941
  var groupOverrideFields = [
@@ -23135,7 +23333,7 @@ function isRecord6(value) {
23135
23333
  }
23136
23334
 
23137
23335
  // ../blocks/src/system/blocks/embed.ts
23138
- import { z as z47 } from "zod";
23336
+ import { z as z48 } from "zod";
23139
23337
  var embedFields = [
23140
23338
  // Section heading
23141
23339
  parseFieldDefinition({
@@ -23366,18 +23564,18 @@ var embedManifest = createBlockManifest({
23366
23564
  spacing: "lg"
23367
23565
  }
23368
23566
  });
23369
- var embedEntrySchema = z47.object({
23370
- id: z47.string(),
23371
- identifier: z47.string(),
23372
- title: z47.string(),
23373
- slug: z47.string().nullable().optional(),
23374
- content: z47.record(z47.string(), z47.unknown()).optional(),
23375
- publishedAt: z47.string().nullable().optional()
23567
+ var embedEntrySchema = z48.object({
23568
+ id: z48.string(),
23569
+ identifier: z48.string(),
23570
+ title: z48.string(),
23571
+ slug: z48.string().nullable().optional(),
23572
+ content: z48.record(z48.string(), z48.unknown()).optional(),
23573
+ publishedAt: z48.string().nullable().optional()
23376
23574
  });
23377
23575
  var embedBlockDefinition = {
23378
23576
  manifest: embedManifest,
23379
23577
  dataSchemas: {
23380
- entries: z47.array(embedEntrySchema).optional()
23578
+ entries: z48.array(embedEntrySchema).optional()
23381
23579
  },
23382
23580
  dataLoaders: {
23383
23581
  entries: {
@@ -24561,49 +24759,49 @@ var fileDownloadBlockDefinition = {
24561
24759
  };
24562
24760
 
24563
24761
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
24564
- import { z as z50 } from "zod";
24762
+ import { z as z51 } from "zod";
24565
24763
 
24566
24764
  // ../blocks/src/system/blocks/products/shared.ts
24567
- import { z as z48 } from "zod";
24568
- var publicProductVariantSchema = z48.object({
24569
- id: z48.string(),
24570
- title: z48.string(),
24571
- sku: z48.string().nullable(),
24572
- priceCents: z48.number(),
24573
- stockQuantity: z48.number().nullable(),
24574
- soldOut: z48.boolean()
24575
- });
24576
- var publicProductSchema = z48.object({
24577
- id: z48.string(),
24578
- contentEntryId: z48.string().nullable(),
24579
- title: z48.string(),
24580
- slug: z48.string(),
24581
- path: z48.string().nullable(),
24582
- status: z48.enum(["draft", "active"]),
24583
- priceCents: z48.number(),
24584
- currency: z48.string(),
24585
- productType: z48.enum(["physical", "digital"]),
24586
- requiresShipping: z48.boolean(),
24587
- hasVariants: z48.boolean(),
24588
- trackInventory: z48.boolean(),
24589
- soldOut: z48.boolean(),
24590
- category: z48.object({
24591
- id: z48.string(),
24592
- name: z48.string(),
24593
- slug: z48.string()
24765
+ import { z as z49 } from "zod";
24766
+ var publicProductVariantSchema = z49.object({
24767
+ id: z49.string(),
24768
+ title: z49.string(),
24769
+ sku: z49.string().nullable(),
24770
+ priceCents: z49.number(),
24771
+ stockQuantity: z49.number().nullable(),
24772
+ soldOut: z49.boolean()
24773
+ });
24774
+ var publicProductSchema = z49.object({
24775
+ id: z49.string(),
24776
+ contentEntryId: z49.string().nullable(),
24777
+ title: z49.string(),
24778
+ slug: z49.string(),
24779
+ path: z49.string().nullable(),
24780
+ status: z49.enum(["draft", "active"]),
24781
+ priceCents: z49.number(),
24782
+ currency: z49.string(),
24783
+ productType: z49.enum(["physical", "digital"]),
24784
+ requiresShipping: z49.boolean(),
24785
+ hasVariants: z49.boolean(),
24786
+ trackInventory: z49.boolean(),
24787
+ soldOut: z49.boolean(),
24788
+ category: z49.object({
24789
+ id: z49.string(),
24790
+ name: z49.string(),
24791
+ slug: z49.string()
24594
24792
  }).nullable(),
24595
- summary: z48.string().nullable(),
24596
- body: z48.unknown().nullable(),
24597
- gallery: z48.array(
24598
- z48.object({
24599
- url: z48.string(),
24600
- alt: z48.string().nullable()
24793
+ summary: z49.string().nullable(),
24794
+ body: z49.unknown().nullable(),
24795
+ gallery: z49.array(
24796
+ z49.object({
24797
+ url: z49.string(),
24798
+ alt: z49.string().nullable()
24601
24799
  })
24602
24800
  ),
24603
- variants: z48.array(publicProductVariantSchema)
24801
+ variants: z49.array(publicProductVariantSchema)
24604
24802
  });
24605
- var publicProductsResponseSchema = z48.object({
24606
- products: z48.array(publicProductSchema)
24803
+ var publicProductsResponseSchema = z49.object({
24804
+ products: z49.array(publicProductSchema)
24607
24805
  });
24608
24806
 
24609
24807
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -24667,27 +24865,27 @@ function deriveCreditProductLabels(products, options = {}) {
24667
24865
  }
24668
24866
 
24669
24867
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
24670
- import { z as z49 } from "zod";
24671
- var storedProductCartItemSchema = z49.object({
24672
- kind: z49.literal("product"),
24673
- productId: z49.string().min(1),
24674
- productCategoryId: z49.string().min(1).optional().nullable(),
24675
- variantId: z49.string().min(1).optional().nullable(),
24676
- title: z49.string().min(1),
24677
- variantTitle: z49.string().optional().nullable(),
24678
- quantity: z49.number().finite(),
24679
- unitPriceCents: z49.number().finite(),
24680
- currency: z49.string().min(1),
24681
- imageUrl: z49.string().optional().nullable(),
24682
- soldOut: z49.boolean().optional()
24683
- });
24684
- var storedPassCartItemSchema = z49.object({
24685
- kind: z49.literal("pass"),
24686
- passId: z49.string().min(1),
24687
- title: z49.string().min(1),
24688
- quantity: z49.number().finite().optional(),
24689
- unitPriceCents: z49.number().finite(),
24690
- currency: z49.string().min(1)
24868
+ import { z as z50 } from "zod";
24869
+ var storedProductCartItemSchema = z50.object({
24870
+ kind: z50.literal("product"),
24871
+ productId: z50.string().min(1),
24872
+ productCategoryId: z50.string().min(1).optional().nullable(),
24873
+ variantId: z50.string().min(1).optional().nullable(),
24874
+ title: z50.string().min(1),
24875
+ variantTitle: z50.string().optional().nullable(),
24876
+ quantity: z50.number().finite(),
24877
+ unitPriceCents: z50.number().finite(),
24878
+ currency: z50.string().min(1),
24879
+ imageUrl: z50.string().optional().nullable(),
24880
+ soldOut: z50.boolean().optional()
24881
+ });
24882
+ var storedPassCartItemSchema = z50.object({
24883
+ kind: z50.literal("pass"),
24884
+ passId: z50.string().min(1),
24885
+ title: z50.string().min(1),
24886
+ quantity: z50.number().finite().optional(),
24887
+ unitPriceCents: z50.number().finite(),
24888
+ currency: z50.string().min(1)
24691
24889
  });
24692
24890
  function deriveCommerceCheckoutState(state) {
24693
24891
  if (state.items.length === 0) {
@@ -24921,214 +25119,214 @@ function formatValidity(days) {
24921
25119
  }
24922
25120
 
24923
25121
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
24924
- var shopModeSchema = z50.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
24925
- var contentEntrySchema3 = z50.object({
24926
- id: z50.string().nullable().optional(),
24927
- slug: z50.string().nullable().optional()
25122
+ var shopModeSchema = z51.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
25123
+ var contentEntrySchema3 = z51.object({
25124
+ id: z51.string().nullable().optional(),
25125
+ slug: z51.string().nullable().optional()
24928
25126
  }).nullable();
24929
- var shopSourceSchema = z50.object({
24930
- className: z50.string().nullable().optional(),
25127
+ var shopSourceSchema = z51.object({
25128
+ className: z51.string().nullable().optional(),
24931
25129
  mode: shopModeSchema.optional(),
24932
- heading: z50.string().nullable().optional(),
24933
- productSlug: z50.string().nullable().optional(),
24934
- showPasses: z50.boolean().optional(),
24935
- showMemberships: z50.boolean().optional(),
24936
- layout: z50.enum(["grid", "list"]).optional(),
24937
- columns: z50.string().optional(),
24938
- showDescriptions: z50.boolean().optional(),
24939
- showSummary: z50.boolean().optional(),
24940
- showBody: z50.boolean().optional(),
24941
- showPrices: z50.boolean().optional(),
24942
- showValidityPeriod: z50.boolean().optional(),
24943
- showPricePerCredit: z50.boolean().nullable().optional(),
24944
- passesHeading: z50.string().optional(),
24945
- membershipsHeading: z50.string().optional(),
24946
- buyButtonText: z50.string().optional(),
24947
- addButtonText: z50.string().optional(),
24948
- passPurchaseMode: z50.enum(["add_to_cart", "buy_now"]).optional(),
24949
- subscribeButtonText: z50.string().optional(),
24950
- emptyStateText: z50.string().optional(),
24951
- checkoutButtonText: z50.string().optional(),
24952
- clearButtonText: z50.string().optional(),
24953
- submitButtonText: z50.string().optional(),
25130
+ heading: z51.string().nullable().optional(),
25131
+ productSlug: z51.string().nullable().optional(),
25132
+ showPasses: z51.boolean().optional(),
25133
+ showMemberships: z51.boolean().optional(),
25134
+ layout: z51.enum(["grid", "list"]).optional(),
25135
+ columns: z51.string().optional(),
25136
+ showDescriptions: z51.boolean().optional(),
25137
+ showSummary: z51.boolean().optional(),
25138
+ showBody: z51.boolean().optional(),
25139
+ showPrices: z51.boolean().optional(),
25140
+ showValidityPeriod: z51.boolean().optional(),
25141
+ showPricePerCredit: z51.boolean().nullable().optional(),
25142
+ passesHeading: z51.string().optional(),
25143
+ membershipsHeading: z51.string().optional(),
25144
+ buyButtonText: z51.string().optional(),
25145
+ addButtonText: z51.string().optional(),
25146
+ passPurchaseMode: z51.enum(["add_to_cart", "buy_now"]).optional(),
25147
+ subscribeButtonText: z51.string().optional(),
25148
+ emptyStateText: z51.string().optional(),
25149
+ checkoutButtonText: z51.string().optional(),
25150
+ clearButtonText: z51.string().optional(),
25151
+ submitButtonText: z51.string().optional(),
24954
25152
  contentEntry: contentEntrySchema3.optional(),
24955
- passes: z50.array(publicPassProductSchema).nullable().optional(),
24956
- memberships: z50.array(publicMembershipProductSchema).nullable().optional(),
24957
- products: z50.array(publicProductSchema).nullable().optional(),
24958
- siteId: z50.string().optional(),
24959
- apiBaseUrl: z50.string().optional(),
25153
+ passes: z51.array(publicPassProductSchema).nullable().optional(),
25154
+ memberships: z51.array(publicMembershipProductSchema).nullable().optional(),
25155
+ products: z51.array(publicProductSchema).nullable().optional(),
25156
+ siteId: z51.string().optional(),
25157
+ apiBaseUrl: z51.string().optional(),
24960
25158
  stage: previewStageSchema.optional()
24961
25159
  });
24962
- var productVariantOptionDisplaySchema = z50.object({
24963
- id: z50.string(),
24964
- label: z50.string(),
24965
- soldOut: z50.boolean()
24966
- });
24967
- var productCardDisplaySchema = z50.object({
24968
- productId: z50.string(),
24969
- title: z50.string(),
24970
- path: z50.string().nullable(),
24971
- summary: z50.string().nullable(),
24972
- priceLabel: z50.string().nullable(),
24973
- image: z50.object({
24974
- url: z50.string(),
24975
- alt: z50.string().nullable()
25160
+ var productVariantOptionDisplaySchema = z51.object({
25161
+ id: z51.string(),
25162
+ label: z51.string(),
25163
+ soldOut: z51.boolean()
25164
+ });
25165
+ var productCardDisplaySchema = z51.object({
25166
+ productId: z51.string(),
25167
+ title: z51.string(),
25168
+ path: z51.string().nullable(),
25169
+ summary: z51.string().nullable(),
25170
+ priceLabel: z51.string().nullable(),
25171
+ image: z51.object({
25172
+ url: z51.string(),
25173
+ alt: z51.string().nullable()
24976
25174
  }).nullable(),
24977
- variantOptions: z50.array(productVariantOptionDisplaySchema),
24978
- selectedVariantId: z50.string().nullable(),
24979
- selectionLabel: z50.string(),
24980
- actionLabel: z50.string(),
24981
- soldOut: z50.boolean()
24982
- });
24983
- var productListDisplaySchema = z50.object({
24984
- kind: z50.literal("product-list"),
24985
- state: z50.enum(["empty", "ready"]),
24986
- heading: z50.string().nullable(),
24987
- className: z50.string().nullable(),
24988
- layout: z50.enum(["grid", "list"]),
24989
- columns: z50.string(),
24990
- emptyMessage: z50.string(),
24991
- cards: z50.array(productCardDisplaySchema)
24992
- });
24993
- var productDetailDisplaySchema = z50.discriminatedUnion("state", [
24994
- z50.object({
24995
- kind: z50.literal("product-detail"),
24996
- state: z50.literal("empty"),
24997
- heading: z50.string().nullable(),
24998
- className: z50.string().nullable(),
24999
- emptyMessage: z50.string()
25175
+ variantOptions: z51.array(productVariantOptionDisplaySchema),
25176
+ selectedVariantId: z51.string().nullable(),
25177
+ selectionLabel: z51.string(),
25178
+ actionLabel: z51.string(),
25179
+ soldOut: z51.boolean()
25180
+ });
25181
+ var productListDisplaySchema = z51.object({
25182
+ kind: z51.literal("product-list"),
25183
+ state: z51.enum(["empty", "ready"]),
25184
+ heading: z51.string().nullable(),
25185
+ className: z51.string().nullable(),
25186
+ layout: z51.enum(["grid", "list"]),
25187
+ columns: z51.string(),
25188
+ emptyMessage: z51.string(),
25189
+ cards: z51.array(productCardDisplaySchema)
25190
+ });
25191
+ var productDetailDisplaySchema = z51.discriminatedUnion("state", [
25192
+ z51.object({
25193
+ kind: z51.literal("product-detail"),
25194
+ state: z51.literal("empty"),
25195
+ heading: z51.string().nullable(),
25196
+ className: z51.string().nullable(),
25197
+ emptyMessage: z51.string()
25000
25198
  }),
25001
- z50.object({
25002
- kind: z50.literal("product-detail"),
25003
- state: z50.literal("ready"),
25004
- heading: z50.string().nullable(),
25005
- className: z50.string().nullable(),
25006
- title: z50.string(),
25007
- priceLabel: z50.string(),
25008
- summary: z50.string().nullable(),
25009
- categoryLabel: z50.string().nullable(),
25010
- gallery: z50.array(z50.object({
25011
- url: z50.string(),
25012
- alt: z50.string().nullable()
25199
+ z51.object({
25200
+ kind: z51.literal("product-detail"),
25201
+ state: z51.literal("ready"),
25202
+ heading: z51.string().nullable(),
25203
+ className: z51.string().nullable(),
25204
+ title: z51.string(),
25205
+ priceLabel: z51.string(),
25206
+ summary: z51.string().nullable(),
25207
+ categoryLabel: z51.string().nullable(),
25208
+ gallery: z51.array(z51.object({
25209
+ url: z51.string(),
25210
+ alt: z51.string().nullable()
25013
25211
  })),
25014
- variantOptions: z50.array(productVariantOptionDisplaySchema),
25015
- selectedVariantId: z50.string().nullable(),
25016
- selectionLabel: z50.string(),
25017
- actionLabel: z50.string(),
25018
- soldOut: z50.boolean(),
25019
- body: z50.unknown().nullable()
25212
+ variantOptions: z51.array(productVariantOptionDisplaySchema),
25213
+ selectedVariantId: z51.string().nullable(),
25214
+ selectionLabel: z51.string(),
25215
+ actionLabel: z51.string(),
25216
+ soldOut: z51.boolean(),
25217
+ body: z51.unknown().nullable()
25020
25218
  })
25021
25219
  ]);
25022
- var passCardDisplaySchema = z50.object({
25023
- id: z50.string(),
25024
- title: z50.string(),
25025
- description: z50.string().nullable(),
25026
- priceLabel: z50.string(),
25027
- creditsLabel: z50.string(),
25028
- perCreditLabel: z50.string().nullable(),
25029
- validityLabel: z50.string().nullable(),
25030
- actionLabel: z50.string()
25031
- });
25032
- var membershipCardDisplaySchema = z50.object({
25033
- id: z50.string(),
25034
- title: z50.string(),
25035
- description: z50.string().nullable(),
25036
- priceLabel: z50.string(),
25037
- intervalLabel: z50.string(),
25038
- actionLabel: z50.string()
25039
- });
25040
- var passesMembershipsDisplaySchema = z50.object({
25041
- kind: z50.literal("passes-memberships"),
25042
- state: z50.enum(["empty", "ready"]),
25043
- className: z50.string().nullable(),
25044
- layout: z50.enum(["grid", "list"]),
25045
- columns: z50.string(),
25046
- emptyMessage: z50.string(),
25047
- passesHeading: z50.string(),
25048
- membershipsHeading: z50.string(),
25049
- passes: z50.array(passCardDisplaySchema),
25050
- memberships: z50.array(membershipCardDisplaySchema)
25051
- });
25052
- var cartLineDisplaySchema = z50.object({
25053
- key: z50.string(),
25054
- title: z50.string(),
25055
- priceLabel: z50.string(),
25056
- quantity: z50.number(),
25057
- quantityEditable: z50.boolean()
25058
- });
25059
- var cartDisplaySchema = z50.object({
25060
- kind: z50.literal("cart"),
25061
- state: z50.enum(["empty", "ready"]),
25062
- heading: z50.string().nullable(),
25063
- className: z50.string().nullable(),
25064
- emptyMessage: z50.string(),
25065
- supportText: z50.string().nullable(),
25066
- items: z50.array(cartLineDisplaySchema),
25067
- subtotalLabel: z50.string().nullable(),
25068
- checkoutButtonText: z50.string(),
25069
- clearButtonText: z50.string()
25070
- });
25071
- var checkoutDisplaySchema = z50.object({
25072
- kind: z50.literal("checkout"),
25073
- state: z50.enum(["empty", "blocked", "ready"]),
25074
- heading: z50.string().nullable(),
25075
- className: z50.string().nullable(),
25076
- message: z50.string().nullable(),
25077
- submitButtonText: z50.string()
25078
- });
25079
- var passesMembershipsHydrationSchema = z50.object({
25080
- passes: z50.array(publicPassProductSchema),
25081
- memberships: z50.array(publicMembershipProductSchema),
25082
- passPurchaseMode: z50.enum(["add_to_cart", "buy_now"])
25083
- });
25084
- var productListHydrationSchema = z50.object({
25085
- products: z50.array(publicProductSchema),
25086
- showSummary: z50.boolean(),
25087
- showPrices: z50.boolean(),
25088
- addButtonText: z50.string()
25089
- });
25090
- var productDetailHydrationSchema = z50.object({
25091
- products: z50.array(publicProductSchema),
25092
- productId: z50.string().nullable(),
25093
- showSummary: z50.boolean(),
25094
- showBody: z50.boolean(),
25095
- addButtonText: z50.string()
25096
- });
25097
- var cartHydrationSchema = z50.object({
25098
- emptyStateText: z50.string(),
25099
- checkoutButtonText: z50.string(),
25100
- clearButtonText: z50.string()
25101
- });
25102
- var checkoutHydrationSchema = z50.object({
25103
- emptyStateText: z50.string(),
25104
- submitButtonText: z50.string()
25105
- });
25106
- var passesMembershipsRenderSchema = z50.object({
25220
+ var passCardDisplaySchema = z51.object({
25221
+ id: z51.string(),
25222
+ title: z51.string(),
25223
+ description: z51.string().nullable(),
25224
+ priceLabel: z51.string(),
25225
+ creditsLabel: z51.string(),
25226
+ perCreditLabel: z51.string().nullable(),
25227
+ validityLabel: z51.string().nullable(),
25228
+ actionLabel: z51.string()
25229
+ });
25230
+ var membershipCardDisplaySchema = z51.object({
25231
+ id: z51.string(),
25232
+ title: z51.string(),
25233
+ description: z51.string().nullable(),
25234
+ priceLabel: z51.string(),
25235
+ intervalLabel: z51.string(),
25236
+ actionLabel: z51.string()
25237
+ });
25238
+ var passesMembershipsDisplaySchema = z51.object({
25239
+ kind: z51.literal("passes-memberships"),
25240
+ state: z51.enum(["empty", "ready"]),
25241
+ className: z51.string().nullable(),
25242
+ layout: z51.enum(["grid", "list"]),
25243
+ columns: z51.string(),
25244
+ emptyMessage: z51.string(),
25245
+ passesHeading: z51.string(),
25246
+ membershipsHeading: z51.string(),
25247
+ passes: z51.array(passCardDisplaySchema),
25248
+ memberships: z51.array(membershipCardDisplaySchema)
25249
+ });
25250
+ var cartLineDisplaySchema = z51.object({
25251
+ key: z51.string(),
25252
+ title: z51.string(),
25253
+ priceLabel: z51.string(),
25254
+ quantity: z51.number(),
25255
+ quantityEditable: z51.boolean()
25256
+ });
25257
+ var cartDisplaySchema = z51.object({
25258
+ kind: z51.literal("cart"),
25259
+ state: z51.enum(["empty", "ready"]),
25260
+ heading: z51.string().nullable(),
25261
+ className: z51.string().nullable(),
25262
+ emptyMessage: z51.string(),
25263
+ supportText: z51.string().nullable(),
25264
+ items: z51.array(cartLineDisplaySchema),
25265
+ subtotalLabel: z51.string().nullable(),
25266
+ checkoutButtonText: z51.string(),
25267
+ clearButtonText: z51.string()
25268
+ });
25269
+ var checkoutDisplaySchema = z51.object({
25270
+ kind: z51.literal("checkout"),
25271
+ state: z51.enum(["empty", "blocked", "ready"]),
25272
+ heading: z51.string().nullable(),
25273
+ className: z51.string().nullable(),
25274
+ message: z51.string().nullable(),
25275
+ submitButtonText: z51.string()
25276
+ });
25277
+ var passesMembershipsHydrationSchema = z51.object({
25278
+ passes: z51.array(publicPassProductSchema),
25279
+ memberships: z51.array(publicMembershipProductSchema),
25280
+ passPurchaseMode: z51.enum(["add_to_cart", "buy_now"])
25281
+ });
25282
+ var productListHydrationSchema = z51.object({
25283
+ products: z51.array(publicProductSchema),
25284
+ showSummary: z51.boolean(),
25285
+ showPrices: z51.boolean(),
25286
+ addButtonText: z51.string()
25287
+ });
25288
+ var productDetailHydrationSchema = z51.object({
25289
+ products: z51.array(publicProductSchema),
25290
+ productId: z51.string().nullable(),
25291
+ showSummary: z51.boolean(),
25292
+ showBody: z51.boolean(),
25293
+ addButtonText: z51.string()
25294
+ });
25295
+ var cartHydrationSchema = z51.object({
25296
+ emptyStateText: z51.string(),
25297
+ checkoutButtonText: z51.string(),
25298
+ clearButtonText: z51.string()
25299
+ });
25300
+ var checkoutHydrationSchema = z51.object({
25301
+ emptyStateText: z51.string(),
25302
+ submitButtonText: z51.string()
25303
+ });
25304
+ var passesMembershipsRenderSchema = z51.object({
25107
25305
  display: passesMembershipsDisplaySchema,
25108
25306
  hydration: passesMembershipsHydrationSchema
25109
25307
  });
25110
- var productListRenderSchema = z50.object({
25308
+ var productListRenderSchema = z51.object({
25111
25309
  display: productListDisplaySchema,
25112
25310
  hydration: productListHydrationSchema
25113
25311
  });
25114
- var productDetailRenderSchema = z50.object({
25312
+ var productDetailRenderSchema = z51.object({
25115
25313
  display: productDetailDisplaySchema,
25116
25314
  hydration: productDetailHydrationSchema
25117
25315
  });
25118
- var cartRenderSchema = z50.object({
25316
+ var cartRenderSchema = z51.object({
25119
25317
  display: cartDisplaySchema,
25120
25318
  hydration: cartHydrationSchema
25121
25319
  });
25122
- var checkoutRenderSchema = z50.object({
25320
+ var checkoutRenderSchema = z51.object({
25123
25321
  display: checkoutDisplaySchema,
25124
25322
  hydration: checkoutHydrationSchema
25125
25323
  });
25126
25324
  function resolveShowPricePerCredit(source) {
25127
25325
  return source.showPricePerCredit ?? true;
25128
25326
  }
25129
- var shopIslandMetaCodec = createZodCodec(z50.object({
25130
- siteId: z50.string().optional(),
25131
- apiBaseUrl: z50.string().optional(),
25327
+ var shopIslandMetaCodec = createZodCodec(z51.object({
25328
+ siteId: z51.string().optional(),
25329
+ apiBaseUrl: z51.string().optional(),
25132
25330
  stage: previewStageSchema.optional()
25133
25331
  }));
25134
25332
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -25531,7 +25729,7 @@ var shopBlockDefinition = {
25531
25729
  };
25532
25730
 
25533
25731
  // ../blocks/src/system/blocks/product-list.ts
25534
- import { z as z51 } from "zod";
25732
+ import { z as z52 } from "zod";
25535
25733
  var productListManifest = createBlockManifest({
25536
25734
  id: "block.product-list",
25537
25735
  version: "1.0.0",
@@ -25664,7 +25862,7 @@ var productListBlockDefinition = {
25664
25862
  }
25665
25863
  }
25666
25864
  };
25667
- var productListDataSchema = z51.object({
25865
+ var productListDataSchema = z52.object({
25668
25866
  products: publicProductsResponseSchema.optional()
25669
25867
  });
25670
25868
 
@@ -25925,72 +26123,72 @@ var checkoutBlockDefinition = {
25925
26123
  };
25926
26124
 
25927
26125
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
25928
- import { z as z52 } from "zod";
25929
- var publicGiftCardOfferSchema = z52.object({
25930
- id: z52.string(),
25931
- kind: z52.literal("gift_card"),
25932
- title: z52.string(),
25933
- description: z52.string().nullable(),
25934
- sortOrder: z52.number().int(),
25935
- giftCard: z52.object({
25936
- fixedDenominations: z52.array(z52.number().int().positive()),
25937
- customAmountEnabled: z52.boolean(),
25938
- customAmountMinCents: z52.number().int().positive(),
25939
- customAmountMaxCents: z52.number().int().positive()
26126
+ import { z as z53 } from "zod";
26127
+ var publicGiftCardOfferSchema = z53.object({
26128
+ id: z53.string(),
26129
+ kind: z53.literal("gift_card"),
26130
+ title: z53.string(),
26131
+ description: z53.string().nullable(),
26132
+ sortOrder: z53.number().int(),
26133
+ giftCard: z53.object({
26134
+ fixedDenominations: z53.array(z53.number().int().positive()),
26135
+ customAmountEnabled: z53.boolean(),
26136
+ customAmountMinCents: z53.number().int().positive(),
26137
+ customAmountMaxCents: z53.number().int().positive()
25940
26138
  }),
25941
- voucher: z52.null()
25942
- });
25943
- var publicVoucherOfferSchema = z52.object({
25944
- id: z52.string(),
25945
- kind: z52.literal("voucher"),
25946
- title: z52.string(),
25947
- description: z52.string().nullable(),
25948
- sortOrder: z52.number().int(),
25949
- giftCard: z52.null(),
25950
- voucher: z52.object({
25951
- purchaseAmountCents: z52.number().int().positive()
26139
+ voucher: z53.null()
26140
+ });
26141
+ var publicVoucherOfferSchema = z53.object({
26142
+ id: z53.string(),
26143
+ kind: z53.literal("voucher"),
26144
+ title: z53.string(),
26145
+ description: z53.string().nullable(),
26146
+ sortOrder: z53.number().int(),
26147
+ giftCard: z53.null(),
26148
+ voucher: z53.object({
26149
+ purchaseAmountCents: z53.number().int().positive()
25952
26150
  })
25953
26151
  });
25954
- var publicGiftingOffersResponseSchema = z52.object({
25955
- currency: z52.string(),
25956
- giftCards: z52.array(publicGiftCardOfferSchema),
25957
- vouchers: z52.array(publicVoucherOfferSchema)
26152
+ var publicGiftingOffersResponseSchema = z53.object({
26153
+ currency: z53.string(),
26154
+ giftCards: z53.array(publicGiftCardOfferSchema),
26155
+ vouchers: z53.array(publicVoucherOfferSchema)
25958
26156
  });
25959
- var giftingSourceSchema = z52.object({
25960
- siteId: z52.string().optional(),
25961
- apiBaseUrl: z52.string().optional(),
26157
+ var giftingSourceSchema = z53.object({
26158
+ siteId: z53.string().optional(),
26159
+ apiBaseUrl: z53.string().optional(),
25962
26160
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
25963
- className: z52.string().nullable().optional(),
25964
- heading: z52.string().nullable().optional(),
25965
- intro: z52.string().nullable().optional(),
25966
- giftCardsHeading: z52.string().nullable().optional(),
25967
- vouchersHeading: z52.string().nullable().optional(),
25968
- emptyStateText: z52.string().nullable().optional(),
25969
- checkoutButtonText: z52.string().nullable().optional(),
25970
- successMessage: z52.string().nullable().optional()
25971
- });
25972
- var giftingDisplaySchema = z52.object({
25973
- kind: z52.literal("gifting"),
25974
- state: z52.literal("ready"),
25975
- className: z52.string().nullable(),
25976
- heading: z52.string(),
25977
- intro: z52.string().nullable(),
25978
- giftCardsHeading: z52.string(),
25979
- vouchersHeading: z52.string(),
25980
- emptyStateText: z52.string()
25981
- });
25982
- var giftingHydrationSchema = z52.object({
26161
+ className: z53.string().nullable().optional(),
26162
+ heading: z53.string().nullable().optional(),
26163
+ intro: z53.string().nullable().optional(),
26164
+ giftCardsHeading: z53.string().nullable().optional(),
26165
+ vouchersHeading: z53.string().nullable().optional(),
26166
+ emptyStateText: z53.string().nullable().optional(),
26167
+ checkoutButtonText: z53.string().nullable().optional(),
26168
+ successMessage: z53.string().nullable().optional()
26169
+ });
26170
+ var giftingDisplaySchema = z53.object({
26171
+ kind: z53.literal("gifting"),
26172
+ state: z53.literal("ready"),
26173
+ className: z53.string().nullable(),
26174
+ heading: z53.string(),
26175
+ intro: z53.string().nullable(),
26176
+ giftCardsHeading: z53.string(),
26177
+ vouchersHeading: z53.string(),
26178
+ emptyStateText: z53.string()
26179
+ });
26180
+ var giftingHydrationSchema = z53.object({
25983
26181
  offers: publicGiftingOffersResponseSchema.nullable(),
25984
- checkoutButtonText: z52.string(),
25985
- successMessage: z52.string()
26182
+ checkoutButtonText: z53.string(),
26183
+ successMessage: z53.string()
25986
26184
  });
25987
- var giftingRenderSchema = z52.object({
26185
+ var giftingRenderSchema = z53.object({
25988
26186
  display: giftingDisplaySchema,
25989
26187
  hydration: giftingHydrationSchema
25990
26188
  });
25991
- var giftingIslandMetaCodec = createZodCodec(z52.object({
25992
- siteId: z52.string().optional(),
25993
- apiBaseUrl: z52.string().optional()
26189
+ var giftingIslandMetaCodec = createZodCodec(z53.object({
26190
+ siteId: z53.string().optional(),
26191
+ apiBaseUrl: z53.string().optional()
25994
26192
  }));
25995
26193
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
25996
26194
  "siteId",
@@ -26161,7 +26359,7 @@ var giftingBlockDefinition = {
26161
26359
  };
26162
26360
 
26163
26361
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
26164
- import { z as z53 } from "zod";
26362
+ import { z as z54 } from "zod";
26165
26363
 
26166
26364
  // ../blocks/src/system/blocks/newsletter-signup-destination.ts
26167
26365
  function parseNewsletterSignupBlockId(value) {
@@ -26268,65 +26466,65 @@ function withOptionalPhone(fields3, includePhone) {
26268
26466
  }
26269
26467
 
26270
26468
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
26271
- var newsletterPresetSchema = z53.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
26272
- var newsletterDestinationProviderSchema = z53.enum(["riverbank", "mailchimp"]);
26273
- var newsletterFieldSchema = z53.object({
26274
- id: z53.string(),
26275
- type: z53.enum(["email", "text"]),
26276
- label: z53.string(),
26277
- required: z53.boolean(),
26278
- placeholder: z53.string().optional()
26279
- });
26280
- var newsletterSignupBlockIdSchema = z53.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
26281
- var signedNewsletterDestinationRefSchema = z53.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
26282
- var newsletterPublicDestinationRefSchema = z53.discriminatedUnion("tag", [
26283
- z53.object({
26284
- tag: z53.literal("block_ref"),
26469
+ var newsletterPresetSchema = z54.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
26470
+ var newsletterDestinationProviderSchema = z54.enum(["riverbank", "mailchimp"]);
26471
+ var newsletterFieldSchema = z54.object({
26472
+ id: z54.string(),
26473
+ type: z54.enum(["email", "text"]),
26474
+ label: z54.string(),
26475
+ required: z54.boolean(),
26476
+ placeholder: z54.string().optional()
26477
+ });
26478
+ var newsletterSignupBlockIdSchema = z54.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
26479
+ var signedNewsletterDestinationRefSchema = z54.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
26480
+ var newsletterPublicDestinationRefSchema = z54.discriminatedUnion("tag", [
26481
+ z54.object({
26482
+ tag: z54.literal("block_ref"),
26285
26483
  blockId: newsletterSignupBlockIdSchema
26286
26484
  }),
26287
- z53.object({
26288
- tag: z53.literal("signed_destination_ref"),
26485
+ z54.object({
26486
+ tag: z54.literal("signed_destination_ref"),
26289
26487
  token: signedNewsletterDestinationRefSchema
26290
26488
  })
26291
26489
  ]);
26292
- var newsletterSourceSchema = z53.object({
26293
- blockId: z53.string().nullable().optional(),
26294
- siteId: z53.string().optional(),
26295
- apiBaseUrl: z53.string().optional(),
26296
- listId: z53.string().nullable().optional(),
26490
+ var newsletterSourceSchema = z54.object({
26491
+ blockId: z54.string().nullable().optional(),
26492
+ siteId: z54.string().optional(),
26493
+ apiBaseUrl: z54.string().optional(),
26494
+ listId: z54.string().nullable().optional(),
26297
26495
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
26298
26496
  preset: newsletterPresetSchema.optional(),
26299
- includePhone: z53.boolean().optional(),
26300
- buttonLabel: z53.string().nullable().optional(),
26301
- successMessage: z53.string().nullable().optional(),
26302
- privacyNote: z53.string().nullable().optional(),
26303
- tags: z53.string().nullable().optional(),
26304
- spamProtectionEnabled: z53.boolean().optional(),
26305
- className: z53.string().nullable().optional()
26306
- });
26307
- var newsletterDisplaySchema = z53.object({
26308
- kind: z53.literal("newsletter-form"),
26309
- className: z53.string().nullable(),
26310
- buttonLabel: z53.string(),
26311
- successMessage: z53.string().nullable(),
26312
- privacyNote: z53.string().nullable(),
26313
- fields: z53.array(newsletterFieldSchema)
26314
- });
26315
- var newsletterHydrationSchema = z53.object({
26497
+ includePhone: z54.boolean().optional(),
26498
+ buttonLabel: z54.string().nullable().optional(),
26499
+ successMessage: z54.string().nullable().optional(),
26500
+ privacyNote: z54.string().nullable().optional(),
26501
+ tags: z54.string().nullable().optional(),
26502
+ spamProtectionEnabled: z54.boolean().optional(),
26503
+ className: z54.string().nullable().optional()
26504
+ });
26505
+ var newsletterDisplaySchema = z54.object({
26506
+ kind: z54.literal("newsletter-form"),
26507
+ className: z54.string().nullable(),
26508
+ buttonLabel: z54.string(),
26509
+ successMessage: z54.string().nullable(),
26510
+ privacyNote: z54.string().nullable(),
26511
+ fields: z54.array(newsletterFieldSchema)
26512
+ });
26513
+ var newsletterHydrationSchema = z54.object({
26316
26514
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
26317
- listId: z53.string().nullable().optional(),
26515
+ listId: z54.string().nullable().optional(),
26318
26516
  preset: newsletterPresetSchema,
26319
- includePhone: z53.boolean(),
26320
- tags: z53.string().nullable().optional(),
26321
- spamProtectionEnabled: z53.boolean().optional()
26517
+ includePhone: z54.boolean(),
26518
+ tags: z54.string().nullable().optional(),
26519
+ spamProtectionEnabled: z54.boolean().optional()
26322
26520
  });
26323
- var newsletterRenderSchema = z53.object({
26521
+ var newsletterRenderSchema = z54.object({
26324
26522
  display: newsletterDisplaySchema,
26325
26523
  hydration: newsletterHydrationSchema
26326
26524
  });
26327
- var newsletterIslandMetaCodec = createZodCodec(z53.object({
26328
- siteId: z53.string().optional(),
26329
- apiBaseUrl: z53.string().optional()
26525
+ var newsletterIslandMetaCodec = createZodCodec(z54.object({
26526
+ siteId: z54.string().optional(),
26527
+ apiBaseUrl: z54.string().optional()
26330
26528
  }));
26331
26529
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
26332
26530
  function buildNewsletterDisplay(source) {
@@ -26465,23 +26663,23 @@ var newsletterSignupBlockDefinition = {
26465
26663
  };
26466
26664
 
26467
26665
  // ../blocks/src/system/blocks/team-members.ts
26468
- import { z as z54 } from "zod";
26666
+ import { z as z55 } from "zod";
26469
26667
  var ITEM_NAME2 = "member";
26470
26668
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
26471
26669
  message: "Team member photos must be image media"
26472
26670
  }).nullable();
26473
- var teamMemberDataSchema = z54.object({
26474
- _type: z54.literal("teamMember"),
26475
- id: z54.string(),
26476
- name: z54.string(),
26477
- role: z54.string().nullable(),
26478
- roleLabel: z54.string().nullable(),
26479
- bio: z54.string().nullable(),
26480
- summary: z54.string().nullable(),
26671
+ var teamMemberDataSchema = z55.object({
26672
+ _type: z55.literal("teamMember"),
26673
+ id: z55.string(),
26674
+ name: z55.string(),
26675
+ role: z55.string().nullable(),
26676
+ roleLabel: z55.string().nullable(),
26677
+ bio: z55.string().nullable(),
26678
+ summary: z55.string().nullable(),
26481
26679
  photo: teamMemberPhotoSchema,
26482
- profilePath: z54.string().nullable()
26680
+ profilePath: z55.string().nullable()
26483
26681
  });
26484
- var teamMembersDataSchema = z54.array(teamMemberDataSchema);
26682
+ var teamMembersDataSchema = z55.array(teamMemberDataSchema);
26485
26683
  var dynamicSourceWhen = { equals: "site_staff" };
26486
26684
  var manualSourceWhen = { equals: "site_staff", not: true };
26487
26685
  var headingNode = text(
@@ -27587,6 +27785,10 @@ var systemBlockDefinitionsRaw = [
27587
27785
  flow: conversionFlow,
27588
27786
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
27589
27787
  })),
27788
+ withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
27789
+ flow: offeringsFlow,
27790
+ layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
27791
+ })),
27590
27792
  withDesignCapability("block.event-registration", eventRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
27591
27793
  flow: conversionFlow,
27592
27794
  layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
@@ -28532,34 +28734,34 @@ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
28532
28734
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
28533
28735
 
28534
28736
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
28535
- import { z as z55 } from "zod";
28536
- var themeBridgeConfigSchema = z55.object({
28537
- tokens: z55.record(z55.string(), z55.string()),
28538
- typography: z55.object({
28539
- headingFamily: z55.string().optional(),
28540
- bodyFamily: z55.string().optional(),
28541
- headingWeight: z55.number().optional(),
28542
- bodyWeight: z55.number().optional()
28737
+ import { z as z56 } from "zod";
28738
+ var themeBridgeConfigSchema = z56.object({
28739
+ tokens: z56.record(z56.string(), z56.string()),
28740
+ typography: z56.object({
28741
+ headingFamily: z56.string().optional(),
28742
+ bodyFamily: z56.string().optional(),
28743
+ headingWeight: z56.number().optional(),
28744
+ bodyWeight: z56.number().optional()
28543
28745
  }).optional(),
28544
- spacing: z55.enum(["comfortable", "standard", "dense"]).optional(),
28545
- corners: z55.enum(["square", "soft", "rounded", "pill"]).optional(),
28546
- shadows: z55.enum(["none", "low", "medium", "high"]).optional(),
28547
- components: z55.object({
28548
- buttons: z55.union([
28549
- z55.boolean(),
28550
- z55.object({
28551
- variants: z55.array(z55.enum(["primary", "secondary", "outline", "ghost"])).optional()
28746
+ spacing: z56.enum(["comfortable", "standard", "dense"]).optional(),
28747
+ corners: z56.enum(["square", "soft", "rounded", "pill"]).optional(),
28748
+ shadows: z56.enum(["none", "low", "medium", "high"]).optional(),
28749
+ components: z56.object({
28750
+ buttons: z56.union([
28751
+ z56.boolean(),
28752
+ z56.object({
28753
+ variants: z56.array(z56.enum(["primary", "secondary", "outline", "ghost"])).optional()
28552
28754
  })
28553
28755
  ]).optional(),
28554
- cards: z55.union([
28555
- z55.boolean(),
28556
- z55.object({
28557
- variants: z55.array(z55.enum(["default", "elevated", "outlined"])).optional()
28756
+ cards: z56.union([
28757
+ z56.boolean(),
28758
+ z56.object({
28759
+ variants: z56.array(z56.enum(["default", "elevated", "outlined"])).optional()
28558
28760
  })
28559
28761
  ]).optional(),
28560
- inputs: z55.boolean().optional()
28762
+ inputs: z56.boolean().optional()
28561
28763
  }).optional(),
28562
- overrides: z55.record(z55.string(), z55.string()).optional()
28764
+ overrides: z56.record(z56.string(), z56.string()).optional()
28563
28765
  }).passthrough();
28564
28766
 
28565
28767
  // ../theme-core/src/siteChrome.tsx
@@ -28768,11 +28970,11 @@ function resolveModelForPass(passId, tierOverrides, passOverrides, globalModel)
28768
28970
  }
28769
28971
 
28770
28972
  // src/page-converter/passes/pass1-segmentation-matching.ts
28771
- import { z as z60 } from "zod";
28973
+ import { z as z61 } from "zod";
28772
28974
 
28773
28975
  // src/manifest/passes/pass1-fields.ts
28774
- import { z as z56 } from "zod";
28775
- var simpleFieldTypeEnum = z56.enum([
28976
+ import { z as z57 } from "zod";
28977
+ var simpleFieldTypeEnum = z57.enum([
28776
28978
  "text",
28777
28979
  "richText",
28778
28980
  "media",
@@ -28781,7 +28983,7 @@ var simpleFieldTypeEnum = z56.enum([
28781
28983
  "select",
28782
28984
  "number"
28783
28985
  ]);
28784
- var fieldTypeEnum = z56.enum([
28986
+ var fieldTypeEnum = z57.enum([
28785
28987
  "text",
28786
28988
  "richText",
28787
28989
  "media",
@@ -28792,109 +28994,109 @@ var fieldTypeEnum = z56.enum([
28792
28994
  "repeater",
28793
28995
  "group"
28794
28996
  ]);
28795
- var linkDefaultValue = z56.object({
28796
- label: z56.string().describe("The visible link text")
28997
+ var linkDefaultValue = z57.object({
28998
+ label: z57.string().describe("The visible link text")
28797
28999
  });
28798
- var mediaDefaultValue = z56.object({
28799
- src: z56.string().describe("Image/video source URL"),
28800
- alt: z56.string().describe("Alt text for accessibility (empty string if none)")
29000
+ var mediaDefaultValue = z57.object({
29001
+ src: z57.string().describe("Image/video source URL"),
29002
+ alt: z57.string().describe("Alt text for accessibility (empty string if none)")
28801
29003
  });
28802
- var nestedFieldSchema = z56.object({
28803
- id: z56.string().min(1).describe("camelCase field ID"),
29004
+ var nestedFieldSchema = z57.object({
29005
+ id: z57.string().min(1).describe("camelCase field ID"),
28804
29006
  type: simpleFieldTypeEnum,
28805
- label: z56.string().min(1),
28806
- required: z56.boolean().nullable()
29007
+ label: z57.string().min(1),
29008
+ required: z57.boolean().nullable()
28807
29009
  });
28808
- var simpleFieldSchema = z56.object({
28809
- id: z56.string().min(1).describe("camelCase field ID (e.g., headline, ctaButton)"),
29010
+ var simpleFieldSchema = z57.object({
29011
+ id: z57.string().min(1).describe("camelCase field ID (e.g., headline, ctaButton)"),
28810
29012
  type: simpleFieldTypeEnum,
28811
- label: z56.string().min(1),
28812
- required: z56.boolean(),
28813
- multiline: z56.boolean().nullable().describe("For text fields: true if multiple lines"),
28814
- defaultValue: z56.union([
28815
- z56.string(),
28816
- z56.number(),
28817
- z56.boolean(),
29013
+ label: z57.string().min(1),
29014
+ required: z57.boolean(),
29015
+ multiline: z57.boolean().nullable().describe("For text fields: true if multiple lines"),
29016
+ defaultValue: z57.union([
29017
+ z57.string(),
29018
+ z57.number(),
29019
+ z57.boolean(),
28818
29020
  linkDefaultValue,
28819
29021
  mediaDefaultValue,
28820
- z56.null()
29022
+ z57.null()
28821
29023
  ]).describe("Default content extracted from HTML"),
28822
- htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
28823
- });
28824
- var repeaterFieldSchema2 = z56.object({
28825
- id: z56.string().min(1).describe("camelCase field ID (e.g., socialLinks, features)"),
28826
- type: z56.literal("repeater"),
28827
- label: z56.string().min(1),
28828
- required: z56.boolean(),
28829
- itemLabel: z56.string().min(1).describe('Singular label for each item (e.g., "Link", "Feature")'),
28830
- itemFields: z56.array(nestedFieldSchema).min(1).describe("Fields for each item in the repeater"),
28831
- htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
28832
- });
28833
- var groupFieldSchema2 = z56.object({
28834
- id: z56.string().min(1).describe("camelCase field ID (e.g., contactInfo, seoSettings)"),
28835
- type: z56.literal("group"),
28836
- label: z56.string().min(1),
28837
- required: z56.boolean(),
28838
- groupFields: z56.array(nestedFieldSchema).min(1).describe("Fields within the group"),
28839
- htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
28840
- });
28841
- var extractedFieldSchema = z56.union([
29024
+ htmlContext: z57.string().describe("Brief description of where this appears in the HTML")
29025
+ });
29026
+ var repeaterFieldSchema2 = z57.object({
29027
+ id: z57.string().min(1).describe("camelCase field ID (e.g., socialLinks, features)"),
29028
+ type: z57.literal("repeater"),
29029
+ label: z57.string().min(1),
29030
+ required: z57.boolean(),
29031
+ itemLabel: z57.string().min(1).describe('Singular label for each item (e.g., "Link", "Feature")'),
29032
+ itemFields: z57.array(nestedFieldSchema).min(1).describe("Fields for each item in the repeater"),
29033
+ htmlContext: z57.string().describe("Brief description of where this appears in the HTML")
29034
+ });
29035
+ var groupFieldSchema2 = z57.object({
29036
+ id: z57.string().min(1).describe("camelCase field ID (e.g., contactInfo, seoSettings)"),
29037
+ type: z57.literal("group"),
29038
+ label: z57.string().min(1),
29039
+ required: z57.boolean(),
29040
+ groupFields: z57.array(nestedFieldSchema).min(1).describe("Fields within the group"),
29041
+ htmlContext: z57.string().describe("Brief description of where this appears in the HTML")
29042
+ });
29043
+ var extractedFieldSchema = z57.union([
28842
29044
  simpleFieldSchema,
28843
29045
  repeaterFieldSchema2,
28844
29046
  groupFieldSchema2
28845
29047
  ]);
28846
- var extractedEntrySchema = z56.object({
28847
- identifier: z56.string().regex(/^[a-z0-9-]+$/).describe("Unique slug-safe identifier (e.g., wine-tasting-evening)"),
28848
- title: z56.string().min(1).describe("Entry title"),
29048
+ var extractedEntrySchema = z57.object({
29049
+ identifier: z57.string().regex(/^[a-z0-9-]+$/).describe("Unique slug-safe identifier (e.g., wine-tasting-evening)"),
29050
+ title: z57.string().min(1).describe("Entry title"),
28849
29051
  // Use passthrough() instead of record() - generates additionalProperties:true without propertyNames
28850
29052
  // which OpenAI's structured output accepts
28851
- data: z56.object({}).passthrough().describe("Entry data matching the content type schema")
28852
- });
28853
- var newContentTypeSchema = z56.object({
28854
- key: z56.string().regex(/^[a-z][a-z0-9-]*$/).describe("Content type key (e.g., testimonial, team-member)"),
28855
- name: z56.string().min(1).describe("Human-readable name"),
28856
- description: z56.string().nullable().describe("Description of this content type"),
28857
- fields: z56.array(z56.object({
28858
- id: z56.string().min(1),
28859
- type: z56.string().min(1),
28860
- label: z56.string().min(1),
28861
- required: z56.boolean().nullable(),
28862
- description: z56.string().nullable()
29053
+ data: z57.object({}).passthrough().describe("Entry data matching the content type schema")
29054
+ });
29055
+ var newContentTypeSchema = z57.object({
29056
+ key: z57.string().regex(/^[a-z][a-z0-9-]*$/).describe("Content type key (e.g., testimonial, team-member)"),
29057
+ name: z57.string().min(1).describe("Human-readable name"),
29058
+ description: z57.string().nullable().describe("Description of this content type"),
29059
+ fields: z57.array(z57.object({
29060
+ id: z57.string().min(1),
29061
+ type: z57.string().min(1),
29062
+ label: z57.string().min(1),
29063
+ required: z57.boolean().nullable(),
29064
+ description: z57.string().nullable()
28863
29065
  })).min(1),
28864
- isRouted: z56.boolean().describe("Whether entries have their own pages")
29066
+ isRouted: z57.boolean().describe("Whether entries have their own pages")
28865
29067
  });
28866
- var contentTypeApproachSchema = z56.discriminatedUnion("approach", [
29068
+ var contentTypeApproachSchema = z57.discriminatedUnion("approach", [
28867
29069
  // Use an existing content type
28868
- z56.object({
28869
- approach: z56.literal("existingContentType"),
28870
- contentTypeKey: z56.string().min(1).describe("Key of the existing content type to use"),
28871
- entries: z56.array(extractedEntrySchema).min(1).describe("Extracted entries"),
28872
- rationale: z56.string().describe("Why this content type fits")
29070
+ z57.object({
29071
+ approach: z57.literal("existingContentType"),
29072
+ contentTypeKey: z57.string().min(1).describe("Key of the existing content type to use"),
29073
+ entries: z57.array(extractedEntrySchema).min(1).describe("Extracted entries"),
29074
+ rationale: z57.string().describe("Why this content type fits")
28873
29075
  }),
28874
29076
  // Create a new content type
28875
- z56.object({
28876
- approach: z56.literal("newContentType"),
29077
+ z57.object({
29078
+ approach: z57.literal("newContentType"),
28877
29079
  contentType: newContentTypeSchema,
28878
- entries: z56.array(extractedEntrySchema).min(1).describe("Extracted entries"),
28879
- rationale: z56.string().describe("Why a new content type is needed")
29080
+ entries: z57.array(extractedEntrySchema).min(1).describe("Extracted entries"),
29081
+ rationale: z57.string().describe("Why a new content type is needed")
28880
29082
  }),
28881
29083
  // Use repeater field (page-specific data)
28882
- z56.object({
28883
- approach: z56.literal("repeater"),
28884
- rationale: z56.string().describe("Why repeater is preferred over content type")
29084
+ z57.object({
29085
+ approach: z57.literal("repeater"),
29086
+ rationale: z57.string().describe("Why repeater is preferred over content type")
28885
29087
  }),
28886
29088
  // No list data - standard field extraction
28887
- z56.object({
28888
- approach: z56.literal("none"),
28889
- rationale: z56.string().describe("Why this is not list data")
29089
+ z57.object({
29090
+ approach: z57.literal("none"),
29091
+ rationale: z57.string().describe("Why this is not list data")
28890
29092
  })
28891
29093
  ]);
28892
- var pass1OutputSchema = z56.object({
28893
- blockId: z56.string().regex(/^custom\.[a-z][a-z0-9-]*$/).describe("Block ID like custom.hero-section"),
28894
- blockTitle: z56.string().min(1),
28895
- blockDescription: z56.string().nullable(),
28896
- category: z56.enum(["marketing", "content", "blog", "media", "layout", "interactive"]),
28897
- fields: z56.array(extractedFieldSchema).min(1),
29094
+ var pass1OutputSchema = z57.object({
29095
+ blockId: z57.string().regex(/^custom\.[a-z][a-z0-9-]*$/).describe("Block ID like custom.hero-section"),
29096
+ blockTitle: z57.string().min(1),
29097
+ blockDescription: z57.string().nullable(),
29098
+ category: z57.enum(["marketing", "content", "blog", "media", "layout", "interactive"]),
29099
+ fields: z57.array(extractedFieldSchema).min(1),
28898
29100
  /**
28899
29101
  * Content type decision for list-like content.
28900
29102
  * When content types are available, the LLM may decide to use content entries
@@ -29137,10 +29339,10 @@ async function getJsonFromAiText(ai, config, userMessage, schema) {
29137
29339
  }
29138
29340
 
29139
29341
  // src/manifest/passes/pass3-styling.ts
29140
- import { z as z59 } from "zod";
29342
+ import { z as z60 } from "zod";
29141
29343
 
29142
29344
  // src/manifest/validation/output-schema.ts
29143
- import { z as z58 } from "zod";
29345
+ import { z as z59 } from "zod";
29144
29346
 
29145
29347
  // src/manifest/validation/layout-utils.ts
29146
29348
  function collectLayoutNodeInfos(node, path2 = "layout", out = []) {
@@ -29181,14 +29383,14 @@ function collectLayoutClassNames(node, out = /* @__PURE__ */ new Set()) {
29181
29383
  }
29182
29384
 
29183
29385
  // src/zod/titleSourceSchema.ts
29184
- import { z as z57 } from "zod";
29185
- var titleSourceValueSchema = z57.union([
29186
- z57.string().min(1),
29187
- z57.array(z57.string().min(1)).min(1)
29386
+ import { z as z58 } from "zod";
29387
+ var titleSourceValueSchema = z58.union([
29388
+ z58.string().min(1),
29389
+ z58.array(z58.string().min(1)).min(1)
29188
29390
  ]);
29189
29391
 
29190
29392
  // src/manifest/validation/output-schema.ts
29191
- var blockCategoryEnum2 = z58.enum([
29393
+ var blockCategoryEnum2 = z59.enum([
29192
29394
  "marketing",
29193
29395
  "content",
29194
29396
  "blog",
@@ -29196,53 +29398,53 @@ var blockCategoryEnum2 = z58.enum([
29196
29398
  "layout",
29197
29399
  "interactive"
29198
29400
  ]);
29199
- var llmColorValue = z58.object({
29200
- name: z58.string(),
29201
- hex: z58.string()
29202
- });
29203
- var llmThemePrimitive = z58.union([
29204
- z58.string(),
29205
- z58.number(),
29206
- z58.boolean(),
29207
- z58.null()
29401
+ var llmColorValue = z59.object({
29402
+ name: z59.string(),
29403
+ hex: z59.string()
29404
+ });
29405
+ var llmThemePrimitive = z59.union([
29406
+ z59.string(),
29407
+ z59.number(),
29408
+ z59.boolean(),
29409
+ z59.null()
29208
29410
  ]);
29209
- var llmThemePatchValue = z58.union([
29411
+ var llmThemePatchValue = z59.union([
29210
29412
  llmThemePrimitive,
29211
29413
  llmColorValue,
29212
- z58.array(llmColorValue),
29213
- z58.array(llmThemePrimitive)
29414
+ z59.array(llmColorValue),
29415
+ z59.array(llmThemePrimitive)
29214
29416
  ]);
29215
- var llmThemePatchOpSchema = z58.discriminatedUnion("op", [
29216
- z58.object({
29217
- op: z58.literal("add"),
29218
- path: z58.string().min(1),
29417
+ var llmThemePatchOpSchema = z59.discriminatedUnion("op", [
29418
+ z59.object({
29419
+ op: z59.literal("add"),
29420
+ path: z59.string().min(1),
29219
29421
  value: llmThemePatchValue
29220
29422
  }),
29221
- z58.object({
29222
- op: z58.literal("replace"),
29223
- path: z58.string().min(1),
29423
+ z59.object({
29424
+ op: z59.literal("replace"),
29425
+ path: z59.string().min(1),
29224
29426
  value: llmThemePatchValue
29225
29427
  }),
29226
- z58.object({ op: z58.literal("remove"), path: z58.string().min(1) })
29428
+ z59.object({ op: z59.literal("remove"), path: z59.string().min(1) })
29227
29429
  ]);
29228
- var llmCssDeclaration = z58.object({
29229
- property: z58.string(),
29230
- value: z58.string()
29430
+ var llmCssDeclaration = z59.object({
29431
+ property: z59.string(),
29432
+ value: z59.string()
29231
29433
  });
29232
- var llmCustomCssRuleSchema = z58.object({
29233
- id: z58.string().min(1),
29234
- selector: z58.string().min(1),
29235
- declarations: z58.array(llmCssDeclaration)
29434
+ var llmCustomCssRuleSchema = z59.object({
29435
+ id: z59.string().min(1),
29436
+ selector: z59.string().min(1),
29437
+ declarations: z59.array(llmCssDeclaration)
29236
29438
  });
29237
- var llmNestedRuleSchema = z58.object({
29238
- selector: z58.string().min(1),
29239
- declarations: z58.array(llmCssDeclaration)
29439
+ var llmNestedRuleSchema = z59.object({
29440
+ selector: z59.string().min(1),
29441
+ declarations: z59.array(llmCssDeclaration)
29240
29442
  });
29241
- var llmMediaAtRuleSchema = z58.object({
29242
- id: z58.string().min(1),
29243
- type: z58.literal("media"),
29244
- query: z58.string().min(1),
29245
- rules: z58.array(llmNestedRuleSchema)
29443
+ var llmMediaAtRuleSchema = z59.object({
29444
+ id: z59.string().min(1),
29445
+ type: z59.literal("media"),
29446
+ query: z59.string().min(1),
29447
+ rules: z59.array(llmNestedRuleSchema)
29246
29448
  });
29247
29449
  function normalizeDeclarationsArrayToRecord(declarations) {
29248
29450
  const record = {};
@@ -29272,85 +29474,85 @@ function normalizeLlmMediaAtRule(atRule) {
29272
29474
  rules: atRule.rules.map(normalizeLlmNestedRule)
29273
29475
  };
29274
29476
  }
29275
- var jsonPrimitiveSchema = z58.union([
29276
- z58.string(),
29277
- z58.number(),
29278
- z58.boolean(),
29279
- z58.null()
29477
+ var jsonPrimitiveSchema = z59.union([
29478
+ z59.string(),
29479
+ z59.number(),
29480
+ z59.boolean(),
29481
+ z59.null()
29280
29482
  ]);
29281
- var jsonValueSchema = z58.union([
29483
+ var jsonValueSchema = z59.union([
29282
29484
  jsonPrimitiveSchema,
29283
- z58.array(jsonPrimitiveSchema)
29485
+ z59.array(jsonPrimitiveSchema)
29284
29486
  ]);
29285
- var llmBaseFieldSchema = z58.object({
29286
- id: z58.string().min(1),
29287
- label: z58.string().min(1),
29288
- description: z58.string().nullable(),
29289
- required: z58.boolean(),
29487
+ var llmBaseFieldSchema = z59.object({
29488
+ id: z59.string().min(1),
29489
+ label: z59.string().min(1),
29490
+ description: z59.string().nullable(),
29491
+ required: z59.boolean(),
29290
29492
  defaultValue: jsonValueSchema.nullable()
29291
29493
  });
29292
29494
  var llmTextFieldSchema = llmBaseFieldSchema.extend({
29293
- type: z58.literal("text"),
29294
- multiline: z58.boolean(),
29295
- maxLength: z58.number().int().positive().nullable()
29495
+ type: z59.literal("text"),
29496
+ multiline: z59.boolean(),
29497
+ maxLength: z59.number().int().positive().nullable()
29296
29498
  });
29297
29499
  var llmRichTextFieldSchema = llmBaseFieldSchema.extend({
29298
- type: z58.literal("richText")
29500
+ type: z59.literal("richText")
29299
29501
  });
29300
29502
  var llmMediaFieldSchema = llmBaseFieldSchema.extend({
29301
- type: z58.literal("media"),
29302
- mediaKinds: z58.array(z58.enum(["image", "video", "audio"])).nullable()
29503
+ type: z59.literal("media"),
29504
+ mediaKinds: z59.array(z59.enum(["image", "video", "audio"])).nullable()
29303
29505
  });
29304
29506
  var llmFileFieldSchema = llmBaseFieldSchema.extend({
29305
- type: z58.literal("file"),
29306
- fileKinds: z58.array(z58.enum(["document", "spreadsheet", "archive", "audio"])).nullable()
29507
+ type: z59.literal("file"),
29508
+ fileKinds: z59.array(z59.enum(["document", "spreadsheet", "archive", "audio"])).nullable()
29307
29509
  });
29308
29510
  var llmBooleanFieldSchema = llmBaseFieldSchema.extend({
29309
- type: z58.literal("boolean")
29511
+ type: z59.literal("boolean")
29310
29512
  });
29311
29513
  var llmLinkFieldSchema = llmBaseFieldSchema.extend({
29312
- type: z58.literal("link")
29514
+ type: z59.literal("link")
29313
29515
  });
29314
29516
  var llmSelectFieldSchema = llmBaseFieldSchema.extend({
29315
- type: z58.literal("select"),
29316
- options: z58.array(
29317
- z58.object({
29318
- value: z58.string(),
29319
- label: z58.string()
29517
+ type: z59.literal("select"),
29518
+ options: z59.array(
29519
+ z59.object({
29520
+ value: z59.string(),
29521
+ label: z59.string()
29320
29522
  })
29321
29523
  ),
29322
- multiple: z58.boolean().nullable()
29524
+ multiple: z59.boolean().nullable()
29323
29525
  });
29324
29526
  var llmNumberFieldSchema = llmBaseFieldSchema.extend({
29325
- type: z58.literal("number")
29326
- });
29327
- var llmNestedFieldSchema = z58.object({
29328
- id: z58.string(),
29329
- type: z58.string(),
29330
- label: z58.string(),
29331
- required: z58.boolean().nullable(),
29332
- multiline: z58.boolean().nullable(),
29527
+ type: z59.literal("number")
29528
+ });
29529
+ var llmNestedFieldSchema = z59.object({
29530
+ id: z59.string(),
29531
+ type: z59.string(),
29532
+ label: z59.string(),
29533
+ required: z59.boolean().nullable(),
29534
+ multiline: z59.boolean().nullable(),
29333
29535
  defaultValue: jsonValueSchema.nullable()
29334
29536
  }).passthrough();
29335
- var llmNestedFieldsSchema = z58.array(llmNestedFieldSchema);
29537
+ var llmNestedFieldsSchema = z59.array(llmNestedFieldSchema);
29336
29538
  var llmGroupFieldSchema = llmBaseFieldSchema.extend({
29337
- type: z58.literal("group"),
29338
- schema: z58.object({
29539
+ type: z59.literal("group"),
29540
+ schema: z59.object({
29339
29541
  fields: llmNestedFieldsSchema
29340
29542
  })
29341
29543
  });
29342
29544
  var llmRepeaterFieldSchema = llmBaseFieldSchema.extend({
29343
- type: z58.literal("repeater"),
29344
- itemLabel: z58.string(),
29345
- itemLabelSource: z58.string().nullable(),
29346
- minItems: z58.number().int().min(0),
29347
- maxItems: z58.number().int().positive().nullable(),
29348
- allowConversion: z58.boolean(),
29349
- schema: z58.object({
29545
+ type: z59.literal("repeater"),
29546
+ itemLabel: z59.string(),
29547
+ itemLabelSource: z59.string().nullable(),
29548
+ minItems: z59.number().int().min(0),
29549
+ maxItems: z59.number().int().positive().nullable(),
29550
+ allowConversion: z59.boolean(),
29551
+ schema: z59.object({
29350
29552
  fields: llmNestedFieldsSchema
29351
29553
  })
29352
29554
  });
29353
- var llmFieldSchema = z58.union([
29555
+ var llmFieldSchema = z59.union([
29354
29556
  llmTextFieldSchema,
29355
29557
  llmRichTextFieldSchema,
29356
29558
  llmMediaFieldSchema,
@@ -29362,66 +29564,66 @@ var llmFieldSchema = z58.union([
29362
29564
  llmGroupFieldSchema,
29363
29565
  llmRepeaterFieldSchema
29364
29566
  ]);
29365
- var llmBindingSchema = z58.object({
29366
- from: z58.string(),
29367
- fallback: z58.string().nullable(),
29368
- transforms: z58.array(
29369
- z58.object({
29370
- id: z58.string()
29567
+ var llmBindingSchema = z59.object({
29568
+ from: z59.string(),
29569
+ fallback: z59.string().nullable(),
29570
+ transforms: z59.array(
29571
+ z59.object({
29572
+ id: z59.string()
29371
29573
  })
29372
29574
  ).nullable()
29373
29575
  });
29374
- var llmRepeatSchema = z58.object({
29375
- collection: z58.object({ from: z58.string() }),
29376
- itemName: z58.string()
29576
+ var llmRepeatSchema = z59.object({
29577
+ collection: z59.object({ from: z59.string() }),
29578
+ itemName: z59.string()
29377
29579
  });
29378
- var llmPropsSchema = z58.object({}).passthrough().nullable();
29580
+ var llmPropsSchema = z59.object({}).passthrough().nullable();
29379
29581
  function buildLlmNodeSchema(maxDepth) {
29380
- const nodeBase = z58.object({
29381
- type: z58.string(),
29582
+ const nodeBase = z59.object({
29583
+ type: z59.string(),
29382
29584
  props: llmPropsSchema,
29383
29585
  $bind: llmBindingSchema.nullable(),
29384
29586
  $repeat: llmRepeatSchema.nullable(),
29385
- $when: z58.object({
29386
- condition: z58.object({ from: z58.string() })
29587
+ $when: z59.object({
29588
+ condition: z59.object({ from: z59.string() })
29387
29589
  }).nullable()
29388
29590
  });
29389
- let schema = nodeBase.extend({ children: z58.null() });
29591
+ let schema = nodeBase.extend({ children: z59.null() });
29390
29592
  for (let i = 0; i < maxDepth; i++) {
29391
- schema = nodeBase.extend({ children: z58.array(schema).nullable() });
29593
+ schema = nodeBase.extend({ children: z59.array(schema).nullable() });
29392
29594
  }
29393
29595
  return schema;
29394
29596
  }
29395
29597
  var MAX_LAYOUT_DEPTH = 6;
29396
29598
  var llmNodeSchema = buildLlmNodeSchema(MAX_LAYOUT_DEPTH);
29397
- var llmCustomBlockSchema = z58.object({
29398
- id: z58.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
29599
+ var llmCustomBlockSchema = z59.object({
29600
+ id: z59.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
29399
29601
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
29400
29602
  }),
29401
- title: z58.string().min(1, "Title is required"),
29603
+ title: z59.string().min(1, "Title is required"),
29402
29604
  // Keep in sync with `sdkCustomBlockSchema` and the system manifest schema:
29403
29605
  // - `null` used by OpenAI structured output for "optional" values
29404
29606
  // - array allows multi-part titles (e.g. ["navLabel", "title"])
29405
29607
  titleSource: titleSourceValueSchema.nullable(),
29406
- description: z58.string().nullable(),
29608
+ description: z59.string().nullable(),
29407
29609
  category: blockCategoryEnum2,
29408
- icon: z58.string().nullable(),
29409
- tags: z58.array(z58.string()).nullable(),
29610
+ icon: z59.string().nullable(),
29611
+ tags: z59.array(z59.string()).nullable(),
29410
29612
  // Use LLM-specific field schema (no z.any() for OpenAI compatibility)
29411
29613
  fields: llmFieldSchema.array().min(1, "Custom blocks must have at least one field"),
29412
29614
  // Use LLM-specific node schema (no z.any() for OpenAI compatibility)
29413
29615
  layout: llmNodeSchema
29414
29616
  });
29415
- var htmlToManifestOutputSchema = z58.object({
29416
- blocks: z58.array(llmCustomBlockSchema).min(1, "At least one block is required").max(10, "Maximum 10 blocks per conversion"),
29417
- themePatch: z58.array(llmThemePatchOpSchema).nullable(),
29418
- customCssRules: z58.array(llmCustomCssRuleSchema).nullable(),
29419
- customCssAtRules: z58.array(llmMediaAtRuleSchema).nullable(),
29617
+ var htmlToManifestOutputSchema = z59.object({
29618
+ blocks: z59.array(llmCustomBlockSchema).min(1, "At least one block is required").max(10, "Maximum 10 blocks per conversion"),
29619
+ themePatch: z59.array(llmThemePatchOpSchema).nullable(),
29620
+ customCssRules: z59.array(llmCustomCssRuleSchema).nullable(),
29621
+ customCssAtRules: z59.array(llmMediaAtRuleSchema).nullable(),
29420
29622
  /**
29421
29623
  * Explanation of fixes made when retrying after validation errors.
29422
29624
  * Should explain what changes were made and why.
29423
29625
  */
29424
- fixRationale: z58.string().nullable()
29626
+ fixRationale: z59.string().nullable()
29425
29627
  });
29426
29628
  function collectValidationErrors(output) {
29427
29629
  const errors = [];
@@ -30384,20 +30586,20 @@ function formatValidationFeedback(errors, output) {
30384
30586
  }
30385
30587
 
30386
30588
  // src/manifest/passes/pass3-styling.ts
30387
- var pass3aOutputSchema = z59.object({
30388
- classNamePatches: z59.array(
30389
- z59.object({
30390
- nodePath: z59.string(),
30589
+ var pass3aOutputSchema = z60.object({
30590
+ classNamePatches: z60.array(
30591
+ z60.object({
30592
+ nodePath: z60.string(),
30391
30593
  // "" for root, "children[0]", "children[0].children[1]" etc.
30392
- className: z59.string().min(1)
30594
+ className: z60.string().min(1)
30393
30595
  })
30394
30596
  ),
30395
- rationale: z59.string()
30597
+ rationale: z60.string()
30396
30598
  });
30397
- var pass3bOutputSchema = z59.object({
30398
- customCssRules: z59.array(llmCustomCssRuleSchema).nullable(),
30399
- customCssAtRules: z59.array(llmMediaAtRuleSchema).nullable(),
30400
- rationale: z59.string()
30599
+ var pass3bOutputSchema = z60.object({
30600
+ customCssRules: z60.array(llmCustomCssRuleSchema).nullable(),
30601
+ customCssAtRules: z60.array(llmMediaAtRuleSchema).nullable(),
30602
+ rationale: z60.string()
30401
30603
  });
30402
30604
  function getNodeAtPath(layout, path2) {
30403
30605
  if (path2 === "" || path2 === "root" || path2 === "layout") {
@@ -30704,38 +30906,38 @@ Do NOT include [data-block=...] in selectors - we add that automatically.
30704
30906
 
30705
30907
  // src/page-converter/passes/pass1-segmentation-matching.ts
30706
30908
  var SIZE_WARNING_BYTES = 100 * 1024;
30707
- var sectionTypeEnum = z60.enum(["header", "content", "footer"]);
30708
- var blockCategoryEnum3 = z60.enum(["marketing", "content", "blog", "media", "layout", "interactive"]);
30709
- var baseSectionSchema = z60.object({
30710
- html: z60.string().min(1),
30711
- purpose: z60.string().min(1),
30909
+ var sectionTypeEnum = z61.enum(["header", "content", "footer"]);
30910
+ var blockCategoryEnum3 = z61.enum(["marketing", "content", "blog", "media", "layout", "interactive"]);
30911
+ var baseSectionSchema = z61.object({
30912
+ html: z61.string().min(1),
30913
+ purpose: z61.string().min(1),
30712
30914
  sectionType: sectionTypeEnum
30713
30915
  });
30714
30916
  var builtinMatchSchema = baseSectionSchema.extend({
30715
- decision: z60.literal("builtin"),
30716
- matchedBlock: z60.string().min(1),
30717
- matchScore: z60.number().min(0).max(100),
30718
- matchRationale: z60.string().min(1)
30917
+ decision: z61.literal("builtin"),
30918
+ matchedBlock: z61.string().min(1),
30919
+ matchScore: z61.number().min(0).max(100),
30920
+ matchRationale: z61.string().min(1)
30719
30921
  });
30720
30922
  var customMatchSchema = baseSectionSchema.extend({
30721
- decision: z60.literal("custom"),
30722
- customBlockSuggestion: z60.object({
30723
- title: z60.string().min(1),
30923
+ decision: z61.literal("custom"),
30924
+ customBlockSuggestion: z61.object({
30925
+ title: z61.string().min(1),
30724
30926
  category: blockCategoryEnum3
30725
30927
  })
30726
30928
  });
30727
- var sectionMatchSchema = z60.discriminatedUnion("decision", [
30929
+ var sectionMatchSchema = z61.discriminatedUnion("decision", [
30728
30930
  builtinMatchSchema,
30729
30931
  customMatchSchema
30730
30932
  ]);
30731
- var skippedContentSchema = z60.object({
30732
- description: z60.string(),
30733
- reason: z60.string()
30933
+ var skippedContentSchema = z61.object({
30934
+ description: z61.string(),
30935
+ reason: z61.string()
30734
30936
  });
30735
- var combinedPassSchema = z60.object({
30736
- sections: z60.array(sectionMatchSchema).min(1),
30737
- skippedContent: z60.array(skippedContentSchema).nullable(),
30738
- rationale: z60.string()
30937
+ var combinedPassSchema = z61.object({
30938
+ sections: z61.array(sectionMatchSchema).min(1),
30939
+ skippedContent: z61.array(skippedContentSchema).nullable(),
30940
+ rationale: z61.string()
30739
30941
  });
30740
30942
  function buildSystemPrompt(availableBlocks, matchThreshold) {
30741
30943
  const blockCatalog = availableBlocks.map((b) => {
@@ -30942,10 +31144,10 @@ async function segmentAndMatchBlocks(html, availableBlocks, ctx) {
30942
31144
  }
30943
31145
 
30944
31146
  // src/page-converter/passes/pass2-population.ts
30945
- import { z as z62 } from "zod";
31147
+ import { z as z63 } from "zod";
30946
31148
 
30947
31149
  // src/manifest/three-pass-converter.ts
30948
- import { z as z61 } from "zod";
31150
+ import { z as z62 } from "zod";
30949
31151
 
30950
31152
  // src/manifest/prompt/theme-summary.ts
30951
31153
  var WEIGHT_MAP = {
@@ -31246,9 +31448,9 @@ function mapPass1FieldToOutputField(field) {
31246
31448
  maxLength: null
31247
31449
  };
31248
31450
  }
31249
- var pass2OutputSchema = z61.object({
31451
+ var pass2OutputSchema = z62.object({
31250
31452
  layout: llmNodeSchema,
31251
- rationale: z61.string().describe("Explain which node binds to which field")
31453
+ rationale: z62.string().describe("Explain which node binds to which field")
31252
31454
  });
31253
31455
  function buildPass2SystemPrompt(fields3, contentTypeApproach) {
31254
31456
  const fieldList = fields3.map((f) => {
@@ -32108,9 +32310,9 @@ async function convertHtmlToManifest(input, options) {
32108
32310
  }
32109
32311
 
32110
32312
  // src/page-converter/passes/pass2-population.ts
32111
- var builtinContentSchema = z62.object({
32112
- content: z62.unknown(),
32113
- rationale: z62.string()
32313
+ var builtinContentSchema = z63.object({
32314
+ content: z63.unknown(),
32315
+ rationale: z63.string()
32114
32316
  });
32115
32317
  var SECTION_STYLES_ALLOWED_KEYS = /* @__PURE__ */ new Set(["background", "spacing"]);
32116
32318
  var BOX_STYLES_ALLOWED_KEYS = /* @__PURE__ */ new Set(["background", "spacing", "raised", "rounded", "border", "fullWidth"]);