@riverbankcms/sdk 0.88.0 → 0.90.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 (198) hide show
  1. package/README.md +27 -4
  2. package/dist/{PreviewEditorSidebar-EVRS3C7T.mjs → PreviewEditorSidebar-KVXNF3VW.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-54WD4IGE.mjs → PreviewEditorUI-J3JN5Z7T.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +216 -0
  6. package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
  7. package/dist/_dts/api/src/accessAdmin.d.ts +7 -0
  8. package/dist/_dts/api/src/bookingOperations.d.ts +2 -0
  9. package/dist/_dts/api/src/bookingRecords.d.ts +4 -2
  10. package/dist/_dts/api/src/bookings.d.ts +3 -1
  11. package/dist/_dts/api/src/endpoints.d.ts +8 -0
  12. package/dist/_dts/api/src/index.d.ts +7 -6
  13. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -5
  14. package/dist/_dts/api/src/request.d.ts +21 -0
  15. package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
  16. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  17. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
  18. package/dist/_dts/api/src/siteMembers.d.ts +6 -1
  19. package/dist/_dts/api/src/types.d.ts +4 -2
  20. package/dist/_dts/api/src/url.d.ts +6 -3
  21. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +1 -0
  22. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +5 -1
  23. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +9 -1
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +1 -0
  25. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +7 -11
  26. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -0
  27. package/dist/_dts/blocks/src/index.d.ts +2 -1
  28. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -6
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -4
  30. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
  31. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +3 -3
  32. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +8 -0
  33. package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -1
  34. package/dist/_dts/blocks/src/system/icons/cta.d.ts +3 -3
  35. package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
  36. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -2
  37. package/dist/_dts/blocks/src/system/icons/semantic.d.ts +3 -3
  38. package/dist/_dts/blocks/src/system/icons/svg.d.ts +72 -0
  39. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +3 -1
  40. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -0
  41. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +18 -5
  42. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -6
  43. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
  44. package/dist/_dts/blocks/src/system/runtime/hooks/loadStateError.d.ts +1 -0
  45. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -1
  46. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.state.d.ts +55 -0
  47. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.state.d.ts +39 -0
  48. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.d.ts +4 -27
  49. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.state.d.ts +40 -0
  50. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -0
  51. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.state.d.ts +31 -0
  52. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +3 -3
  53. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.state.d.ts +39 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +2 -2
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -17
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -9
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -9
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -1
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +5 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +4 -4
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +50 -0
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  66. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +11 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/calendarViewOptions.d.ts +10 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +24 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +24 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +24 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +5 -2
  75. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +2 -2
  76. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +35 -0
  77. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  78. package/dist/_dts/content-model/src/entry-slots/sdkBlocks.d.ts +21 -0
  79. package/dist/_dts/content-model/src/entry-slots/types.d.ts +61 -0
  80. package/dist/_dts/core/src/branded.d.ts +7 -0
  81. package/dist/_dts/core/src/index.d.ts +1 -0
  82. package/dist/_dts/core/src/money-input.d.ts +18 -0
  83. package/dist/_dts/core/src/site-route-target.d.ts +40 -0
  84. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +209 -2
  85. package/dist/_dts/media-core/src/fileDomain.d.ts +4 -0
  86. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  87. package/dist/_dts/media-editor/src/fieldUi.d.ts +6 -0
  88. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  89. package/dist/_dts/preview-next/src/client/index.d.ts +1 -0
  90. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -2
  91. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -2
  92. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +3 -2
  93. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +2 -2
  94. package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +6 -0
  95. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -1
  96. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +10 -0
  97. package/dist/_dts/sdk/src/cli/content/reader.d.ts +12 -5
  98. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -55
  99. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +160 -0
  100. package/dist/_dts/sdk/src/client/types.d.ts +26 -1
  101. package/dist/_dts/sdk/src/components.d.ts +1 -0
  102. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  103. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -1
  104. package/dist/_dts/sdk/src/index.d.ts +3 -1
  105. package/dist/_dts/sdk/src/next/types.d.ts +8 -11
  106. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
  107. package/dist/_dts/sdk/src/rendering/blocks-theme-scope.d.ts +2 -1
  108. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +8 -7
  109. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -6
  110. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  111. package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
  112. package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +26 -0
  113. package/dist/_dts/sdk/src/version.d.ts +1 -1
  114. package/dist/_dts/site-commands/src/commands.d.ts +18 -0
  115. package/dist/_dts/theme-core/src/ResponsiveScope.d.ts +12 -0
  116. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  117. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
  118. package/dist/_dts/theme-core/src/buttons/types.d.ts +5 -5
  119. package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
  120. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  121. package/dist/_dts/theme-core/src/index.d.ts +2 -0
  122. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -21
  123. package/dist/_dts/theme-core/src/schema.d.ts +18 -18
  124. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  125. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  126. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  127. package/dist/_dts/theme-core/src/themeRuntime.d.ts +11 -0
  128. package/dist/{chunk-ER4UIW4X.mjs → chunk-AEOYWPE4.mjs} +91 -55
  129. package/dist/{chunk-O4LVYUVH.mjs → chunk-BOQXMCSP.mjs} +147 -101
  130. package/dist/{chunk-HVOBXA3Y.mjs → chunk-GSPFFUVB.mjs} +2 -2
  131. package/dist/{chunk-7KOO7RPP.mjs → chunk-PMBB6MQ7.mjs} +2273 -1113
  132. package/dist/{chunk-K3JWH6HE.mjs → chunk-RQ3XZ4SJ.mjs} +9 -1
  133. package/dist/{chunk-YDMBIIS5.mjs → chunk-UG7I7S7W.mjs} +1 -1
  134. package/dist/cli/index.mjs +1564 -546
  135. package/dist/cli/init-docs/content/cli-reference.md +6 -1
  136. package/dist/cli/init-docs/content/content-management.md +27 -0
  137. package/dist/client/{accordion-PT5CGW5N.mjs → accordion-GXQNWQ6O.mjs} +2 -2
  138. package/dist/client/{bookingForm-2HLRTEYS.mjs → bookingForm-STLUJ36H.mjs} +206 -335
  139. package/dist/client/bookings.mjs +821 -413
  140. package/dist/client/{carousel-Z2LKYSWA.mjs → carousel-CVRN6EPP.mjs} +4 -3
  141. package/dist/client/{cart-ND5IK4A6.mjs → cart-IYIBA5CL.mjs} +8 -8
  142. package/dist/client/{checkout-EYUSGAY7.mjs → checkout-O3BGM4GS.mjs} +8 -8
  143. package/dist/client/chunk-4RTFGHZN.mjs +433 -0
  144. package/dist/client/{chunk-DIRW2LNG.mjs → chunk-6DPXDOIL.mjs} +336 -225
  145. package/dist/client/chunk-6N7YRNYU.mjs +183 -0
  146. package/dist/client/{chunk-O5JNI3E4.mjs → chunk-7DH35FGA.mjs} +2 -2
  147. package/dist/client/{chunk-S4G65LGR.mjs → chunk-D3ETC2SU.mjs} +1 -1
  148. package/dist/client/{chunk-BAWHZ5GM.mjs → chunk-DAS5CIER.mjs} +460 -157
  149. package/dist/client/{chunk-6DVPO44G.mjs → chunk-FHU6PFPM.mjs} +1 -1
  150. package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
  151. package/dist/client/{chunk-BL66UWGD.mjs → chunk-MFPKS6QS.mjs} +13 -16
  152. package/dist/client/{chunk-X7GVFB7Y.mjs → chunk-NBFRJ5NB.mjs} +157 -5
  153. package/dist/client/{chunk-WCVK4MBJ.mjs → chunk-VFHZLZAC.mjs} +1 -1
  154. package/dist/client/{chunk-GOFO7HRH.mjs → chunk-WHZQDPBZ.mjs} +19 -1
  155. package/dist/client/{chunk-MHBEWDT7.mjs → chunk-Z62JYS5O.mjs} +122 -50
  156. package/dist/client/client.mjs +5979 -5198
  157. package/dist/client/{courseRegistration-H3AZBUEG.mjs → courseRegistration-2D3ACMJR.mjs} +20 -58
  158. package/dist/client/{eventCalendar-FPKJGLGS.mjs → eventCalendar-QY4UZUFF.mjs} +11 -11
  159. package/dist/client/{eventCombined-QCGIZBUY.mjs → eventCombined-RRCDKJC2.mjs} +11 -11
  160. package/dist/client/{eventDetails-HIT3BJWU.mjs → eventDetails-YO335BUT.mjs} +11 -11
  161. package/dist/client/{eventListing-R4HNWJDN.mjs → eventListing-PXA6GFQ3.mjs} +11 -11
  162. package/dist/client/{eventRegistration-Q7BYY5HF.mjs → eventRegistration-2ZHEDDXO.mjs} +11 -11
  163. package/dist/client/{form-NI6YOG6S.mjs → form-ZS6KX4U2.mjs} +7 -7
  164. package/dist/client/{headerSection-SDYGII36.mjs → headerSection-QK5SLIIB.mjs} +3 -3
  165. package/dist/client/hooks.mjs +1102 -1029
  166. package/dist/client/{locationMap-BDETEUQD.mjs → locationMap-GFNIUD2X.mjs} +3 -3
  167. package/dist/client/{newsletterForm-EKYIU67X.mjs → newsletterForm-PGLTTCUG.mjs} +61 -25
  168. package/dist/client/{productDetail-5UTGNN76.mjs → productDetail-OPBE5ZPI.mjs} +8 -8
  169. package/dist/client/{productList-7YA5KXZQ.mjs → productList-NI72Q62Z.mjs} +8 -8
  170. package/dist/client/rendering/client.mjs +4390 -4245
  171. package/dist/client/rendering/islands.mjs +19 -19
  172. package/dist/client/rendering.mjs +3327 -3181
  173. package/dist/client/{shop-AIMUMZYC.mjs → shop-3ZQPEWYI.mjs} +8 -8
  174. package/dist/client/spam-protection.mjs +4 -5
  175. package/dist/preview-next/before-render.mjs +20 -2
  176. package/dist/preview-next/client/runtime.mjs +5 -5
  177. package/dist/preview-next/middleware.mjs +18 -0
  178. package/dist/{sdk-runtime-NW472WNT.mjs → sdk-runtime-FSHXCWDS.mjs} +6 -6
  179. package/dist/server/components.mjs +2580 -2783
  180. package/dist/server/config-validation.mjs +1334 -1261
  181. package/dist/server/config.mjs +1334 -1261
  182. package/dist/server/data.mjs +1102 -1029
  183. package/dist/server/index.mjs +1097 -476
  184. package/dist/server/navigation.mjs +20 -30
  185. package/dist/server/next.mjs +3282 -2847
  186. package/dist/server/page-converter.mjs +1009 -946
  187. package/dist/server/prebuild.mjs +1 -1
  188. package/dist/server/rendering/server.mjs +2580 -2783
  189. package/dist/server/rendering.mjs +2586 -2789
  190. package/dist/server/routing.mjs +1440 -1053
  191. package/dist/server/server.mjs +1886 -1153
  192. package/dist/server/theme-bridge.mjs +34 -5
  193. package/dist/styles/index.css +26 -0
  194. package/package.json +3 -2
  195. package/dist/SdkPreviewModeRuntime-ZALZDJEK.mjs +0 -8
  196. package/dist/client/chunk-H4MHEXYS.mjs +0 -184
  197. package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
  198. /package/dist/client/{chunk-LI2C6M5O.mjs → chunk-25W2EQUN.mjs} +0 -0
@@ -1,5 +1,5 @@
1
1
  // src/config/validation.ts
2
- import { z as z74 } from "zod";
2
+ import { z as z72 } from "zod";
3
3
 
4
4
  // ../api/src/apiEndpointTypes.ts
5
5
  function blockedDemoMutationPolicy(classification, publicMessage) {
@@ -1813,6 +1813,24 @@ var ENDPOINT_DEFINITIONS = {
1813
1813
  auth: "user",
1814
1814
  responseKind: "json"
1815
1815
  },
1816
+ resendSiteInvitation: {
1817
+ path: "/sites/{siteId}/members/invitations/{invitationId}/resend",
1818
+ method: "POST",
1819
+ errors: [
1820
+ "auth:forbidden",
1821
+ "resource:not_found",
1822
+ "validation:invalid_input",
1823
+ "external:service_error",
1824
+ "server:internal_error"
1825
+ ],
1826
+ tags: [
1827
+ "site-{siteId}",
1828
+ "site-members-{siteId}",
1829
+ "site-invite-{invitationId}"
1830
+ ],
1831
+ auth: "user",
1832
+ responseKind: "json"
1833
+ },
1816
1834
  transferSiteOwnership: {
1817
1835
  path: "/sites/{siteId}/members/transfer-ownership",
1818
1836
  method: "POST",
@@ -6750,7 +6768,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
6750
6768
  );
6751
6769
 
6752
6770
  // ../api/src/sdkConfig/contracts.ts
6753
- import { z as z65 } from "zod";
6771
+ import { z as z63 } from "zod";
6754
6772
 
6755
6773
  // ../blocks/src/system/manifest/augmentManifest.ts
6756
6774
  function augmentManifest(manifest) {
@@ -7178,12 +7196,17 @@ var visibleWhenPredicateSchema = z4.object({
7178
7196
  minItems: z4.number().int().nonnegative().optional(),
7179
7197
  maxItems: z4.number().int().nonnegative().optional()
7180
7198
  });
7181
- var visibleWhenSchema = z4.union([
7182
- visibleWhenPredicateSchema,
7183
- z4.object({
7184
- allOf: z4.array(visibleWhenPredicateSchema).min(1)
7185
- })
7186
- ]);
7199
+ var visibleWhenSchema = z4.lazy(
7200
+ () => z4.union([
7201
+ visibleWhenPredicateSchema,
7202
+ z4.object({
7203
+ allOf: z4.array(visibleWhenSchema).min(1)
7204
+ }),
7205
+ z4.object({
7206
+ anyOf: z4.array(visibleWhenSchema).min(1)
7207
+ })
7208
+ ])
7209
+ );
7187
7210
  var uiSchema = z4.object({
7188
7211
  widget: z4.string().optional(),
7189
7212
  // Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
@@ -20088,9 +20111,6 @@ var heroCopyFragment = defineFragment({
20088
20111
  maxLength: 600
20089
20112
  }
20090
20113
  ],
20091
- // Layout order is [eyebrow, headline, subheadline]. The hero block's
20092
- // `splitEditorial` variant reads these nodes by index; keep the order stable
20093
- // (it fails fast at import if the count changes).
20094
20114
  layout: [
20095
20115
  text(
20096
20116
  {
@@ -22328,32 +22348,6 @@ var splitReverseLayout = splitLayoutWith([
22328
22348
  splitContentColumn,
22329
22349
  splitImageColumn
22330
22350
  ]);
22331
- var heroEyebrowNode = heroCopyFragment.layout[0];
22332
- var heroHeadlineNode = heroCopyFragment.layout[1];
22333
- var heroSubheadlineNode = heroCopyFragment.layout[2];
22334
- var heroCtaRowNode = heroCtaRowFragment.layout[0];
22335
- if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
22336
- throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
22337
- }
22338
- var heroEditorialBottomRow = inline(
22339
- {
22340
- gap: "lg",
22341
- align: "end",
22342
- justify: "start",
22343
- wrap: true,
22344
- className: "rb-w-full"
22345
- },
22346
- [heroSubheadlineNode, heroCtaRowNode]
22347
- );
22348
- var splitEditorialContentColumn = heroContentWrapper(
22349
- [heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
22350
- "md",
22351
- "rb-w-full rb-text-left"
22352
- );
22353
- var splitEditorialLayout = splitLayoutWith([
22354
- splitEditorialContentColumn,
22355
- splitImageColumn
22356
- ]);
22357
22351
  var heroConfig = {
22358
22352
  id: "block.hero",
22359
22353
  title: "Hero",
@@ -22377,7 +22371,8 @@ var heroConfig = {
22377
22371
  id: "imageShape",
22378
22372
  label: "Image shape",
22379
22373
  defaultValue: "default",
22380
- uiIntent: "display"
22374
+ uiIntent: "display",
22375
+ visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
22381
22376
  })
22382
22377
  ],
22383
22378
  layout: classicLayout,
@@ -22385,8 +22380,7 @@ var heroConfig = {
22385
22380
  classic: classicLayout,
22386
22381
  micro: microLayout,
22387
22382
  split: splitLayout,
22388
- splitReverse: splitReverseLayout,
22389
- splitEditorial: splitEditorialLayout
22383
+ splitReverse: splitReverseLayout
22390
22384
  },
22391
22385
  defaultVariant: "classic",
22392
22386
  description: "Hero section with headline, subtitle, and repeatable CTAs.",
@@ -24262,8 +24256,10 @@ function resolveGeneratedHeroLayoutStyles(content) {
24262
24256
  return isPlainObject(raw) ? raw : null;
24263
24257
  }
24264
24258
  function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
24259
+ const explicitValue = readString(content, fallbackKey);
24260
+ if (explicitValue !== void 0) return explicitValue;
24265
24261
  const generated = resolveGeneratedHeroLayoutStyles(content);
24266
- return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : readString(content, fallbackKey);
24262
+ return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : void 0;
24267
24263
  }
24268
24264
  function resolveHeroVariant(content) {
24269
24265
  const variant = readString(content, "variant");
@@ -24276,7 +24272,7 @@ function resolveHeroContentAlignment(content) {
24276
24272
  const raw = readHeroLayoutString(content, "contentAlignment");
24277
24273
  if (raw === "left" || raw === "center" || raw === "right") return raw;
24278
24274
  const variant = resolveHeroVariant(content);
24279
- if (variant === "split" || variant === "splitReverse" || variant === "splitEditorial") return "left";
24275
+ if (variant === "split" || variant === "splitReverse") return "left";
24280
24276
  return "center";
24281
24277
  }
24282
24278
  function resolveHeroVerticalAlignment(content) {
@@ -24286,7 +24282,7 @@ function resolveHeroVerticalAlignment(content) {
24286
24282
  const minHeight = sectionStyles?.minHeight;
24287
24283
  if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
24288
24284
  const variant = resolveHeroVariant(content);
24289
- if (variant === "split" || variant === "splitReverse" || variant === "splitEditorial") return "center";
24285
+ if (variant === "split" || variant === "splitReverse") return "center";
24290
24286
  return "top";
24291
24287
  }
24292
24288
  function resolveHeroContentMaxWidth(content) {
@@ -27852,9 +27848,6 @@ var appointmentBookingBlockDefinition = {
27852
27848
  }
27853
27849
  };
27854
27850
 
27855
- // ../blocks/src/system/blocks/event-registration.ts
27856
- import { z as z47 } from "zod";
27857
-
27858
27851
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27859
27852
  import { z as z43 } from "zod";
27860
27853
 
@@ -28469,24 +28462,57 @@ function normalizeEventStaffMemberId(value) {
28469
28462
  return trimmed ? trimmed : null;
28470
28463
  }
28471
28464
 
28472
- // ../blocks/src/system/blocks/event-registration.shared.ts
28465
+ // ../blocks/src/system/blocks/shop.shared.ts
28473
28466
  import { z as z44 } from "zod";
28474
- var occurrenceContextSchema = z44.object({
28467
+ var publicPassProductSchema = z44.object({
28468
+ id: z44.string(),
28469
+ productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
28470
+ name: z44.string(),
28471
+ description: z44.string().nullable(),
28472
+ price: z44.number(),
28473
+ currency: z44.string(),
28474
+ creditsTotal: z44.number(),
28475
+ pricePerCredit: z44.number(),
28476
+ validDays: z44.number().nullable(),
28477
+ eligibleCategoryIds: z44.array(z44.string()),
28478
+ eligibleCategoryNames: z44.array(z44.string())
28479
+ });
28480
+ var publicPassProductCollectionSchema = z44.object({
28481
+ passes: z44.array(publicPassProductSchema)
28482
+ });
28483
+ var publicMembershipProductSchema = z44.object({
28475
28484
  id: z44.string(),
28476
- seriesId: z44.string(),
28477
- startsAt: z44.string(),
28478
- endsAt: z44.string(),
28479
- timeZone: z44.string(),
28480
- capacityOverride: z44.number().nullable().optional(),
28481
- overrides: z44.record(z44.string(), z44.unknown()).nullable().optional()
28485
+ name: z44.string(),
28486
+ description: z44.string().nullable(),
28487
+ price: z44.number(),
28488
+ currency: z44.string(),
28489
+ billingInterval: z44.enum(["month", "year"]),
28490
+ eligibleCategoryIds: z44.array(z44.string()),
28491
+ eligibleCategoryNames: z44.array(z44.string())
28492
+ });
28493
+ var publicMembershipProductCollectionSchema = z44.object({
28494
+ memberships: z44.array(publicMembershipProductSchema)
28495
+ });
28496
+
28497
+ // ../blocks/src/system/blocks/event-registration.shared.ts
28498
+ import { z as z45 } from "zod";
28499
+ var occurrenceContextSchema = z45.object({
28500
+ id: z45.string(),
28501
+ seriesId: z45.string(),
28502
+ startsAt: z45.string(),
28503
+ endsAt: z45.string(),
28504
+ timeZone: z45.string(),
28505
+ capacityOverride: z45.number().nullable().optional(),
28506
+ overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
28482
28507
  }).nullable();
28483
28508
 
28484
28509
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28485
- import { z as z46 } from "zod";
28510
+ import { z as z47 } from "zod";
28486
28511
 
28487
28512
  // ../blocks/src/system/constants/events.ts
28488
28513
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
28489
- var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
28514
+ var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
28515
+ var eventCalendarDefaultViewValues = ["month", "week"];
28490
28516
  var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
28491
28517
  var eventCalendarListLayoutOptions = [
28492
28518
  { id: "stack", label: "Stack" },
@@ -28496,6 +28522,9 @@ var eventCalendarListLayoutOptions = [
28496
28522
  function isEventCalendarDisplayMode(value) {
28497
28523
  return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
28498
28524
  }
28525
+ function isEventCalendarDefaultView(value) {
28526
+ return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
28527
+ }
28499
28528
  function isEventCalendarListLayout(value) {
28500
28529
  return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
28501
28530
  }
@@ -28636,16 +28665,17 @@ function readAmount(value) {
28636
28665
  }
28637
28666
 
28638
28667
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
28639
- import { z as z45 } from "zod";
28640
- var previewStageSchema = z45.enum(["preview", "published"]);
28641
- var registrationButtonVariantSchema = z45.enum(["primary", "secondary", "outline"]);
28642
- var eventButtonVariantSchema = z45.enum(["primary", "secondary", "outline", "link"]);
28643
- var eventLayoutSchema = z45.enum(eventCalendarListLayoutValues);
28644
- var eventCalendarDisplayModeSchema = z45.enum(eventCalendarDisplayModeValues);
28645
- var columnOptionSchema = z45.enum(["2", "3", "4"]);
28646
- var weekStartSchema = z45.enum(["sunday", "monday"]);
28647
- var filterAutoShowSchema = z45.enum(["auto", "always", "never"]);
28648
- var calendarTabViewsSchema = z45.enum(["both", "month", "week"]);
28668
+ import { z as z46 } from "zod";
28669
+ var previewStageSchema = z46.enum(["preview", "published"]);
28670
+ var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
28671
+ var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
28672
+ var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
28673
+ var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
28674
+ var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
28675
+ var columnOptionSchema = z46.enum(["2", "3", "4"]);
28676
+ var weekStartSchema = z46.enum(["sunday", "monday"]);
28677
+ var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
28678
+ var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
28649
28679
 
28650
28680
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
28651
28681
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -28663,7 +28693,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
28663
28693
  function findPreSelectedEvent(input) {
28664
28694
  const occurrenceContext = input.occurrenceContext;
28665
28695
  if (!occurrenceContext) {
28666
- return null;
28696
+ return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
28667
28697
  }
28668
28698
  const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
28669
28699
  startsAt: occurrenceContext.startsAt,
@@ -28705,68 +28735,72 @@ function toRegistrationEvents(events) {
28705
28735
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28706
28736
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
28707
28737
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
28708
- var contentEntrySchema = z46.object({
28709
- id: z46.string(),
28710
- slug: z46.string(),
28711
- contentTypeSlug: z46.string()
28738
+ var contentEntrySchema = z47.object({
28739
+ id: z47.string(),
28740
+ slug: z47.string(),
28741
+ contentTypeSlug: z47.string()
28712
28742
  });
28713
- var eventRegistrationPublicEventSchema = z46.preprocess(
28743
+ var eventRegistrationPublicEventSchema = z47.preprocess(
28714
28744
  normalizeEventRegistrationEventInput,
28715
28745
  publicEventSchema
28716
28746
  );
28717
- var eventRegistrationSourceSchema = z46.object({
28718
- siteId: z46.string().optional(),
28719
- apiBaseUrl: z46.string().optional(),
28720
- portalToken: z46.string().nullable().optional(),
28721
- previewToken: z46.string().nullable().optional(),
28747
+ var eventRegistrationSourceSchema = z47.object({
28748
+ siteId: z47.string().optional(),
28749
+ apiBaseUrl: z47.string().optional(),
28750
+ portalToken: z47.string().nullable().optional(),
28751
+ previewToken: z47.string().nullable().optional(),
28722
28752
  occurrenceContext: occurrenceContextSchema.optional(),
28723
28753
  contentEntry: contentEntrySchema.nullable().optional(),
28724
- events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
28725
- className: z46.string().nullable().optional(),
28726
- buttonText: z46.string().nullable().optional(),
28727
- maxTickets: z46.string().nullable().optional(),
28728
- showVenue: z46.boolean().optional(),
28729
- showCapacity: z46.boolean().optional(),
28730
- successMessage: z46.string().optional(),
28731
- waitlistMessage: z46.string().optional(),
28754
+ events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28755
+ className: z47.string().nullable().optional(),
28756
+ buttonText: z47.string().nullable().optional(),
28757
+ maxTickets: z47.string().nullable().optional(),
28758
+ showVenue: z47.boolean().optional(),
28759
+ showCapacity: z47.boolean().optional(),
28760
+ successMessage: z47.string().optional(),
28761
+ waitlistMessage: z47.string().optional(),
28732
28762
  buttonVariant: registrationButtonVariantSchema.optional(),
28733
- overlayEnabled: z46.boolean().optional(),
28734
- spamProtectionEnabled: z46.boolean().optional(),
28763
+ overlayEnabled: z47.boolean().optional(),
28764
+ spamProtectionEnabled: z47.boolean().optional(),
28735
28765
  stage: previewStageSchema.optional(),
28736
- supportEmail: z46.string().optional()
28737
- });
28738
- var eventRegistrationDisplaySchema = z46.object({
28739
- kind: z46.literal("event-registration"),
28740
- state: z46.literal("generic-shell"),
28741
- className: z46.string().nullable(),
28742
- titleText: z46.string(),
28743
- bodyText: z46.string(),
28744
- stepLabels: z46.array(z46.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28745
- summaryButtonText: z46.string()
28746
- });
28747
- var eventRegistrationHydrationSchema = z46.object({
28766
+ supportEmail: z47.string().optional(),
28767
+ sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28768
+ siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28769
+ });
28770
+ var eventRegistrationDisplaySchema = z47.object({
28771
+ kind: z47.literal("event-registration"),
28772
+ state: z47.literal("generic-shell"),
28773
+ className: z47.string().nullable(),
28774
+ titleText: z47.string(),
28775
+ bodyText: z47.string(),
28776
+ stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28777
+ summaryButtonText: z47.string()
28778
+ });
28779
+ var eventRegistrationHydrationSchema = z47.object({
28748
28780
  occurrenceContext: occurrenceContextSchema.optional(),
28749
28781
  contentEntry: contentEntrySchema.nullable().optional(),
28750
- events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
28751
- maxTickets: z46.string().optional(),
28752
- showVenue: z46.boolean().optional(),
28753
- showCapacity: z46.boolean().optional(),
28754
- successMessage: z46.string().optional(),
28755
- waitlistMessage: z46.string().optional(),
28782
+ events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28783
+ maxTickets: z47.string().optional(),
28784
+ showVenue: z47.boolean().optional(),
28785
+ showCapacity: z47.boolean().optional(),
28786
+ successMessage: z47.string().optional(),
28787
+ waitlistMessage: z47.string().optional(),
28756
28788
  buttonVariant: registrationButtonVariantSchema.optional(),
28757
- overlayEnabled: z46.boolean().optional(),
28758
- spamProtectionEnabled: z46.boolean().optional(),
28759
- supportEmail: z46.string().optional()
28789
+ overlayEnabled: z47.boolean().optional(),
28790
+ spamProtectionEnabled: z47.boolean().optional(),
28791
+ supportEmail: z47.string().optional(),
28792
+ sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28793
+ siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28760
28794
  });
28761
- var eventRegistrationRenderSchema = z46.object({
28795
+ var eventRegistrationRenderSchema = z47.object({
28762
28796
  display: eventRegistrationDisplaySchema,
28763
28797
  hydration: eventRegistrationHydrationSchema
28764
28798
  });
28765
- var eventRegistrationIslandMetaCodec = createZodCodec(z46.object({
28766
- siteId: z46.string().optional(),
28767
- apiBaseUrl: z46.string().optional(),
28768
- portalToken: z46.string().nullable().optional(),
28769
- previewToken: z46.string().nullable().optional(),
28799
+ var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
28800
+ siteId: z47.string().optional(),
28801
+ apiBaseUrl: z47.string().optional(),
28802
+ portalToken: z47.string().nullable().optional(),
28803
+ previewToken: z47.string().nullable().optional(),
28770
28804
  stage: previewStageSchema.optional()
28771
28805
  }));
28772
28806
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -28872,7 +28906,9 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
28872
28906
  buttonVariant: source.buttonVariant,
28873
28907
  overlayEnabled: source.overlayEnabled,
28874
28908
  spamProtectionEnabled: source.spamProtectionEnabled,
28875
- supportEmail: source.supportEmail
28909
+ supportEmail: source.supportEmail,
28910
+ sitePasses: source.sitePasses ?? null,
28911
+ siteMemberships: source.siteMemberships ?? null
28876
28912
  }
28877
28913
  })
28878
28914
  });
@@ -29054,6 +29090,8 @@ var eventRegistrationManifest = createBlockManifest({
29054
29090
  },
29055
29091
  // Event data from loader
29056
29092
  events: { $bind: { from: "data.events" } },
29093
+ sitePasses: { $bind: { from: "data.sitePasses" } },
29094
+ siteMemberships: { $bind: { from: "data.siteMemberships" } },
29057
29095
  // Stage for preview mode (allows registering for draft events)
29058
29096
  stage: {
29059
29097
  $bind: { from: "$root.previewStage", fallback: "published" }
@@ -29072,7 +29110,9 @@ var eventRegistrationBlockDefinition = {
29072
29110
  manifest: eventRegistrationManifest,
29073
29111
  runtime: eventRegistrationBlockRuntime,
29074
29112
  dataSchemas: {
29075
- events: z47.array(publicEventSchema).optional(),
29113
+ events: publicEventsArraySchema.optional(),
29114
+ sitePasses: publicPassProductCollectionSchema.optional(),
29115
+ siteMemberships: publicMembershipProductCollectionSchema.optional(),
29076
29116
  occurrenceContext: occurrenceContextSchema.optional()
29077
29117
  },
29078
29118
  dataLoaders: {
@@ -29091,6 +29131,20 @@ var eventRegistrationBlockDefinition = {
29091
29131
  entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
29092
29132
  },
29093
29133
  mode: "server"
29134
+ },
29135
+ sitePasses: {
29136
+ endpoint: "listPublicPasses",
29137
+ params: {
29138
+ siteId: { $bind: { from: "$root.siteId" } }
29139
+ },
29140
+ mode: "server"
29141
+ },
29142
+ siteMemberships: {
29143
+ endpoint: "listPublicMemberships",
29144
+ params: {
29145
+ siteId: { $bind: { from: "$root.siteId" } }
29146
+ },
29147
+ mode: "server"
29094
29148
  }
29095
29149
  }
29096
29150
  };
@@ -29422,35 +29476,7 @@ var courseRegistrationBlockDefinition = {
29422
29476
  };
29423
29477
 
29424
29478
  // ../blocks/src/system/blocks/event-details.ts
29425
- import { z as z50 } from "zod";
29426
-
29427
- // ../blocks/src/system/blocks/shop.shared.ts
29428
29479
  import { z as z49 } from "zod";
29429
- var publicPassProductSchema = z49.object({
29430
- id: z49.string(),
29431
- productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
29432
- name: z49.string(),
29433
- description: z49.string().nullable(),
29434
- price: z49.number(),
29435
- currency: z49.string(),
29436
- creditsTotal: z49.number(),
29437
- pricePerCredit: z49.number(),
29438
- validDays: z49.number().nullable(),
29439
- eligibleCategoryIds: z49.array(z49.string()),
29440
- eligibleCategoryNames: z49.array(z49.string())
29441
- });
29442
- var publicMembershipProductSchema = z49.object({
29443
- id: z49.string(),
29444
- name: z49.string(),
29445
- description: z49.string().nullable(),
29446
- price: z49.number(),
29447
- currency: z49.string(),
29448
- billingInterval: z49.enum(["month", "year"]),
29449
- eligibleCategoryIds: z49.array(z49.string()),
29450
- eligibleCategoryNames: z49.array(z49.string())
29451
- });
29452
-
29453
- // ../blocks/src/system/blocks/event-details.ts
29454
29480
  var eventDetailsManifest = createBlockManifest({
29455
29481
  id: "block.event-details",
29456
29482
  version: "1.0.0",
@@ -29582,40 +29608,40 @@ var eventDetailsManifest = createBlockManifest({
29582
29608
  })
29583
29609
  ]
29584
29610
  });
29585
- var occurrenceContextSchema2 = z50.object({
29586
- id: z50.string(),
29587
- seriesId: z50.string(),
29588
- startsAt: z50.string(),
29589
- endsAt: z50.string(),
29590
- timeZone: z50.string(),
29591
- capacityOverride: z50.number().nullable().optional(),
29592
- overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
29611
+ var occurrenceContextSchema2 = z49.object({
29612
+ id: z49.string(),
29613
+ seriesId: z49.string(),
29614
+ startsAt: z49.string(),
29615
+ endsAt: z49.string(),
29616
+ timeZone: z49.string(),
29617
+ capacityOverride: z49.number().nullable().optional(),
29618
+ overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
29593
29619
  }).nullable();
29594
- var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
29595
- id: z50.string(),
29596
- publicLabel: z50.string(),
29597
- description: z50.string().nullable(),
29598
- minTicketsRequired: z50.number().nullable()
29620
+ var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
29621
+ id: z49.string(),
29622
+ publicLabel: z49.string(),
29623
+ description: z49.string().nullable(),
29624
+ minTicketsRequired: z49.number().nullable()
29599
29625
  });
29600
- var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
29626
+ var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
29601
29627
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29602
- discountType: z50.literal("percent"),
29603
- discountPercent: z50.number(),
29604
- discountAmountCents: z50.null()
29628
+ discountType: z49.literal("percent"),
29629
+ discountPercent: z49.number(),
29630
+ discountAmountCents: z49.null()
29605
29631
  }),
29606
29632
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29607
- discountType: z50.literal("fixed"),
29608
- discountPercent: z50.null(),
29609
- discountAmountCents: z50.number()
29633
+ discountType: z49.literal("fixed"),
29634
+ discountPercent: z49.null(),
29635
+ discountAmountCents: z49.number()
29610
29636
  })
29611
29637
  ]);
29612
29638
  var eventDetailsBlockDefinition = {
29613
29639
  manifest: eventDetailsManifest,
29614
29640
  dataSchemas: {
29615
- eventDetailsData: z50.object({
29641
+ eventDetailsData: z49.object({
29616
29642
  events: publicEventsArraySchema,
29617
- sitePasses: z50.object({ passes: z50.array(publicPassProductSchema) }),
29618
- siteMemberships: z50.object({ memberships: z50.array(publicMembershipProductSchema) }),
29643
+ sitePasses: publicPassProductCollectionSchema,
29644
+ siteMemberships: publicMembershipProductCollectionSchema,
29619
29645
  autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
29620
29646
  }).optional(),
29621
29647
  occurrenceContext: occurrenceContextSchema2.optional()
@@ -29939,7 +29965,7 @@ var eventSpotlightBlockDefinition = {
29939
29965
  };
29940
29966
 
29941
29967
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
29942
- import { z as z52 } from "zod";
29968
+ import { z as z51 } from "zod";
29943
29969
 
29944
29970
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
29945
29971
  var COLUMN_CLASSES = {
@@ -30047,16 +30073,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
30047
30073
  }
30048
30074
 
30049
30075
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
30050
- import { z as z51 } from "zod";
30076
+ import { z as z50 } from "zod";
30051
30077
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
30052
- var eventPageSizeSchema = z51.union([
30053
- z51.literal(3),
30054
- z51.literal(6),
30055
- z51.literal(10),
30056
- z51.literal(12),
30057
- z51.literal(20),
30058
- z51.literal(24),
30059
- z51.literal(30)
30078
+ var eventPageSizeSchema = z50.union([
30079
+ z50.literal(3),
30080
+ z50.literal(6),
30081
+ z50.literal(10),
30082
+ z50.literal(12),
30083
+ z50.literal(20),
30084
+ z50.literal(24),
30085
+ z50.literal(30)
30060
30086
  ]);
30061
30087
  var eventPageSizeSet = new Set(eventPageSizeValues);
30062
30088
  function resolveEventPageSize(value, fallback = 12) {
@@ -30066,15 +30092,15 @@ function resolveEventPageSize(value, fallback = 12) {
30066
30092
  function resolveEventCalendarListPageSize(input) {
30067
30093
  return resolveEventPageSize(input.eventsPerPage);
30068
30094
  }
30069
- var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
30070
- z51.object({
30071
- kind: z51.literal("loadMore"),
30072
- label: z51.string()
30095
+ var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
30096
+ z50.object({
30097
+ kind: z50.literal("loadMore"),
30098
+ label: z50.string()
30073
30099
  }),
30074
- z51.object({
30075
- kind: z51.literal("seeAllLink"),
30076
- label: z51.string(),
30077
- href: z51.string()
30100
+ z50.object({
30101
+ kind: z50.literal("seeAllLink"),
30102
+ label: z50.string(),
30103
+ href: z50.string()
30078
30104
  })
30079
30105
  ]);
30080
30106
  function resolveEventListPaginationAction(input) {
@@ -30087,89 +30113,89 @@ function resolveEventListPaginationAction(input) {
30087
30113
  }
30088
30114
 
30089
30115
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30090
- var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
30091
- var eventCardVariantInputSchema = z52.union([
30116
+ var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
30117
+ var eventCardVariantInputSchema = z51.union([
30092
30118
  cardVariantRoleSchema,
30093
30119
  legacyEventCardVariantSchema
30094
30120
  ]);
30095
- var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
30096
- var eventBlockKindSchema = z52.enum(eventBlockKindValues);
30097
- var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
30098
- var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
30099
- var eventListingSourceSchema = z52.object({
30100
- events: z52.array(publicEventSchema).nullable().optional(),
30101
- siteId: z52.string(),
30102
- apiBaseUrl: z52.string().optional(),
30121
+ var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
30122
+ var eventBlockKindSchema = z51.enum(eventBlockKindValues);
30123
+ var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
30124
+ var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
30125
+ var eventListingSourceSchema = z51.object({
30126
+ events: z51.array(publicEventSchema).nullable().optional(),
30127
+ siteId: z51.string(),
30128
+ apiBaseUrl: z51.string().optional(),
30103
30129
  stage: previewStageSchema.optional(),
30104
30130
  layout: eventLayoutSchema.optional(),
30105
30131
  columns: columnOptionSchema.optional(),
30106
- eventsPerPage: z52.string().optional(),
30107
- paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30108
- seeAllUrl: z52.string().optional(),
30109
- loadMoreText: z52.string().optional(),
30132
+ eventsPerPage: z51.string().optional(),
30133
+ paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
30134
+ seeAllUrl: z51.string().optional(),
30135
+ loadMoreText: z51.string().optional(),
30110
30136
  cardVariant: eventCardVariantInputSchema.optional(),
30111
30137
  buttonVariant: eventButtonVariantSchema.optional(),
30112
- buttonText: z52.string().optional(),
30113
- showVenue: z52.boolean().optional(),
30114
- showMap: z52.boolean().optional(),
30115
- showCapacity: z52.boolean().optional(),
30116
- emptyMessage: z52.string().optional(),
30117
- className: z52.string().optional(),
30118
- showFilters: z52.boolean().nullable().optional(),
30138
+ buttonText: z51.string().optional(),
30139
+ showVenue: z51.boolean().optional(),
30140
+ showMap: z51.boolean().optional(),
30141
+ showCapacity: z51.boolean().optional(),
30142
+ emptyMessage: z51.string().optional(),
30143
+ className: z51.string().optional(),
30144
+ showFilters: z51.boolean().nullable().optional(),
30119
30145
  showCategoryFilter: filterAutoShowSchema.optional(),
30120
- showVenueFilter: z52.boolean().nullable().optional(),
30121
- showStaffFilter: z52.boolean().nullable().optional(),
30146
+ showVenueFilter: z51.boolean().nullable().optional(),
30147
+ showStaffFilter: z51.boolean().nullable().optional(),
30122
30148
  eventKind: eventBlockKindSchema.nullable().optional(),
30123
30149
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
30124
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30150
+ filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
30125
30151
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
30126
- filterCategoryIds: z52.string().nullable().optional(),
30127
- filterStaffMemberId: z52.string().nullable().optional(),
30128
- filterVenueId: z52.string().nullable().optional()
30152
+ filterCategoryIds: z51.string().nullable().optional(),
30153
+ filterStaffMemberId: z51.string().nullable().optional(),
30154
+ filterVenueId: z51.string().nullable().optional()
30129
30155
  });
30130
- var eventListingDisplaySchema = z52.object({
30131
- kind: z52.literal("event-listing"),
30132
- state: z52.enum(["loading", "empty", "ready"]),
30156
+ var eventListingDisplaySchema = z51.object({
30157
+ kind: z51.literal("event-listing"),
30158
+ state: z51.enum(["loading", "empty", "ready"]),
30133
30159
  listLayout: eventLayoutSchema,
30134
- className: z52.string().nullable(),
30135
- emptyMessage: z52.string(),
30136
- loadingMessage: z52.string(),
30137
- containerClass: z52.string(),
30160
+ className: z51.string().nullable(),
30161
+ emptyMessage: z51.string(),
30162
+ loadingMessage: z51.string(),
30163
+ containerClass: z51.string(),
30138
30164
  cardVariant: cardVariantRoleSchema,
30139
30165
  buttonVariant: eventButtonVariantSchema,
30140
- buttonText: z52.string(),
30141
- showVenue: z52.boolean(),
30142
- showMap: z52.boolean(),
30143
- showCapacity: z52.boolean(),
30166
+ buttonText: z51.string(),
30167
+ showVenue: z51.boolean(),
30168
+ showMap: z51.boolean(),
30169
+ showCapacity: z51.boolean(),
30144
30170
  orientation: cardOrientationSchema,
30145
- events: z52.array(publicEventSchema)
30171
+ events: z51.array(publicEventSchema)
30146
30172
  });
30147
- var eventListingHydrationSchema = z52.object({
30148
- siteId: z52.string(),
30173
+ var eventListingHydrationSchema = z51.object({
30174
+ siteId: z51.string(),
30149
30175
  stage: previewStageSchema.optional(),
30150
30176
  eventsPerPage: eventPageSizeSchema,
30151
30177
  paginationAction: eventListPaginationActionSchema,
30152
- showFilters: z52.boolean(),
30178
+ showFilters: z51.boolean(),
30153
30179
  showCategoryFilter: filterAutoShowSchema,
30154
- showVenueFilter: z52.boolean(),
30155
- showStaffFilter: z52.boolean(),
30180
+ showVenueFilter: z51.boolean(),
30181
+ showStaffFilter: z51.boolean(),
30156
30182
  eventKind: eventBlockKindSchema,
30157
30183
  eventSurface: eventSurfaceScopeSchema,
30158
- filterEventPresets: z52.string().nullable(),
30184
+ filterEventPresets: z51.string().nullable(),
30159
30185
  scheduleScope: eventScheduleScopeSchema2,
30160
- filterCategoryIds: z52.string().nullable().optional(),
30161
- filterStaffMemberId: z52.string().nullable().optional(),
30162
- filterVenueId: z52.string().nullable().optional(),
30163
- fetchInitialEventsOnMount: z52.boolean()
30186
+ filterCategoryIds: z51.string().nullable().optional(),
30187
+ filterStaffMemberId: z51.string().nullable().optional(),
30188
+ filterVenueId: z51.string().nullable().optional(),
30189
+ fetchInitialEventsOnMount: z51.boolean()
30164
30190
  });
30165
- var eventListingRenderSchema = z52.object({
30191
+ var eventListingRenderSchema = z51.object({
30166
30192
  display: eventListingDisplaySchema,
30167
30193
  hydration: eventListingHydrationSchema
30168
30194
  });
30169
30195
  var eventListingIslandMetaCodec = createZodCodec(
30170
- z52.object({
30171
- siteId: z52.string(),
30172
- apiBaseUrl: z52.string().optional(),
30196
+ z51.object({
30197
+ siteId: z51.string(),
30198
+ apiBaseUrl: z51.string().optional(),
30173
30199
  stage: previewStageSchema.optional()
30174
30200
  })
30175
30201
  );
@@ -30536,15 +30562,15 @@ var eventListingBlockDefinition = {
30536
30562
  };
30537
30563
 
30538
30564
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
30539
- import { z as z53 } from "zod";
30540
- var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
30541
- var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
30542
- var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
30543
- var eventCalendarSourceSchema = z53.object(
30565
+ import { z as z52 } from "zod";
30566
+ var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
30567
+ var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
30568
+ var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
30569
+ var eventCalendarSourceSchema = z52.object(
30544
30570
  {
30545
- events: z53.array(publicEventSchema).nullable().optional(),
30546
- siteId: z53.string(),
30547
- apiBaseUrl: z53.string().optional(),
30571
+ events: z52.array(publicEventSchema).nullable().optional(),
30572
+ siteId: z52.string(),
30573
+ apiBaseUrl: z52.string().optional(),
30548
30574
  stage: previewStageSchema.optional(),
30549
30575
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
30550
30576
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -30552,78 +30578,80 @@ var eventCalendarSourceSchema = z53.object(
30552
30578
  listColumns: columnOptionSchema.optional(),
30553
30579
  layout: eventLayoutSchema.optional(),
30554
30580
  columns: columnOptionSchema.optional(),
30555
- eventsPerPage: z53.string().optional(),
30556
- paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
30557
- seeAllUrl: z53.string().optional(),
30558
- loadMoreText: z53.string().optional(),
30581
+ eventsPerPage: z52.string().optional(),
30582
+ paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30583
+ seeAllUrl: z52.string().optional(),
30584
+ loadMoreText: z52.string().optional(),
30559
30585
  startOfWeek: weekStartSchema.optional(),
30560
30586
  calendarTabViews: calendarTabViewsSchema.optional(),
30561
- showFilters: z53.boolean().nullable().optional(),
30587
+ defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
30588
+ showFilters: z52.boolean().nullable().optional(),
30562
30589
  showCategoryFilter: filterAutoShowSchema.optional(),
30563
- showVenueFilter: z53.boolean().nullable().optional(),
30564
- showStaffFilter: z53.boolean().nullable().optional(),
30590
+ showVenueFilter: z52.boolean().nullable().optional(),
30591
+ showStaffFilter: z52.boolean().nullable().optional(),
30565
30592
  kind: eventBlockKindSchema2.nullable().optional(),
30566
30593
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
30567
- filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30594
+ filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30568
30595
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
30569
- filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30570
- filterStaffMemberId: z53.string().nullable().optional(),
30571
- filterVenueId: z53.string().nullable().optional(),
30596
+ filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30597
+ filterStaffMemberId: z52.string().nullable().optional(),
30598
+ filterVenueId: z52.string().nullable().optional(),
30572
30599
  buttonVariant: eventButtonVariantSchema.optional(),
30573
- buttonText: z53.string().optional(),
30574
- showVenue: z53.boolean().nullable().optional(),
30575
- showMap: z53.boolean().nullable().optional(),
30576
- showCapacity: z53.boolean().nullable().optional(),
30577
- emptyMessage: z53.string().optional(),
30578
- className: z53.string().optional()
30600
+ buttonText: z52.string().optional(),
30601
+ showVenue: z52.boolean().nullable().optional(),
30602
+ showMap: z52.boolean().nullable().optional(),
30603
+ showCapacity: z52.boolean().nullable().optional(),
30604
+ emptyMessage: z52.string().optional(),
30605
+ className: z52.string().optional()
30579
30606
  }
30580
30607
  );
30581
- var eventCalendarDisplaySchema = z53.object({
30582
- kind: z53.literal("event-calendar"),
30608
+ var eventCalendarDisplaySchema = z52.object({
30609
+ kind: z52.literal("event-calendar"),
30583
30610
  displayMode: eventCalendarDisplayModeSchema,
30584
- className: z53.string().nullable(),
30585
- events: z53.array(publicEventSchema),
30611
+ className: z52.string().nullable(),
30612
+ events: z52.array(publicEventSchema),
30586
30613
  listLayout: eventLayoutSchema,
30587
30614
  listColumns: columnOptionSchema,
30588
30615
  eventsPerPage: eventPageSizeSchema,
30589
30616
  paginationAction: eventListPaginationActionSchema,
30590
30617
  startOfWeek: weekStartSchema,
30591
30618
  calendarTabViews: calendarTabViewsSchema,
30592
- showFilters: z53.boolean(),
30619
+ defaultCalendarView: eventCalendarDefaultViewSchema,
30620
+ showFilters: z52.boolean(),
30593
30621
  showCategoryFilter: filterAutoShowSchema,
30594
- showVenueFilter: z53.boolean(),
30595
- showStaffFilter: z53.boolean(),
30622
+ showVenueFilter: z52.boolean(),
30623
+ showStaffFilter: z52.boolean(),
30596
30624
  eventKind: eventBlockKindSchema2,
30597
30625
  eventSurface: eventSurfaceScopeSchema2,
30598
- filterEventPresets: z53.string().nullable(),
30626
+ filterEventPresets: z52.string().nullable(),
30599
30627
  scheduleScope: eventScheduleScopeSchema3,
30600
- filterCategoryIds: z53.string().nullable(),
30601
- filterStaffMemberId: z53.string().nullable(),
30602
- filterVenueId: z53.string().nullable(),
30628
+ filterCategoryIds: z52.string().nullable(),
30629
+ filterStaffMemberId: z52.string().nullable(),
30630
+ filterVenueId: z52.string().nullable(),
30603
30631
  buttonVariant: eventButtonVariantSchema,
30604
- buttonText: z53.string(),
30605
- showVenue: z53.boolean(),
30606
- showMap: z53.boolean(),
30607
- showCapacity: z53.boolean(),
30608
- emptyMessage: z53.string()
30609
- });
30610
- var eventCalendarHydrationSchema = z53.object({
30611
- siteId: z53.string(),
30632
+ buttonText: z52.string(),
30633
+ showVenue: z52.boolean(),
30634
+ showMap: z52.boolean(),
30635
+ showCapacity: z52.boolean(),
30636
+ emptyMessage: z52.string()
30637
+ });
30638
+ var eventCalendarHydrationSchema = z52.object({
30639
+ siteId: z52.string(),
30612
30640
  stage: previewStageSchema.optional(),
30613
- prefetchedEvents: z53.boolean(),
30641
+ prefetchedEvents: z52.boolean(),
30614
30642
  eventKind: eventBlockKindSchema2,
30615
30643
  eventSurface: eventSurfaceScopeSchema2,
30616
- filterEventPresets: z53.string().nullable(),
30644
+ filterEventPresets: z52.string().nullable(),
30617
30645
  scheduleScope: eventScheduleScopeSchema3
30618
30646
  });
30619
- var eventCalendarRenderSchema = z53.object({
30647
+ var eventCalendarRenderSchema = z52.object({
30620
30648
  display: eventCalendarDisplaySchema,
30621
30649
  hydration: eventCalendarHydrationSchema
30622
30650
  });
30623
30651
  var eventCalendarIslandMetaCodec = createZodCodec(
30624
- z53.object({
30625
- siteId: z53.string(),
30626
- apiBaseUrl: z53.string().optional(),
30652
+ z52.object({
30653
+ siteId: z52.string(),
30654
+ apiBaseUrl: z52.string().optional(),
30627
30655
  stage: previewStageSchema.optional()
30628
30656
  })
30629
30657
  );
@@ -30653,6 +30681,7 @@ function buildEventCalendarDisplay(source) {
30653
30681
  }),
30654
30682
  startOfWeek: source.startOfWeek ?? "monday",
30655
30683
  calendarTabViews: source.calendarTabViews ?? "both",
30684
+ defaultCalendarView: source.defaultCalendarView ?? "month",
30656
30685
  showFilters: source.showFilters ?? true,
30657
30686
  showCategoryFilter: source.showCategoryFilter ?? "auto",
30658
30687
  showVenueFilter: source.showVenueFilter ?? false,
@@ -30715,6 +30744,9 @@ function normalizeEventCalendarContent(content) {
30715
30744
  ...variant ? { variant } : {},
30716
30745
  displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
30717
30746
  listLayout: normalizeEventCalendarListLayout(record.listLayout),
30747
+ defaultCalendarView: normalizeEventCalendarDefaultView(
30748
+ record.defaultCalendarView
30749
+ ),
30718
30750
  kind,
30719
30751
  eventSurface: normalizeEventSurfaceScope(record.eventSurface),
30720
30752
  filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
@@ -30732,6 +30764,9 @@ function normalizeEventCalendarDisplayMode(value) {
30732
30764
  function normalizeEventCalendarListLayout(value) {
30733
30765
  return isEventCalendarListLayout(value) ? value : void 0;
30734
30766
  }
30767
+ function normalizeEventCalendarDefaultView(value) {
30768
+ return isEventCalendarDefaultView(value) ? value : void 0;
30769
+ }
30735
30770
  var eventCalendarLayout = [
30736
30771
  styledSection({
30737
30772
  children: sectionContainer(
@@ -30791,6 +30826,9 @@ var eventCalendarLayout = [
30791
30826
  calendarTabViews: {
30792
30827
  $bind: { from: "content.calendarTabViews", fallback: "both" }
30793
30828
  },
30829
+ defaultCalendarView: {
30830
+ $bind: { from: "content.defaultCalendarView", fallback: "month" }
30831
+ },
30794
30832
  // Filtering options
30795
30833
  showFilters: {
30796
30834
  $bind: { from: "content.showFilters", fallback: true }
@@ -30857,8 +30895,7 @@ var eventCalendarAdditionalFields = [
30857
30895
  defaultValue: "combined",
30858
30896
  options: [
30859
30897
  { value: "combined", label: "Combined (List + Calendar tabs)" },
30860
- { value: "month", label: "Month calendar" },
30861
- { value: "week", label: "Week agenda" },
30898
+ { value: "calendar", label: "Calendar" },
30862
30899
  { value: "timetable", label: "Timetable" },
30863
30900
  { value: "list", label: "List" }
30864
30901
  ],
@@ -30897,7 +30934,12 @@ var eventCalendarAdditionalFields = [
30897
30934
  ],
30898
30935
  ui: {
30899
30936
  intent: "display",
30900
- visibleWhen: { field: "listLayout", equals: "grid" }
30937
+ visibleWhen: {
30938
+ allOf: [
30939
+ { field: "variant", oneOf: ["combined", "list"] },
30940
+ { field: "listLayout", equals: "grid" }
30941
+ ]
30942
+ }
30901
30943
  }
30902
30944
  },
30903
30945
  {
@@ -30945,7 +30987,12 @@ var eventCalendarAdditionalFields = [
30945
30987
  required: false,
30946
30988
  ui: {
30947
30989
  intent: "display",
30948
- visibleWhen: { field: "paginationMode", equals: "seeAllLink" }
30990
+ visibleWhen: {
30991
+ allOf: [
30992
+ { field: "variant", oneOf: ["combined", "list"] },
30993
+ { field: "paginationMode", equals: "seeAllLink" }
30994
+ ]
30995
+ }
30949
30996
  }
30950
30997
  },
30951
30998
  {
@@ -30978,7 +31025,7 @@ var eventCalendarAdditionalFields = [
30978
31025
  intent: "display",
30979
31026
  visibleWhen: {
30980
31027
  field: "variant",
30981
- oneOf: ["combined", "month", "week"]
31028
+ oneOf: ["combined", "calendar", "timetable"]
30982
31029
  }
30983
31030
  }
30984
31031
  },
@@ -31001,6 +31048,33 @@ var eventCalendarAdditionalFields = [
31001
31048
  visibleWhen: { field: "variant", equals: "combined" }
31002
31049
  }
31003
31050
  },
31051
+ {
31052
+ id: "defaultCalendarView",
31053
+ type: "select",
31054
+ label: "Calendar view",
31055
+ description: "Choose the standalone calendar view, or the first view in combined mode",
31056
+ required: false,
31057
+ multiple: false,
31058
+ defaultValue: "month",
31059
+ options: [
31060
+ { value: "month", label: "Month" },
31061
+ { value: "week", label: "Week" }
31062
+ ],
31063
+ ui: {
31064
+ intent: "display",
31065
+ visibleWhen: {
31066
+ anyOf: [
31067
+ { field: "variant", equals: "calendar" },
31068
+ {
31069
+ allOf: [
31070
+ { field: "variant", equals: "combined" },
31071
+ { field: "calendarTabViews", equals: "both" }
31072
+ ]
31073
+ }
31074
+ ]
31075
+ }
31076
+ }
31077
+ },
31004
31078
  // Filtering options
31005
31079
  {
31006
31080
  id: "kind",
@@ -31028,7 +31102,7 @@ var eventCalendarAdditionalFields = [
31028
31102
  intent: "display",
31029
31103
  visibleWhen: {
31030
31104
  field: "variant",
31031
- oneOf: ["combined", "list", "timetable"]
31105
+ oneOf: ["combined", "calendar", "list", "timetable"]
31032
31106
  }
31033
31107
  }
31034
31108
  },
@@ -31048,8 +31122,10 @@ var eventCalendarAdditionalFields = [
31048
31122
  ui: {
31049
31123
  intent: "display",
31050
31124
  visibleWhen: {
31051
- field: "variant",
31052
- oneOf: ["combined", "list", "timetable"]
31125
+ allOf: [
31126
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
31127
+ { field: "showFilters", equals: true }
31128
+ ]
31053
31129
  }
31054
31130
  }
31055
31131
  },
@@ -31063,8 +31139,10 @@ var eventCalendarAdditionalFields = [
31063
31139
  ui: {
31064
31140
  intent: "display",
31065
31141
  visibleWhen: {
31066
- field: "variant",
31067
- oneOf: ["combined", "list", "timetable"]
31142
+ allOf: [
31143
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
31144
+ { field: "showFilters", equals: true }
31145
+ ]
31068
31146
  }
31069
31147
  }
31070
31148
  },
@@ -31078,8 +31156,10 @@ var eventCalendarAdditionalFields = [
31078
31156
  ui: {
31079
31157
  intent: "display",
31080
31158
  visibleWhen: {
31081
- field: "variant",
31082
- oneOf: ["combined", "list", "timetable"]
31159
+ allOf: [
31160
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
31161
+ { field: "showFilters", equals: true }
31162
+ ]
31083
31163
  }
31084
31164
  }
31085
31165
  },
@@ -31093,8 +31173,15 @@ var eventCalendarAdditionalFields = [
31093
31173
  ui: {
31094
31174
  intent: "display",
31095
31175
  visibleWhen: {
31096
- field: "variant",
31097
- oneOf: ["combined", "list", "week", "timetable"]
31176
+ anyOf: [
31177
+ { field: "variant", oneOf: ["combined", "list", "timetable"] },
31178
+ {
31179
+ allOf: [
31180
+ { field: "variant", equals: "calendar" },
31181
+ { field: "defaultCalendarView", equals: "week" }
31182
+ ]
31183
+ }
31184
+ ]
31098
31185
  }
31099
31186
  }
31100
31187
  },
@@ -31210,8 +31297,7 @@ var eventCalendarAdditionalFields = [
31210
31297
  ];
31211
31298
  var eventCalendarVariants = {
31212
31299
  combined: eventCalendarLayout[0],
31213
- month: eventCalendarLayout[0],
31214
- week: eventCalendarLayout[0],
31300
+ calendar: eventCalendarLayout[0],
31215
31301
  timetable: eventCalendarLayout[0],
31216
31302
  list: eventCalendarLayout[0]
31217
31303
  };
@@ -31223,8 +31309,7 @@ var eventCalendarDerivedFields = [
31223
31309
  multiple: false,
31224
31310
  options: [
31225
31311
  { value: "combined" },
31226
- { value: "month" },
31227
- { value: "week" },
31312
+ { value: "calendar" },
31228
31313
  { value: "timetable" },
31229
31314
  { value: "list" }
31230
31315
  ]
@@ -31237,6 +31322,13 @@ var eventCalendarDerivedFields = [
31237
31322
  options: eventCalendarListLayoutOptions.map((option) => ({
31238
31323
  value: option.id
31239
31324
  }))
31325
+ },
31326
+ {
31327
+ id: "defaultCalendarView",
31328
+ type: "select",
31329
+ required: false,
31330
+ multiple: false,
31331
+ options: [{ value: "month" }, { value: "week" }]
31240
31332
  }
31241
31333
  ];
31242
31334
  var eventCalendarContentShape = {
@@ -31285,8 +31377,7 @@ var eventCalendarConfig = {
31285
31377
  defaultVariant: "combined",
31286
31378
  variantOptions: {
31287
31379
  combined: { label: "Combined" },
31288
- month: { label: "Month" },
31289
- week: { label: "Week" },
31380
+ calendar: { label: "Calendar" },
31290
31381
  timetable: { label: "Timetable" },
31291
31382
  list: { label: "List" }
31292
31383
  }
@@ -31332,7 +31423,7 @@ var eventCalendarBlockDefinition = {
31332
31423
  };
31333
31424
 
31334
31425
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31335
- import { z as z54 } from "zod";
31426
+ import { z as z53 } from "zod";
31336
31427
 
31337
31428
  // ../blocks/src/system/blocks/offerings-preview/model.ts
31338
31429
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -31424,13 +31515,13 @@ function isRecord5(value) {
31424
31515
  }
31425
31516
 
31426
31517
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31427
- var publicRouteCandidatesSchema = z54.object({
31428
- routes: z54.array(z54.object({
31429
- entityId: z54.string(),
31430
- path: z54.string(),
31431
- title: z54.string(),
31432
- kind: z54.enum(["page", "content"]),
31433
- contentTypeKey: z54.string().nullable().optional()
31518
+ var publicRouteCandidatesSchema = z53.object({
31519
+ routes: z53.array(z53.object({
31520
+ entityId: z53.string(),
31521
+ path: z53.string(),
31522
+ title: z53.string(),
31523
+ kind: z53.enum(["page", "content"]),
31524
+ contentTypeKey: z53.string().nullable().optional()
31434
31525
  }))
31435
31526
  });
31436
31527
  var groupOverrideFields = [
@@ -31828,7 +31919,7 @@ function isRecord6(value) {
31828
31919
  }
31829
31920
 
31830
31921
  // ../blocks/src/system/blocks/embed.ts
31831
- import { z as z55 } from "zod";
31922
+ import { z as z54 } from "zod";
31832
31923
  var embedFields = [
31833
31924
  // Section heading
31834
31925
  parseFieldDefinition({
@@ -32059,18 +32150,18 @@ var embedManifest = createBlockManifest({
32059
32150
  spacing: "lg"
32060
32151
  }
32061
32152
  });
32062
- var embedEntrySchema = z55.object({
32063
- id: z55.string(),
32064
- identifier: z55.string(),
32065
- title: z55.string(),
32066
- slug: z55.string().nullable().optional(),
32067
- content: z55.record(z55.string(), z55.unknown()).optional(),
32068
- publishedAt: z55.string().nullable().optional()
32153
+ var embedEntrySchema = z54.object({
32154
+ id: z54.string(),
32155
+ identifier: z54.string(),
32156
+ title: z54.string(),
32157
+ slug: z54.string().nullable().optional(),
32158
+ content: z54.record(z54.string(), z54.unknown()).optional(),
32159
+ publishedAt: z54.string().nullable().optional()
32069
32160
  });
32070
32161
  var embedBlockDefinition = {
32071
32162
  manifest: embedManifest,
32072
32163
  dataSchemas: {
32073
- entries: z55.array(embedEntrySchema).optional()
32164
+ entries: z54.array(embedEntrySchema).optional()
32074
32165
  },
32075
32166
  dataLoaders: {
32076
32167
  entries: {
@@ -33253,53 +33344,50 @@ var fileDownloadBlockDefinition = {
33253
33344
  manifest: fileDownloadManifest
33254
33345
  };
33255
33346
 
33256
- // ../blocks/src/system/blocks/shop.ts
33257
- import { z as z59 } from "zod";
33258
-
33259
33347
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33260
- import { z as z58 } from "zod";
33348
+ import { z as z57 } from "zod";
33261
33349
 
33262
33350
  // ../blocks/src/system/blocks/products/shared.ts
33263
- import { z as z56 } from "zod";
33264
- var publicProductVariantSchema = z56.object({
33265
- id: z56.string(),
33266
- title: z56.string(),
33267
- sku: z56.string().nullable(),
33268
- priceCents: z56.number(),
33269
- stockQuantity: z56.number().nullable(),
33270
- soldOut: z56.boolean()
33271
- });
33272
- var publicProductSchema = z56.object({
33273
- id: z56.string(),
33274
- contentEntryId: z56.string().nullable(),
33275
- title: z56.string(),
33276
- slug: z56.string(),
33277
- path: z56.string().nullable(),
33278
- status: z56.enum(["draft", "active"]),
33279
- priceCents: z56.number(),
33280
- currency: z56.string(),
33281
- productType: z56.enum(["physical", "digital"]),
33282
- requiresShipping: z56.boolean(),
33283
- hasVariants: z56.boolean(),
33284
- trackInventory: z56.boolean(),
33285
- soldOut: z56.boolean(),
33286
- category: z56.object({
33287
- id: z56.string(),
33288
- name: z56.string(),
33289
- slug: z56.string()
33351
+ import { z as z55 } from "zod";
33352
+ var publicProductVariantSchema = z55.object({
33353
+ id: z55.string(),
33354
+ title: z55.string(),
33355
+ sku: z55.string().nullable(),
33356
+ priceCents: z55.number(),
33357
+ stockQuantity: z55.number().nullable(),
33358
+ soldOut: z55.boolean()
33359
+ });
33360
+ var publicProductSchema = z55.object({
33361
+ id: z55.string(),
33362
+ contentEntryId: z55.string().nullable(),
33363
+ title: z55.string(),
33364
+ slug: z55.string(),
33365
+ path: z55.string().nullable(),
33366
+ status: z55.enum(["draft", "active"]),
33367
+ priceCents: z55.number(),
33368
+ currency: z55.string(),
33369
+ productType: z55.enum(["physical", "digital"]),
33370
+ requiresShipping: z55.boolean(),
33371
+ hasVariants: z55.boolean(),
33372
+ trackInventory: z55.boolean(),
33373
+ soldOut: z55.boolean(),
33374
+ category: z55.object({
33375
+ id: z55.string(),
33376
+ name: z55.string(),
33377
+ slug: z55.string()
33290
33378
  }).nullable(),
33291
- summary: z56.string().nullable(),
33292
- body: z56.unknown().nullable(),
33293
- gallery: z56.array(
33294
- z56.object({
33295
- url: z56.string(),
33296
- alt: z56.string().nullable()
33379
+ summary: z55.string().nullable(),
33380
+ body: z55.unknown().nullable(),
33381
+ gallery: z55.array(
33382
+ z55.object({
33383
+ url: z55.string(),
33384
+ alt: z55.string().nullable()
33297
33385
  })
33298
33386
  ),
33299
- variants: z56.array(publicProductVariantSchema)
33387
+ variants: z55.array(publicProductVariantSchema)
33300
33388
  });
33301
- var publicProductsResponseSchema = z56.object({
33302
- products: z56.array(publicProductSchema)
33389
+ var publicProductsResponseSchema = z55.object({
33390
+ products: z55.array(publicProductSchema)
33303
33391
  });
33304
33392
 
33305
33393
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -33363,27 +33451,27 @@ function deriveCreditProductLabels(products, options = {}) {
33363
33451
  }
33364
33452
 
33365
33453
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
33366
- import { z as z57 } from "zod";
33367
- var storedProductCartItemSchema = z57.object({
33368
- kind: z57.literal("product"),
33369
- productId: z57.string().min(1),
33370
- productCategoryId: z57.string().min(1).optional().nullable(),
33371
- variantId: z57.string().min(1).optional().nullable(),
33372
- title: z57.string().min(1),
33373
- variantTitle: z57.string().optional().nullable(),
33374
- quantity: z57.number().finite(),
33375
- unitPriceCents: z57.number().finite(),
33376
- currency: z57.string().min(1),
33377
- imageUrl: z57.string().optional().nullable(),
33378
- soldOut: z57.boolean().optional()
33379
- });
33380
- var storedPassCartItemSchema = z57.object({
33381
- kind: z57.literal("pass"),
33382
- passId: z57.string().min(1),
33383
- title: z57.string().min(1),
33384
- quantity: z57.number().finite().optional(),
33385
- unitPriceCents: z57.number().finite(),
33386
- currency: z57.string().min(1)
33454
+ import { z as z56 } from "zod";
33455
+ var storedProductCartItemSchema = z56.object({
33456
+ kind: z56.literal("product"),
33457
+ productId: z56.string().min(1),
33458
+ productCategoryId: z56.string().min(1).optional().nullable(),
33459
+ variantId: z56.string().min(1).optional().nullable(),
33460
+ title: z56.string().min(1),
33461
+ variantTitle: z56.string().optional().nullable(),
33462
+ quantity: z56.number().finite(),
33463
+ unitPriceCents: z56.number().finite(),
33464
+ currency: z56.string().min(1),
33465
+ imageUrl: z56.string().optional().nullable(),
33466
+ soldOut: z56.boolean().optional()
33467
+ });
33468
+ var storedPassCartItemSchema = z56.object({
33469
+ kind: z56.literal("pass"),
33470
+ passId: z56.string().min(1),
33471
+ title: z56.string().min(1),
33472
+ quantity: z56.number().finite().optional(),
33473
+ unitPriceCents: z56.number().finite(),
33474
+ currency: z56.string().min(1)
33387
33475
  });
33388
33476
  function deriveCommerceCheckoutState(state) {
33389
33477
  if (state.items.length === 0) {
@@ -33617,214 +33705,214 @@ function formatValidity(days) {
33617
33705
  }
33618
33706
 
33619
33707
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33620
- var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33621
- var contentEntrySchema3 = z58.object({
33622
- id: z58.string().nullable().optional(),
33623
- slug: z58.string().nullable().optional()
33708
+ var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33709
+ var contentEntrySchema3 = z57.object({
33710
+ id: z57.string().nullable().optional(),
33711
+ slug: z57.string().nullable().optional()
33624
33712
  }).nullable();
33625
- var shopSourceSchema = z58.object({
33626
- className: z58.string().nullable().optional(),
33713
+ var shopSourceSchema = z57.object({
33714
+ className: z57.string().nullable().optional(),
33627
33715
  mode: shopModeSchema.optional(),
33628
- heading: z58.string().nullable().optional(),
33629
- productSlug: z58.string().nullable().optional(),
33630
- showPasses: z58.boolean().optional(),
33631
- showMemberships: z58.boolean().optional(),
33632
- layout: z58.enum(["grid", "list"]).optional(),
33633
- columns: z58.string().optional(),
33634
- showDescriptions: z58.boolean().optional(),
33635
- showSummary: z58.boolean().optional(),
33636
- showBody: z58.boolean().optional(),
33637
- showPrices: z58.boolean().optional(),
33638
- showValidityPeriod: z58.boolean().optional(),
33639
- showPricePerCredit: z58.boolean().nullable().optional(),
33640
- passesHeading: z58.string().optional(),
33641
- membershipsHeading: z58.string().optional(),
33642
- buyButtonText: z58.string().optional(),
33643
- addButtonText: z58.string().optional(),
33644
- passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
33645
- subscribeButtonText: z58.string().optional(),
33646
- emptyStateText: z58.string().optional(),
33647
- checkoutButtonText: z58.string().optional(),
33648
- clearButtonText: z58.string().optional(),
33649
- submitButtonText: z58.string().optional(),
33716
+ heading: z57.string().nullable().optional(),
33717
+ productSlug: z57.string().nullable().optional(),
33718
+ showPasses: z57.boolean().optional(),
33719
+ showMemberships: z57.boolean().optional(),
33720
+ layout: z57.enum(["grid", "list"]).optional(),
33721
+ columns: z57.string().optional(),
33722
+ showDescriptions: z57.boolean().optional(),
33723
+ showSummary: z57.boolean().optional(),
33724
+ showBody: z57.boolean().optional(),
33725
+ showPrices: z57.boolean().optional(),
33726
+ showValidityPeriod: z57.boolean().optional(),
33727
+ showPricePerCredit: z57.boolean().nullable().optional(),
33728
+ passesHeading: z57.string().optional(),
33729
+ membershipsHeading: z57.string().optional(),
33730
+ buyButtonText: z57.string().optional(),
33731
+ addButtonText: z57.string().optional(),
33732
+ passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
33733
+ subscribeButtonText: z57.string().optional(),
33734
+ emptyStateText: z57.string().optional(),
33735
+ checkoutButtonText: z57.string().optional(),
33736
+ clearButtonText: z57.string().optional(),
33737
+ submitButtonText: z57.string().optional(),
33650
33738
  contentEntry: contentEntrySchema3.optional(),
33651
- passes: z58.array(publicPassProductSchema).nullable().optional(),
33652
- memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
33653
- products: z58.array(publicProductSchema).nullable().optional(),
33654
- siteId: z58.string().optional(),
33655
- apiBaseUrl: z58.string().optional(),
33739
+ passes: z57.array(publicPassProductSchema).nullable().optional(),
33740
+ memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
33741
+ products: z57.array(publicProductSchema).nullable().optional(),
33742
+ siteId: z57.string().optional(),
33743
+ apiBaseUrl: z57.string().optional(),
33656
33744
  stage: previewStageSchema.optional()
33657
33745
  });
33658
- var productVariantOptionDisplaySchema = z58.object({
33659
- id: z58.string(),
33660
- label: z58.string(),
33661
- soldOut: z58.boolean()
33662
- });
33663
- var productCardDisplaySchema = z58.object({
33664
- productId: z58.string(),
33665
- title: z58.string(),
33666
- path: z58.string().nullable(),
33667
- summary: z58.string().nullable(),
33668
- priceLabel: z58.string().nullable(),
33669
- image: z58.object({
33670
- url: z58.string(),
33671
- alt: z58.string().nullable()
33746
+ var productVariantOptionDisplaySchema = z57.object({
33747
+ id: z57.string(),
33748
+ label: z57.string(),
33749
+ soldOut: z57.boolean()
33750
+ });
33751
+ var productCardDisplaySchema = z57.object({
33752
+ productId: z57.string(),
33753
+ title: z57.string(),
33754
+ path: z57.string().nullable(),
33755
+ summary: z57.string().nullable(),
33756
+ priceLabel: z57.string().nullable(),
33757
+ image: z57.object({
33758
+ url: z57.string(),
33759
+ alt: z57.string().nullable()
33672
33760
  }).nullable(),
33673
- variantOptions: z58.array(productVariantOptionDisplaySchema),
33674
- selectedVariantId: z58.string().nullable(),
33675
- selectionLabel: z58.string(),
33676
- actionLabel: z58.string(),
33677
- soldOut: z58.boolean()
33678
- });
33679
- var productListDisplaySchema = z58.object({
33680
- kind: z58.literal("product-list"),
33681
- state: z58.enum(["empty", "ready"]),
33682
- heading: z58.string().nullable(),
33683
- className: z58.string().nullable(),
33684
- layout: z58.enum(["grid", "list"]),
33685
- columns: z58.string(),
33686
- emptyMessage: z58.string(),
33687
- cards: z58.array(productCardDisplaySchema)
33688
- });
33689
- var productDetailDisplaySchema = z58.discriminatedUnion("state", [
33690
- z58.object({
33691
- kind: z58.literal("product-detail"),
33692
- state: z58.literal("empty"),
33693
- heading: z58.string().nullable(),
33694
- className: z58.string().nullable(),
33695
- emptyMessage: z58.string()
33761
+ variantOptions: z57.array(productVariantOptionDisplaySchema),
33762
+ selectedVariantId: z57.string().nullable(),
33763
+ selectionLabel: z57.string(),
33764
+ actionLabel: z57.string(),
33765
+ soldOut: z57.boolean()
33766
+ });
33767
+ var productListDisplaySchema = z57.object({
33768
+ kind: z57.literal("product-list"),
33769
+ state: z57.enum(["empty", "ready"]),
33770
+ heading: z57.string().nullable(),
33771
+ className: z57.string().nullable(),
33772
+ layout: z57.enum(["grid", "list"]),
33773
+ columns: z57.string(),
33774
+ emptyMessage: z57.string(),
33775
+ cards: z57.array(productCardDisplaySchema)
33776
+ });
33777
+ var productDetailDisplaySchema = z57.discriminatedUnion("state", [
33778
+ z57.object({
33779
+ kind: z57.literal("product-detail"),
33780
+ state: z57.literal("empty"),
33781
+ heading: z57.string().nullable(),
33782
+ className: z57.string().nullable(),
33783
+ emptyMessage: z57.string()
33696
33784
  }),
33697
- z58.object({
33698
- kind: z58.literal("product-detail"),
33699
- state: z58.literal("ready"),
33700
- heading: z58.string().nullable(),
33701
- className: z58.string().nullable(),
33702
- title: z58.string(),
33703
- priceLabel: z58.string(),
33704
- summary: z58.string().nullable(),
33705
- categoryLabel: z58.string().nullable(),
33706
- gallery: z58.array(z58.object({
33707
- url: z58.string(),
33708
- alt: z58.string().nullable()
33785
+ z57.object({
33786
+ kind: z57.literal("product-detail"),
33787
+ state: z57.literal("ready"),
33788
+ heading: z57.string().nullable(),
33789
+ className: z57.string().nullable(),
33790
+ title: z57.string(),
33791
+ priceLabel: z57.string(),
33792
+ summary: z57.string().nullable(),
33793
+ categoryLabel: z57.string().nullable(),
33794
+ gallery: z57.array(z57.object({
33795
+ url: z57.string(),
33796
+ alt: z57.string().nullable()
33709
33797
  })),
33710
- variantOptions: z58.array(productVariantOptionDisplaySchema),
33711
- selectedVariantId: z58.string().nullable(),
33712
- selectionLabel: z58.string(),
33713
- actionLabel: z58.string(),
33714
- soldOut: z58.boolean(),
33715
- body: z58.unknown().nullable()
33798
+ variantOptions: z57.array(productVariantOptionDisplaySchema),
33799
+ selectedVariantId: z57.string().nullable(),
33800
+ selectionLabel: z57.string(),
33801
+ actionLabel: z57.string(),
33802
+ soldOut: z57.boolean(),
33803
+ body: z57.unknown().nullable()
33716
33804
  })
33717
33805
  ]);
33718
- var passCardDisplaySchema = z58.object({
33719
- id: z58.string(),
33720
- title: z58.string(),
33721
- description: z58.string().nullable(),
33722
- priceLabel: z58.string(),
33723
- creditsLabel: z58.string(),
33724
- perCreditLabel: z58.string().nullable(),
33725
- validityLabel: z58.string().nullable(),
33726
- actionLabel: z58.string()
33727
- });
33728
- var membershipCardDisplaySchema = z58.object({
33729
- id: z58.string(),
33730
- title: z58.string(),
33731
- description: z58.string().nullable(),
33732
- priceLabel: z58.string(),
33733
- intervalLabel: z58.string(),
33734
- actionLabel: z58.string()
33735
- });
33736
- var passesMembershipsDisplaySchema = z58.object({
33737
- kind: z58.literal("passes-memberships"),
33738
- state: z58.enum(["empty", "ready"]),
33739
- className: z58.string().nullable(),
33740
- layout: z58.enum(["grid", "list"]),
33741
- columns: z58.string(),
33742
- emptyMessage: z58.string(),
33743
- passesHeading: z58.string(),
33744
- membershipsHeading: z58.string(),
33745
- passes: z58.array(passCardDisplaySchema),
33746
- memberships: z58.array(membershipCardDisplaySchema)
33747
- });
33748
- var cartLineDisplaySchema = z58.object({
33749
- key: z58.string(),
33750
- title: z58.string(),
33751
- priceLabel: z58.string(),
33752
- quantity: z58.number(),
33753
- quantityEditable: z58.boolean()
33754
- });
33755
- var cartDisplaySchema = z58.object({
33756
- kind: z58.literal("cart"),
33757
- state: z58.enum(["empty", "ready"]),
33758
- heading: z58.string().nullable(),
33759
- className: z58.string().nullable(),
33760
- emptyMessage: z58.string(),
33761
- supportText: z58.string().nullable(),
33762
- items: z58.array(cartLineDisplaySchema),
33763
- subtotalLabel: z58.string().nullable(),
33764
- checkoutButtonText: z58.string(),
33765
- clearButtonText: z58.string()
33766
- });
33767
- var checkoutDisplaySchema = z58.object({
33768
- kind: z58.literal("checkout"),
33769
- state: z58.enum(["empty", "blocked", "ready"]),
33770
- heading: z58.string().nullable(),
33771
- className: z58.string().nullable(),
33772
- message: z58.string().nullable(),
33773
- submitButtonText: z58.string()
33774
- });
33775
- var passesMembershipsHydrationSchema = z58.object({
33776
- passes: z58.array(publicPassProductSchema),
33777
- memberships: z58.array(publicMembershipProductSchema),
33778
- passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
33779
- });
33780
- var productListHydrationSchema = z58.object({
33781
- products: z58.array(publicProductSchema),
33782
- showSummary: z58.boolean(),
33783
- showPrices: z58.boolean(),
33784
- addButtonText: z58.string()
33785
- });
33786
- var productDetailHydrationSchema = z58.object({
33787
- products: z58.array(publicProductSchema),
33788
- productId: z58.string().nullable(),
33789
- showSummary: z58.boolean(),
33790
- showBody: z58.boolean(),
33791
- addButtonText: z58.string()
33792
- });
33793
- var cartHydrationSchema = z58.object({
33794
- emptyStateText: z58.string(),
33795
- checkoutButtonText: z58.string(),
33796
- clearButtonText: z58.string()
33797
- });
33798
- var checkoutHydrationSchema = z58.object({
33799
- emptyStateText: z58.string(),
33800
- submitButtonText: z58.string()
33801
- });
33802
- var passesMembershipsRenderSchema = z58.object({
33806
+ var passCardDisplaySchema = z57.object({
33807
+ id: z57.string(),
33808
+ title: z57.string(),
33809
+ description: z57.string().nullable(),
33810
+ priceLabel: z57.string(),
33811
+ creditsLabel: z57.string(),
33812
+ perCreditLabel: z57.string().nullable(),
33813
+ validityLabel: z57.string().nullable(),
33814
+ actionLabel: z57.string()
33815
+ });
33816
+ var membershipCardDisplaySchema = z57.object({
33817
+ id: z57.string(),
33818
+ title: z57.string(),
33819
+ description: z57.string().nullable(),
33820
+ priceLabel: z57.string(),
33821
+ intervalLabel: z57.string(),
33822
+ actionLabel: z57.string()
33823
+ });
33824
+ var passesMembershipsDisplaySchema = z57.object({
33825
+ kind: z57.literal("passes-memberships"),
33826
+ state: z57.enum(["empty", "ready"]),
33827
+ className: z57.string().nullable(),
33828
+ layout: z57.enum(["grid", "list"]),
33829
+ columns: z57.string(),
33830
+ emptyMessage: z57.string(),
33831
+ passesHeading: z57.string(),
33832
+ membershipsHeading: z57.string(),
33833
+ passes: z57.array(passCardDisplaySchema),
33834
+ memberships: z57.array(membershipCardDisplaySchema)
33835
+ });
33836
+ var cartLineDisplaySchema = z57.object({
33837
+ key: z57.string(),
33838
+ title: z57.string(),
33839
+ priceLabel: z57.string(),
33840
+ quantity: z57.number(),
33841
+ quantityEditable: z57.boolean()
33842
+ });
33843
+ var cartDisplaySchema = z57.object({
33844
+ kind: z57.literal("cart"),
33845
+ state: z57.enum(["empty", "ready"]),
33846
+ heading: z57.string().nullable(),
33847
+ className: z57.string().nullable(),
33848
+ emptyMessage: z57.string(),
33849
+ supportText: z57.string().nullable(),
33850
+ items: z57.array(cartLineDisplaySchema),
33851
+ subtotalLabel: z57.string().nullable(),
33852
+ checkoutButtonText: z57.string(),
33853
+ clearButtonText: z57.string()
33854
+ });
33855
+ var checkoutDisplaySchema = z57.object({
33856
+ kind: z57.literal("checkout"),
33857
+ state: z57.enum(["empty", "blocked", "ready"]),
33858
+ heading: z57.string().nullable(),
33859
+ className: z57.string().nullable(),
33860
+ message: z57.string().nullable(),
33861
+ submitButtonText: z57.string()
33862
+ });
33863
+ var passesMembershipsHydrationSchema = z57.object({
33864
+ passes: z57.array(publicPassProductSchema),
33865
+ memberships: z57.array(publicMembershipProductSchema),
33866
+ passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
33867
+ });
33868
+ var productListHydrationSchema = z57.object({
33869
+ products: z57.array(publicProductSchema),
33870
+ showSummary: z57.boolean(),
33871
+ showPrices: z57.boolean(),
33872
+ addButtonText: z57.string()
33873
+ });
33874
+ var productDetailHydrationSchema = z57.object({
33875
+ products: z57.array(publicProductSchema),
33876
+ productId: z57.string().nullable(),
33877
+ showSummary: z57.boolean(),
33878
+ showBody: z57.boolean(),
33879
+ addButtonText: z57.string()
33880
+ });
33881
+ var cartHydrationSchema = z57.object({
33882
+ emptyStateText: z57.string(),
33883
+ checkoutButtonText: z57.string(),
33884
+ clearButtonText: z57.string()
33885
+ });
33886
+ var checkoutHydrationSchema = z57.object({
33887
+ emptyStateText: z57.string(),
33888
+ submitButtonText: z57.string()
33889
+ });
33890
+ var passesMembershipsRenderSchema = z57.object({
33803
33891
  display: passesMembershipsDisplaySchema,
33804
33892
  hydration: passesMembershipsHydrationSchema
33805
33893
  });
33806
- var productListRenderSchema = z58.object({
33894
+ var productListRenderSchema = z57.object({
33807
33895
  display: productListDisplaySchema,
33808
33896
  hydration: productListHydrationSchema
33809
33897
  });
33810
- var productDetailRenderSchema = z58.object({
33898
+ var productDetailRenderSchema = z57.object({
33811
33899
  display: productDetailDisplaySchema,
33812
33900
  hydration: productDetailHydrationSchema
33813
33901
  });
33814
- var cartRenderSchema = z58.object({
33902
+ var cartRenderSchema = z57.object({
33815
33903
  display: cartDisplaySchema,
33816
33904
  hydration: cartHydrationSchema
33817
33905
  });
33818
- var checkoutRenderSchema = z58.object({
33906
+ var checkoutRenderSchema = z57.object({
33819
33907
  display: checkoutDisplaySchema,
33820
33908
  hydration: checkoutHydrationSchema
33821
33909
  });
33822
33910
  function resolveShowPricePerCredit(source) {
33823
33911
  return source.showPricePerCredit ?? true;
33824
33912
  }
33825
- var shopIslandMetaCodec = createZodCodec(z58.object({
33826
- siteId: z58.string().optional(),
33827
- apiBaseUrl: z58.string().optional(),
33913
+ var shopIslandMetaCodec = createZodCodec(z57.object({
33914
+ siteId: z57.string().optional(),
33915
+ apiBaseUrl: z57.string().optional(),
33828
33916
  stage: previewStageSchema.optional()
33829
33917
  }));
33830
33918
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -34202,9 +34290,9 @@ var shopBlockDefinition = {
34202
34290
  runtime: shopBlockRuntime,
34203
34291
  dataSchemas: {
34204
34292
  // listPublicPasses returns { passes: [...] }
34205
- passes: z59.object({ passes: z59.array(publicPassProductSchema) }).optional(),
34293
+ passes: publicPassProductCollectionSchema.optional(),
34206
34294
  // listPublicMemberships returns { memberships: [...] }
34207
- memberships: z59.object({ memberships: z59.array(publicMembershipProductSchema) }).optional()
34295
+ memberships: publicMembershipProductCollectionSchema.optional()
34208
34296
  },
34209
34297
  dataLoaders: {
34210
34298
  // Load passes for display
@@ -34227,7 +34315,7 @@ var shopBlockDefinition = {
34227
34315
  };
34228
34316
 
34229
34317
  // ../blocks/src/system/blocks/product-list.ts
34230
- import { z as z60 } from "zod";
34318
+ import { z as z58 } from "zod";
34231
34319
  var productListManifest = createBlockManifest({
34232
34320
  id: "block.product-list",
34233
34321
  version: "1.0.0",
@@ -34360,7 +34448,7 @@ var productListBlockDefinition = {
34360
34448
  }
34361
34449
  }
34362
34450
  };
34363
- var productListDataSchema = z60.object({
34451
+ var productListDataSchema = z58.object({
34364
34452
  products: publicProductsResponseSchema.optional()
34365
34453
  });
34366
34454
 
@@ -34621,72 +34709,72 @@ var checkoutBlockDefinition = {
34621
34709
  };
34622
34710
 
34623
34711
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
34624
- import { z as z61 } from "zod";
34625
- var publicGiftCardOfferSchema = z61.object({
34626
- id: z61.string(),
34627
- kind: z61.literal("gift_card"),
34628
- title: z61.string(),
34629
- description: z61.string().nullable(),
34630
- sortOrder: z61.number().int(),
34631
- giftCard: z61.object({
34632
- fixedDenominations: z61.array(z61.number().int().positive()),
34633
- customAmountEnabled: z61.boolean(),
34634
- customAmountMinCents: z61.number().int().positive(),
34635
- customAmountMaxCents: z61.number().int().positive()
34712
+ import { z as z59 } from "zod";
34713
+ var publicGiftCardOfferSchema = z59.object({
34714
+ id: z59.string(),
34715
+ kind: z59.literal("gift_card"),
34716
+ title: z59.string(),
34717
+ description: z59.string().nullable(),
34718
+ sortOrder: z59.number().int(),
34719
+ giftCard: z59.object({
34720
+ fixedDenominations: z59.array(z59.number().int().positive()),
34721
+ customAmountEnabled: z59.boolean(),
34722
+ customAmountMinCents: z59.number().int().positive(),
34723
+ customAmountMaxCents: z59.number().int().positive()
34636
34724
  }),
34637
- voucher: z61.null()
34638
- });
34639
- var publicVoucherOfferSchema = z61.object({
34640
- id: z61.string(),
34641
- kind: z61.literal("voucher"),
34642
- title: z61.string(),
34643
- description: z61.string().nullable(),
34644
- sortOrder: z61.number().int(),
34645
- giftCard: z61.null(),
34646
- voucher: z61.object({
34647
- purchaseAmountCents: z61.number().int().positive()
34725
+ voucher: z59.null()
34726
+ });
34727
+ var publicVoucherOfferSchema = z59.object({
34728
+ id: z59.string(),
34729
+ kind: z59.literal("voucher"),
34730
+ title: z59.string(),
34731
+ description: z59.string().nullable(),
34732
+ sortOrder: z59.number().int(),
34733
+ giftCard: z59.null(),
34734
+ voucher: z59.object({
34735
+ purchaseAmountCents: z59.number().int().positive()
34648
34736
  })
34649
34737
  });
34650
- var publicGiftingOffersResponseSchema = z61.object({
34651
- currency: z61.string(),
34652
- giftCards: z61.array(publicGiftCardOfferSchema),
34653
- vouchers: z61.array(publicVoucherOfferSchema)
34738
+ var publicGiftingOffersResponseSchema = z59.object({
34739
+ currency: z59.string(),
34740
+ giftCards: z59.array(publicGiftCardOfferSchema),
34741
+ vouchers: z59.array(publicVoucherOfferSchema)
34654
34742
  });
34655
- var giftingSourceSchema = z61.object({
34656
- siteId: z61.string().optional(),
34657
- apiBaseUrl: z61.string().optional(),
34743
+ var giftingSourceSchema = z59.object({
34744
+ siteId: z59.string().optional(),
34745
+ apiBaseUrl: z59.string().optional(),
34658
34746
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
34659
- className: z61.string().nullable().optional(),
34660
- heading: z61.string().nullable().optional(),
34661
- intro: z61.string().nullable().optional(),
34662
- giftCardsHeading: z61.string().nullable().optional(),
34663
- vouchersHeading: z61.string().nullable().optional(),
34664
- emptyStateText: z61.string().nullable().optional(),
34665
- checkoutButtonText: z61.string().nullable().optional(),
34666
- successMessage: z61.string().nullable().optional()
34667
- });
34668
- var giftingDisplaySchema = z61.object({
34669
- kind: z61.literal("gifting"),
34670
- state: z61.literal("ready"),
34671
- className: z61.string().nullable(),
34672
- heading: z61.string(),
34673
- intro: z61.string().nullable(),
34674
- giftCardsHeading: z61.string(),
34675
- vouchersHeading: z61.string(),
34676
- emptyStateText: z61.string()
34677
- });
34678
- var giftingHydrationSchema = z61.object({
34747
+ className: z59.string().nullable().optional(),
34748
+ heading: z59.string().nullable().optional(),
34749
+ intro: z59.string().nullable().optional(),
34750
+ giftCardsHeading: z59.string().nullable().optional(),
34751
+ vouchersHeading: z59.string().nullable().optional(),
34752
+ emptyStateText: z59.string().nullable().optional(),
34753
+ checkoutButtonText: z59.string().nullable().optional(),
34754
+ successMessage: z59.string().nullable().optional()
34755
+ });
34756
+ var giftingDisplaySchema = z59.object({
34757
+ kind: z59.literal("gifting"),
34758
+ state: z59.literal("ready"),
34759
+ className: z59.string().nullable(),
34760
+ heading: z59.string(),
34761
+ intro: z59.string().nullable(),
34762
+ giftCardsHeading: z59.string(),
34763
+ vouchersHeading: z59.string(),
34764
+ emptyStateText: z59.string()
34765
+ });
34766
+ var giftingHydrationSchema = z59.object({
34679
34767
  offers: publicGiftingOffersResponseSchema.nullable(),
34680
- checkoutButtonText: z61.string(),
34681
- successMessage: z61.string()
34768
+ checkoutButtonText: z59.string(),
34769
+ successMessage: z59.string()
34682
34770
  });
34683
- var giftingRenderSchema = z61.object({
34771
+ var giftingRenderSchema = z59.object({
34684
34772
  display: giftingDisplaySchema,
34685
34773
  hydration: giftingHydrationSchema
34686
34774
  });
34687
- var giftingIslandMetaCodec = createZodCodec(z61.object({
34688
- siteId: z61.string().optional(),
34689
- apiBaseUrl: z61.string().optional()
34775
+ var giftingIslandMetaCodec = createZodCodec(z59.object({
34776
+ siteId: z59.string().optional(),
34777
+ apiBaseUrl: z59.string().optional()
34690
34778
  }));
34691
34779
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
34692
34780
  "siteId",
@@ -34857,7 +34945,7 @@ var giftingBlockDefinition = {
34857
34945
  };
34858
34946
 
34859
34947
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
34860
- import { z as z62 } from "zod";
34948
+ import { z as z60 } from "zod";
34861
34949
 
34862
34950
  // ../blocks/src/system/blocks/newsletter-signup-destination.ts
34863
34951
  function parseNewsletterSignupBlockId(value) {
@@ -34964,65 +35052,65 @@ function withOptionalPhone(fields3, includePhone) {
34964
35052
  }
34965
35053
 
34966
35054
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
34967
- var newsletterPresetSchema = z62.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
34968
- var newsletterDestinationProviderSchema = z62.enum(["riverbank", "mailchimp"]);
34969
- var newsletterFieldSchema = z62.object({
34970
- id: z62.string(),
34971
- type: z62.enum(["email", "text"]),
34972
- label: z62.string(),
34973
- required: z62.boolean(),
34974
- placeholder: z62.string().optional()
34975
- });
34976
- var newsletterSignupBlockIdSchema = z62.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
34977
- var signedNewsletterDestinationRefSchema = z62.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
34978
- var newsletterPublicDestinationRefSchema = z62.discriminatedUnion("tag", [
34979
- z62.object({
34980
- tag: z62.literal("block_ref"),
35055
+ var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35056
+ var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
35057
+ var newsletterFieldSchema = z60.object({
35058
+ id: z60.string(),
35059
+ type: z60.enum(["email", "text"]),
35060
+ label: z60.string(),
35061
+ required: z60.boolean(),
35062
+ placeholder: z60.string().optional()
35063
+ });
35064
+ var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35065
+ var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35066
+ var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
35067
+ z60.object({
35068
+ tag: z60.literal("block_ref"),
34981
35069
  blockId: newsletterSignupBlockIdSchema
34982
35070
  }),
34983
- z62.object({
34984
- tag: z62.literal("signed_destination_ref"),
35071
+ z60.object({
35072
+ tag: z60.literal("signed_destination_ref"),
34985
35073
  token: signedNewsletterDestinationRefSchema
34986
35074
  })
34987
35075
  ]);
34988
- var newsletterSourceSchema = z62.object({
34989
- blockId: z62.string().nullable().optional(),
34990
- siteId: z62.string().optional(),
34991
- apiBaseUrl: z62.string().optional(),
34992
- listId: z62.string().nullable().optional(),
35076
+ var newsletterSourceSchema = z60.object({
35077
+ blockId: z60.string().nullable().optional(),
35078
+ siteId: z60.string().optional(),
35079
+ apiBaseUrl: z60.string().optional(),
35080
+ listId: z60.string().nullable().optional(),
34993
35081
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
34994
35082
  preset: newsletterPresetSchema.optional(),
34995
- includePhone: z62.boolean().optional(),
34996
- buttonLabel: z62.string().nullable().optional(),
34997
- successMessage: z62.string().nullable().optional(),
34998
- privacyNote: z62.string().nullable().optional(),
34999
- tags: z62.string().nullable().optional(),
35000
- spamProtectionEnabled: z62.boolean().optional(),
35001
- className: z62.string().nullable().optional()
35002
- });
35003
- var newsletterDisplaySchema = z62.object({
35004
- kind: z62.literal("newsletter-form"),
35005
- className: z62.string().nullable(),
35006
- buttonLabel: z62.string(),
35007
- successMessage: z62.string().nullable(),
35008
- privacyNote: z62.string().nullable(),
35009
- fields: z62.array(newsletterFieldSchema)
35010
- });
35011
- var newsletterHydrationSchema = z62.object({
35083
+ includePhone: z60.boolean().optional(),
35084
+ buttonLabel: z60.string().nullable().optional(),
35085
+ successMessage: z60.string().nullable().optional(),
35086
+ privacyNote: z60.string().nullable().optional(),
35087
+ tags: z60.string().nullable().optional(),
35088
+ spamProtectionEnabled: z60.boolean().optional(),
35089
+ className: z60.string().nullable().optional()
35090
+ });
35091
+ var newsletterDisplaySchema = z60.object({
35092
+ kind: z60.literal("newsletter-form"),
35093
+ className: z60.string().nullable(),
35094
+ buttonLabel: z60.string(),
35095
+ successMessage: z60.string().nullable(),
35096
+ privacyNote: z60.string().nullable(),
35097
+ fields: z60.array(newsletterFieldSchema)
35098
+ });
35099
+ var newsletterHydrationSchema = z60.object({
35012
35100
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
35013
- listId: z62.string().nullable().optional(),
35101
+ listId: z60.string().nullable().optional(),
35014
35102
  preset: newsletterPresetSchema,
35015
- includePhone: z62.boolean(),
35016
- tags: z62.string().nullable().optional(),
35017
- spamProtectionEnabled: z62.boolean().optional()
35103
+ includePhone: z60.boolean(),
35104
+ tags: z60.string().nullable().optional(),
35105
+ spamProtectionEnabled: z60.boolean().optional()
35018
35106
  });
35019
- var newsletterRenderSchema = z62.object({
35107
+ var newsletterRenderSchema = z60.object({
35020
35108
  display: newsletterDisplaySchema,
35021
35109
  hydration: newsletterHydrationSchema
35022
35110
  });
35023
- var newsletterIslandMetaCodec = createZodCodec(z62.object({
35024
- siteId: z62.string().optional(),
35025
- apiBaseUrl: z62.string().optional()
35111
+ var newsletterIslandMetaCodec = createZodCodec(z60.object({
35112
+ siteId: z60.string().optional(),
35113
+ apiBaseUrl: z60.string().optional()
35026
35114
  }));
35027
35115
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
35028
35116
  function buildNewsletterDisplay(source) {
@@ -35161,23 +35249,23 @@ var newsletterSignupBlockDefinition = {
35161
35249
  };
35162
35250
 
35163
35251
  // ../blocks/src/system/blocks/team-members.ts
35164
- import { z as z63 } from "zod";
35252
+ import { z as z61 } from "zod";
35165
35253
  var ITEM_NAME2 = "member";
35166
35254
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
35167
35255
  message: "Team member photos must be image media"
35168
35256
  }).nullable();
35169
- var teamMemberDataSchema = z63.object({
35170
- _type: z63.literal("teamMember"),
35171
- id: z63.string(),
35172
- name: z63.string(),
35173
- role: z63.string().nullable(),
35174
- roleLabel: z63.string().nullable(),
35175
- bio: z63.string().nullable(),
35176
- summary: z63.string().nullable(),
35257
+ var teamMemberDataSchema = z61.object({
35258
+ _type: z61.literal("teamMember"),
35259
+ id: z61.string(),
35260
+ name: z61.string(),
35261
+ role: z61.string().nullable(),
35262
+ roleLabel: z61.string().nullable(),
35263
+ bio: z61.string().nullable(),
35264
+ summary: z61.string().nullable(),
35177
35265
  photo: teamMemberPhotoSchema,
35178
- profilePath: z63.string().nullable()
35266
+ profilePath: z61.string().nullable()
35179
35267
  });
35180
- var teamMembersDataSchema = z63.array(teamMemberDataSchema);
35268
+ var teamMembersDataSchema = z61.array(teamMemberDataSchema);
35181
35269
  var dynamicSourceWhen = { equals: "site_staff" };
35182
35270
  var manualSourceWhen = { equals: "site_staff", not: true };
35183
35271
  var headingNode = text(
@@ -36069,13 +36157,6 @@ var systemBlockDefinitionsRaw = [
36069
36157
  weight: "featured",
36070
36158
  bias: "clear",
36071
36159
  surfaces: heroSectionSurfaces
36072
- }),
36073
- layoutProfile({
36074
- variantKey: "splitEditorial",
36075
- family: "split",
36076
- weight: "featured",
36077
- bias: "clear",
36078
- surfaces: heroSectionSurfaces
36079
36160
  })
36080
36161
  ]
36081
36162
  })),
@@ -36319,9 +36400,8 @@ var systemBlockDefinitionsRaw = [
36319
36400
  flow: offeringsFlow,
36320
36401
  layoutProfiles: [
36321
36402
  layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
36403
+ layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
36322
36404
  layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
36323
- layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
36324
- layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
36325
36405
  layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
36326
36406
  ]
36327
36407
  })),
@@ -36884,10 +36964,7 @@ function normalizeRenderStage(stage) {
36884
36964
  return stage === "preview" ? "preview" : "published";
36885
36965
  }
36886
36966
  function isRouteVisibleInStage(routeEntry, stageInput) {
36887
- const stage = normalizeRenderStage(stageInput);
36888
- if (stage === "preview" || !isRouteRecord(routeEntry)) {
36889
- return true;
36890
- }
36967
+ if (normalizeRenderStage(stageInput) === "preview" || !isRouteRecord(routeEntry)) return true;
36891
36968
  const status = routeEntry.status;
36892
36969
  return !(typeof status === "string" && status !== "published");
36893
36970
  }
@@ -36896,52 +36973,45 @@ function extractRouteHref(candidate, stageInput = "published") {
36896
36973
  const trimmed = candidate.trim();
36897
36974
  return trimmed.length > 0 ? trimmed : null;
36898
36975
  }
36899
- if (!isRouteRecord(candidate)) {
36900
- return null;
36901
- }
36902
- const stage = normalizeRenderStage(stageInput);
36903
- const fields3 = stage === "preview" ? ["draftPath", "path", "href", "url"] : ["path", "href", "url"];
36976
+ if (!isRouteRecord(candidate)) return null;
36977
+ const fields3 = normalizeRenderStage(stageInput) === "preview" ? [
36978
+ "draftPath",
36979
+ "path",
36980
+ "href",
36981
+ "url"
36982
+ ] : [
36983
+ "path",
36984
+ "href",
36985
+ "url"
36986
+ ];
36904
36987
  for (const field of fields3) {
36905
36988
  const value = candidate[field];
36906
- if (typeof value === "string" && value.trim().length > 0) {
36907
- return value.trim();
36908
- }
36989
+ if (typeof value === "string" && value.trim().length > 0) return value.trim();
36909
36990
  }
36910
36991
  return null;
36911
36992
  }
36912
36993
  function extractRouteUpdatedAt(candidate) {
36913
- if (!isRouteRecord(candidate)) {
36914
- return null;
36915
- }
36916
- const fields3 = [
36994
+ if (!isRouteRecord(candidate)) return null;
36995
+ for (const field of [
36917
36996
  "updatedAt",
36918
36997
  "updated_at",
36919
36998
  "publishedAt",
36920
36999
  "published_at",
36921
37000
  "modifiedAt",
36922
37001
  "modified_at"
36923
- ];
36924
- for (const field of fields3) {
37002
+ ]) {
36925
37003
  const value = candidate[field];
36926
- if (typeof value === "string" && value.length > 0) {
36927
- return value;
36928
- }
37004
+ if (typeof value === "string" && value.length > 0) return value;
36929
37005
  }
36930
37006
  return null;
36931
37007
  }
36932
37008
  function resolveRouteTargetForStage(routeIdValue, routes, stageInput) {
36933
37009
  const routeId = typeof routeIdValue === "string" ? routeIdValue : null;
36934
- if (!routeId || !routes) {
36935
- return null;
36936
- }
37010
+ if (!routeId || !routes) return null;
36937
37011
  const routeEntry = routes[routeId];
36938
- if (!isRouteVisibleInStage(routeEntry, stageInput)) {
36939
- return null;
36940
- }
37012
+ if (!isRouteVisibleInStage(routeEntry, stageInput)) return null;
36941
37013
  const href = extractRouteHref(routeEntry, stageInput);
36942
- if (!href) {
36943
- return null;
36944
- }
37014
+ if (!href) return null;
36945
37015
  return {
36946
37016
  routeId,
36947
37017
  href,
@@ -37871,42 +37941,45 @@ import { jsx as jsx5 } from "react/jsx-runtime";
37871
37941
  import * as React from "react";
37872
37942
  import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
37873
37943
 
37944
+ // ../theme-core/src/ResponsiveScope.tsx
37945
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
37946
+
37874
37947
  // ../theme-core/src/fonts/uploadFormat.ts
37875
37948
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
37876
37949
 
37877
37950
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
37878
- import { z as z64 } from "zod";
37879
- var themeBridgeConfigSchema = z64.object({
37880
- tokens: z64.record(z64.string(), z64.string()),
37881
- typography: z64.object({
37882
- headingFamily: z64.string().optional(),
37883
- bodyFamily: z64.string().optional(),
37884
- headingWeight: z64.number().optional(),
37885
- bodyWeight: z64.number().optional()
37951
+ import { z as z62 } from "zod";
37952
+ var themeBridgeConfigSchema = z62.object({
37953
+ tokens: z62.record(z62.string(), z62.string()),
37954
+ typography: z62.object({
37955
+ headingFamily: z62.string().optional(),
37956
+ bodyFamily: z62.string().optional(),
37957
+ headingWeight: z62.number().optional(),
37958
+ bodyWeight: z62.number().optional()
37886
37959
  }).optional(),
37887
- spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
37888
- corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
37889
- shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
37890
- components: z64.object({
37891
- buttons: z64.union([
37892
- z64.boolean(),
37893
- z64.object({
37894
- variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
37960
+ spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
37961
+ corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
37962
+ shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
37963
+ components: z62.object({
37964
+ buttons: z62.union([
37965
+ z62.boolean(),
37966
+ z62.object({
37967
+ variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
37895
37968
  })
37896
37969
  ]).optional(),
37897
- cards: z64.union([
37898
- z64.boolean(),
37899
- z64.object({
37900
- variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
37970
+ cards: z62.union([
37971
+ z62.boolean(),
37972
+ z62.object({
37973
+ variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
37901
37974
  })
37902
37975
  ]).optional(),
37903
- inputs: z64.boolean().optional()
37976
+ inputs: z62.boolean().optional()
37904
37977
  }).optional(),
37905
- overrides: z64.record(z64.string(), z64.string()).optional()
37978
+ overrides: z62.record(z62.string(), z62.string()).optional()
37906
37979
  }).passthrough();
37907
37980
 
37908
37981
  // ../theme-core/src/siteChrome.tsx
37909
- import { Fragment as Fragment2, jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
37982
+ import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
37910
37983
 
37911
37984
  // ../blocks/src/system/data/loaderEndpoints.ts
37912
37985
  var SUPPORTED_LOADER_ENDPOINTS = [
@@ -37928,17 +38001,17 @@ var SUPPORTED_LOADER_ENDPOINTS = [
37928
38001
  function unsafeRetypeZodSchema(schema) {
37929
38002
  return schema;
37930
38003
  }
37931
- var navIdListSchema = z65.preprocess((value) => {
38004
+ var navIdListSchema = z63.preprocess((value) => {
37932
38005
  if (!Array.isArray(value)) return void 0;
37933
38006
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
37934
38007
  return filtered.length > 0 ? filtered : void 0;
37935
- }, z65.array(z65.string()).max(200).optional());
37936
- var dashboardNavVisibilityBaseSchema = z65.object({
37937
- mode: z65.enum(["augment", "restrict"]).optional(),
38008
+ }, z63.array(z63.string()).max(200).optional());
38009
+ var dashboardNavVisibilityBaseSchema = z63.object({
38010
+ mode: z63.enum(["augment", "restrict"]).optional(),
37938
38011
  allowIds: navIdListSchema,
37939
38012
  denyIds: navIdListSchema
37940
38013
  }).strip();
37941
- var dashboardNavVisibilityRolesSchema = z65.object({
38014
+ var dashboardNavVisibilityRolesSchema = z63.object({
37942
38015
  administrator: dashboardNavVisibilityBaseSchema.optional(),
37943
38016
  editor: dashboardNavVisibilityBaseSchema.optional(),
37944
38017
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -37946,63 +38019,63 @@ var dashboardNavVisibilityRolesSchema = z65.object({
37946
38019
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
37947
38020
  roles: dashboardNavVisibilityRolesSchema
37948
38021
  }).strip();
37949
- var dashboardNavigationConfigSchema = z65.object({
38022
+ var dashboardNavigationConfigSchema = z63.object({
37950
38023
  siteNav: dashboardNavVisibilitySchema.optional(),
37951
38024
  settingsNav: dashboardNavVisibilitySchema.optional()
37952
38025
  }).strip();
37953
- var dashboardConfigSchema = z65.object({
37954
- previewEditingEnabled: z65.boolean().optional(),
38026
+ var dashboardConfigSchema = z63.object({
38027
+ previewEditingEnabled: z63.boolean().optional(),
37955
38028
  navigation: dashboardNavigationConfigSchema.optional()
37956
38029
  }).strip();
37957
38030
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
37958
38031
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
37959
- var sdkLoaderEndpointSchema = z65.enum(SUPPORTED_LOADER_ENDPOINTS);
37960
- var loaderFallbackScalarSchema = z65.union([
37961
- z65.string(),
37962
- z65.number(),
37963
- z65.boolean(),
37964
- z65.null()
38032
+ var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
38033
+ var loaderFallbackScalarSchema = z63.union([
38034
+ z63.string(),
38035
+ z63.number(),
38036
+ z63.boolean(),
38037
+ z63.null()
37965
38038
  ]);
37966
- var loaderParamBindingSchema = z65.object({
37967
- $bind: z65.object({
37968
- from: z65.string().min(1, "Binding path is required"),
38039
+ var loaderParamBindingSchema = z63.object({
38040
+ $bind: z63.object({
38041
+ from: z63.string().min(1, "Binding path is required"),
37969
38042
  fallback: loaderFallbackScalarSchema.optional()
37970
38043
  })
37971
38044
  });
37972
- var loaderParamValueSchema = z65.union([
37973
- z65.string(),
37974
- z65.number(),
37975
- z65.boolean(),
38045
+ var loaderParamValueSchema = z63.union([
38046
+ z63.string(),
38047
+ z63.number(),
38048
+ z63.boolean(),
37976
38049
  loaderParamBindingSchema
37977
38050
  ]);
37978
- var sdkConfigLoaderSchema = z65.object({
38051
+ var sdkConfigLoaderSchema = z63.object({
37979
38052
  endpoint: sdkLoaderEndpointSchema,
37980
- params: z65.record(z65.string(), loaderParamValueSchema),
37981
- mode: z65.enum(["server", "client"]).default("server")
38053
+ params: z63.record(z63.string(), loaderParamValueSchema),
38054
+ mode: z63.enum(["server", "client"]).default("server")
37982
38055
  });
37983
- var sdkDataLoadersSchema = z65.record(z65.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
37984
- var sdkCustomBlockIdSchema = z65.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38056
+ var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38057
+ var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
37985
38058
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
37986
38059
  }).transform((value) => value);
37987
- var sdkCustomBlockInputSchema = z65.object({
38060
+ var sdkCustomBlockInputSchema = z63.object({
37988
38061
  id: sdkCustomBlockIdSchema,
37989
- title: z65.string().min(1),
37990
- titleSource: z65.union([z65.string().min(1), z65.array(z65.string().min(1)).min(1)]).optional(),
37991
- description: z65.string().optional(),
38062
+ title: z63.string().min(1),
38063
+ titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
38064
+ description: z63.string().optional(),
37992
38065
  category: blockCategoryEnum,
37993
- icon: z65.string().optional(),
37994
- tags: z65.array(z65.string()).optional(),
38066
+ icon: z63.string().optional(),
38067
+ tags: z63.array(z63.string()).optional(),
37995
38068
  fields: fieldDefinitionInputSchema.array().min(1),
37996
38069
  dataLoaders: sdkDataLoadersSchema,
37997
38070
  layout: NodeSchema.optional(),
37998
- variants: z65.record(z65.string().min(1), NodeSchema).optional(),
37999
- defaultVariant: z65.string().min(1).optional(),
38000
- variantOptions: z65.record(
38001
- z65.string().min(1),
38002
- z65.object({
38003
- label: z65.string().min(1).optional(),
38004
- description: z65.string().min(1).optional(),
38005
- icon: z65.string().min(1).optional()
38071
+ variants: z63.record(z63.string().min(1), NodeSchema).optional(),
38072
+ defaultVariant: z63.string().min(1).optional(),
38073
+ variantOptions: z63.record(
38074
+ z63.string().min(1),
38075
+ z63.object({
38076
+ label: z63.string().min(1).optional(),
38077
+ description: z63.string().min(1).optional(),
38078
+ icon: z63.string().min(1).optional()
38006
38079
  })
38007
38080
  ).optional(),
38008
38081
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -38013,7 +38086,7 @@ var sdkCustomBlockInputSchema = z65.object({
38013
38086
  const exists = data.fields.some((field) => field.id === source);
38014
38087
  if (!exists) {
38015
38088
  ctx.addIssue({
38016
- code: z65.ZodIssueCode.custom,
38089
+ code: z63.ZodIssueCode.custom,
38017
38090
  message: `titleSource must reference a valid field ID (got "${source}")`,
38018
38091
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
38019
38092
  });
@@ -38022,7 +38095,7 @@ var sdkCustomBlockInputSchema = z65.object({
38022
38095
  }
38023
38096
  if (data.layout && data.variants) {
38024
38097
  ctx.addIssue({
38025
- code: z65.ZodIssueCode.custom,
38098
+ code: z63.ZodIssueCode.custom,
38026
38099
  message: "Custom block must define either `layout` or `variants`, not both",
38027
38100
  path: ["variants"]
38028
38101
  });
@@ -38031,14 +38104,14 @@ var sdkCustomBlockInputSchema = z65.object({
38031
38104
  const keys = Object.keys(data.variants);
38032
38105
  if (keys.length === 0) {
38033
38106
  ctx.addIssue({
38034
- code: z65.ZodIssueCode.custom,
38107
+ code: z63.ZodIssueCode.custom,
38035
38108
  message: "`variants` must contain at least one variant key",
38036
38109
  path: ["variants"]
38037
38110
  });
38038
38111
  }
38039
38112
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
38040
38113
  ctx.addIssue({
38041
- code: z65.ZodIssueCode.custom,
38114
+ code: z63.ZodIssueCode.custom,
38042
38115
  message: "`defaultVariant` must be a key present in `variants`",
38043
38116
  path: ["defaultVariant"]
38044
38117
  });
@@ -38047,7 +38120,7 @@ var sdkCustomBlockInputSchema = z65.object({
38047
38120
  for (const key of Object.keys(data.variantOptions)) {
38048
38121
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
38049
38122
  ctx.addIssue({
38050
- code: z65.ZodIssueCode.custom,
38123
+ code: z63.ZodIssueCode.custom,
38051
38124
  message: "`variantOptions` key must exist in `variants`",
38052
38125
  path: ["variantOptions", key]
38053
38126
  });
@@ -38056,78 +38129,78 @@ var sdkCustomBlockInputSchema = z65.object({
38056
38129
  }
38057
38130
  }
38058
38131
  });
38059
- var sdkBlockFieldExtensionInputSchema = z65.object({
38132
+ var sdkBlockFieldExtensionInputSchema = z63.object({
38060
38133
  fields: fieldDefinitionInputSchema.array().min(1)
38061
38134
  });
38062
- var sdkBlockFieldExtensionsInputSchema = z65.record(
38063
- z65.string().min(1),
38135
+ var sdkBlockFieldExtensionsInputSchema = z63.record(
38136
+ z63.string().min(1),
38064
38137
  sdkBlockFieldExtensionInputSchema
38065
38138
  );
38066
- var sdkThemePaletteSchema = z65.record(z65.string(), z65.string());
38067
- var sdkThemeConfigSchema = z65.object({
38139
+ var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
38140
+ var sdkThemeConfigSchema = z63.object({
38068
38141
  palette: sdkThemePaletteSchema
38069
38142
  });
38070
- var sdkSectionBackgroundSchema = z65.object({
38071
- id: z65.string().min(1),
38072
- label: z65.string().min(1),
38073
- token: z65.string().min(1)
38143
+ var sdkSectionBackgroundSchema = z63.object({
38144
+ id: z63.string().min(1),
38145
+ label: z63.string().min(1),
38146
+ token: z63.string().min(1)
38074
38147
  });
38075
- var sdkSectionOptionsConfigSchema = z65.object({
38076
- backgroundColor: z65.boolean().optional(),
38077
- backgroundImage: z65.boolean().optional(),
38078
- backgroundGradient: z65.boolean().optional(),
38079
- spacing: z65.union([z65.array(z65.enum(["compact", "default", "spacious"])), z65.boolean()]).optional(),
38080
- textColor: z65.boolean().optional()
38148
+ var sdkSectionOptionsConfigSchema = z63.object({
38149
+ backgroundColor: z63.boolean().optional(),
38150
+ backgroundImage: z63.boolean().optional(),
38151
+ backgroundGradient: z63.boolean().optional(),
38152
+ spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
38153
+ textColor: z63.boolean().optional()
38081
38154
  });
38082
- var sdkContainerOptionsConfigSchema = z65.object({
38083
- maxWidth: z65.union([z65.array(z65.enum(["narrow", "default", "wide", "full"])), z65.boolean()]).optional(),
38084
- alignment: z65.union([z65.array(z65.enum(["left", "center", "right"])), z65.boolean()]).optional()
38155
+ var sdkContainerOptionsConfigSchema = z63.object({
38156
+ maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
38157
+ alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
38085
38158
  });
38086
- var sdkSiteStyleConfigSchema = z65.object({
38087
- sectionBackgrounds: z65.array(sdkSectionBackgroundSchema).optional(),
38159
+ var sdkSiteStyleConfigSchema = z63.object({
38160
+ sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
38088
38161
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
38089
38162
  containerOptions: sdkContainerOptionsConfigSchema.optional()
38090
38163
  });
38091
- var sdkSiteLayoutConfigSchema = z65.object({
38092
- footerBlocks: z65.array(
38093
- z65.object({
38094
- id: z65.string().min(1).optional(),
38095
- kind: z65.string().min(1),
38096
- content: z65.record(z65.string(), z65.unknown()).optional()
38164
+ var sdkSiteLayoutConfigSchema = z63.object({
38165
+ footerBlocks: z63.array(
38166
+ z63.object({
38167
+ id: z63.string().min(1).optional(),
38168
+ kind: z63.string().min(1),
38169
+ content: z63.record(z63.string(), z63.unknown()).optional()
38097
38170
  })
38098
38171
  ).optional()
38099
38172
  });
38100
- var sdkFieldSelectOptionSchema = z65.object({
38101
- value: z65.string(),
38102
- label: z65.string()
38173
+ var sdkFieldSelectOptionSchema = z63.object({
38174
+ value: z63.string(),
38175
+ label: z63.string()
38103
38176
  });
38104
- var sdkBlockFieldConfigSchema = z65.object({
38105
- options: z65.array(sdkFieldSelectOptionSchema).optional()
38177
+ var sdkBlockFieldConfigSchema = z63.object({
38178
+ options: z63.array(sdkFieldSelectOptionSchema).optional()
38106
38179
  });
38107
- var sdkBlockFieldOptionsMapSchema = z65.record(
38108
- z65.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38180
+ var sdkBlockFieldOptionsMapSchema = z63.record(
38181
+ z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38109
38182
  message: "Block ID must be 'block.*' or 'custom.*' format"
38110
38183
  }),
38111
- z65.record(z65.string().min(1), sdkBlockFieldConfigSchema)
38184
+ z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
38112
38185
  ).optional();
38113
- var sdkContentTypeTemplateConfigSchema = z65.object({
38114
- blocks: z65.array(z65.unknown())
38186
+ var sdkContentTypeTemplateConfigSchema = z63.object({
38187
+ blocks: z63.array(z63.unknown())
38115
38188
  }).passthrough();
38116
- var sdkContentTypeOrderingConfigSchema = z65.object({
38117
- mode: z65.enum(["default", "manual"]).optional()
38189
+ var sdkContentTypeOrderingConfigSchema = z63.object({
38190
+ mode: z63.enum(["default", "manual"]).optional()
38118
38191
  }).optional();
38119
- var sdkContentTypeConfigSchema = z65.object({
38120
- key: z65.string().min(1),
38121
- fields: z65.array(z65.unknown()),
38192
+ var sdkContentTypeConfigSchema = z63.object({
38193
+ key: z63.string().min(1),
38194
+ fields: z63.array(z63.unknown()),
38122
38195
  ordering: sdkContentTypeOrderingConfigSchema,
38123
38196
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
38124
38197
  }).passthrough();
38125
- var sdkContentConfigSchema = z65.object({
38126
- contentTypes: z65.array(sdkContentTypeConfigSchema).optional(),
38127
- pages: z65.array(z65.unknown()).optional(),
38128
- entries: z65.array(z65.unknown()).optional(),
38129
- navigationMenus: z65.array(z65.unknown()).optional(),
38130
- settings: z65.unknown().optional()
38198
+ var sdkContentConfigSchema = z63.object({
38199
+ contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
38200
+ pages: z63.array(z63.unknown()).optional(),
38201
+ entries: z63.array(z63.unknown()).optional(),
38202
+ navigationMenus: z63.array(z63.unknown()).optional(),
38203
+ settings: z63.unknown().optional()
38131
38204
  }).passthrough();
38132
38205
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
38133
38206
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -38142,62 +38215,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
38142
38215
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
38143
38216
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
38144
38217
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
38145
- var sdkWorkflowIdSchema = z65.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38218
+ var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38146
38219
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
38147
38220
  });
38148
- var sdkWorkflowEndpointSchema = z65.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
38149
- var sdkWorkflowManualTriggerSchema = z65.object({
38150
- type: z65.literal("manual")
38221
+ var sdkWorkflowEndpointSchema = z63.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
38222
+ var sdkWorkflowManualTriggerSchema = z63.object({
38223
+ type: z63.literal("manual")
38151
38224
  }).strict();
38152
- var sdkWorkflowTriggerFieldSchema = z65.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38225
+ var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38153
38226
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
38154
38227
  });
38155
- var sdkWorkflowFieldChangedConditionSchema = z65.object({
38228
+ var sdkWorkflowFieldChangedConditionSchema = z63.object({
38156
38229
  field: sdkWorkflowTriggerFieldSchema,
38157
- changed: z65.literal(true)
38230
+ changed: z63.literal(true)
38158
38231
  }).strict();
38159
- var sdkWorkflowFieldEmptyConditionSchema = z65.object({
38232
+ var sdkWorkflowFieldEmptyConditionSchema = z63.object({
38160
38233
  field: sdkWorkflowTriggerFieldSchema,
38161
- isEmpty: z65.boolean()
38234
+ isEmpty: z63.boolean()
38162
38235
  }).strict();
38163
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z65.object({
38164
- type: z65.literal("entry.draft.updated"),
38165
- when: z65.array(
38166
- z65.union([
38236
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
38237
+ type: z63.literal("entry.draft.updated"),
38238
+ when: z63.array(
38239
+ z63.union([
38167
38240
  sdkWorkflowFieldChangedConditionSchema,
38168
38241
  sdkWorkflowFieldEmptyConditionSchema
38169
38242
  ])
38170
38243
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
38171
38244
  }).strict();
38172
- var sdkWorkflowTriggerSchema = z65.discriminatedUnion("type", [
38245
+ var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
38173
38246
  sdkWorkflowManualTriggerSchema,
38174
38247
  sdkWorkflowEntryDraftUpdatedTriggerSchema
38175
38248
  ]);
38176
- var sdkWorkflowConfirmationSchema = z65.object({
38177
- title: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38178
- body: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38249
+ var sdkWorkflowConfirmationSchema = z63.object({
38250
+ title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38251
+ body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38179
38252
  }).strict();
38180
- var sdkWorkflowConfigSchema = z65.object({
38253
+ var sdkWorkflowConfigSchema = z63.object({
38181
38254
  id: sdkWorkflowIdSchema,
38182
- title: z65.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38183
- description: z65.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38184
- contentType: z65.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38255
+ title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38256
+ description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38257
+ contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38185
38258
  endpoint: sdkWorkflowEndpointSchema,
38186
- triggers: z65.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38259
+ triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38187
38260
  confirmation: sdkWorkflowConfirmationSchema.optional()
38188
38261
  }).strict();
38189
- var sdkWorkflowsSchema = z65.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38262
+ var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38190
38263
  const ids = workflows.map((workflow) => workflow.id);
38191
38264
  return ids.length === new Set(ids).size;
38192
38265
  }, { message: "Workflow IDs must be unique" }).optional();
38193
- var riverbankSiteConfigInputSchema = z65.object({
38194
- siteId: z65.string().uuid(),
38195
- previewUrl: z65.string().url().optional(),
38196
- liveUrl: z65.string().url().optional(),
38266
+ var riverbankSiteConfigInputSchema = z63.object({
38267
+ siteId: z63.string().uuid(),
38268
+ previewUrl: z63.string().url().optional(),
38269
+ liveUrl: z63.string().url().optional(),
38197
38270
  theme: sdkThemeConfigSchema.optional(),
38198
38271
  styles: sdkSiteStyleConfigSchema.optional(),
38199
38272
  layout: sdkSiteLayoutConfigSchema.optional(),
38200
- customBlocks: z65.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38273
+ customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38201
38274
  const ids = blocks.map((b) => b.id);
38202
38275
  return ids.length === new Set(ids).size;
38203
38276
  }, { message: "Block IDs must be unique" }).optional(),
@@ -38205,50 +38278,50 @@ var riverbankSiteConfigInputSchema = z65.object({
38205
38278
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
38206
38279
  workflows: sdkWorkflowsSchema,
38207
38280
  content: sdkContentConfigSchema.optional(),
38208
- contentDir: z65.string().optional(),
38209
- sync: z65.object({
38210
- existingEntries: z65.enum(["skip", "update"]).optional()
38281
+ contentDir: z63.string().optional(),
38282
+ sync: z63.object({
38283
+ existingEntries: z63.enum(["skip", "update"]).optional()
38211
38284
  }).optional(),
38212
- deploy: z65.object({
38213
- verifyCommand: z65.string().optional(),
38214
- prebuildOutput: z65.string().optional()
38285
+ deploy: z63.object({
38286
+ verifyCommand: z63.string().optional(),
38287
+ prebuildOutput: z63.string().optional()
38215
38288
  }).optional(),
38216
- themeSource: z65.enum(["local", "cms"]).optional(),
38217
- activeTheme: z65.string().optional(),
38218
- enablePortal: z65.boolean().optional(),
38289
+ themeSource: z63.enum(["local", "cms"]).optional(),
38290
+ activeTheme: z63.string().optional(),
38291
+ enablePortal: z63.boolean().optional(),
38219
38292
  dashboard: dashboardConfigSchema.optional()
38220
38293
  }).strict();
38221
- var pushSdkConfigBodySchema = z65.object({
38294
+ var pushSdkConfigBodySchema = z63.object({
38222
38295
  config: riverbankSiteConfigInputSchema,
38223
- forceContentTypes: z65.boolean().optional()
38296
+ forceContentTypes: z63.boolean().optional()
38224
38297
  }).strict();
38225
38298
 
38226
38299
  // ../api/src/siteOnboarding.ts
38227
- import { z as z66 } from "zod";
38300
+ import { z as z64 } from "zod";
38228
38301
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
38229
38302
  configure_appointments: {
38230
38303
  requirementId: "configure_appointments",
38231
38304
  reason: "launch_anyway"
38232
38305
  }
38233
38306
  };
38234
- var acknowledgeLaunchRequirementRequestSchema = z66.discriminatedUnion(
38307
+ var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
38235
38308
  "requirementId",
38236
38309
  [
38237
- z66.object({
38238
- requirementId: z66.literal("review_generated_site")
38310
+ z64.object({
38311
+ requirementId: z64.literal("review_generated_site")
38239
38312
  }),
38240
- z66.object({
38241
- requirementId: z66.literal(
38313
+ z64.object({
38314
+ requirementId: z64.literal(
38242
38315
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
38243
38316
  ),
38244
- overrideReason: z66.literal(
38317
+ overrideReason: z64.literal(
38245
38318
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
38246
38319
  )
38247
38320
  })
38248
38321
  ]
38249
38322
  );
38250
- var goLiveSiteRequestSchema = z66.object({
38251
- acceptExtraSiteCharge: z66.boolean().optional()
38323
+ var goLiveSiteRequestSchema = z64.object({
38324
+ acceptExtraSiteCharge: z64.boolean().optional()
38252
38325
  });
38253
38326
 
38254
38327
  // ../surfaces/src/index.ts
@@ -38332,7 +38405,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
38332
38405
  ];
38333
38406
 
38334
38407
  // ../api/src/bookingVerticals.ts
38335
- import { z as z67 } from "zod";
38408
+ import { z as z65 } from "zod";
38336
38409
  var VERTICAL_IDS = [
38337
38410
  "yoga_wellness",
38338
38411
  "fitness_pt",
@@ -38497,39 +38570,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
38497
38570
  }
38498
38571
  return [...issues];
38499
38572
  }
38500
- var VerticalIdSchema = z67.string().trim().transform((value, ctx) => {
38573
+ var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
38501
38574
  const parsed = parseVerticalId(value);
38502
38575
  if (!parsed) {
38503
38576
  ctx.addIssue({
38504
- code: z67.ZodIssueCode.custom,
38577
+ code: z65.ZodIssueCode.custom,
38505
38578
  message: "Unknown booking vertical"
38506
38579
  });
38507
- return z67.NEVER;
38580
+ return z65.NEVER;
38508
38581
  }
38509
38582
  return parsed;
38510
38583
  });
38511
- var VerticalPresetIdSchema = z67.string().trim().transform((value, ctx) => {
38584
+ var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
38512
38585
  const parsed = parseVerticalPresetId(value);
38513
38586
  if (!parsed) {
38514
38587
  ctx.addIssue({
38515
- code: z67.ZodIssueCode.custom,
38588
+ code: z65.ZodIssueCode.custom,
38516
38589
  message: "Unknown booking preset"
38517
38590
  });
38518
- return z67.NEVER;
38591
+ return z65.NEVER;
38519
38592
  }
38520
38593
  return parsed;
38521
38594
  });
38522
- var BookingVerticalConfigSchema = z67.object({
38595
+ var BookingVerticalConfigSchema = z65.object({
38523
38596
  verticalId: VerticalIdSchema.nullable(),
38524
- selectedPresetIds: z67.array(VerticalPresetIdSchema).max(20)
38597
+ selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
38525
38598
  }).transform((value, ctx) => {
38526
38599
  const resolved = resolveSiteVerticalBookingConfig(value);
38527
38600
  if (resolved.kind === "invalid") {
38528
38601
  ctx.addIssue({
38529
- code: z67.ZodIssueCode.custom,
38602
+ code: z65.ZodIssueCode.custom,
38530
38603
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
38531
38604
  });
38532
- return z67.NEVER;
38605
+ return z65.NEVER;
38533
38606
  }
38534
38607
  return resolved.config;
38535
38608
  });
@@ -38556,51 +38629,51 @@ function isRecord7(value) {
38556
38629
  }
38557
38630
 
38558
38631
  // ../api/src/appointmentSetup.ts
38559
- import { z as z68 } from "zod";
38632
+ import { z as z66 } from "zod";
38560
38633
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
38561
- var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
38562
- z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
38563
- z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
38634
+ var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
38635
+ z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
38636
+ z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
38564
38637
  ]);
38565
- var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
38566
- z68.object({ kind: z68.literal("none") }),
38567
- z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
38568
- z68.object({
38569
- kind: z68.literal("create"),
38570
- draftId: z68.string().min(1),
38571
- title: z68.string().trim().min(1),
38572
- description: z68.string().nullable(),
38573
- timezone: z68.string().trim().min(1).nullable(),
38574
- addressJson: z68.record(z68.string(), z68.unknown()),
38575
- locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
38638
+ var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
38639
+ z66.object({ kind: z66.literal("none") }),
38640
+ z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
38641
+ z66.object({
38642
+ kind: z66.literal("create"),
38643
+ draftId: z66.string().min(1),
38644
+ title: z66.string().trim().min(1),
38645
+ description: z66.string().nullable(),
38646
+ timezone: z66.string().trim().min(1).nullable(),
38647
+ addressJson: z66.record(z66.string(), z66.unknown()),
38648
+ locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
38576
38649
  })
38577
38650
  ]);
38578
- var appointmentSetupPaymentDraftSchema = z68.object({
38579
- priceType: z68.union([z68.literal("free"), z68.literal("paid")])
38580
- });
38581
- var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
38582
- z68.object({ kind: z68.literal("all_practitioners") }),
38583
- z68.object({
38584
- kind: z68.literal("selected_practitioners"),
38585
- resourceRefs: z68.array(appointmentSetupRefSchema)
38651
+ var appointmentSetupPaymentDraftSchema = z66.object({
38652
+ priceType: z66.union([z66.literal("free"), z66.literal("paid")])
38653
+ });
38654
+ var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
38655
+ z66.object({ kind: z66.literal("all_practitioners") }),
38656
+ z66.object({
38657
+ kind: z66.literal("selected_practitioners"),
38658
+ resourceRefs: z66.array(appointmentSetupRefSchema)
38586
38659
  })
38587
38660
  ]);
38588
- var appointmentSetupServiceDraftSchema = z68.object({
38661
+ var appointmentSetupServiceDraftSchema = z66.object({
38589
38662
  ref: appointmentSetupRefSchema,
38590
- title: z68.string().trim().min(1),
38591
- description: z68.string().nullable(),
38592
- durationMinutes: z68.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
38593
- prepMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
38594
- cleanupMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
38595
- priceAmount: z68.number().int().nonnegative().nullable(),
38596
- isActive: z68.boolean(),
38597
- locationType: z68.union([
38598
- z68.literal("virtual"),
38599
- z68.literal("in_person"),
38600
- z68.literal("hybrid")
38663
+ title: z66.string().trim().min(1),
38664
+ description: z66.string().nullable(),
38665
+ durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
38666
+ prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
38667
+ cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
38668
+ priceAmount: z66.number().int().nonnegative().nullable(),
38669
+ isActive: z66.boolean(),
38670
+ locationType: z66.union([
38671
+ z66.literal("virtual"),
38672
+ z66.literal("in_person"),
38673
+ z66.literal("hybrid")
38601
38674
  ]),
38602
38675
  venue: appointmentSetupVenueChoiceSchema,
38603
- timezone: z68.string().trim().min(1).nullable(),
38676
+ timezone: z66.string().trim().min(1).nullable(),
38604
38677
  payment: appointmentSetupPaymentDraftSchema,
38605
38678
  assignment: appointmentSetupServiceAssignmentDraftSchema
38606
38679
  }).superRefine((service, ctx) => {
@@ -38619,49 +38692,49 @@ var appointmentSetupServiceDraftSchema = z68.object({
38619
38692
  });
38620
38693
  }
38621
38694
  });
38622
- var appointmentSetupPractitionerDraftSchema = z68.object({
38695
+ var appointmentSetupPractitionerDraftSchema = z66.object({
38623
38696
  ref: appointmentSetupRefSchema,
38624
- displayName: z68.string().trim().min(1),
38625
- bio: z68.string().nullable(),
38626
- timezone: z68.string().trim().min(1),
38627
- colorHex: z68.string().nullable()
38628
- });
38629
- var appointmentSetupWeeklyWindowDraftSchema = z68.object({
38630
- weekday: z68.number().int().min(0).max(6),
38631
- startTime: z68.string(),
38632
- endTime: z68.string()
38633
- });
38634
- var appointmentSetupStartTimePolicyDraftSchema = z68.discriminatedUnion("kind", [
38635
- z68.object({ kind: z68.literal("automatic_spacing") }),
38636
- z68.object({
38637
- kind: z68.literal("regular_interval"),
38638
- intervalMinutes: z68.union([
38639
- z68.literal(10),
38640
- z68.literal(15),
38641
- z68.literal(20),
38642
- z68.literal(30),
38643
- z68.literal(45),
38644
- z68.literal(60)
38697
+ displayName: z66.string().trim().min(1),
38698
+ bio: z66.string().nullable(),
38699
+ timezone: z66.string().trim().min(1),
38700
+ colorHex: z66.string().nullable()
38701
+ });
38702
+ var appointmentSetupWeeklyWindowDraftSchema = z66.object({
38703
+ weekday: z66.number().int().min(0).max(6),
38704
+ startTime: z66.string(),
38705
+ endTime: z66.string()
38706
+ });
38707
+ var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
38708
+ z66.object({ kind: z66.literal("automatic_spacing") }),
38709
+ z66.object({
38710
+ kind: z66.literal("regular_interval"),
38711
+ intervalMinutes: z66.union([
38712
+ z66.literal(10),
38713
+ z66.literal(15),
38714
+ z66.literal(20),
38715
+ z66.literal(30),
38716
+ z66.literal(45),
38717
+ z66.literal(60)
38645
38718
  ])
38646
38719
  })
38647
38720
  ]);
38648
- var appointmentSetupAvailabilityDraftSchema = z68.object({
38649
- kind: z68.literal("weekly_windows"),
38721
+ var appointmentSetupAvailabilityDraftSchema = z66.object({
38722
+ kind: z66.literal("weekly_windows"),
38650
38723
  resourceRef: appointmentSetupRefSchema,
38651
38724
  serviceRef: appointmentSetupRefSchema.nullable(),
38652
- windows: z68.array(appointmentSetupWeeklyWindowDraftSchema),
38725
+ windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
38653
38726
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
38654
38727
  });
38655
38728
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
38656
38729
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
38657
- var appointmentSetupBookingNoticeSchema = z68.object({
38658
- minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
38659
- maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
38660
- });
38661
- var applyAppointmentSetupRequestSchema = z68.object({
38662
- services: z68.array(appointmentSetupServiceDraftSchema),
38663
- practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
38664
- availability: z68.array(appointmentSetupAvailabilityDraftSchema),
38730
+ var appointmentSetupBookingNoticeSchema = z66.object({
38731
+ minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
38732
+ maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
38733
+ });
38734
+ var applyAppointmentSetupRequestSchema = z66.object({
38735
+ services: z66.array(appointmentSetupServiceDraftSchema),
38736
+ practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
38737
+ availability: z66.array(appointmentSetupAvailabilityDraftSchema),
38665
38738
  bookingNotice: appointmentSetupBookingNoticeSchema
38666
38739
  });
38667
38740
 
@@ -38694,24 +38767,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
38694
38767
  ];
38695
38768
 
38696
38769
  // ../api/src/siteBanner.ts
38697
- import { z as z69 } from "zod";
38770
+ import { z as z67 } from "zod";
38698
38771
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
38699
38772
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
38700
38773
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
38701
38774
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
38702
- var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
38703
- var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
38704
- var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
38705
- var siteBannerCtaSchema = z69.object({
38706
- label: z69.string().trim().min(1),
38775
+ var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
38776
+ var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
38777
+ var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
38778
+ var siteBannerCtaSchema = z67.object({
38779
+ label: z67.string().trim().min(1),
38707
38780
  link: linkPayloadSchema
38708
38781
  });
38709
- var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
38710
- z69.object({
38711
- enabled: z69.literal(false)
38782
+ var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
38783
+ z67.object({
38784
+ enabled: z67.literal(false)
38712
38785
  }),
38713
- z69.object({
38714
- enabled: z69.literal(true),
38786
+ z67.object({
38787
+ enabled: z67.literal(true),
38715
38788
  scope: siteBannerScopeSchema,
38716
38789
  tone: siteBannerToneSchema,
38717
38790
  body: siteBannerBodySchema,
@@ -38725,7 +38798,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
38725
38798
  const analysis = analyzeSiteBannerBody(value.body);
38726
38799
  for (const issue of analysis.issues) {
38727
38800
  ctx.addIssue({
38728
- code: z69.ZodIssueCode.custom,
38801
+ code: z67.ZodIssueCode.custom,
38729
38802
  path: ["body"],
38730
38803
  message: siteBannerBodyIssueMessage(issue)
38731
38804
  });
@@ -39032,75 +39105,75 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
39032
39105
  var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
39033
39106
 
39034
39107
  // ../api/src/aiPlayground.ts
39035
- import { z as z70 } from "zod";
39036
- var Rfc6902PatchOp = z70.discriminatedUnion("op", [
39108
+ import { z as z68 } from "zod";
39109
+ var Rfc6902PatchOp = z68.discriminatedUnion("op", [
39037
39110
  // Standard RFC-6902 operations
39038
- z70.object({
39039
- op: z70.literal("add"),
39040
- path: z70.string(),
39041
- value: z70.unknown()
39111
+ z68.object({
39112
+ op: z68.literal("add"),
39113
+ path: z68.string(),
39114
+ value: z68.unknown()
39042
39115
  }),
39043
- z70.object({
39044
- op: z70.literal("remove"),
39045
- path: z70.string()
39116
+ z68.object({
39117
+ op: z68.literal("remove"),
39118
+ path: z68.string()
39046
39119
  }),
39047
- z70.object({
39048
- op: z70.literal("replace"),
39049
- path: z70.string(),
39050
- value: z70.unknown()
39120
+ z68.object({
39121
+ op: z68.literal("replace"),
39122
+ path: z68.string(),
39123
+ value: z68.unknown()
39051
39124
  }),
39052
- z70.object({
39053
- op: z70.literal("move"),
39054
- from: z70.string(),
39055
- path: z70.string()
39125
+ z68.object({
39126
+ op: z68.literal("move"),
39127
+ from: z68.string(),
39128
+ path: z68.string()
39056
39129
  }),
39057
- z70.object({
39058
- op: z70.literal("copy"),
39059
- from: z70.string(),
39060
- path: z70.string()
39130
+ z68.object({
39131
+ op: z68.literal("copy"),
39132
+ from: z68.string(),
39133
+ path: z68.string()
39061
39134
  }),
39062
39135
  // Block-level operations (Phase 2)
39063
- z70.object({
39064
- op: z70.literal("add_block"),
39065
- blockKind: z70.string(),
39066
- afterBlockId: z70.string().nullable(),
39067
- content: z70.record(z70.string(), z70.unknown()),
39068
- rationale: z70.string()
39136
+ z68.object({
39137
+ op: z68.literal("add_block"),
39138
+ blockKind: z68.string(),
39139
+ afterBlockId: z68.string().nullable(),
39140
+ content: z68.record(z68.string(), z68.unknown()),
39141
+ rationale: z68.string()
39069
39142
  }),
39070
- z70.object({
39071
- op: z70.literal("delete_block"),
39072
- blockId: z70.string(),
39073
- rationale: z70.string()
39143
+ z68.object({
39144
+ op: z68.literal("delete_block"),
39145
+ blockId: z68.string(),
39146
+ rationale: z68.string()
39074
39147
  }),
39075
- z70.object({
39076
- op: z70.literal("reorder_block"),
39077
- blockId: z70.string(),
39078
- afterBlockId: z70.string().nullable(),
39079
- rationale: z70.string()
39148
+ z68.object({
39149
+ op: z68.literal("reorder_block"),
39150
+ blockId: z68.string(),
39151
+ afterBlockId: z68.string().nullable(),
39152
+ rationale: z68.string()
39080
39153
  })
39081
39154
  ]);
39082
- var PlaygroundProposeRequest = z70.object({
39083
- request: z70.string().min(1).max(2e3)
39155
+ var PlaygroundProposeRequest = z68.object({
39156
+ request: z68.string().min(1).max(2e3)
39084
39157
  });
39085
- var MultiPagePatchEnvelope = z70.object({
39086
- pageId: z70.string(),
39087
- blockId: z70.string().optional(),
39158
+ var MultiPagePatchEnvelope = z68.object({
39159
+ pageId: z68.string(),
39160
+ blockId: z68.string().optional(),
39088
39161
  // Not present for page-level ops
39089
- blockKind: z70.string().optional(),
39090
- blockPurpose: z70.string().optional().nullable(),
39091
- ops: z70.array(Rfc6902PatchOp),
39092
- rationale: z70.string(),
39093
- currentContent: z70.record(z70.string(), z70.unknown()).optional()
39162
+ blockKind: z68.string().optional(),
39163
+ blockPurpose: z68.string().optional().nullable(),
39164
+ ops: z68.array(Rfc6902PatchOp),
39165
+ rationale: z68.string(),
39166
+ currentContent: z68.record(z68.string(), z68.unknown()).optional()
39094
39167
  });
39095
- var MultiPageUpdateResponse = z70.object({
39096
- patches: z70.array(MultiPagePatchEnvelope),
39097
- assistantMessage: z70.string(),
39098
- pagesModified: z70.number(),
39099
- toolCallsUsed: z70.number()
39168
+ var MultiPageUpdateResponse = z68.object({
39169
+ patches: z68.array(MultiPagePatchEnvelope),
39170
+ assistantMessage: z68.string(),
39171
+ pagesModified: z68.number(),
39172
+ toolCallsUsed: z68.number()
39100
39173
  });
39101
39174
 
39102
39175
  // src/config/content-validation.ts
39103
- import { z as z71 } from "zod";
39176
+ import { z as z69 } from "zod";
39104
39177
 
39105
39178
  // src/types/block-kinds.ts
39106
39179
  var SYSTEM_BLOCK_KINDS = [
@@ -39256,36 +39329,36 @@ function describeInvalidBindingTransform(transform) {
39256
39329
  }
39257
39330
 
39258
39331
  // src/config/content-validation.ts
39259
- var jsonDataSchema = z71.record(z71.string(), z71.any());
39260
- var contentTypeKeySchema = z71.string().min(1).regex(
39332
+ var jsonDataSchema = z69.record(z69.string(), z69.any());
39333
+ var contentTypeKeySchema = z69.string().min(1).regex(
39261
39334
  /^[a-z][a-z0-9-]*$/,
39262
39335
  "Key must be lowercase, start with a letter, and contain only letters, numbers, and hyphens"
39263
39336
  );
39264
- var templateConfigSchemaForward = z71.object({
39265
- blocks: z71.array(
39266
- z71.object({
39267
- identifier: z71.string().min(1),
39268
- kind: z71.string(),
39269
- scope: z71.enum(["entry", "template"]),
39270
- bindings: z71.record(z71.string(), z71.any()).optional(),
39271
- content: z71.record(z71.string(), z71.any()).optional()
39337
+ var templateConfigSchemaForward = z69.object({
39338
+ blocks: z69.array(
39339
+ z69.object({
39340
+ identifier: z69.string().min(1),
39341
+ kind: z69.string(),
39342
+ scope: z69.enum(["entry", "template"]),
39343
+ bindings: z69.record(z69.string(), z69.any()).optional(),
39344
+ content: z69.record(z69.string(), z69.any()).optional()
39272
39345
  })
39273
39346
  )
39274
39347
  }).optional();
39275
- var contentTypeOrderingSchema = z71.object({
39276
- mode: z71.enum(["default", "manual"]).optional()
39348
+ var contentTypeOrderingSchema = z69.object({
39349
+ mode: z69.enum(["default", "manual"]).optional()
39277
39350
  }).optional();
39278
- var contentTypeConfigSchema = z71.object({
39351
+ var contentTypeConfigSchema = z69.object({
39279
39352
  key: contentTypeKeySchema,
39280
- name: z71.string().min(1),
39281
- description: z71.string().optional(),
39282
- hasPages: z71.boolean(),
39283
- routePattern: z71.string().optional(),
39353
+ name: z69.string().min(1),
39354
+ description: z69.string().optional(),
39355
+ hasPages: z69.boolean(),
39356
+ routePattern: z69.string().optional(),
39284
39357
  // Fields are validated as unknown[] here - deep field validation happens in @riverbankcms/blocks
39285
- fields: z71.array(z71.any()).min(1, "At least one field is required"),
39286
- titleField: z71.string().optional(),
39358
+ fields: z69.array(z69.any()).min(1, "At least one field is required"),
39359
+ titleField: z69.string().optional(),
39287
39360
  ordering: contentTypeOrderingSchema,
39288
- isSingleton: z71.boolean().optional().default(false),
39361
+ isSingleton: z69.boolean().optional().default(false),
39289
39362
  template: templateConfigSchemaForward
39290
39363
  }).refine(
39291
39364
  (data) => {
@@ -39307,7 +39380,7 @@ var contentTypeConfigSchema = z71.object({
39307
39380
  }
39308
39381
  if (!data.routePattern) {
39309
39382
  ctx.addIssue({
39310
- code: z71.ZodIssueCode.custom,
39383
+ code: z69.ZodIssueCode.custom,
39311
39384
  path: ["routePattern"],
39312
39385
  message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
39313
39386
  });
@@ -39316,7 +39389,7 @@ var contentTypeConfigSchema = z71.object({
39316
39389
  const parseResult = safeParseRouteTemplate(data.routePattern);
39317
39390
  if (!parseResult.success) {
39318
39391
  ctx.addIssue({
39319
- code: z71.ZodIssueCode.custom,
39392
+ code: z69.ZodIssueCode.custom,
39320
39393
  path: ["routePattern"],
39321
39394
  message: describeRouteTemplateParseError(parseResult.error)
39322
39395
  });
@@ -39324,44 +39397,44 @@ var contentTypeConfigSchema = z71.object({
39324
39397
  }
39325
39398
  if (!data.isSingleton && parseResult.routeTemplate.kind !== "slug-template") {
39326
39399
  ctx.addIssue({
39327
- code: z71.ZodIssueCode.custom,
39400
+ code: z69.ZodIssueCode.custom,
39328
39401
  path: ["routePattern"],
39329
39402
  message: "routePattern is required when hasPages is true. Non-singleton types must include {slug} placeholder."
39330
39403
  });
39331
39404
  }
39332
39405
  });
39333
- var fieldBindingSchema = z71.object({
39334
- source: z71.literal("field"),
39335
- path: z71.string().min(1, "Field path is required")
39406
+ var fieldBindingSchema = z69.object({
39407
+ source: z69.literal("field"),
39408
+ path: z69.string().min(1, "Field path is required")
39336
39409
  });
39337
- var metaBindingSchema = z71.object({
39338
- source: z71.literal("meta"),
39339
- path: z71.enum(TEMPLATE_BINDING_META_PATHS, {
39410
+ var metaBindingSchema = z69.object({
39411
+ source: z69.literal("meta"),
39412
+ path: z69.enum(TEMPLATE_BINDING_META_PATHS, {
39340
39413
  error: (issue) => describeInvalidTemplateBindingMetaPath(String(issue.input))
39341
39414
  })
39342
39415
  });
39343
- var literalBindingSchema = z71.object({
39344
- source: z71.literal("literal"),
39345
- value: z71.unknown()
39416
+ var literalBindingSchema = z69.object({
39417
+ source: z69.literal("literal"),
39418
+ value: z69.unknown()
39346
39419
  });
39347
- var transformBindingSchema = z71.object({
39348
- source: z71.literal("transform"),
39349
- path: z71.string().min(1, "Transform path is required"),
39350
- transform: z71.enum(BINDING_TRANSFORM_VALUES, {
39420
+ var transformBindingSchema = z69.object({
39421
+ source: z69.literal("transform"),
39422
+ path: z69.string().min(1, "Transform path is required"),
39423
+ transform: z69.enum(BINDING_TRANSFORM_VALUES, {
39351
39424
  error: (issue) => describeInvalidBindingTransform(String(issue.input))
39352
39425
  })
39353
39426
  });
39354
- var baseBindingSchema = z71.discriminatedUnion("source", [
39427
+ var baseBindingSchema = z69.discriminatedUnion("source", [
39355
39428
  fieldBindingSchema,
39356
39429
  metaBindingSchema,
39357
39430
  literalBindingSchema,
39358
39431
  transformBindingSchema
39359
39432
  ]);
39360
- var fallbackBindingSchema = z71.object({
39361
- source: z71.literal("fallback"),
39362
- sources: z71.array(z71.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
39433
+ var fallbackBindingSchema = z69.object({
39434
+ source: z69.literal("fallback"),
39435
+ sources: z69.array(z69.lazy(() => bindingSourceSchema)).min(1, "Fallback must have at least one source")
39363
39436
  });
39364
- var bindingSourceSchema = z71.union([
39437
+ var bindingSourceSchema = z69.union([
39365
39438
  baseBindingSchema,
39366
39439
  fallbackBindingSchema
39367
39440
  ]);
@@ -39375,12 +39448,12 @@ function isValidBlockKind(kind) {
39375
39448
  return false;
39376
39449
  }
39377
39450
  var BLOCK_KIND_ERROR_MESSAGE = 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.myBlock")';
39378
- var blockKindSchema = z71.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
39379
- var templateBlockConfigSchema = z71.object({
39380
- identifier: z71.string().min(1, "Block identifier is required"),
39451
+ var blockKindSchema = z69.string().refine(isValidBlockKind, { message: BLOCK_KIND_ERROR_MESSAGE });
39452
+ var templateBlockConfigSchema = z69.object({
39453
+ identifier: z69.string().min(1, "Block identifier is required"),
39381
39454
  kind: blockKindSchema,
39382
- scope: z71.enum(["entry", "template"]),
39383
- bindings: z71.record(z71.string(), bindingSourceSchema).optional(),
39455
+ scope: z69.enum(["entry", "template"]),
39456
+ bindings: z69.record(z69.string(), bindingSourceSchema).optional(),
39384
39457
  content: jsonDataSchema.optional()
39385
39458
  }).refine(
39386
39459
  (data) => {
@@ -39399,8 +39472,8 @@ var templateBlockConfigSchema = z71.object({
39399
39472
  },
39400
39473
  { message: "Template-scoped blocks should define static content, not bindings" }
39401
39474
  );
39402
- var templateConfigSchema = z71.object({
39403
- blocks: z71.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
39475
+ var templateConfigSchema = z69.object({
39476
+ blocks: z69.array(templateBlockConfigSchema).min(1, "Template must have at least one block")
39404
39477
  }).refine(
39405
39478
  (data) => {
39406
39479
  const identifiers = data.blocks.map((b) => b.identifier);
@@ -39409,77 +39482,77 @@ var templateConfigSchema = z71.object({
39409
39482
  },
39410
39483
  { message: "Template block identifiers must be unique" }
39411
39484
  );
39412
- var blockConfigSchema = z71.object({
39485
+ var blockConfigSchema = z69.object({
39413
39486
  kind: blockKindSchema,
39414
39487
  content: jsonDataSchema,
39415
- orderIndex: z71.number().optional()
39416
- });
39417
- var pageConfigSchema = z71.object({
39418
- identifier: z71.string().min(1, "Identifier is required"),
39419
- title: z71.string().min(1, "Title is required"),
39420
- path: z71.string().regex(/^\//, "Path must start with /"),
39421
- purpose: z71.string().default("content"),
39422
- blocks: z71.array(blockConfigSchema).optional(),
39423
- status: z71.enum(["draft", "published"]).default("draft"),
39424
- metaTitle: z71.string().optional(),
39425
- metaDescription: z71.string().optional()
39426
- });
39427
- var entryConfigSchema = z71.object({
39428
- identifier: z71.string().min(1, "Identifier is required"),
39429
- contentType: z71.string().min(1, "Content type is required"),
39488
+ orderIndex: z69.number().optional()
39489
+ });
39490
+ var pageConfigSchema = z69.object({
39491
+ identifier: z69.string().min(1, "Identifier is required"),
39492
+ title: z69.string().min(1, "Title is required"),
39493
+ path: z69.string().regex(/^\//, "Path must start with /"),
39494
+ purpose: z69.string().default("content"),
39495
+ blocks: z69.array(blockConfigSchema).optional(),
39496
+ status: z69.enum(["draft", "published"]).default("draft"),
39497
+ metaTitle: z69.string().optional(),
39498
+ metaDescription: z69.string().optional()
39499
+ });
39500
+ var entryConfigSchema = z69.object({
39501
+ identifier: z69.string().min(1, "Identifier is required"),
39502
+ contentType: z69.string().min(1, "Content type is required"),
39430
39503
  data: jsonDataSchema,
39431
- status: z71.enum(["draft", "published"]).default("draft"),
39432
- slug: z71.string().optional(),
39433
- summary: z71.string().optional(),
39504
+ status: z69.enum(["draft", "published"]).default("draft"),
39505
+ slug: z69.string().optional(),
39506
+ summary: z69.string().optional(),
39434
39507
  // Hard remove legacy config-only titles: titles must live in entry `data`.
39435
- title: z71.any().optional().refine((value) => value === void 0, {
39508
+ title: z69.any().optional().refine((value) => value === void 0, {
39436
39509
  message: "Entry titles are now derived from entry data. Remove `title` and move it into `data` (e.g. `data.title`, or your configured `titleField`). Run `riverbankcms migrate entries` for guided migration."
39437
39510
  }),
39438
- metaTitle: z71.string().optional(),
39439
- metaDescription: z71.string().optional()
39511
+ metaTitle: z69.string().optional(),
39512
+ metaDescription: z69.string().optional()
39440
39513
  });
39441
- var dropdownLinkSchema = z71.object({
39442
- kind: z71.literal("dropdown")
39514
+ var dropdownLinkSchema = z69.object({
39515
+ kind: z69.literal("dropdown")
39443
39516
  });
39444
- var navigationLinkSchema = z71.discriminatedUnion("kind", [
39517
+ var navigationLinkSchema = z69.discriminatedUnion("kind", [
39445
39518
  ...navigationLinkInputSchemaOptions,
39446
39519
  dropdownLinkSchema
39447
39520
  ]);
39448
- var baseNavigationItemSchema = z71.object({
39449
- label: z71.string().min(1, "Label is required"),
39521
+ var baseNavigationItemSchema = z69.object({
39522
+ label: z69.string().min(1, "Label is required"),
39450
39523
  link: navigationLinkSchema,
39451
- isCta: z71.boolean().optional()
39524
+ isCta: z69.boolean().optional()
39452
39525
  });
39453
39526
  var navigationItemConfigSchema = baseNavigationItemSchema.extend({
39454
- children: z71.lazy(() => z71.array(navigationItemConfigSchema)).optional()
39455
- });
39456
- var navigationMenuConfigSchema = z71.object({
39457
- identifier: z71.string().min(1, "Identifier is required"),
39458
- name: z71.string().min(1, "Name is required"),
39459
- isPrimary: z71.boolean().optional(),
39460
- isFooter: z71.boolean().optional(),
39461
- items: z71.array(navigationItemConfigSchema)
39527
+ children: z69.lazy(() => z69.array(navigationItemConfigSchema)).optional()
39528
+ });
39529
+ var navigationMenuConfigSchema = z69.object({
39530
+ identifier: z69.string().min(1, "Identifier is required"),
39531
+ name: z69.string().min(1, "Name is required"),
39532
+ isPrimary: z69.boolean().optional(),
39533
+ isFooter: z69.boolean().optional(),
39534
+ items: z69.array(navigationItemConfigSchema)
39462
39535
  }).superRefine((menu, ctx) => {
39463
39536
  const portalStats = collectPortalLinkStats(
39464
39537
  menu.items
39465
39538
  );
39466
39539
  if (portalStats.count > 1) {
39467
39540
  ctx.addIssue({
39468
- code: z71.ZodIssueCode.custom,
39541
+ code: z69.ZodIssueCode.custom,
39469
39542
  message: "Only one portal link is allowed per navigation menu",
39470
39543
  path: ["items"]
39471
39544
  });
39472
39545
  }
39473
39546
  if (portalStats.nestedLabels.length > 0) {
39474
39547
  ctx.addIssue({
39475
- code: z71.ZodIssueCode.custom,
39548
+ code: z69.ZodIssueCode.custom,
39476
39549
  message: `Portal links must be root-level items: ${portalStats.nestedLabels.join(", ")}`,
39477
39550
  path: ["items"]
39478
39551
  });
39479
39552
  }
39480
39553
  if (portalStats.withChildrenLabels.length > 0) {
39481
39554
  ctx.addIssue({
39482
- code: z71.ZodIssueCode.custom,
39555
+ code: z69.ZodIssueCode.custom,
39483
39556
  message: `Portal links cannot contain child items: ${portalStats.withChildrenLabels.join(", ")}`,
39484
39557
  path: ["items"]
39485
39558
  });
@@ -39489,44 +39562,44 @@ var navigationMenuConfigSchema = z71.object({
39489
39562
  );
39490
39563
  if (cartStats.nestedLabels.length > 0) {
39491
39564
  ctx.addIssue({
39492
- code: z71.ZodIssueCode.custom,
39565
+ code: z69.ZodIssueCode.custom,
39493
39566
  message: `Cart links must be root-level items: ${cartStats.nestedLabels.join(", ")}`,
39494
39567
  path: ["items"]
39495
39568
  });
39496
39569
  }
39497
39570
  if (cartStats.withChildrenLabels.length > 0) {
39498
39571
  ctx.addIssue({
39499
- code: z71.ZodIssueCode.custom,
39572
+ code: z69.ZodIssueCode.custom,
39500
39573
  message: `Cart links cannot contain child items: ${cartStats.withChildrenLabels.join(", ")}`,
39501
39574
  path: ["items"]
39502
39575
  });
39503
39576
  }
39504
39577
  if (cartStats.ctaLabels.length > 0) {
39505
39578
  ctx.addIssue({
39506
- code: z71.ZodIssueCode.custom,
39579
+ code: z69.ZodIssueCode.custom,
39507
39580
  message: `Cart links cannot be marked as CTA: ${cartStats.ctaLabels.join(", ")}`,
39508
39581
  path: ["items"]
39509
39582
  });
39510
39583
  }
39511
39584
  if (cartStats.missingVisibleTextLabels.length > 0) {
39512
39585
  ctx.addIssue({
39513
- code: z71.ZodIssueCode.custom,
39586
+ code: z69.ZodIssueCode.custom,
39514
39587
  message: `Cart links with icon-with-label must provide a visible label: ${cartStats.missingVisibleTextLabels.join(", ")}`,
39515
39588
  path: ["items"]
39516
39589
  });
39517
39590
  }
39518
39591
  });
39519
- var siteSettingsConfigSchema = z71.object({
39520
- homepagePath: z71.string().optional(),
39521
- siteTitle: z71.string().optional(),
39522
- siteDescription: z71.string().optional(),
39523
- defaultTemplates: z71.record(z71.string(), z71.string()).optional()
39592
+ var siteSettingsConfigSchema = z69.object({
39593
+ homepagePath: z69.string().optional(),
39594
+ siteTitle: z69.string().optional(),
39595
+ siteDescription: z69.string().optional(),
39596
+ defaultTemplates: z69.record(z69.string(), z69.string()).optional()
39524
39597
  });
39525
- var contentConfigBaseSchema = z71.object({
39526
- contentTypes: z71.array(contentTypeConfigSchema).optional(),
39527
- entries: z71.array(entryConfigSchema).optional(),
39528
- pages: z71.array(pageConfigSchema).optional(),
39529
- navigationMenus: z71.array(navigationMenuConfigSchema).optional(),
39598
+ var contentConfigBaseSchema = z69.object({
39599
+ contentTypes: z69.array(contentTypeConfigSchema).optional(),
39600
+ entries: z69.array(entryConfigSchema).optional(),
39601
+ pages: z69.array(pageConfigSchema).optional(),
39602
+ navigationMenus: z69.array(navigationMenuConfigSchema).optional(),
39530
39603
  settings: siteSettingsConfigSchema.optional()
39531
39604
  });
39532
39605
  var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
@@ -39535,7 +39608,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
39535
39608
  const duplicateKeys = keys.filter((key, i) => keys.indexOf(key) !== i);
39536
39609
  if (duplicateKeys.length > 0) {
39537
39610
  ctx.addIssue({
39538
- code: z71.ZodIssueCode.custom,
39611
+ code: z69.ZodIssueCode.custom,
39539
39612
  message: `Content type keys must be unique. Duplicates: ${duplicateKeys.join(", ")}`,
39540
39613
  path: ["contentTypes"]
39541
39614
  });
@@ -39546,7 +39619,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
39546
39619
  const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
39547
39620
  if (duplicateIds.length > 0) {
39548
39621
  ctx.addIssue({
39549
- code: z71.ZodIssueCode.custom,
39622
+ code: z69.ZodIssueCode.custom,
39550
39623
  message: `Page identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
39551
39624
  path: ["pages"]
39552
39625
  });
@@ -39555,7 +39628,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
39555
39628
  const duplicatePaths = paths.filter((path, i) => paths.indexOf(path) !== i);
39556
39629
  if (duplicatePaths.length > 0) {
39557
39630
  ctx.addIssue({
39558
- code: z71.ZodIssueCode.custom,
39631
+ code: z69.ZodIssueCode.custom,
39559
39632
  message: `Page paths must be unique. Duplicates: ${duplicatePaths.join(", ")}`,
39560
39633
  path: ["pages"]
39561
39634
  });
@@ -39566,7 +39639,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
39566
39639
  const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
39567
39640
  if (duplicateIds.length > 0) {
39568
39641
  ctx.addIssue({
39569
- code: z71.ZodIssueCode.custom,
39642
+ code: z69.ZodIssueCode.custom,
39570
39643
  message: `Entry identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
39571
39644
  path: ["entries"]
39572
39645
  });
@@ -39577,7 +39650,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
39577
39650
  const duplicateIds = identifiers.filter((id, i) => identifiers.indexOf(id) !== i);
39578
39651
  if (duplicateIds.length > 0) {
39579
39652
  ctx.addIssue({
39580
- code: z71.ZodIssueCode.custom,
39653
+ code: z69.ZodIssueCode.custom,
39581
39654
  message: `Navigation menu identifiers must be unique. Duplicates: ${duplicateIds.join(", ")}`,
39582
39655
  path: ["navigationMenus"]
39583
39656
  });
@@ -39591,7 +39664,7 @@ var contentConfigSchema = contentConfigBaseSchema.superRefine((data, ctx) => {
39591
39664
  const entriesForType = data.entries.filter((e) => e.contentType === singletonKey);
39592
39665
  if (entriesForType.length > 1) {
39593
39666
  ctx.addIssue({
39594
- code: z71.ZodIssueCode.custom,
39667
+ code: z69.ZodIssueCode.custom,
39595
39668
  message: `Singleton content type "${singletonKey}" cannot have more than one entry. Found ${entriesForType.length} entries.`,
39596
39669
  path: ["entries"]
39597
39670
  });
@@ -39704,18 +39777,18 @@ function validateLayout(layout) {
39704
39777
  }
39705
39778
 
39706
39779
  // src/config/dashboard-validation.ts
39707
- import { z as z72 } from "zod";
39708
- var navIdListSchema2 = z72.preprocess((value) => {
39780
+ import { z as z70 } from "zod";
39781
+ var navIdListSchema2 = z70.preprocess((value) => {
39709
39782
  if (!Array.isArray(value)) return void 0;
39710
39783
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
39711
39784
  return filtered.length > 0 ? filtered : void 0;
39712
- }, z72.array(z72.string()).max(200, "Maximum 200 nav IDs").optional());
39713
- var dashboardNavVisibilityBaseSchema2 = z72.object({
39714
- mode: z72.enum(["augment", "restrict"]).optional(),
39785
+ }, z70.array(z70.string()).max(200, "Maximum 200 nav IDs").optional());
39786
+ var dashboardNavVisibilityBaseSchema2 = z70.object({
39787
+ mode: z70.enum(["augment", "restrict"]).optional(),
39715
39788
  allowIds: navIdListSchema2,
39716
39789
  denyIds: navIdListSchema2
39717
39790
  }).strip();
39718
- var dashboardNavVisibilityRolesSchema2 = z72.object({
39791
+ var dashboardNavVisibilityRolesSchema2 = z70.object({
39719
39792
  administrator: dashboardNavVisibilityBaseSchema2.optional(),
39720
39793
  editor: dashboardNavVisibilityBaseSchema2.optional(),
39721
39794
  team_member: dashboardNavVisibilityBaseSchema2.optional()
@@ -39723,28 +39796,28 @@ var dashboardNavVisibilityRolesSchema2 = z72.object({
39723
39796
  var dashboardNavVisibilitySchema2 = dashboardNavVisibilityBaseSchema2.extend({
39724
39797
  roles: dashboardNavVisibilityRolesSchema2
39725
39798
  }).strip();
39726
- var dashboardNavigationConfigSchema2 = z72.object({
39799
+ var dashboardNavigationConfigSchema2 = z70.object({
39727
39800
  siteNav: dashboardNavVisibilitySchema2.optional(),
39728
39801
  settingsNav: dashboardNavVisibilitySchema2.optional()
39729
39802
  }).strip();
39730
- var dashboardConfigSchema2 = z72.object({
39731
- previewEditingEnabled: z72.boolean().optional(),
39803
+ var dashboardConfigSchema2 = z70.object({
39804
+ previewEditingEnabled: z70.boolean().optional(),
39732
39805
  navigation: dashboardNavigationConfigSchema2.optional()
39733
39806
  }).strip();
39734
39807
 
39735
39808
  // src/zod/titleSourceSchema.ts
39736
- import { z as z73 } from "zod";
39737
- var titleSourceValueSchema = z73.union([
39738
- z73.string().min(1),
39739
- z73.array(z73.string().min(1)).min(1)
39809
+ import { z as z71 } from "zod";
39810
+ var titleSourceValueSchema = z71.union([
39811
+ z71.string().min(1),
39812
+ z71.array(z71.string().min(1)).min(1)
39740
39813
  ]);
39741
39814
 
39742
39815
  // src/config/validation.ts
39743
- var sdkThemePaletteSchema2 = z74.record(z74.string(), z74.string());
39744
- var sdkThemeConfigSchema2 = z74.object({
39816
+ var sdkThemePaletteSchema2 = z72.record(z72.string(), z72.string());
39817
+ var sdkThemeConfigSchema2 = z72.object({
39745
39818
  palette: sdkThemePaletteSchema2
39746
39819
  });
39747
- var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
39820
+ var sdkSiteUrlSchema = z72.string().url("Must be a valid URL").refine((url) => {
39748
39821
  try {
39749
39822
  const parsed = new URL(url);
39750
39823
  const isLocal = parsed.hostname === "localhost" || parsed.hostname.endsWith(".localhost") || parsed.hostname.endsWith(".local") || parsed.hostname.endsWith(".test");
@@ -39753,97 +39826,97 @@ var sdkSiteUrlSchema = z74.string().url("Must be a valid URL").refine((url) => {
39753
39826
  return false;
39754
39827
  }
39755
39828
  }, { message: "Production URLs must use HTTPS" }).transform((url) => url.replace(/\/$/, ""));
39756
- var sectionBackgroundSchema = z74.object({
39757
- id: z74.string(),
39758
- label: z74.string(),
39759
- token: z74.string()
39829
+ var sectionBackgroundSchema = z72.object({
39830
+ id: z72.string(),
39831
+ label: z72.string(),
39832
+ token: z72.string()
39760
39833
  // Reference to theme palette token
39761
39834
  });
39762
- var sectionSpacingSchema = z74.enum(["compact", "default", "spacious"]);
39763
- var containerMaxWidthSchema = z74.enum(["narrow", "default", "wide", "full"]);
39764
- var containerAlignmentSchema = z74.enum(["left", "center", "right"]);
39765
- var sectionOptionsSchema = z74.object({
39766
- backgroundColor: z74.boolean().optional(),
39767
- backgroundImage: z74.boolean().optional(),
39768
- backgroundGradient: z74.boolean().optional(),
39769
- spacing: z74.union([
39770
- z74.array(sectionSpacingSchema),
39771
- z74.boolean()
39835
+ var sectionSpacingSchema = z72.enum(["compact", "default", "spacious"]);
39836
+ var containerMaxWidthSchema = z72.enum(["narrow", "default", "wide", "full"]);
39837
+ var containerAlignmentSchema = z72.enum(["left", "center", "right"]);
39838
+ var sectionOptionsSchema = z72.object({
39839
+ backgroundColor: z72.boolean().optional(),
39840
+ backgroundImage: z72.boolean().optional(),
39841
+ backgroundGradient: z72.boolean().optional(),
39842
+ spacing: z72.union([
39843
+ z72.array(sectionSpacingSchema),
39844
+ z72.boolean()
39772
39845
  ]).optional(),
39773
- textColor: z74.boolean().optional()
39846
+ textColor: z72.boolean().optional()
39774
39847
  }).optional();
39775
- var containerOptionsSchema = z74.object({
39776
- maxWidth: z74.union([
39777
- z74.array(containerMaxWidthSchema),
39778
- z74.boolean()
39848
+ var containerOptionsSchema = z72.object({
39849
+ maxWidth: z72.union([
39850
+ z72.array(containerMaxWidthSchema),
39851
+ z72.boolean()
39779
39852
  ]).optional(),
39780
- alignment: z74.union([
39781
- z74.array(containerAlignmentSchema),
39782
- z74.boolean()
39853
+ alignment: z72.union([
39854
+ z72.array(containerAlignmentSchema),
39855
+ z72.boolean()
39783
39856
  ]).optional()
39784
39857
  }).optional();
39785
- var siteStyleConfigSchema = z74.object({
39786
- sectionBackgrounds: z74.array(sectionBackgroundSchema).optional(),
39858
+ var siteStyleConfigSchema = z72.object({
39859
+ sectionBackgrounds: z72.array(sectionBackgroundSchema).optional(),
39787
39860
  sectionOptions: sectionOptionsSchema,
39788
39861
  containerOptions: containerOptionsSchema
39789
39862
  }).optional();
39790
- var sdkLoaderEndpointSchema2 = z74.enum(SUPPORTED_LOADER_ENDPOINTS);
39863
+ var sdkLoaderEndpointSchema2 = z72.enum(SUPPORTED_LOADER_ENDPOINTS);
39791
39864
  var allowedTransformIds = new Set(builtinTransformDefinitions.map((transform) => transform.id));
39792
- var loaderTransformStepSchema = z74.object({
39793
- id: z74.string().refine((id) => allowedTransformIds.has(id), {
39865
+ var loaderTransformStepSchema = z72.object({
39866
+ id: z72.string().refine((id) => allowedTransformIds.has(id), {
39794
39867
  message: "Unknown transform id"
39795
39868
  }),
39796
- options: z74.record(z74.string(), z74.unknown()).optional()
39869
+ options: z72.record(z72.string(), z72.unknown()).optional()
39797
39870
  });
39798
- var loaderParamBindingSchema2 = z74.object({
39799
- $bind: z74.object({
39800
- from: z74.string().min(1, "Binding path is required"),
39871
+ var loaderParamBindingSchema2 = z72.object({
39872
+ $bind: z72.object({
39873
+ from: z72.string().min(1, "Binding path is required"),
39801
39874
  // Loader params are ultimately string-normalized for query strings, so fallbacks should
39802
39875
  // stay scalar. Use transforms (e.g. `value.jsonArray`) when you need to serialize
39803
39876
  // more complex values into a string.
39804
39877
  fallback: loaderFallbackScalarSchema.optional(),
39805
- transforms: z74.array(loaderTransformStepSchema).default([]),
39806
- pick: z74.enum(["value", "collection", "context"]).default("value"),
39807
- coerce: z74.enum(["number", "boolean", "string"]).optional()
39878
+ transforms: z72.array(loaderTransformStepSchema).default([]),
39879
+ pick: z72.enum(["value", "collection", "context"]).default("value"),
39880
+ coerce: z72.enum(["number", "boolean", "string"]).optional()
39808
39881
  })
39809
39882
  });
39810
- var loaderParamValueSchema2 = z74.union([
39811
- z74.string(),
39812
- z74.number(),
39813
- z74.boolean(),
39883
+ var loaderParamValueSchema2 = z72.union([
39884
+ z72.string(),
39885
+ z72.number(),
39886
+ z72.boolean(),
39814
39887
  loaderParamBindingSchema2
39815
39888
  ]);
39816
- var loaderWhenValueSchema = z74.union([
39817
- z74.boolean(),
39889
+ var loaderWhenValueSchema = z72.union([
39890
+ z72.boolean(),
39818
39891
  loaderParamBindingSchema2
39819
39892
  ]);
39820
- var sdkConfigLoaderSchema2 = z74.object({
39893
+ var sdkConfigLoaderSchema2 = z72.object({
39821
39894
  endpoint: sdkLoaderEndpointSchema2,
39822
- params: z74.record(z74.string(), loaderParamValueSchema2),
39823
- mode: z74.enum(["server", "client"]).default("server"),
39895
+ params: z72.record(z72.string(), loaderParamValueSchema2),
39896
+ mode: z72.enum(["server", "client"]).default("server"),
39824
39897
  when: loaderWhenValueSchema.optional()
39825
39898
  });
39826
- var sdkDataLoadersSchema2 = z74.record(z74.string(), sdkConfigLoaderSchema2).refine(
39899
+ var sdkDataLoadersSchema2 = z72.record(z72.string(), sdkConfigLoaderSchema2).refine(
39827
39900
  (loaders) => Object.keys(loaders).length <= 5,
39828
39901
  { message: "Maximum 5 data loaders per block" }
39829
39902
  ).optional();
39830
- var fieldSelectOptionSchema = z74.object({
39831
- value: z74.string().min(1, "Option value is required"),
39832
- label: z74.string().min(1, "Option label is required")
39903
+ var fieldSelectOptionSchema = z72.object({
39904
+ value: z72.string().min(1, "Option value is required"),
39905
+ label: z72.string().min(1, "Option label is required")
39833
39906
  });
39834
- var blockFieldConfigSchema = z74.object({
39835
- options: z74.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
39907
+ var blockFieldConfigSchema = z72.object({
39908
+ options: z72.array(fieldSelectOptionSchema).min(1, "At least one option is required").optional()
39836
39909
  });
39837
- var blockFieldOptionsSchema = z74.record(
39838
- z74.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
39910
+ var blockFieldOptionsSchema = z72.record(
39911
+ z72.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
39839
39912
  message: "Block ID must be 'block.*' or 'custom.*' format"
39840
39913
  }),
39841
- z74.record(
39842
- z74.string().min(1, "Field ID is required"),
39914
+ z72.record(
39915
+ z72.string().min(1, "Field ID is required"),
39843
39916
  blockFieldConfigSchema
39844
39917
  )
39845
39918
  ).optional();
39846
- var blockFieldExtensionSchema = z74.object({
39919
+ var blockFieldExtensionSchema = z72.object({
39847
39920
  fields: fieldSchema.array().min(1, "At least one field is required")
39848
39921
  }).refine(
39849
39922
  (data) => {
@@ -39857,10 +39930,10 @@ var blockFieldExtensionSchema = z74.object({
39857
39930
  message: "Required fields must have a defaultValue to support existing blocks"
39858
39931
  }
39859
39932
  );
39860
- var blockFieldExtensionsMapSchema = z74.record(
39933
+ var blockFieldExtensionsMapSchema = z72.record(
39861
39934
  // System blocks are kebab-case: block.body-text, block.event-calendar, ...
39862
39935
  // Enforce: lowercase alphanumerics with single hyphens (no trailing hyphen, no consecutive hyphens).
39863
- z74.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
39936
+ z72.string().regex(/^block\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, {
39864
39937
  message: "Block ID must be 'block.*' format (system blocks only)"
39865
39938
  }),
39866
39939
  blockFieldExtensionSchema
@@ -39876,7 +39949,7 @@ var blockFieldExtensionsMapSchema = z74.record(
39876
39949
  (field) => field.id === collision.fieldId
39877
39950
  );
39878
39951
  ctx.addIssue({
39879
- code: z74.ZodIssueCode.custom,
39952
+ code: z72.ZodIssueCode.custom,
39880
39953
  message: collision.message,
39881
39954
  path: [
39882
39955
  APPOINTMENT_BOOKING_BLOCK_ID,
@@ -39942,24 +40015,24 @@ function validateFieldIdConflicts(blockFieldExtensions) {
39942
40015
  }
39943
40016
  return conflicts;
39944
40017
  }
39945
- var syncConfigSchema = z74.object({
39946
- existingEntries: z74.enum(["skip", "update"]).optional()
40018
+ var syncConfigSchema = z72.object({
40019
+ existingEntries: z72.enum(["skip", "update"]).optional()
39947
40020
  }).optional();
39948
- var deployConfigSchema = z74.object({
39949
- verifyCommand: z74.string().optional(),
39950
- prebuildOutput: z74.string().optional()
40021
+ var deployConfigSchema = z72.object({
40022
+ verifyCommand: z72.string().optional(),
40023
+ prebuildOutput: z72.string().optional()
39951
40024
  }).optional();
39952
- var sdkCustomBlockSchema = z74.object({
40025
+ var sdkCustomBlockSchema = z72.object({
39953
40026
  // Block ID must start with 'custom.'
39954
- id: z74.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
40027
+ id: z72.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
39955
40028
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
39956
40029
  }),
39957
- title: z74.string().min(1, "Title is required"),
40030
+ title: z72.string().min(1, "Title is required"),
39958
40031
  titleSource: titleSourceValueSchema.optional(),
39959
- description: z74.string().optional(),
40032
+ description: z72.string().optional(),
39960
40033
  category: blockCategoryEnum,
39961
- icon: z74.string().optional(),
39962
- tags: z74.array(z74.string()).optional(),
40034
+ icon: z72.string().optional(),
40035
+ tags: z72.array(z72.string()).optional(),
39963
40036
  // Reuse the exact field schema from @riverbankcms/blocks - all field types supported
39964
40037
  fields: fieldSchema.array().min(1, "Custom blocks must have at least one field"),
39965
40038
  // Data loaders for CMS endpoints
@@ -39967,14 +40040,14 @@ var sdkCustomBlockSchema = z74.object({
39967
40040
  // Optional declarative layout - when present, block can render without React override
39968
40041
  layout: NodeSchema.optional(),
39969
40042
  // Optional variants system (preferred when a block has multiple structural layouts)
39970
- variants: z74.record(z74.string().min(1), NodeSchema).optional(),
39971
- defaultVariant: z74.string().min(1).optional(),
39972
- variantOptions: z74.record(
39973
- z74.string().min(1),
39974
- z74.object({
39975
- label: z74.string().min(1).optional(),
39976
- description: z74.string().min(1).optional(),
39977
- icon: z74.string().min(1).optional()
40043
+ variants: z72.record(z72.string().min(1), NodeSchema).optional(),
40044
+ defaultVariant: z72.string().min(1).optional(),
40045
+ variantOptions: z72.record(
40046
+ z72.string().min(1),
40047
+ z72.object({
40048
+ label: z72.string().min(1).optional(),
40049
+ description: z72.string().min(1).optional(),
40050
+ icon: z72.string().min(1).optional()
39978
40051
  })
39979
40052
  ).optional(),
39980
40053
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -39986,7 +40059,7 @@ var sdkCustomBlockSchema = z74.object({
39986
40059
  const exists = fields3.some((field) => field.id === source);
39987
40060
  if (!exists) {
39988
40061
  ctx.addIssue({
39989
- code: z74.ZodIssueCode.custom,
40062
+ code: z72.ZodIssueCode.custom,
39990
40063
  message: `titleSource must reference a valid field ID (got "${source}")`,
39991
40064
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
39992
40065
  });
@@ -39995,7 +40068,7 @@ var sdkCustomBlockSchema = z74.object({
39995
40068
  }
39996
40069
  if (data.layout && data.variants) {
39997
40070
  ctx.addIssue({
39998
- code: z74.ZodIssueCode.custom,
40071
+ code: z72.ZodIssueCode.custom,
39999
40072
  message: "Custom block must define either `layout` or `variants`, not both",
40000
40073
  path: ["variants"]
40001
40074
  });
@@ -40005,7 +40078,7 @@ var sdkCustomBlockSchema = z74.object({
40005
40078
  if (!result.valid) {
40006
40079
  for (const error of result.errors) {
40007
40080
  ctx.addIssue({
40008
- code: z74.ZodIssueCode.custom,
40081
+ code: z72.ZodIssueCode.custom,
40009
40082
  message: error.message,
40010
40083
  path: ["layout"]
40011
40084
  });
@@ -40016,14 +40089,14 @@ var sdkCustomBlockSchema = z74.object({
40016
40089
  const keys = Object.keys(data.variants);
40017
40090
  if (keys.length === 0) {
40018
40091
  ctx.addIssue({
40019
- code: z74.ZodIssueCode.custom,
40092
+ code: z72.ZodIssueCode.custom,
40020
40093
  message: "`variants` must contain at least one variant key",
40021
40094
  path: ["variants"]
40022
40095
  });
40023
40096
  }
40024
40097
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
40025
40098
  ctx.addIssue({
40026
- code: z74.ZodIssueCode.custom,
40099
+ code: z72.ZodIssueCode.custom,
40027
40100
  message: "`defaultVariant` must be a key present in `variants`",
40028
40101
  path: ["defaultVariant"]
40029
40102
  });
@@ -40033,7 +40106,7 @@ var sdkCustomBlockSchema = z74.object({
40033
40106
  if (!result.valid) {
40034
40107
  for (const error of result.errors) {
40035
40108
  ctx.addIssue({
40036
- code: z74.ZodIssueCode.custom,
40109
+ code: z72.ZodIssueCode.custom,
40037
40110
  message: `${key}: ${error.message}`,
40038
40111
  path: ["variants", key]
40039
40112
  });
@@ -40044,7 +40117,7 @@ var sdkCustomBlockSchema = z74.object({
40044
40117
  for (const key of Object.keys(data.variantOptions)) {
40045
40118
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
40046
40119
  ctx.addIssue({
40047
- code: z74.ZodIssueCode.custom,
40120
+ code: z72.ZodIssueCode.custom,
40048
40121
  message: "`variantOptions` key must exist in `variants`",
40049
40122
  path: ["variantOptions", key]
40050
40123
  });
@@ -40053,58 +40126,58 @@ var sdkCustomBlockSchema = z74.object({
40053
40126
  }
40054
40127
  }
40055
40128
  });
40056
- var themeSourceSchema = z74.enum(["local", "cms"]).optional();
40057
- var activeThemeSchema = z74.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
40129
+ var themeSourceSchema = z72.enum(["local", "cms"]).optional();
40130
+ var activeThemeSchema = z72.string().regex(/^[a-z0-9][a-z0-9-_]*$/, {
40058
40131
  message: "Theme name must be lowercase alphanumeric with hyphens/underscores"
40059
40132
  }).max(64, "Theme name too long").optional();
40060
40133
  function isValidConfigBlockKind(kind) {
40061
40134
  if (getBlockDefinition(kind)) return true;
40062
40135
  return /^custom\.[a-z][a-z0-9-]*$/.test(kind);
40063
40136
  }
40064
- var layoutBlockKindSchema = z74.string().refine(isValidConfigBlockKind, {
40137
+ var layoutBlockKindSchema = z72.string().refine(isValidConfigBlockKind, {
40065
40138
  message: 'Block kind must be a system block (e.g., "block.hero") or a custom block (e.g., "custom.my-block")'
40066
40139
  });
40067
- var layoutFooterBlockSchema = z74.object({
40068
- id: z74.string().min(1).optional(),
40140
+ var layoutFooterBlockSchema = z72.object({
40141
+ id: z72.string().min(1).optional(),
40069
40142
  kind: layoutBlockKindSchema,
40070
40143
  // Allow omitted content for blocks that rely on defaults.
40071
- content: z74.record(z74.string(), z74.unknown()).optional()
40144
+ content: z72.record(z72.string(), z72.unknown()).optional()
40072
40145
  }).strict();
40073
- var layoutConfigSchema = z74.object({
40074
- footerBlocks: z74.array(layoutFooterBlockSchema).optional()
40146
+ var layoutConfigSchema = z72.object({
40147
+ footerBlocks: z72.array(layoutFooterBlockSchema).optional()
40075
40148
  }).strict();
40076
- var sdkWorkflowIdSchema2 = z74.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
40149
+ var sdkWorkflowIdSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
40077
40150
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
40078
40151
  });
40079
- var sdkWorkflowEndpointSchema2 = z74.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
40080
- var sdkWorkflowTriggerSchema2 = z74.discriminatedUnion("type", [
40081
- z74.object({ type: z74.literal("manual") }).strict()
40152
+ var sdkWorkflowEndpointSchema2 = z72.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
40153
+ var sdkWorkflowTriggerSchema2 = z72.discriminatedUnion("type", [
40154
+ z72.object({ type: z72.literal("manual") }).strict()
40082
40155
  ]);
40083
- var sdkWorkflowConfirmationSchema2 = z74.object({
40084
- title: z74.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
40085
- body: z74.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
40156
+ var sdkWorkflowConfirmationSchema2 = z72.object({
40157
+ title: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
40158
+ body: z72.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
40086
40159
  }).strict();
40087
- var sdkWorkflowConfigSchema2 = z74.object({
40160
+ var sdkWorkflowConfigSchema2 = z72.object({
40088
40161
  id: sdkWorkflowIdSchema2,
40089
- title: z74.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
40090
- description: z74.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
40091
- contentType: z74.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
40162
+ title: z72.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
40163
+ description: z72.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
40164
+ contentType: z72.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
40092
40165
  endpoint: sdkWorkflowEndpointSchema2,
40093
- triggers: z74.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
40166
+ triggers: z72.array(sdkWorkflowTriggerSchema2).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
40094
40167
  confirmation: sdkWorkflowConfirmationSchema2.optional()
40095
40168
  }).strict();
40096
- var sdkWorkflowsSchema2 = z74.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
40169
+ var sdkWorkflowsSchema2 = z72.array(sdkWorkflowConfigSchema2).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
40097
40170
  const ids = workflows.map((workflow) => workflow.id);
40098
40171
  return ids.length === new Set(ids).size;
40099
40172
  }, { message: "Workflow IDs must be unique" }).optional();
40100
- var riverbankSiteConfigSchema = z74.object({
40101
- siteId: z74.string().uuid(),
40173
+ var riverbankSiteConfigSchema = z72.object({
40174
+ siteId: z72.string().uuid(),
40102
40175
  previewUrl: sdkSiteUrlSchema.optional(),
40103
40176
  liveUrl: sdkSiteUrlSchema.optional(),
40104
40177
  theme: sdkThemeConfigSchema2.optional(),
40105
40178
  styles: siteStyleConfigSchema,
40106
40179
  layout: layoutConfigSchema.optional(),
40107
- customBlocks: z74.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
40180
+ customBlocks: z72.array(sdkCustomBlockSchema).max(100, "Maximum 100 custom blocks per site").refine(
40108
40181
  // Ensure unique block IDs
40109
40182
  (blocks) => {
40110
40183
  const ids = blocks.map((b) => b.id);
@@ -40117,7 +40190,7 @@ var riverbankSiteConfigSchema = z74.object({
40117
40190
  workflows: sdkWorkflowsSchema2,
40118
40191
  content: contentConfigSchema.optional(),
40119
40192
  // CLI-related configuration (Phase 4)
40120
- contentDir: z74.string().optional(),
40193
+ contentDir: z72.string().optional(),
40121
40194
  sync: syncConfigSchema,
40122
40195
  deploy: deployConfigSchema,
40123
40196
  // Theme sync configuration (Phase 5)