@riverbankcms/sdk 0.89.1 → 0.90.1

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 (178) hide show
  1. package/README.md +27 -4
  2. package/dist/{PreviewEditorSidebar-JDR64FEC.mjs → PreviewEditorSidebar-FNFRVSIM.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-67TMJMAF.mjs → PreviewEditorUI-3WXJFQXG.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-2UCIMKUB.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/bookingConfig.d.ts +3 -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/event-listing-destination.d.ts +59 -0
  12. package/dist/_dts/api/src/index.d.ts +10 -5
  13. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +0 -1
  14. package/dist/_dts/api/src/navigation.d.ts +2 -0
  15. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +18 -6
  16. package/dist/_dts/api/src/request.d.ts +21 -0
  17. package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
  18. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  19. package/dist/_dts/api/src/settings/permissions.d.ts +273 -0
  20. package/dist/_dts/api/src/types.d.ts +4 -1
  21. package/dist/_dts/api/src/url.d.ts +6 -3
  22. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +1 -0
  23. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +5 -1
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +9 -1
  25. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +1 -0
  26. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +7 -11
  27. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -0
  28. package/dist/_dts/blocks/src/index.d.ts +2 -1
  29. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -6
  30. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +60 -2
  31. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +16 -5
  32. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
  33. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -9
  34. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +3 -3
  35. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +8 -0
  36. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -1
  38. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +3 -1
  39. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -0
  40. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +17 -5
  41. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -6
  42. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +2 -2
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -17
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -9
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -9
  47. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +7 -1
  48. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +48 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +5 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +4 -4
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +50 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +11 -1
  56. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -1
  57. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -1
  58. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/calendarViewOptions.d.ts +10 -0
  59. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/destination.d.ts +8 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +24 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +3 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
  63. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +5 -2
  64. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +2 -2
  65. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  66. package/dist/_dts/content-model/src/entry-slots/sdkBlocks.d.ts +21 -0
  67. package/dist/_dts/content-model/src/entry-slots/types.d.ts +7 -0
  68. package/dist/_dts/core/src/event-pricing.d.ts +12 -2
  69. package/dist/_dts/core/src/money-input.d.ts +18 -0
  70. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -0
  71. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  72. package/dist/_dts/media-editor/src/fieldUi.d.ts +6 -0
  73. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  74. package/dist/_dts/preview-next/src/client/index.d.ts +1 -0
  75. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -2
  76. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -2
  77. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +3 -2
  78. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +2 -2
  79. package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +6 -0
  80. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -1
  81. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +10 -0
  82. package/dist/_dts/sdk/src/cli/content/reader.d.ts +12 -5
  83. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -55
  84. package/dist/_dts/sdk/src/components.d.ts +1 -0
  85. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  86. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -1
  87. package/dist/_dts/sdk/src/next/types.d.ts +8 -11
  88. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
  89. package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
  90. package/dist/_dts/sdk/src/rendering/blocks-theme-scope.d.ts +2 -1
  91. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +8 -7
  92. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -6
  93. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  94. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +11 -1
  95. package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
  96. package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +26 -0
  97. package/dist/_dts/sdk/src/version.d.ts +1 -1
  98. package/dist/_dts/site-commands/src/commands.d.ts +18 -0
  99. package/dist/_dts/theme-core/src/ResponsiveScope.d.ts +12 -0
  100. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  101. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
  102. package/dist/_dts/theme-core/src/buttons/types.d.ts +5 -5
  103. package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
  104. package/dist/_dts/theme-core/src/index.d.ts +2 -0
  105. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -21
  106. package/dist/_dts/theme-core/src/schema.d.ts +18 -18
  107. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  108. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  109. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  110. package/dist/_dts/theme-core/src/themeRuntime.d.ts +11 -0
  111. package/dist/{chunk-F645A5UV.mjs → chunk-BOQXMCSP.mjs} +129 -101
  112. package/dist/{chunk-7YUAXONX.mjs → chunk-CR2VX432.mjs} +1563 -877
  113. package/dist/{chunk-HKJQERFR.mjs → chunk-FA6LVZ7C.mjs} +91 -55
  114. package/dist/{chunk-TGBJWKMP.mjs → chunk-H6TT5ZXI.mjs} +9 -1
  115. package/dist/{chunk-ZQRBLCW5.mjs → chunk-SYYJZPKU.mjs} +2 -2
  116. package/dist/{chunk-7N46MZHI.mjs → chunk-UG7I7S7W.mjs} +1 -1
  117. package/dist/cli/index.mjs +1057 -632
  118. package/dist/cli/init-docs/content/cli-reference.md +6 -1
  119. package/dist/cli/init-docs/content/content-management.md +27 -0
  120. package/dist/client/{accordion-MUCVNGQ7.mjs → accordion-4K7VGZ3I.mjs} +2 -2
  121. package/dist/client/{bookingForm-PKD6EFIE.mjs → bookingForm-3QXA3CIS.mjs} +26 -271
  122. package/dist/client/bookings.mjs +1586 -825
  123. package/dist/client/{carousel-3TKQSNJC.mjs → carousel-BEJKNGQ7.mjs} +3 -3
  124. package/dist/client/{cart-6XHSZK23.mjs → cart-44BBM6XG.mjs} +7 -8
  125. package/dist/client/{checkout-FVSPM6FI.mjs → checkout-THMHEYKF.mjs} +7 -8
  126. package/dist/client/{chunk-25W2EQUN.mjs → chunk-3H5CLFKT.mjs} +8 -0
  127. package/dist/client/{chunk-ZJZZA5EP.mjs → chunk-4COPESPO.mjs} +13 -16
  128. package/dist/client/chunk-5AJIMWKS.mjs +436 -0
  129. package/dist/client/{chunk-UQFY4AHX.mjs → chunk-B4H6QMPY.mjs} +157 -49
  130. package/dist/client/{chunk-VGLXACVK.mjs → chunk-DQIRKNZE.mjs} +1 -1
  131. package/dist/client/{chunk-7DH35FGA.mjs → chunk-EJBHK74Y.mjs} +1 -1
  132. package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
  133. package/dist/client/{chunk-CQKKFEQD.mjs → chunk-JV7ZNAOU.mjs} +378 -111
  134. package/dist/client/{chunk-FHU6PFPM.mjs → chunk-KNTLBQ3N.mjs} +1 -1
  135. package/dist/client/{chunk-RSQWWUAD.mjs → chunk-PEDNDLPB.mjs} +4 -4
  136. package/dist/client/{chunk-EY42X22F.mjs → chunk-SLY6UDAS.mjs} +157 -5
  137. package/dist/client/{chunk-STJ2NCQM.mjs → chunk-WHZQDPBZ.mjs} +19 -1
  138. package/dist/client/{chunk-ZT5XE7FK.mjs → chunk-ZIAF2DA4.mjs} +1 -1
  139. package/dist/client/client.mjs +3552 -2898
  140. package/dist/client/{courseRegistration-ATZSYDHM.mjs → courseRegistration-URX7RCCK.mjs} +20 -58
  141. package/dist/client/{eventCalendar-6T2UGKKP.mjs → eventCalendar-GTENOQCE.mjs} +10 -11
  142. package/dist/client/{eventCombined-Q4VANXVF.mjs → eventCombined-EZVB72MF.mjs} +10 -11
  143. package/dist/client/{eventDetails-DW37E7VW.mjs → eventDetails-CH4BJR5Z.mjs} +10 -11
  144. package/dist/client/{eventListing-XURTSAUW.mjs → eventListing-4BVOI5HS.mjs} +10 -11
  145. package/dist/client/{eventRegistration-MRKEVAXW.mjs → eventRegistration-37LPIKIE.mjs} +10 -11
  146. package/dist/client/{form-WZZFFGMU.mjs → form-FX3Y54YK.mjs} +7 -7
  147. package/dist/client/{headerSection-EQYVQBLM.mjs → headerSection-UOZZGVYL.mjs} +3 -3
  148. package/dist/client/hooks.mjs +1169 -1063
  149. package/dist/client/{locationMap-MFF5VAZR.mjs → locationMap-VSIPKV35.mjs} +3 -3
  150. package/dist/client/{newsletterForm-JQ77UYIE.mjs → newsletterForm-6FRJKNAF.mjs} +5 -5
  151. package/dist/client/{productDetail-25LMT3IZ.mjs → productDetail-6AHMLXCO.mjs} +7 -8
  152. package/dist/client/{productList-5ABEMKUG.mjs → productList-M2CYIZVH.mjs} +7 -8
  153. package/dist/client/rendering/client.mjs +2912 -2316
  154. package/dist/client/rendering/islands.mjs +19 -19
  155. package/dist/client/rendering.mjs +2874 -2230
  156. package/dist/client/{shop-OMMQZ6YO.mjs → shop-AUOT6GEX.mjs} +7 -8
  157. package/dist/client/spam-protection.mjs +4 -5
  158. package/dist/preview-next/before-render.mjs +2 -2
  159. package/dist/preview-next/client/runtime.mjs +5 -5
  160. package/dist/{sdk-runtime-WNLBZ3ZH.mjs → sdk-runtime-6GPJNLU6.mjs} +6 -6
  161. package/dist/server/components.mjs +1856 -1509
  162. package/dist/server/config-validation.mjs +1394 -1288
  163. package/dist/server/config.mjs +1394 -1288
  164. package/dist/server/data.mjs +1169 -1063
  165. package/dist/server/index.mjs +135 -100
  166. package/dist/server/navigation.mjs +20 -30
  167. package/dist/server/next.mjs +1936 -1576
  168. package/dist/server/page-converter.mjs +1081 -967
  169. package/dist/server/prebuild.mjs +1 -1
  170. package/dist/server/rendering/server.mjs +1868 -1521
  171. package/dist/server/rendering.mjs +1878 -1531
  172. package/dist/server/routing.mjs +1248 -1089
  173. package/dist/server/server.mjs +1312 -1171
  174. package/dist/server/theme-bridge.mjs +8 -5
  175. package/package.json +3 -3
  176. package/dist/SdkPreviewModeRuntime-ZBEMRV7N.mjs +0 -8
  177. package/dist/client/chunk-LQFDYWPJ.mjs +0 -184
  178. package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
@@ -6497,6 +6497,8 @@ function publicEventPricingType(pricing) {
6497
6497
  case "ticket_types":
6498
6498
  case "course":
6499
6499
  return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
6500
+ case "external":
6501
+ return "external";
6500
6502
  }
6501
6503
  }
6502
6504
  function isFreePublicEventPriceDisplay(display) {
@@ -6510,6 +6512,7 @@ function isFreePublicEventPriceDisplay(display) {
6510
6512
  case "range":
6511
6513
  case "mixed":
6512
6514
  case "unavailable":
6515
+ case "external":
6513
6516
  return false;
6514
6517
  }
6515
6518
  }
@@ -6770,7 +6773,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
6770
6773
  );
6771
6774
 
6772
6775
  // ../api/src/sdkConfig/contracts.ts
6773
- import { z as z65 } from "zod";
6776
+ import { z as z63 } from "zod";
6774
6777
 
6775
6778
  // ../blocks/src/system/manifest/augmentManifest.ts
6776
6779
  function augmentManifest(manifest) {
@@ -7096,12 +7099,17 @@ var visibleWhenPredicateSchema = z4.object({
7096
7099
  minItems: z4.number().int().nonnegative().optional(),
7097
7100
  maxItems: z4.number().int().nonnegative().optional()
7098
7101
  });
7099
- var visibleWhenSchema = z4.union([
7100
- visibleWhenPredicateSchema,
7101
- z4.object({
7102
- allOf: z4.array(visibleWhenPredicateSchema).min(1)
7103
- })
7104
- ]);
7102
+ var visibleWhenSchema = z4.lazy(
7103
+ () => z4.union([
7104
+ visibleWhenPredicateSchema,
7105
+ z4.object({
7106
+ allOf: z4.array(visibleWhenSchema).min(1)
7107
+ }),
7108
+ z4.object({
7109
+ anyOf: z4.array(visibleWhenSchema).min(1)
7110
+ })
7111
+ ])
7112
+ );
7105
7113
  var uiSchema = z4.object({
7106
7114
  widget: z4.string().optional(),
7107
7115
  // Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
@@ -20087,9 +20095,6 @@ var heroCopyFragment = defineFragment({
20087
20095
  maxLength: 600
20088
20096
  }
20089
20097
  ],
20090
- // Layout order is [eyebrow, headline, subheadline]. The hero block's
20091
- // `splitEditorial` variant reads these nodes by index; keep the order stable
20092
- // (it fails fast at import if the count changes).
20093
20098
  layout: [
20094
20099
  text(
20095
20100
  {
@@ -22327,32 +22332,6 @@ var splitReverseLayout = splitLayoutWith([
22327
22332
  splitContentColumn,
22328
22333
  splitImageColumn
22329
22334
  ]);
22330
- var heroEyebrowNode = heroCopyFragment.layout[0];
22331
- var heroHeadlineNode = heroCopyFragment.layout[1];
22332
- var heroSubheadlineNode = heroCopyFragment.layout[2];
22333
- var heroCtaRowNode = heroCtaRowFragment.layout[0];
22334
- if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
22335
- throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
22336
- }
22337
- var heroEditorialBottomRow = inline(
22338
- {
22339
- gap: "lg",
22340
- align: "end",
22341
- justify: "start",
22342
- wrap: true,
22343
- className: "rb-w-full"
22344
- },
22345
- [heroSubheadlineNode, heroCtaRowNode]
22346
- );
22347
- var splitEditorialContentColumn = heroContentWrapper(
22348
- [heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
22349
- "md",
22350
- "rb-w-full rb-text-left"
22351
- );
22352
- var splitEditorialLayout = splitLayoutWith([
22353
- splitEditorialContentColumn,
22354
- splitImageColumn
22355
- ]);
22356
22335
  var heroConfig = {
22357
22336
  id: "block.hero",
22358
22337
  title: "Hero",
@@ -22376,7 +22355,8 @@ var heroConfig = {
22376
22355
  id: "imageShape",
22377
22356
  label: "Image shape",
22378
22357
  defaultValue: "default",
22379
- uiIntent: "display"
22358
+ uiIntent: "display",
22359
+ visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
22380
22360
  })
22381
22361
  ],
22382
22362
  layout: classicLayout,
@@ -22384,8 +22364,7 @@ var heroConfig = {
22384
22364
  classic: classicLayout,
22385
22365
  micro: microLayout,
22386
22366
  split: splitLayout,
22387
- splitReverse: splitReverseLayout,
22388
- splitEditorial: splitEditorialLayout
22367
+ splitReverse: splitReverseLayout
22389
22368
  },
22390
22369
  defaultVariant: "classic",
22391
22370
  description: "Hero section with headline, subtitle, and repeatable CTAs.",
@@ -24261,8 +24240,10 @@ function resolveGeneratedHeroLayoutStyles(content) {
24261
24240
  return isPlainObject(raw) ? raw : null;
24262
24241
  }
24263
24242
  function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
24243
+ const explicitValue = readString(content, fallbackKey);
24244
+ if (explicitValue !== void 0) return explicitValue;
24264
24245
  const generated = resolveGeneratedHeroLayoutStyles(content);
24265
- return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : readString(content, fallbackKey);
24246
+ return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : void 0;
24266
24247
  }
24267
24248
  function resolveHeroVariant(content) {
24268
24249
  const variant = readString(content, "variant");
@@ -24275,7 +24256,7 @@ function resolveHeroContentAlignment(content) {
24275
24256
  const raw = readHeroLayoutString(content, "contentAlignment");
24276
24257
  if (raw === "left" || raw === "center" || raw === "right") return raw;
24277
24258
  const variant = resolveHeroVariant(content);
24278
- if (variant === "split" || variant === "splitReverse" || variant === "splitEditorial") return "left";
24259
+ if (variant === "split" || variant === "splitReverse") return "left";
24279
24260
  return "center";
24280
24261
  }
24281
24262
  function resolveHeroVerticalAlignment(content) {
@@ -24285,7 +24266,7 @@ function resolveHeroVerticalAlignment(content) {
24285
24266
  const minHeight = sectionStyles?.minHeight;
24286
24267
  if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
24287
24268
  const variant = resolveHeroVariant(content);
24288
- if (variant === "split" || variant === "splitReverse" || variant === "splitEditorial") return "center";
24269
+ if (variant === "split" || variant === "splitReverse") return "center";
24289
24270
  return "top";
24290
24271
  }
24291
24272
  function resolveHeroContentMaxWidth(content) {
@@ -27854,9 +27835,6 @@ var appointmentBookingBlockDefinition = {
27854
27835
  }
27855
27836
  };
27856
27837
 
27857
- // ../blocks/src/system/blocks/event-registration.ts
27858
- import { z as z47 } from "zod";
27859
-
27860
27838
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27861
27839
  import { z as z43 } from "zod";
27862
27840
 
@@ -28097,6 +28075,18 @@ var publicCoursesArraySchema = z42.array(publicCourseSchema);
28097
28075
  var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
28098
28076
  var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
28099
28077
  var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
28078
+ var publicEventDestinationSchema = z43.discriminatedUnion("kind", [
28079
+ z43.object({
28080
+ kind: z43.literal("native"),
28081
+ mode: eventDestinationModeSchema,
28082
+ path: z43.string()
28083
+ }),
28084
+ z43.object({
28085
+ kind: z43.literal("external"),
28086
+ url: z43.string(),
28087
+ label: z43.string()
28088
+ })
28089
+ ]);
28100
28090
  var eventVenueSchema = z43.object({
28101
28091
  id: z43.string(),
28102
28092
  name: z43.string(),
@@ -28111,7 +28101,7 @@ var eventCategorySchema = z43.object({
28111
28101
  name: z43.string(),
28112
28102
  color: z43.string().nullable()
28113
28103
  });
28114
- var pricingTypeSchema = z43.enum(["free", "paid"]);
28104
+ var pricingTypeSchema = z43.enum(["free", "paid", "external"]);
28115
28105
  var accessRestrictionSchema = z43.enum(["none", "category"]);
28116
28106
  var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
28117
28107
  var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
@@ -28132,6 +28122,7 @@ var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
28132
28122
  currency: z43.string()
28133
28123
  }),
28134
28124
  z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
28125
+ z43.object({ kind: z43.literal("external"), label: z43.string() }),
28135
28126
  z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28136
28127
  ]);
28137
28128
  var publicEventTicketTypePriceDisplaySchema = z43.union([
@@ -28210,6 +28201,10 @@ var publicEventPricingSchema = z43.discriminatedUnion("kind", [
28210
28201
  z43.object({
28211
28202
  kind: z43.literal("course"),
28212
28203
  display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28204
+ }),
28205
+ z43.object({
28206
+ kind: z43.literal("external"),
28207
+ display: z43.object({ kind: z43.literal("external"), label: z43.string() })
28213
28208
  })
28214
28209
  ]);
28215
28210
  var publicTeamMemberSummarySchema = z43.object({
@@ -28238,7 +28233,8 @@ var publicEventSchema = z43.object({
28238
28233
  image: mediaSchema2.nullable().optional()
28239
28234
  }).optional(),
28240
28235
  slug: z43.string(),
28241
- path: z43.string(),
28236
+ path: z43.string().nullable(),
28237
+ destination: publicEventDestinationSchema,
28242
28238
  requiresRegistration: z43.boolean(),
28243
28239
  deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
28244
28240
  attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
@@ -28471,24 +28467,57 @@ function normalizeEventStaffMemberId(value) {
28471
28467
  return trimmed ? trimmed : null;
28472
28468
  }
28473
28469
 
28474
- // ../blocks/src/system/blocks/event-registration.shared.ts
28470
+ // ../blocks/src/system/blocks/shop.shared.ts
28475
28471
  import { z as z44 } from "zod";
28476
- var occurrenceContextSchema = z44.object({
28472
+ var publicPassProductSchema = z44.object({
28477
28473
  id: z44.string(),
28478
- seriesId: z44.string(),
28479
- startsAt: z44.string(),
28480
- endsAt: z44.string(),
28481
- timeZone: z44.string(),
28482
- capacityOverride: z44.number().nullable().optional(),
28483
- overrides: z44.record(z44.string(), z44.unknown()).nullable().optional()
28474
+ productUseCase: z44.enum(["event_pass", "appointment_package"]).default("event_pass"),
28475
+ name: z44.string(),
28476
+ description: z44.string().nullable(),
28477
+ price: z44.number(),
28478
+ currency: z44.string(),
28479
+ creditsTotal: z44.number(),
28480
+ pricePerCredit: z44.number(),
28481
+ validDays: z44.number().nullable(),
28482
+ eligibleCategoryIds: z44.array(z44.string()),
28483
+ eligibleCategoryNames: z44.array(z44.string())
28484
+ });
28485
+ var publicPassProductCollectionSchema = z44.object({
28486
+ passes: z44.array(publicPassProductSchema)
28487
+ });
28488
+ var publicMembershipProductSchema = z44.object({
28489
+ id: z44.string(),
28490
+ name: z44.string(),
28491
+ description: z44.string().nullable(),
28492
+ price: z44.number(),
28493
+ currency: z44.string(),
28494
+ billingInterval: z44.enum(["month", "year"]),
28495
+ eligibleCategoryIds: z44.array(z44.string()),
28496
+ eligibleCategoryNames: z44.array(z44.string())
28497
+ });
28498
+ var publicMembershipProductCollectionSchema = z44.object({
28499
+ memberships: z44.array(publicMembershipProductSchema)
28500
+ });
28501
+
28502
+ // ../blocks/src/system/blocks/event-registration.shared.ts
28503
+ import { z as z45 } from "zod";
28504
+ var occurrenceContextSchema = z45.object({
28505
+ id: z45.string(),
28506
+ seriesId: z45.string(),
28507
+ startsAt: z45.string(),
28508
+ endsAt: z45.string(),
28509
+ timeZone: z45.string(),
28510
+ capacityOverride: z45.number().nullable().optional(),
28511
+ overrides: z45.record(z45.string(), z45.unknown()).nullable().optional()
28484
28512
  }).nullable();
28485
28513
 
28486
28514
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28487
- import { z as z46 } from "zod";
28515
+ import { z as z47 } from "zod";
28488
28516
 
28489
28517
  // ../blocks/src/system/constants/events.ts
28490
28518
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
28491
- var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
28519
+ var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
28520
+ var eventCalendarDefaultViewValues = ["month", "week"];
28492
28521
  var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
28493
28522
  var eventCalendarListLayoutOptions = [
28494
28523
  { id: "stack", label: "Stack" },
@@ -28498,6 +28527,9 @@ var eventCalendarListLayoutOptions = [
28498
28527
  function isEventCalendarDisplayMode(value) {
28499
28528
  return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
28500
28529
  }
28530
+ function isEventCalendarDefaultView(value) {
28531
+ return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
28532
+ }
28501
28533
  function isEventCalendarListLayout(value) {
28502
28534
  return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
28503
28535
  }
@@ -28506,12 +28538,41 @@ function isEventContentType(slug) {
28506
28538
  return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
28507
28539
  }
28508
28540
 
28541
+ // ../blocks/src/system/runtime/nodes/events/shared/destination.ts
28542
+ function isRecord3(value) {
28543
+ return typeof value === "object" && value !== null && !Array.isArray(value);
28544
+ }
28545
+ function isRuntimeEventDestination(value) {
28546
+ if (!isRecord3(value) || typeof value.kind !== "string") return false;
28547
+ if (value.kind === "native") {
28548
+ return (value.mode === "cms-managed" || value.mode === "system-managed") && typeof value.path === "string";
28549
+ }
28550
+ return value.kind === "external" && typeof value.url === "string" && typeof value.label === "string";
28551
+ }
28552
+ function resolveRuntimeEventDestination(event) {
28553
+ if (isRuntimeEventDestination(event.destination)) {
28554
+ return event.destination;
28555
+ }
28556
+ return {
28557
+ kind: "native",
28558
+ mode: event.eventDestinationMode === "system-managed" ? "system-managed" : "cms-managed",
28559
+ path: typeof event.path === "string" ? event.path : ""
28560
+ };
28561
+ }
28562
+
28509
28563
  // ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
28510
28564
  var DEFAULT_EVENT_CURRENCY = "USD";
28511
28565
  function resolveRuntimeEventPricing(event) {
28512
28566
  if (isPublicEventPricing(event.pricing)) {
28513
28567
  return event.pricing;
28514
28568
  }
28569
+ const destination = resolveRuntimeEventDestination(event);
28570
+ if (destination.kind === "external") {
28571
+ return {
28572
+ kind: "external",
28573
+ display: { kind: "external", label: "External registration" }
28574
+ };
28575
+ }
28515
28576
  const legacy = event;
28516
28577
  const currency = readCurrency(legacy.currency);
28517
28578
  if (event.requiresRegistration === false) {
@@ -28548,22 +28609,22 @@ function resolveRuntimeEventPricing(event) {
28548
28609
  function readCurrency(value) {
28549
28610
  return typeof value === "string" && value.trim().length > 0 ? value : DEFAULT_EVENT_CURRENCY;
28550
28611
  }
28551
- function isRecord3(value) {
28612
+ function isRecord4(value) {
28552
28613
  return typeof value === "object" && value !== null && !Array.isArray(value);
28553
28614
  }
28554
28615
  function isPublicEventPricing(value) {
28555
- if (!isRecord3(value) || typeof value.kind !== "string") return false;
28556
- return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course";
28616
+ if (!isRecord4(value) || typeof value.kind !== "string") return false;
28617
+ return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course" || value.kind === "external";
28557
28618
  }
28558
28619
  function isPublicEventTicketType(value) {
28559
- return isRecord3(value) && typeof value.id === "string";
28620
+ return isRecord4(value) && typeof value.id === "string";
28560
28621
  }
28561
28622
  function readTicketTypePriceDisplay(value, currency) {
28562
28623
  const display = readLegacyPriceDisplay(value, currency);
28563
- return display.kind === "course" ? { kind: "unavailable", currency } : display;
28624
+ return display.kind === "course" || display.kind === "external" ? { kind: "unavailable", currency } : display;
28564
28625
  }
28565
28626
  function readLegacyPriceDisplay(value, currency) {
28566
- if (!isRecord3(value) || typeof value.kind !== "string") {
28627
+ if (!isRecord4(value) || typeof value.kind !== "string") {
28567
28628
  return { kind: "unavailable", currency };
28568
28629
  }
28569
28630
  const displayCurrency = readCurrency(value.currency);
@@ -28602,7 +28663,7 @@ function readLegacyPriceDisplay(value, currency) {
28602
28663
  case "unavailable":
28603
28664
  return { kind: "unavailable", currency: displayCurrency };
28604
28665
  case "course":
28605
- return isRecord3(value.display) ? {
28666
+ return isRecord4(value.display) ? {
28606
28667
  kind: "course",
28607
28668
  display: readCoursePriceDisplay(value.display, displayCurrency)
28608
28669
  } : {
@@ -28638,16 +28699,17 @@ function readAmount(value) {
28638
28699
  }
28639
28700
 
28640
28701
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
28641
- import { z as z45 } from "zod";
28642
- var previewStageSchema = z45.enum(["preview", "published"]);
28643
- var registrationButtonVariantSchema = z45.enum(["primary", "secondary", "outline"]);
28644
- var eventButtonVariantSchema = z45.enum(["primary", "secondary", "outline", "link"]);
28645
- var eventLayoutSchema = z45.enum(eventCalendarListLayoutValues);
28646
- var eventCalendarDisplayModeSchema = z45.enum(eventCalendarDisplayModeValues);
28647
- var columnOptionSchema = z45.enum(["2", "3", "4"]);
28648
- var weekStartSchema = z45.enum(["sunday", "monday"]);
28649
- var filterAutoShowSchema = z45.enum(["auto", "always", "never"]);
28650
- var calendarTabViewsSchema = z45.enum(["both", "month", "week"]);
28702
+ import { z as z46 } from "zod";
28703
+ var previewStageSchema = z46.enum(["preview", "published"]);
28704
+ var registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
28705
+ var eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
28706
+ var eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
28707
+ var eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
28708
+ var eventCalendarDefaultViewSchema = z46.enum(eventCalendarDefaultViewValues);
28709
+ var columnOptionSchema = z46.enum(["2", "3", "4"]);
28710
+ var weekStartSchema = z46.enum(["sunday", "monday"]);
28711
+ var filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
28712
+ var calendarTabViewsSchema = z46.enum(["both", "month", "week"]);
28651
28713
 
28652
28714
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
28653
28715
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -28665,7 +28727,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
28665
28727
  function findPreSelectedEvent(input) {
28666
28728
  const occurrenceContext = input.occurrenceContext;
28667
28729
  if (!occurrenceContext) {
28668
- return null;
28730
+ return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
28669
28731
  }
28670
28732
  const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
28671
28733
  startsAt: occurrenceContext.startsAt,
@@ -28688,7 +28750,7 @@ function resolveEventRequiresPayment(input) {
28688
28750
  if (!input.event) {
28689
28751
  return false;
28690
28752
  }
28691
- return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
28753
+ return publicEventPricingType(resolveRuntimeEventPricing(input.event)) === "paid";
28692
28754
  }
28693
28755
 
28694
28756
  // ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
@@ -28707,68 +28769,72 @@ function toRegistrationEvents(events) {
28707
28769
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28708
28770
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
28709
28771
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
28710
- var contentEntrySchema = z46.object({
28711
- id: z46.string(),
28712
- slug: z46.string(),
28713
- contentTypeSlug: z46.string()
28772
+ var contentEntrySchema = z47.object({
28773
+ id: z47.string(),
28774
+ slug: z47.string(),
28775
+ contentTypeSlug: z47.string()
28714
28776
  });
28715
- var eventRegistrationPublicEventSchema = z46.preprocess(
28777
+ var eventRegistrationPublicEventSchema = z47.preprocess(
28716
28778
  normalizeEventRegistrationEventInput,
28717
28779
  publicEventSchema
28718
28780
  );
28719
- var eventRegistrationSourceSchema = z46.object({
28720
- siteId: z46.string().optional(),
28721
- apiBaseUrl: z46.string().optional(),
28722
- portalToken: z46.string().nullable().optional(),
28723
- previewToken: z46.string().nullable().optional(),
28781
+ var eventRegistrationSourceSchema = z47.object({
28782
+ siteId: z47.string().optional(),
28783
+ apiBaseUrl: z47.string().optional(),
28784
+ portalToken: z47.string().nullable().optional(),
28785
+ previewToken: z47.string().nullable().optional(),
28724
28786
  occurrenceContext: occurrenceContextSchema.optional(),
28725
28787
  contentEntry: contentEntrySchema.nullable().optional(),
28726
- events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
28727
- className: z46.string().nullable().optional(),
28728
- buttonText: z46.string().nullable().optional(),
28729
- maxTickets: z46.string().nullable().optional(),
28730
- showVenue: z46.boolean().optional(),
28731
- showCapacity: z46.boolean().optional(),
28732
- successMessage: z46.string().optional(),
28733
- waitlistMessage: z46.string().optional(),
28788
+ events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28789
+ className: z47.string().nullable().optional(),
28790
+ buttonText: z47.string().nullable().optional(),
28791
+ maxTickets: z47.string().nullable().optional(),
28792
+ showVenue: z47.boolean().optional(),
28793
+ showCapacity: z47.boolean().optional(),
28794
+ successMessage: z47.string().optional(),
28795
+ waitlistMessage: z47.string().optional(),
28734
28796
  buttonVariant: registrationButtonVariantSchema.optional(),
28735
- overlayEnabled: z46.boolean().optional(),
28736
- spamProtectionEnabled: z46.boolean().optional(),
28797
+ overlayEnabled: z47.boolean().optional(),
28798
+ spamProtectionEnabled: z47.boolean().optional(),
28737
28799
  stage: previewStageSchema.optional(),
28738
- supportEmail: z46.string().optional()
28739
- });
28740
- var eventRegistrationDisplaySchema = z46.object({
28741
- kind: z46.literal("event-registration"),
28742
- state: z46.literal("generic-shell"),
28743
- className: z46.string().nullable(),
28744
- titleText: z46.string(),
28745
- bodyText: z46.string(),
28746
- stepLabels: z46.array(z46.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28747
- summaryButtonText: z46.string()
28748
- });
28749
- var eventRegistrationHydrationSchema = z46.object({
28800
+ supportEmail: z47.string().optional(),
28801
+ sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28802
+ siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28803
+ });
28804
+ var eventRegistrationDisplaySchema = z47.object({
28805
+ kind: z47.literal("event-registration"),
28806
+ state: z47.literal("generic-shell"),
28807
+ className: z47.string().nullable(),
28808
+ titleText: z47.string(),
28809
+ bodyText: z47.string(),
28810
+ stepLabels: z47.array(z47.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28811
+ summaryButtonText: z47.string()
28812
+ });
28813
+ var eventRegistrationHydrationSchema = z47.object({
28750
28814
  occurrenceContext: occurrenceContextSchema.optional(),
28751
28815
  contentEntry: contentEntrySchema.nullable().optional(),
28752
- events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
28753
- maxTickets: z46.string().optional(),
28754
- showVenue: z46.boolean().optional(),
28755
- showCapacity: z46.boolean().optional(),
28756
- successMessage: z46.string().optional(),
28757
- waitlistMessage: z46.string().optional(),
28816
+ events: z47.array(eventRegistrationPublicEventSchema).nullable().optional(),
28817
+ maxTickets: z47.string().optional(),
28818
+ showVenue: z47.boolean().optional(),
28819
+ showCapacity: z47.boolean().optional(),
28820
+ successMessage: z47.string().optional(),
28821
+ waitlistMessage: z47.string().optional(),
28758
28822
  buttonVariant: registrationButtonVariantSchema.optional(),
28759
- overlayEnabled: z46.boolean().optional(),
28760
- spamProtectionEnabled: z46.boolean().optional(),
28761
- supportEmail: z46.string().optional()
28823
+ overlayEnabled: z47.boolean().optional(),
28824
+ spamProtectionEnabled: z47.boolean().optional(),
28825
+ supportEmail: z47.string().optional(),
28826
+ sitePasses: publicPassProductCollectionSchema.nullable().optional(),
28827
+ siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
28762
28828
  });
28763
- var eventRegistrationRenderSchema = z46.object({
28829
+ var eventRegistrationRenderSchema = z47.object({
28764
28830
  display: eventRegistrationDisplaySchema,
28765
28831
  hydration: eventRegistrationHydrationSchema
28766
28832
  });
28767
- var eventRegistrationIslandMetaCodec = createZodCodec(z46.object({
28768
- siteId: z46.string().optional(),
28769
- apiBaseUrl: z46.string().optional(),
28770
- portalToken: z46.string().nullable().optional(),
28771
- previewToken: z46.string().nullable().optional(),
28833
+ var eventRegistrationIslandMetaCodec = createZodCodec(z47.object({
28834
+ siteId: z47.string().optional(),
28835
+ apiBaseUrl: z47.string().optional(),
28836
+ portalToken: z47.string().nullable().optional(),
28837
+ previewToken: z47.string().nullable().optional(),
28772
28838
  stage: previewStageSchema.optional()
28773
28839
  }));
28774
28840
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -28874,20 +28940,23 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
28874
28940
  buttonVariant: source.buttonVariant,
28875
28941
  overlayEnabled: source.overlayEnabled,
28876
28942
  spamProtectionEnabled: source.spamProtectionEnabled,
28877
- supportEmail: source.supportEmail
28943
+ supportEmail: source.supportEmail,
28944
+ sitePasses: source.sitePasses ?? null,
28945
+ siteMemberships: source.siteMemberships ?? null
28878
28946
  }
28879
28947
  })
28880
28948
  });
28881
28949
  function normalizeEventRegistrationEventInput(value) {
28882
- if (!isRecord4(value)) {
28950
+ if (!isRecord5(value)) {
28883
28951
  return value;
28884
28952
  }
28885
28953
  return {
28886
28954
  ...value,
28955
+ destination: resolveRuntimeEventDestination(value),
28887
28956
  pricing: resolveRuntimeEventPricing(value)
28888
28957
  };
28889
28958
  }
28890
- function isRecord4(value) {
28959
+ function isRecord5(value) {
28891
28960
  return typeof value === "object" && value !== null && !Array.isArray(value);
28892
28961
  }
28893
28962
  var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec({
@@ -29056,6 +29125,8 @@ var eventRegistrationManifest = createBlockManifest({
29056
29125
  },
29057
29126
  // Event data from loader
29058
29127
  events: { $bind: { from: "data.events" } },
29128
+ sitePasses: { $bind: { from: "data.sitePasses" } },
29129
+ siteMemberships: { $bind: { from: "data.siteMemberships" } },
29059
29130
  // Stage for preview mode (allows registering for draft events)
29060
29131
  stage: {
29061
29132
  $bind: { from: "$root.previewStage", fallback: "published" }
@@ -29074,7 +29145,9 @@ var eventRegistrationBlockDefinition = {
29074
29145
  manifest: eventRegistrationManifest,
29075
29146
  runtime: eventRegistrationBlockRuntime,
29076
29147
  dataSchemas: {
29077
- events: z47.array(publicEventSchema).optional(),
29148
+ events: publicEventsArraySchema.optional(),
29149
+ sitePasses: publicPassProductCollectionSchema.optional(),
29150
+ siteMemberships: publicMembershipProductCollectionSchema.optional(),
29078
29151
  occurrenceContext: occurrenceContextSchema.optional()
29079
29152
  },
29080
29153
  dataLoaders: {
@@ -29093,6 +29166,20 @@ var eventRegistrationBlockDefinition = {
29093
29166
  entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
29094
29167
  },
29095
29168
  mode: "server"
29169
+ },
29170
+ sitePasses: {
29171
+ endpoint: "listPublicPasses",
29172
+ params: {
29173
+ siteId: { $bind: { from: "$root.siteId" } }
29174
+ },
29175
+ mode: "server"
29176
+ },
29177
+ siteMemberships: {
29178
+ endpoint: "listPublicMemberships",
29179
+ params: {
29180
+ siteId: { $bind: { from: "$root.siteId" } }
29181
+ },
29182
+ mode: "server"
29096
29183
  }
29097
29184
  }
29098
29185
  };
@@ -29424,35 +29511,7 @@ var courseRegistrationBlockDefinition = {
29424
29511
  };
29425
29512
 
29426
29513
  // ../blocks/src/system/blocks/event-details.ts
29427
- import { z as z50 } from "zod";
29428
-
29429
- // ../blocks/src/system/blocks/shop.shared.ts
29430
29514
  import { z as z49 } from "zod";
29431
- var publicPassProductSchema = z49.object({
29432
- id: z49.string(),
29433
- productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
29434
- name: z49.string(),
29435
- description: z49.string().nullable(),
29436
- price: z49.number(),
29437
- currency: z49.string(),
29438
- creditsTotal: z49.number(),
29439
- pricePerCredit: z49.number(),
29440
- validDays: z49.number().nullable(),
29441
- eligibleCategoryIds: z49.array(z49.string()),
29442
- eligibleCategoryNames: z49.array(z49.string())
29443
- });
29444
- var publicMembershipProductSchema = z49.object({
29445
- id: z49.string(),
29446
- name: z49.string(),
29447
- description: z49.string().nullable(),
29448
- price: z49.number(),
29449
- currency: z49.string(),
29450
- billingInterval: z49.enum(["month", "year"]),
29451
- eligibleCategoryIds: z49.array(z49.string()),
29452
- eligibleCategoryNames: z49.array(z49.string())
29453
- });
29454
-
29455
- // ../blocks/src/system/blocks/event-details.ts
29456
29515
  var eventDetailsManifest = createBlockManifest({
29457
29516
  id: "block.event-details",
29458
29517
  version: "1.0.0",
@@ -29584,40 +29643,40 @@ var eventDetailsManifest = createBlockManifest({
29584
29643
  })
29585
29644
  ]
29586
29645
  });
29587
- var occurrenceContextSchema2 = z50.object({
29588
- id: z50.string(),
29589
- seriesId: z50.string(),
29590
- startsAt: z50.string(),
29591
- endsAt: z50.string(),
29592
- timeZone: z50.string(),
29593
- capacityOverride: z50.number().nullable().optional(),
29594
- overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
29646
+ var occurrenceContextSchema2 = z49.object({
29647
+ id: z49.string(),
29648
+ seriesId: z49.string(),
29649
+ startsAt: z49.string(),
29650
+ endsAt: z49.string(),
29651
+ timeZone: z49.string(),
29652
+ capacityOverride: z49.number().nullable().optional(),
29653
+ overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
29595
29654
  }).nullable();
29596
- var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
29597
- id: z50.string(),
29598
- publicLabel: z50.string(),
29599
- description: z50.string().nullable(),
29600
- minTicketsRequired: z50.number().nullable()
29655
+ var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
29656
+ id: z49.string(),
29657
+ publicLabel: z49.string(),
29658
+ description: z49.string().nullable(),
29659
+ minTicketsRequired: z49.number().nullable()
29601
29660
  });
29602
- var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
29661
+ var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
29603
29662
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29604
- discountType: z50.literal("percent"),
29605
- discountPercent: z50.number(),
29606
- discountAmountCents: z50.null()
29663
+ discountType: z49.literal("percent"),
29664
+ discountPercent: z49.number(),
29665
+ discountAmountCents: z49.null()
29607
29666
  }),
29608
29667
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29609
- discountType: z50.literal("fixed"),
29610
- discountPercent: z50.null(),
29611
- discountAmountCents: z50.number()
29668
+ discountType: z49.literal("fixed"),
29669
+ discountPercent: z49.null(),
29670
+ discountAmountCents: z49.number()
29612
29671
  })
29613
29672
  ]);
29614
29673
  var eventDetailsBlockDefinition = {
29615
29674
  manifest: eventDetailsManifest,
29616
29675
  dataSchemas: {
29617
- eventDetailsData: z50.object({
29676
+ eventDetailsData: z49.object({
29618
29677
  events: publicEventsArraySchema,
29619
- sitePasses: z50.object({ passes: z50.array(publicPassProductSchema) }),
29620
- siteMemberships: z50.object({ memberships: z50.array(publicMembershipProductSchema) }),
29678
+ sitePasses: publicPassProductCollectionSchema,
29679
+ siteMemberships: publicMembershipProductCollectionSchema,
29621
29680
  autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
29622
29681
  }).optional(),
29623
29682
  occurrenceContext: occurrenceContextSchema2.optional()
@@ -29941,7 +30000,7 @@ var eventSpotlightBlockDefinition = {
29941
30000
  };
29942
30001
 
29943
30002
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
29944
- import { z as z52 } from "zod";
30003
+ import { z as z51 } from "zod";
29945
30004
 
29946
30005
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
29947
30006
  var COLUMN_CLASSES = {
@@ -30049,16 +30108,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
30049
30108
  }
30050
30109
 
30051
30110
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
30052
- import { z as z51 } from "zod";
30111
+ import { z as z50 } from "zod";
30053
30112
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
30054
- var eventPageSizeSchema = z51.union([
30055
- z51.literal(3),
30056
- z51.literal(6),
30057
- z51.literal(10),
30058
- z51.literal(12),
30059
- z51.literal(20),
30060
- z51.literal(24),
30061
- z51.literal(30)
30113
+ var eventPageSizeSchema = z50.union([
30114
+ z50.literal(3),
30115
+ z50.literal(6),
30116
+ z50.literal(10),
30117
+ z50.literal(12),
30118
+ z50.literal(20),
30119
+ z50.literal(24),
30120
+ z50.literal(30)
30062
30121
  ]);
30063
30122
  var eventPageSizeSet = new Set(eventPageSizeValues);
30064
30123
  function resolveEventPageSize(value, fallback = 12) {
@@ -30068,15 +30127,15 @@ function resolveEventPageSize(value, fallback = 12) {
30068
30127
  function resolveEventCalendarListPageSize(input) {
30069
30128
  return resolveEventPageSize(input.eventsPerPage);
30070
30129
  }
30071
- var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
30072
- z51.object({
30073
- kind: z51.literal("loadMore"),
30074
- label: z51.string()
30130
+ var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
30131
+ z50.object({
30132
+ kind: z50.literal("loadMore"),
30133
+ label: z50.string()
30075
30134
  }),
30076
- z51.object({
30077
- kind: z51.literal("seeAllLink"),
30078
- label: z51.string(),
30079
- href: z51.string()
30135
+ z50.object({
30136
+ kind: z50.literal("seeAllLink"),
30137
+ label: z50.string(),
30138
+ href: z50.string()
30080
30139
  })
30081
30140
  ]);
30082
30141
  function resolveEventListPaginationAction(input) {
@@ -30089,89 +30148,89 @@ function resolveEventListPaginationAction(input) {
30089
30148
  }
30090
30149
 
30091
30150
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
30092
- var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
30093
- var eventCardVariantInputSchema = z52.union([
30151
+ var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
30152
+ var eventCardVariantInputSchema = z51.union([
30094
30153
  cardVariantRoleSchema,
30095
30154
  legacyEventCardVariantSchema
30096
30155
  ]);
30097
- var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
30098
- var eventBlockKindSchema = z52.enum(eventBlockKindValues);
30099
- var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
30100
- var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
30101
- var eventListingSourceSchema = z52.object({
30102
- events: z52.array(publicEventSchema).nullable().optional(),
30103
- siteId: z52.string(),
30104
- apiBaseUrl: z52.string().optional(),
30156
+ var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
30157
+ var eventBlockKindSchema = z51.enum(eventBlockKindValues);
30158
+ var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
30159
+ var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
30160
+ var eventListingSourceSchema = z51.object({
30161
+ events: z51.array(publicEventSchema).nullable().optional(),
30162
+ siteId: z51.string(),
30163
+ apiBaseUrl: z51.string().optional(),
30105
30164
  stage: previewStageSchema.optional(),
30106
30165
  layout: eventLayoutSchema.optional(),
30107
30166
  columns: columnOptionSchema.optional(),
30108
- eventsPerPage: z52.string().optional(),
30109
- paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30110
- seeAllUrl: z52.string().optional(),
30111
- loadMoreText: z52.string().optional(),
30167
+ eventsPerPage: z51.string().optional(),
30168
+ paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
30169
+ seeAllUrl: z51.string().optional(),
30170
+ loadMoreText: z51.string().optional(),
30112
30171
  cardVariant: eventCardVariantInputSchema.optional(),
30113
30172
  buttonVariant: eventButtonVariantSchema.optional(),
30114
- buttonText: z52.string().optional(),
30115
- showVenue: z52.boolean().optional(),
30116
- showMap: z52.boolean().optional(),
30117
- showCapacity: z52.boolean().optional(),
30118
- emptyMessage: z52.string().optional(),
30119
- className: z52.string().optional(),
30120
- showFilters: z52.boolean().nullable().optional(),
30173
+ buttonText: z51.string().optional(),
30174
+ showVenue: z51.boolean().optional(),
30175
+ showMap: z51.boolean().optional(),
30176
+ showCapacity: z51.boolean().optional(),
30177
+ emptyMessage: z51.string().optional(),
30178
+ className: z51.string().optional(),
30179
+ showFilters: z51.boolean().nullable().optional(),
30121
30180
  showCategoryFilter: filterAutoShowSchema.optional(),
30122
- showVenueFilter: z52.boolean().nullable().optional(),
30123
- showStaffFilter: z52.boolean().nullable().optional(),
30181
+ showVenueFilter: z51.boolean().nullable().optional(),
30182
+ showStaffFilter: z51.boolean().nullable().optional(),
30124
30183
  eventKind: eventBlockKindSchema.nullable().optional(),
30125
30184
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
30126
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30185
+ filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
30127
30186
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
30128
- filterCategoryIds: z52.string().nullable().optional(),
30129
- filterStaffMemberId: z52.string().nullable().optional(),
30130
- filterVenueId: z52.string().nullable().optional()
30187
+ filterCategoryIds: z51.string().nullable().optional(),
30188
+ filterStaffMemberId: z51.string().nullable().optional(),
30189
+ filterVenueId: z51.string().nullable().optional()
30131
30190
  });
30132
- var eventListingDisplaySchema = z52.object({
30133
- kind: z52.literal("event-listing"),
30134
- state: z52.enum(["loading", "empty", "ready"]),
30191
+ var eventListingDisplaySchema = z51.object({
30192
+ kind: z51.literal("event-listing"),
30193
+ state: z51.enum(["loading", "empty", "ready"]),
30135
30194
  listLayout: eventLayoutSchema,
30136
- className: z52.string().nullable(),
30137
- emptyMessage: z52.string(),
30138
- loadingMessage: z52.string(),
30139
- containerClass: z52.string(),
30195
+ className: z51.string().nullable(),
30196
+ emptyMessage: z51.string(),
30197
+ loadingMessage: z51.string(),
30198
+ containerClass: z51.string(),
30140
30199
  cardVariant: cardVariantRoleSchema,
30141
30200
  buttonVariant: eventButtonVariantSchema,
30142
- buttonText: z52.string(),
30143
- showVenue: z52.boolean(),
30144
- showMap: z52.boolean(),
30145
- showCapacity: z52.boolean(),
30201
+ buttonText: z51.string(),
30202
+ showVenue: z51.boolean(),
30203
+ showMap: z51.boolean(),
30204
+ showCapacity: z51.boolean(),
30146
30205
  orientation: cardOrientationSchema,
30147
- events: z52.array(publicEventSchema)
30206
+ events: z51.array(publicEventSchema)
30148
30207
  });
30149
- var eventListingHydrationSchema = z52.object({
30150
- siteId: z52.string(),
30208
+ var eventListingHydrationSchema = z51.object({
30209
+ siteId: z51.string(),
30151
30210
  stage: previewStageSchema.optional(),
30152
30211
  eventsPerPage: eventPageSizeSchema,
30153
30212
  paginationAction: eventListPaginationActionSchema,
30154
- showFilters: z52.boolean(),
30213
+ showFilters: z51.boolean(),
30155
30214
  showCategoryFilter: filterAutoShowSchema,
30156
- showVenueFilter: z52.boolean(),
30157
- showStaffFilter: z52.boolean(),
30215
+ showVenueFilter: z51.boolean(),
30216
+ showStaffFilter: z51.boolean(),
30158
30217
  eventKind: eventBlockKindSchema,
30159
30218
  eventSurface: eventSurfaceScopeSchema,
30160
- filterEventPresets: z52.string().nullable(),
30219
+ filterEventPresets: z51.string().nullable(),
30161
30220
  scheduleScope: eventScheduleScopeSchema2,
30162
- filterCategoryIds: z52.string().nullable().optional(),
30163
- filterStaffMemberId: z52.string().nullable().optional(),
30164
- filterVenueId: z52.string().nullable().optional(),
30165
- fetchInitialEventsOnMount: z52.boolean()
30221
+ filterCategoryIds: z51.string().nullable().optional(),
30222
+ filterStaffMemberId: z51.string().nullable().optional(),
30223
+ filterVenueId: z51.string().nullable().optional(),
30224
+ fetchInitialEventsOnMount: z51.boolean()
30166
30225
  });
30167
- var eventListingRenderSchema = z52.object({
30226
+ var eventListingRenderSchema = z51.object({
30168
30227
  display: eventListingDisplaySchema,
30169
30228
  hydration: eventListingHydrationSchema
30170
30229
  });
30171
30230
  var eventListingIslandMetaCodec = createZodCodec(
30172
- z52.object({
30173
- siteId: z52.string(),
30174
- apiBaseUrl: z52.string().optional(),
30231
+ z51.object({
30232
+ siteId: z51.string(),
30233
+ apiBaseUrl: z51.string().optional(),
30175
30234
  stage: previewStageSchema.optional()
30176
30235
  })
30177
30236
  );
@@ -30538,15 +30597,15 @@ var eventListingBlockDefinition = {
30538
30597
  };
30539
30598
 
30540
30599
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
30541
- import { z as z53 } from "zod";
30542
- var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
30543
- var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
30544
- var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
30545
- var eventCalendarSourceSchema = z53.object(
30600
+ import { z as z52 } from "zod";
30601
+ var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
30602
+ var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
30603
+ var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
30604
+ var eventCalendarSourceSchema = z52.object(
30546
30605
  {
30547
- events: z53.array(publicEventSchema).nullable().optional(),
30548
- siteId: z53.string(),
30549
- apiBaseUrl: z53.string().optional(),
30606
+ events: z52.array(publicEventSchema).nullable().optional(),
30607
+ siteId: z52.string(),
30608
+ apiBaseUrl: z52.string().optional(),
30550
30609
  stage: previewStageSchema.optional(),
30551
30610
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
30552
30611
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -30554,78 +30613,80 @@ var eventCalendarSourceSchema = z53.object(
30554
30613
  listColumns: columnOptionSchema.optional(),
30555
30614
  layout: eventLayoutSchema.optional(),
30556
30615
  columns: columnOptionSchema.optional(),
30557
- eventsPerPage: z53.string().optional(),
30558
- paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
30559
- seeAllUrl: z53.string().optional(),
30560
- loadMoreText: z53.string().optional(),
30616
+ eventsPerPage: z52.string().optional(),
30617
+ paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30618
+ seeAllUrl: z52.string().optional(),
30619
+ loadMoreText: z52.string().optional(),
30561
30620
  startOfWeek: weekStartSchema.optional(),
30562
30621
  calendarTabViews: calendarTabViewsSchema.optional(),
30563
- showFilters: z53.boolean().nullable().optional(),
30622
+ defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
30623
+ showFilters: z52.boolean().nullable().optional(),
30564
30624
  showCategoryFilter: filterAutoShowSchema.optional(),
30565
- showVenueFilter: z53.boolean().nullable().optional(),
30566
- showStaffFilter: z53.boolean().nullable().optional(),
30625
+ showVenueFilter: z52.boolean().nullable().optional(),
30626
+ showStaffFilter: z52.boolean().nullable().optional(),
30567
30627
  kind: eventBlockKindSchema2.nullable().optional(),
30568
30628
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
30569
- filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30629
+ filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30570
30630
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
30571
- filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30572
- filterStaffMemberId: z53.string().nullable().optional(),
30573
- filterVenueId: z53.string().nullable().optional(),
30631
+ filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30632
+ filterStaffMemberId: z52.string().nullable().optional(),
30633
+ filterVenueId: z52.string().nullable().optional(),
30574
30634
  buttonVariant: eventButtonVariantSchema.optional(),
30575
- buttonText: z53.string().optional(),
30576
- showVenue: z53.boolean().nullable().optional(),
30577
- showMap: z53.boolean().nullable().optional(),
30578
- showCapacity: z53.boolean().nullable().optional(),
30579
- emptyMessage: z53.string().optional(),
30580
- className: z53.string().optional()
30635
+ buttonText: z52.string().optional(),
30636
+ showVenue: z52.boolean().nullable().optional(),
30637
+ showMap: z52.boolean().nullable().optional(),
30638
+ showCapacity: z52.boolean().nullable().optional(),
30639
+ emptyMessage: z52.string().optional(),
30640
+ className: z52.string().optional()
30581
30641
  }
30582
30642
  );
30583
- var eventCalendarDisplaySchema = z53.object({
30584
- kind: z53.literal("event-calendar"),
30643
+ var eventCalendarDisplaySchema = z52.object({
30644
+ kind: z52.literal("event-calendar"),
30585
30645
  displayMode: eventCalendarDisplayModeSchema,
30586
- className: z53.string().nullable(),
30587
- events: z53.array(publicEventSchema),
30646
+ className: z52.string().nullable(),
30647
+ events: z52.array(publicEventSchema),
30588
30648
  listLayout: eventLayoutSchema,
30589
30649
  listColumns: columnOptionSchema,
30590
30650
  eventsPerPage: eventPageSizeSchema,
30591
30651
  paginationAction: eventListPaginationActionSchema,
30592
30652
  startOfWeek: weekStartSchema,
30593
30653
  calendarTabViews: calendarTabViewsSchema,
30594
- showFilters: z53.boolean(),
30654
+ defaultCalendarView: eventCalendarDefaultViewSchema,
30655
+ showFilters: z52.boolean(),
30595
30656
  showCategoryFilter: filterAutoShowSchema,
30596
- showVenueFilter: z53.boolean(),
30597
- showStaffFilter: z53.boolean(),
30657
+ showVenueFilter: z52.boolean(),
30658
+ showStaffFilter: z52.boolean(),
30598
30659
  eventKind: eventBlockKindSchema2,
30599
30660
  eventSurface: eventSurfaceScopeSchema2,
30600
- filterEventPresets: z53.string().nullable(),
30661
+ filterEventPresets: z52.string().nullable(),
30601
30662
  scheduleScope: eventScheduleScopeSchema3,
30602
- filterCategoryIds: z53.string().nullable(),
30603
- filterStaffMemberId: z53.string().nullable(),
30604
- filterVenueId: z53.string().nullable(),
30663
+ filterCategoryIds: z52.string().nullable(),
30664
+ filterStaffMemberId: z52.string().nullable(),
30665
+ filterVenueId: z52.string().nullable(),
30605
30666
  buttonVariant: eventButtonVariantSchema,
30606
- buttonText: z53.string(),
30607
- showVenue: z53.boolean(),
30608
- showMap: z53.boolean(),
30609
- showCapacity: z53.boolean(),
30610
- emptyMessage: z53.string()
30611
- });
30612
- var eventCalendarHydrationSchema = z53.object({
30613
- siteId: z53.string(),
30667
+ buttonText: z52.string(),
30668
+ showVenue: z52.boolean(),
30669
+ showMap: z52.boolean(),
30670
+ showCapacity: z52.boolean(),
30671
+ emptyMessage: z52.string()
30672
+ });
30673
+ var eventCalendarHydrationSchema = z52.object({
30674
+ siteId: z52.string(),
30614
30675
  stage: previewStageSchema.optional(),
30615
- prefetchedEvents: z53.boolean(),
30676
+ prefetchedEvents: z52.boolean(),
30616
30677
  eventKind: eventBlockKindSchema2,
30617
30678
  eventSurface: eventSurfaceScopeSchema2,
30618
- filterEventPresets: z53.string().nullable(),
30679
+ filterEventPresets: z52.string().nullable(),
30619
30680
  scheduleScope: eventScheduleScopeSchema3
30620
30681
  });
30621
- var eventCalendarRenderSchema = z53.object({
30682
+ var eventCalendarRenderSchema = z52.object({
30622
30683
  display: eventCalendarDisplaySchema,
30623
30684
  hydration: eventCalendarHydrationSchema
30624
30685
  });
30625
30686
  var eventCalendarIslandMetaCodec = createZodCodec(
30626
- z53.object({
30627
- siteId: z53.string(),
30628
- apiBaseUrl: z53.string().optional(),
30687
+ z52.object({
30688
+ siteId: z52.string(),
30689
+ apiBaseUrl: z52.string().optional(),
30629
30690
  stage: previewStageSchema.optional()
30630
30691
  })
30631
30692
  );
@@ -30655,6 +30716,7 @@ function buildEventCalendarDisplay(source) {
30655
30716
  }),
30656
30717
  startOfWeek: source.startOfWeek ?? "monday",
30657
30718
  calendarTabViews: source.calendarTabViews ?? "both",
30719
+ defaultCalendarView: source.defaultCalendarView ?? "month",
30658
30720
  showFilters: source.showFilters ?? true,
30659
30721
  showCategoryFilter: source.showCategoryFilter ?? "auto",
30660
30722
  showVenueFilter: source.showVenueFilter ?? false,
@@ -30717,6 +30779,9 @@ function normalizeEventCalendarContent(content) {
30717
30779
  ...variant ? { variant } : {},
30718
30780
  displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
30719
30781
  listLayout: normalizeEventCalendarListLayout(record.listLayout),
30782
+ defaultCalendarView: normalizeEventCalendarDefaultView(
30783
+ record.defaultCalendarView
30784
+ ),
30720
30785
  kind,
30721
30786
  eventSurface: normalizeEventSurfaceScope(record.eventSurface),
30722
30787
  filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
@@ -30734,6 +30799,9 @@ function normalizeEventCalendarDisplayMode(value) {
30734
30799
  function normalizeEventCalendarListLayout(value) {
30735
30800
  return isEventCalendarListLayout(value) ? value : void 0;
30736
30801
  }
30802
+ function normalizeEventCalendarDefaultView(value) {
30803
+ return isEventCalendarDefaultView(value) ? value : void 0;
30804
+ }
30737
30805
  var eventCalendarLayout = [
30738
30806
  styledSection({
30739
30807
  children: sectionContainer(
@@ -30793,6 +30861,9 @@ var eventCalendarLayout = [
30793
30861
  calendarTabViews: {
30794
30862
  $bind: { from: "content.calendarTabViews", fallback: "both" }
30795
30863
  },
30864
+ defaultCalendarView: {
30865
+ $bind: { from: "content.defaultCalendarView", fallback: "month" }
30866
+ },
30796
30867
  // Filtering options
30797
30868
  showFilters: {
30798
30869
  $bind: { from: "content.showFilters", fallback: true }
@@ -30859,8 +30930,7 @@ var eventCalendarAdditionalFields = [
30859
30930
  defaultValue: "combined",
30860
30931
  options: [
30861
30932
  { value: "combined", label: "Combined (List + Calendar tabs)" },
30862
- { value: "month", label: "Month calendar" },
30863
- { value: "week", label: "Week agenda" },
30933
+ { value: "calendar", label: "Calendar" },
30864
30934
  { value: "timetable", label: "Timetable" },
30865
30935
  { value: "list", label: "List" }
30866
30936
  ],
@@ -30899,7 +30969,12 @@ var eventCalendarAdditionalFields = [
30899
30969
  ],
30900
30970
  ui: {
30901
30971
  intent: "display",
30902
- visibleWhen: { field: "listLayout", equals: "grid" }
30972
+ visibleWhen: {
30973
+ allOf: [
30974
+ { field: "variant", oneOf: ["combined", "list"] },
30975
+ { field: "listLayout", equals: "grid" }
30976
+ ]
30977
+ }
30903
30978
  }
30904
30979
  },
30905
30980
  {
@@ -30947,7 +31022,12 @@ var eventCalendarAdditionalFields = [
30947
31022
  required: false,
30948
31023
  ui: {
30949
31024
  intent: "display",
30950
- visibleWhen: { field: "paginationMode", equals: "seeAllLink" }
31025
+ visibleWhen: {
31026
+ allOf: [
31027
+ { field: "variant", oneOf: ["combined", "list"] },
31028
+ { field: "paginationMode", equals: "seeAllLink" }
31029
+ ]
31030
+ }
30951
31031
  }
30952
31032
  },
30953
31033
  {
@@ -30980,7 +31060,7 @@ var eventCalendarAdditionalFields = [
30980
31060
  intent: "display",
30981
31061
  visibleWhen: {
30982
31062
  field: "variant",
30983
- oneOf: ["combined", "month", "week"]
31063
+ oneOf: ["combined", "calendar", "timetable"]
30984
31064
  }
30985
31065
  }
30986
31066
  },
@@ -31003,6 +31083,33 @@ var eventCalendarAdditionalFields = [
31003
31083
  visibleWhen: { field: "variant", equals: "combined" }
31004
31084
  }
31005
31085
  },
31086
+ {
31087
+ id: "defaultCalendarView",
31088
+ type: "select",
31089
+ label: "Calendar view",
31090
+ description: "Choose the standalone calendar view, or the first view in combined mode",
31091
+ required: false,
31092
+ multiple: false,
31093
+ defaultValue: "month",
31094
+ options: [
31095
+ { value: "month", label: "Month" },
31096
+ { value: "week", label: "Week" }
31097
+ ],
31098
+ ui: {
31099
+ intent: "display",
31100
+ visibleWhen: {
31101
+ anyOf: [
31102
+ { field: "variant", equals: "calendar" },
31103
+ {
31104
+ allOf: [
31105
+ { field: "variant", equals: "combined" },
31106
+ { field: "calendarTabViews", equals: "both" }
31107
+ ]
31108
+ }
31109
+ ]
31110
+ }
31111
+ }
31112
+ },
31006
31113
  // Filtering options
31007
31114
  {
31008
31115
  id: "kind",
@@ -31030,7 +31137,7 @@ var eventCalendarAdditionalFields = [
31030
31137
  intent: "display",
31031
31138
  visibleWhen: {
31032
31139
  field: "variant",
31033
- oneOf: ["combined", "list", "timetable"]
31140
+ oneOf: ["combined", "calendar", "list", "timetable"]
31034
31141
  }
31035
31142
  }
31036
31143
  },
@@ -31050,8 +31157,10 @@ var eventCalendarAdditionalFields = [
31050
31157
  ui: {
31051
31158
  intent: "display",
31052
31159
  visibleWhen: {
31053
- field: "variant",
31054
- oneOf: ["combined", "list", "timetable"]
31160
+ allOf: [
31161
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
31162
+ { field: "showFilters", equals: true }
31163
+ ]
31055
31164
  }
31056
31165
  }
31057
31166
  },
@@ -31065,8 +31174,10 @@ var eventCalendarAdditionalFields = [
31065
31174
  ui: {
31066
31175
  intent: "display",
31067
31176
  visibleWhen: {
31068
- field: "variant",
31069
- oneOf: ["combined", "list", "timetable"]
31177
+ allOf: [
31178
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
31179
+ { field: "showFilters", equals: true }
31180
+ ]
31070
31181
  }
31071
31182
  }
31072
31183
  },
@@ -31080,8 +31191,10 @@ var eventCalendarAdditionalFields = [
31080
31191
  ui: {
31081
31192
  intent: "display",
31082
31193
  visibleWhen: {
31083
- field: "variant",
31084
- oneOf: ["combined", "list", "timetable"]
31194
+ allOf: [
31195
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
31196
+ { field: "showFilters", equals: true }
31197
+ ]
31085
31198
  }
31086
31199
  }
31087
31200
  },
@@ -31095,8 +31208,15 @@ var eventCalendarAdditionalFields = [
31095
31208
  ui: {
31096
31209
  intent: "display",
31097
31210
  visibleWhen: {
31098
- field: "variant",
31099
- oneOf: ["combined", "list", "week", "timetable"]
31211
+ anyOf: [
31212
+ { field: "variant", oneOf: ["combined", "list", "timetable"] },
31213
+ {
31214
+ allOf: [
31215
+ { field: "variant", equals: "calendar" },
31216
+ { field: "defaultCalendarView", equals: "week" }
31217
+ ]
31218
+ }
31219
+ ]
31100
31220
  }
31101
31221
  }
31102
31222
  },
@@ -31212,8 +31332,7 @@ var eventCalendarAdditionalFields = [
31212
31332
  ];
31213
31333
  var eventCalendarVariants = {
31214
31334
  combined: eventCalendarLayout[0],
31215
- month: eventCalendarLayout[0],
31216
- week: eventCalendarLayout[0],
31335
+ calendar: eventCalendarLayout[0],
31217
31336
  timetable: eventCalendarLayout[0],
31218
31337
  list: eventCalendarLayout[0]
31219
31338
  };
@@ -31225,8 +31344,7 @@ var eventCalendarDerivedFields = [
31225
31344
  multiple: false,
31226
31345
  options: [
31227
31346
  { value: "combined" },
31228
- { value: "month" },
31229
- { value: "week" },
31347
+ { value: "calendar" },
31230
31348
  { value: "timetable" },
31231
31349
  { value: "list" }
31232
31350
  ]
@@ -31239,6 +31357,13 @@ var eventCalendarDerivedFields = [
31239
31357
  options: eventCalendarListLayoutOptions.map((option) => ({
31240
31358
  value: option.id
31241
31359
  }))
31360
+ },
31361
+ {
31362
+ id: "defaultCalendarView",
31363
+ type: "select",
31364
+ required: false,
31365
+ multiple: false,
31366
+ options: [{ value: "month" }, { value: "week" }]
31242
31367
  }
31243
31368
  ];
31244
31369
  var eventCalendarContentShape = {
@@ -31287,8 +31412,7 @@ var eventCalendarConfig = {
31287
31412
  defaultVariant: "combined",
31288
31413
  variantOptions: {
31289
31414
  combined: { label: "Combined" },
31290
- month: { label: "Month" },
31291
- week: { label: "Week" },
31415
+ calendar: { label: "Calendar" },
31292
31416
  timetable: { label: "Timetable" },
31293
31417
  list: { label: "List" }
31294
31418
  }
@@ -31334,7 +31458,7 @@ var eventCalendarBlockDefinition = {
31334
31458
  };
31335
31459
 
31336
31460
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31337
- import { z as z54 } from "zod";
31461
+ import { z as z53 } from "zod";
31338
31462
 
31339
31463
  // ../blocks/src/system/blocks/offerings-preview/model.ts
31340
31464
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -31394,7 +31518,7 @@ function inferLegacyOfferingsPreviewGroupOrder(overrides) {
31394
31518
  return keys.length >= 2 ? keys : [];
31395
31519
  }
31396
31520
  function normalizeOfferingsPreviewContentForWrite(value) {
31397
- if (!isRecord5(value)) return null;
31521
+ if (!isRecord6(value)) return null;
31398
31522
  const groupOrderValue = value.groupOrder;
31399
31523
  if (Array.isArray(groupOrderValue)) {
31400
31524
  const normalized = normalizeOfferingsPreviewGroupOrder(groupOrderValue);
@@ -31407,7 +31531,7 @@ function normalizeOfferingsPreviewContentForWrite(value) {
31407
31531
  return { ...value, groupOrder: [] };
31408
31532
  }
31409
31533
  const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(
31410
- Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord5) : []
31534
+ Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord6) : []
31411
31535
  );
31412
31536
  return legacyOrder.length > 0 ? { ...value, groupOrder: legacyOrder } : value;
31413
31537
  }
@@ -31421,18 +31545,18 @@ function uniqueOfferingsPreviewSourceKeys(values) {
31421
31545
  }
31422
31546
  return keys;
31423
31547
  }
31424
- function isRecord5(value) {
31548
+ function isRecord6(value) {
31425
31549
  return typeof value === "object" && value !== null && !Array.isArray(value);
31426
31550
  }
31427
31551
 
31428
31552
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31429
- var publicRouteCandidatesSchema = z54.object({
31430
- routes: z54.array(z54.object({
31431
- entityId: z54.string(),
31432
- path: z54.string(),
31433
- title: z54.string(),
31434
- kind: z54.enum(["page", "content"]),
31435
- contentTypeKey: z54.string().nullable().optional()
31553
+ var publicRouteCandidatesSchema = z53.object({
31554
+ routes: z53.array(z53.object({
31555
+ entityId: z53.string(),
31556
+ path: z53.string(),
31557
+ title: z53.string(),
31558
+ kind: z53.enum(["page", "content"]),
31559
+ contentTypeKey: z53.string().nullable().optional()
31436
31560
  }))
31437
31561
  });
31438
31562
  var groupOverrideFields = [
@@ -31788,7 +31912,7 @@ function isOfferingsPreviewItemLimit(value) {
31788
31912
  return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
31789
31913
  }
31790
31914
  function normalizeOfferingsPreviewGroupOverride(value) {
31791
- if (!isRecord6(value)) return [];
31915
+ if (!isRecord7(value)) return [];
31792
31916
  const override = {};
31793
31917
  if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) {
31794
31918
  override.sourceKey = value.sourceKey;
@@ -31820,17 +31944,17 @@ function isButtonVariant(value) {
31820
31944
  return value === "primary" || value === "secondary" || value === "outline" || value === "link" || value === null;
31821
31945
  }
31822
31946
  function normalizeCardStylesContent(value) {
31823
- return isRecord6(value) || value === null ? value : void 0;
31947
+ return isRecord7(value) || value === null ? value : void 0;
31824
31948
  }
31825
31949
  function normalizeSectionStylesContent(value) {
31826
- return isRecord6(value) || value === null ? value : void 0;
31950
+ return isRecord7(value) || value === null ? value : void 0;
31827
31951
  }
31828
- function isRecord6(value) {
31952
+ function isRecord7(value) {
31829
31953
  return typeof value === "object" && value !== null && !Array.isArray(value);
31830
31954
  }
31831
31955
 
31832
31956
  // ../blocks/src/system/blocks/embed.ts
31833
- import { z as z55 } from "zod";
31957
+ import { z as z54 } from "zod";
31834
31958
  var embedFields = [
31835
31959
  // Section heading
31836
31960
  parseFieldDefinition({
@@ -32061,18 +32185,18 @@ var embedManifest = createBlockManifest({
32061
32185
  spacing: "lg"
32062
32186
  }
32063
32187
  });
32064
- var embedEntrySchema = z55.object({
32065
- id: z55.string(),
32066
- identifier: z55.string(),
32067
- title: z55.string(),
32068
- slug: z55.string().nullable().optional(),
32069
- content: z55.record(z55.string(), z55.unknown()).optional(),
32070
- publishedAt: z55.string().nullable().optional()
32188
+ var embedEntrySchema = z54.object({
32189
+ id: z54.string(),
32190
+ identifier: z54.string(),
32191
+ title: z54.string(),
32192
+ slug: z54.string().nullable().optional(),
32193
+ content: z54.record(z54.string(), z54.unknown()).optional(),
32194
+ publishedAt: z54.string().nullable().optional()
32071
32195
  });
32072
32196
  var embedBlockDefinition = {
32073
32197
  manifest: embedManifest,
32074
32198
  dataSchemas: {
32075
- entries: z55.array(embedEntrySchema).optional()
32199
+ entries: z54.array(embedEntrySchema).optional()
32076
32200
  },
32077
32201
  dataLoaders: {
32078
32202
  entries: {
@@ -33255,53 +33379,50 @@ var fileDownloadBlockDefinition = {
33255
33379
  manifest: fileDownloadManifest
33256
33380
  };
33257
33381
 
33258
- // ../blocks/src/system/blocks/shop.ts
33259
- import { z as z59 } from "zod";
33260
-
33261
33382
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33262
- import { z as z58 } from "zod";
33383
+ import { z as z57 } from "zod";
33263
33384
 
33264
33385
  // ../blocks/src/system/blocks/products/shared.ts
33265
- import { z as z56 } from "zod";
33266
- var publicProductVariantSchema = z56.object({
33267
- id: z56.string(),
33268
- title: z56.string(),
33269
- sku: z56.string().nullable(),
33270
- priceCents: z56.number(),
33271
- stockQuantity: z56.number().nullable(),
33272
- soldOut: z56.boolean()
33273
- });
33274
- var publicProductSchema = z56.object({
33275
- id: z56.string(),
33276
- contentEntryId: z56.string().nullable(),
33277
- title: z56.string(),
33278
- slug: z56.string(),
33279
- path: z56.string().nullable(),
33280
- status: z56.enum(["draft", "active"]),
33281
- priceCents: z56.number(),
33282
- currency: z56.string(),
33283
- productType: z56.enum(["physical", "digital"]),
33284
- requiresShipping: z56.boolean(),
33285
- hasVariants: z56.boolean(),
33286
- trackInventory: z56.boolean(),
33287
- soldOut: z56.boolean(),
33288
- category: z56.object({
33289
- id: z56.string(),
33290
- name: z56.string(),
33291
- slug: z56.string()
33386
+ import { z as z55 } from "zod";
33387
+ var publicProductVariantSchema = z55.object({
33388
+ id: z55.string(),
33389
+ title: z55.string(),
33390
+ sku: z55.string().nullable(),
33391
+ priceCents: z55.number(),
33392
+ stockQuantity: z55.number().nullable(),
33393
+ soldOut: z55.boolean()
33394
+ });
33395
+ var publicProductSchema = z55.object({
33396
+ id: z55.string(),
33397
+ contentEntryId: z55.string().nullable(),
33398
+ title: z55.string(),
33399
+ slug: z55.string(),
33400
+ path: z55.string().nullable(),
33401
+ status: z55.enum(["draft", "active"]),
33402
+ priceCents: z55.number(),
33403
+ currency: z55.string(),
33404
+ productType: z55.enum(["physical", "digital"]),
33405
+ requiresShipping: z55.boolean(),
33406
+ hasVariants: z55.boolean(),
33407
+ trackInventory: z55.boolean(),
33408
+ soldOut: z55.boolean(),
33409
+ category: z55.object({
33410
+ id: z55.string(),
33411
+ name: z55.string(),
33412
+ slug: z55.string()
33292
33413
  }).nullable(),
33293
- summary: z56.string().nullable(),
33294
- body: z56.unknown().nullable(),
33295
- gallery: z56.array(
33296
- z56.object({
33297
- url: z56.string(),
33298
- alt: z56.string().nullable()
33414
+ summary: z55.string().nullable(),
33415
+ body: z55.unknown().nullable(),
33416
+ gallery: z55.array(
33417
+ z55.object({
33418
+ url: z55.string(),
33419
+ alt: z55.string().nullable()
33299
33420
  })
33300
33421
  ),
33301
- variants: z56.array(publicProductVariantSchema)
33422
+ variants: z55.array(publicProductVariantSchema)
33302
33423
  });
33303
- var publicProductsResponseSchema = z56.object({
33304
- products: z56.array(publicProductSchema)
33424
+ var publicProductsResponseSchema = z55.object({
33425
+ products: z55.array(publicProductSchema)
33305
33426
  });
33306
33427
 
33307
33428
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -33365,27 +33486,27 @@ function deriveCreditProductLabels(products, options = {}) {
33365
33486
  }
33366
33487
 
33367
33488
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
33368
- import { z as z57 } from "zod";
33369
- var storedProductCartItemSchema = z57.object({
33370
- kind: z57.literal("product"),
33371
- productId: z57.string().min(1),
33372
- productCategoryId: z57.string().min(1).optional().nullable(),
33373
- variantId: z57.string().min(1).optional().nullable(),
33374
- title: z57.string().min(1),
33375
- variantTitle: z57.string().optional().nullable(),
33376
- quantity: z57.number().finite(),
33377
- unitPriceCents: z57.number().finite(),
33378
- currency: z57.string().min(1),
33379
- imageUrl: z57.string().optional().nullable(),
33380
- soldOut: z57.boolean().optional()
33381
- });
33382
- var storedPassCartItemSchema = z57.object({
33383
- kind: z57.literal("pass"),
33384
- passId: z57.string().min(1),
33385
- title: z57.string().min(1),
33386
- quantity: z57.number().finite().optional(),
33387
- unitPriceCents: z57.number().finite(),
33388
- currency: z57.string().min(1)
33489
+ import { z as z56 } from "zod";
33490
+ var storedProductCartItemSchema = z56.object({
33491
+ kind: z56.literal("product"),
33492
+ productId: z56.string().min(1),
33493
+ productCategoryId: z56.string().min(1).optional().nullable(),
33494
+ variantId: z56.string().min(1).optional().nullable(),
33495
+ title: z56.string().min(1),
33496
+ variantTitle: z56.string().optional().nullable(),
33497
+ quantity: z56.number().finite(),
33498
+ unitPriceCents: z56.number().finite(),
33499
+ currency: z56.string().min(1),
33500
+ imageUrl: z56.string().optional().nullable(),
33501
+ soldOut: z56.boolean().optional()
33502
+ });
33503
+ var storedPassCartItemSchema = z56.object({
33504
+ kind: z56.literal("pass"),
33505
+ passId: z56.string().min(1),
33506
+ title: z56.string().min(1),
33507
+ quantity: z56.number().finite().optional(),
33508
+ unitPriceCents: z56.number().finite(),
33509
+ currency: z56.string().min(1)
33389
33510
  });
33390
33511
  function deriveCommerceCheckoutState(state) {
33391
33512
  if (state.items.length === 0) {
@@ -33619,214 +33740,214 @@ function formatValidity(days) {
33619
33740
  }
33620
33741
 
33621
33742
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33622
- var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33623
- var contentEntrySchema3 = z58.object({
33624
- id: z58.string().nullable().optional(),
33625
- slug: z58.string().nullable().optional()
33743
+ var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33744
+ var contentEntrySchema3 = z57.object({
33745
+ id: z57.string().nullable().optional(),
33746
+ slug: z57.string().nullable().optional()
33626
33747
  }).nullable();
33627
- var shopSourceSchema = z58.object({
33628
- className: z58.string().nullable().optional(),
33748
+ var shopSourceSchema = z57.object({
33749
+ className: z57.string().nullable().optional(),
33629
33750
  mode: shopModeSchema.optional(),
33630
- heading: z58.string().nullable().optional(),
33631
- productSlug: z58.string().nullable().optional(),
33632
- showPasses: z58.boolean().optional(),
33633
- showMemberships: z58.boolean().optional(),
33634
- layout: z58.enum(["grid", "list"]).optional(),
33635
- columns: z58.string().optional(),
33636
- showDescriptions: z58.boolean().optional(),
33637
- showSummary: z58.boolean().optional(),
33638
- showBody: z58.boolean().optional(),
33639
- showPrices: z58.boolean().optional(),
33640
- showValidityPeriod: z58.boolean().optional(),
33641
- showPricePerCredit: z58.boolean().nullable().optional(),
33642
- passesHeading: z58.string().optional(),
33643
- membershipsHeading: z58.string().optional(),
33644
- buyButtonText: z58.string().optional(),
33645
- addButtonText: z58.string().optional(),
33646
- passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
33647
- subscribeButtonText: z58.string().optional(),
33648
- emptyStateText: z58.string().optional(),
33649
- checkoutButtonText: z58.string().optional(),
33650
- clearButtonText: z58.string().optional(),
33651
- submitButtonText: z58.string().optional(),
33751
+ heading: z57.string().nullable().optional(),
33752
+ productSlug: z57.string().nullable().optional(),
33753
+ showPasses: z57.boolean().optional(),
33754
+ showMemberships: z57.boolean().optional(),
33755
+ layout: z57.enum(["grid", "list"]).optional(),
33756
+ columns: z57.string().optional(),
33757
+ showDescriptions: z57.boolean().optional(),
33758
+ showSummary: z57.boolean().optional(),
33759
+ showBody: z57.boolean().optional(),
33760
+ showPrices: z57.boolean().optional(),
33761
+ showValidityPeriod: z57.boolean().optional(),
33762
+ showPricePerCredit: z57.boolean().nullable().optional(),
33763
+ passesHeading: z57.string().optional(),
33764
+ membershipsHeading: z57.string().optional(),
33765
+ buyButtonText: z57.string().optional(),
33766
+ addButtonText: z57.string().optional(),
33767
+ passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
33768
+ subscribeButtonText: z57.string().optional(),
33769
+ emptyStateText: z57.string().optional(),
33770
+ checkoutButtonText: z57.string().optional(),
33771
+ clearButtonText: z57.string().optional(),
33772
+ submitButtonText: z57.string().optional(),
33652
33773
  contentEntry: contentEntrySchema3.optional(),
33653
- passes: z58.array(publicPassProductSchema).nullable().optional(),
33654
- memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
33655
- products: z58.array(publicProductSchema).nullable().optional(),
33656
- siteId: z58.string().optional(),
33657
- apiBaseUrl: z58.string().optional(),
33774
+ passes: z57.array(publicPassProductSchema).nullable().optional(),
33775
+ memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
33776
+ products: z57.array(publicProductSchema).nullable().optional(),
33777
+ siteId: z57.string().optional(),
33778
+ apiBaseUrl: z57.string().optional(),
33658
33779
  stage: previewStageSchema.optional()
33659
33780
  });
33660
- var productVariantOptionDisplaySchema = z58.object({
33661
- id: z58.string(),
33662
- label: z58.string(),
33663
- soldOut: z58.boolean()
33664
- });
33665
- var productCardDisplaySchema = z58.object({
33666
- productId: z58.string(),
33667
- title: z58.string(),
33668
- path: z58.string().nullable(),
33669
- summary: z58.string().nullable(),
33670
- priceLabel: z58.string().nullable(),
33671
- image: z58.object({
33672
- url: z58.string(),
33673
- alt: z58.string().nullable()
33781
+ var productVariantOptionDisplaySchema = z57.object({
33782
+ id: z57.string(),
33783
+ label: z57.string(),
33784
+ soldOut: z57.boolean()
33785
+ });
33786
+ var productCardDisplaySchema = z57.object({
33787
+ productId: z57.string(),
33788
+ title: z57.string(),
33789
+ path: z57.string().nullable(),
33790
+ summary: z57.string().nullable(),
33791
+ priceLabel: z57.string().nullable(),
33792
+ image: z57.object({
33793
+ url: z57.string(),
33794
+ alt: z57.string().nullable()
33674
33795
  }).nullable(),
33675
- variantOptions: z58.array(productVariantOptionDisplaySchema),
33676
- selectedVariantId: z58.string().nullable(),
33677
- selectionLabel: z58.string(),
33678
- actionLabel: z58.string(),
33679
- soldOut: z58.boolean()
33680
- });
33681
- var productListDisplaySchema = z58.object({
33682
- kind: z58.literal("product-list"),
33683
- state: z58.enum(["empty", "ready"]),
33684
- heading: z58.string().nullable(),
33685
- className: z58.string().nullable(),
33686
- layout: z58.enum(["grid", "list"]),
33687
- columns: z58.string(),
33688
- emptyMessage: z58.string(),
33689
- cards: z58.array(productCardDisplaySchema)
33690
- });
33691
- var productDetailDisplaySchema = z58.discriminatedUnion("state", [
33692
- z58.object({
33693
- kind: z58.literal("product-detail"),
33694
- state: z58.literal("empty"),
33695
- heading: z58.string().nullable(),
33696
- className: z58.string().nullable(),
33697
- emptyMessage: z58.string()
33796
+ variantOptions: z57.array(productVariantOptionDisplaySchema),
33797
+ selectedVariantId: z57.string().nullable(),
33798
+ selectionLabel: z57.string(),
33799
+ actionLabel: z57.string(),
33800
+ soldOut: z57.boolean()
33801
+ });
33802
+ var productListDisplaySchema = z57.object({
33803
+ kind: z57.literal("product-list"),
33804
+ state: z57.enum(["empty", "ready"]),
33805
+ heading: z57.string().nullable(),
33806
+ className: z57.string().nullable(),
33807
+ layout: z57.enum(["grid", "list"]),
33808
+ columns: z57.string(),
33809
+ emptyMessage: z57.string(),
33810
+ cards: z57.array(productCardDisplaySchema)
33811
+ });
33812
+ var productDetailDisplaySchema = z57.discriminatedUnion("state", [
33813
+ z57.object({
33814
+ kind: z57.literal("product-detail"),
33815
+ state: z57.literal("empty"),
33816
+ heading: z57.string().nullable(),
33817
+ className: z57.string().nullable(),
33818
+ emptyMessage: z57.string()
33698
33819
  }),
33699
- z58.object({
33700
- kind: z58.literal("product-detail"),
33701
- state: z58.literal("ready"),
33702
- heading: z58.string().nullable(),
33703
- className: z58.string().nullable(),
33704
- title: z58.string(),
33705
- priceLabel: z58.string(),
33706
- summary: z58.string().nullable(),
33707
- categoryLabel: z58.string().nullable(),
33708
- gallery: z58.array(z58.object({
33709
- url: z58.string(),
33710
- alt: z58.string().nullable()
33820
+ z57.object({
33821
+ kind: z57.literal("product-detail"),
33822
+ state: z57.literal("ready"),
33823
+ heading: z57.string().nullable(),
33824
+ className: z57.string().nullable(),
33825
+ title: z57.string(),
33826
+ priceLabel: z57.string(),
33827
+ summary: z57.string().nullable(),
33828
+ categoryLabel: z57.string().nullable(),
33829
+ gallery: z57.array(z57.object({
33830
+ url: z57.string(),
33831
+ alt: z57.string().nullable()
33711
33832
  })),
33712
- variantOptions: z58.array(productVariantOptionDisplaySchema),
33713
- selectedVariantId: z58.string().nullable(),
33714
- selectionLabel: z58.string(),
33715
- actionLabel: z58.string(),
33716
- soldOut: z58.boolean(),
33717
- body: z58.unknown().nullable()
33833
+ variantOptions: z57.array(productVariantOptionDisplaySchema),
33834
+ selectedVariantId: z57.string().nullable(),
33835
+ selectionLabel: z57.string(),
33836
+ actionLabel: z57.string(),
33837
+ soldOut: z57.boolean(),
33838
+ body: z57.unknown().nullable()
33718
33839
  })
33719
33840
  ]);
33720
- var passCardDisplaySchema = z58.object({
33721
- id: z58.string(),
33722
- title: z58.string(),
33723
- description: z58.string().nullable(),
33724
- priceLabel: z58.string(),
33725
- creditsLabel: z58.string(),
33726
- perCreditLabel: z58.string().nullable(),
33727
- validityLabel: z58.string().nullable(),
33728
- actionLabel: z58.string()
33729
- });
33730
- var membershipCardDisplaySchema = z58.object({
33731
- id: z58.string(),
33732
- title: z58.string(),
33733
- description: z58.string().nullable(),
33734
- priceLabel: z58.string(),
33735
- intervalLabel: z58.string(),
33736
- actionLabel: z58.string()
33737
- });
33738
- var passesMembershipsDisplaySchema = z58.object({
33739
- kind: z58.literal("passes-memberships"),
33740
- state: z58.enum(["empty", "ready"]),
33741
- className: z58.string().nullable(),
33742
- layout: z58.enum(["grid", "list"]),
33743
- columns: z58.string(),
33744
- emptyMessage: z58.string(),
33745
- passesHeading: z58.string(),
33746
- membershipsHeading: z58.string(),
33747
- passes: z58.array(passCardDisplaySchema),
33748
- memberships: z58.array(membershipCardDisplaySchema)
33749
- });
33750
- var cartLineDisplaySchema = z58.object({
33751
- key: z58.string(),
33752
- title: z58.string(),
33753
- priceLabel: z58.string(),
33754
- quantity: z58.number(),
33755
- quantityEditable: z58.boolean()
33756
- });
33757
- var cartDisplaySchema = z58.object({
33758
- kind: z58.literal("cart"),
33759
- state: z58.enum(["empty", "ready"]),
33760
- heading: z58.string().nullable(),
33761
- className: z58.string().nullable(),
33762
- emptyMessage: z58.string(),
33763
- supportText: z58.string().nullable(),
33764
- items: z58.array(cartLineDisplaySchema),
33765
- subtotalLabel: z58.string().nullable(),
33766
- checkoutButtonText: z58.string(),
33767
- clearButtonText: z58.string()
33768
- });
33769
- var checkoutDisplaySchema = z58.object({
33770
- kind: z58.literal("checkout"),
33771
- state: z58.enum(["empty", "blocked", "ready"]),
33772
- heading: z58.string().nullable(),
33773
- className: z58.string().nullable(),
33774
- message: z58.string().nullable(),
33775
- submitButtonText: z58.string()
33776
- });
33777
- var passesMembershipsHydrationSchema = z58.object({
33778
- passes: z58.array(publicPassProductSchema),
33779
- memberships: z58.array(publicMembershipProductSchema),
33780
- passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
33781
- });
33782
- var productListHydrationSchema = z58.object({
33783
- products: z58.array(publicProductSchema),
33784
- showSummary: z58.boolean(),
33785
- showPrices: z58.boolean(),
33786
- addButtonText: z58.string()
33787
- });
33788
- var productDetailHydrationSchema = z58.object({
33789
- products: z58.array(publicProductSchema),
33790
- productId: z58.string().nullable(),
33791
- showSummary: z58.boolean(),
33792
- showBody: z58.boolean(),
33793
- addButtonText: z58.string()
33794
- });
33795
- var cartHydrationSchema = z58.object({
33796
- emptyStateText: z58.string(),
33797
- checkoutButtonText: z58.string(),
33798
- clearButtonText: z58.string()
33799
- });
33800
- var checkoutHydrationSchema = z58.object({
33801
- emptyStateText: z58.string(),
33802
- submitButtonText: z58.string()
33803
- });
33804
- var passesMembershipsRenderSchema = z58.object({
33841
+ var passCardDisplaySchema = z57.object({
33842
+ id: z57.string(),
33843
+ title: z57.string(),
33844
+ description: z57.string().nullable(),
33845
+ priceLabel: z57.string(),
33846
+ creditsLabel: z57.string(),
33847
+ perCreditLabel: z57.string().nullable(),
33848
+ validityLabel: z57.string().nullable(),
33849
+ actionLabel: z57.string()
33850
+ });
33851
+ var membershipCardDisplaySchema = z57.object({
33852
+ id: z57.string(),
33853
+ title: z57.string(),
33854
+ description: z57.string().nullable(),
33855
+ priceLabel: z57.string(),
33856
+ intervalLabel: z57.string(),
33857
+ actionLabel: z57.string()
33858
+ });
33859
+ var passesMembershipsDisplaySchema = z57.object({
33860
+ kind: z57.literal("passes-memberships"),
33861
+ state: z57.enum(["empty", "ready"]),
33862
+ className: z57.string().nullable(),
33863
+ layout: z57.enum(["grid", "list"]),
33864
+ columns: z57.string(),
33865
+ emptyMessage: z57.string(),
33866
+ passesHeading: z57.string(),
33867
+ membershipsHeading: z57.string(),
33868
+ passes: z57.array(passCardDisplaySchema),
33869
+ memberships: z57.array(membershipCardDisplaySchema)
33870
+ });
33871
+ var cartLineDisplaySchema = z57.object({
33872
+ key: z57.string(),
33873
+ title: z57.string(),
33874
+ priceLabel: z57.string(),
33875
+ quantity: z57.number(),
33876
+ quantityEditable: z57.boolean()
33877
+ });
33878
+ var cartDisplaySchema = z57.object({
33879
+ kind: z57.literal("cart"),
33880
+ state: z57.enum(["empty", "ready"]),
33881
+ heading: z57.string().nullable(),
33882
+ className: z57.string().nullable(),
33883
+ emptyMessage: z57.string(),
33884
+ supportText: z57.string().nullable(),
33885
+ items: z57.array(cartLineDisplaySchema),
33886
+ subtotalLabel: z57.string().nullable(),
33887
+ checkoutButtonText: z57.string(),
33888
+ clearButtonText: z57.string()
33889
+ });
33890
+ var checkoutDisplaySchema = z57.object({
33891
+ kind: z57.literal("checkout"),
33892
+ state: z57.enum(["empty", "blocked", "ready"]),
33893
+ heading: z57.string().nullable(),
33894
+ className: z57.string().nullable(),
33895
+ message: z57.string().nullable(),
33896
+ submitButtonText: z57.string()
33897
+ });
33898
+ var passesMembershipsHydrationSchema = z57.object({
33899
+ passes: z57.array(publicPassProductSchema),
33900
+ memberships: z57.array(publicMembershipProductSchema),
33901
+ passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
33902
+ });
33903
+ var productListHydrationSchema = z57.object({
33904
+ products: z57.array(publicProductSchema),
33905
+ showSummary: z57.boolean(),
33906
+ showPrices: z57.boolean(),
33907
+ addButtonText: z57.string()
33908
+ });
33909
+ var productDetailHydrationSchema = z57.object({
33910
+ products: z57.array(publicProductSchema),
33911
+ productId: z57.string().nullable(),
33912
+ showSummary: z57.boolean(),
33913
+ showBody: z57.boolean(),
33914
+ addButtonText: z57.string()
33915
+ });
33916
+ var cartHydrationSchema = z57.object({
33917
+ emptyStateText: z57.string(),
33918
+ checkoutButtonText: z57.string(),
33919
+ clearButtonText: z57.string()
33920
+ });
33921
+ var checkoutHydrationSchema = z57.object({
33922
+ emptyStateText: z57.string(),
33923
+ submitButtonText: z57.string()
33924
+ });
33925
+ var passesMembershipsRenderSchema = z57.object({
33805
33926
  display: passesMembershipsDisplaySchema,
33806
33927
  hydration: passesMembershipsHydrationSchema
33807
33928
  });
33808
- var productListRenderSchema = z58.object({
33929
+ var productListRenderSchema = z57.object({
33809
33930
  display: productListDisplaySchema,
33810
33931
  hydration: productListHydrationSchema
33811
33932
  });
33812
- var productDetailRenderSchema = z58.object({
33933
+ var productDetailRenderSchema = z57.object({
33813
33934
  display: productDetailDisplaySchema,
33814
33935
  hydration: productDetailHydrationSchema
33815
33936
  });
33816
- var cartRenderSchema = z58.object({
33937
+ var cartRenderSchema = z57.object({
33817
33938
  display: cartDisplaySchema,
33818
33939
  hydration: cartHydrationSchema
33819
33940
  });
33820
- var checkoutRenderSchema = z58.object({
33941
+ var checkoutRenderSchema = z57.object({
33821
33942
  display: checkoutDisplaySchema,
33822
33943
  hydration: checkoutHydrationSchema
33823
33944
  });
33824
33945
  function resolveShowPricePerCredit(source) {
33825
33946
  return source.showPricePerCredit ?? true;
33826
33947
  }
33827
- var shopIslandMetaCodec = createZodCodec(z58.object({
33828
- siteId: z58.string().optional(),
33829
- apiBaseUrl: z58.string().optional(),
33948
+ var shopIslandMetaCodec = createZodCodec(z57.object({
33949
+ siteId: z57.string().optional(),
33950
+ apiBaseUrl: z57.string().optional(),
33830
33951
  stage: previewStageSchema.optional()
33831
33952
  }));
33832
33953
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -34204,9 +34325,9 @@ var shopBlockDefinition = {
34204
34325
  runtime: shopBlockRuntime,
34205
34326
  dataSchemas: {
34206
34327
  // listPublicPasses returns { passes: [...] }
34207
- passes: z59.object({ passes: z59.array(publicPassProductSchema) }).optional(),
34328
+ passes: publicPassProductCollectionSchema.optional(),
34208
34329
  // listPublicMemberships returns { memberships: [...] }
34209
- memberships: z59.object({ memberships: z59.array(publicMembershipProductSchema) }).optional()
34330
+ memberships: publicMembershipProductCollectionSchema.optional()
34210
34331
  },
34211
34332
  dataLoaders: {
34212
34333
  // Load passes for display
@@ -34229,7 +34350,7 @@ var shopBlockDefinition = {
34229
34350
  };
34230
34351
 
34231
34352
  // ../blocks/src/system/blocks/product-list.ts
34232
- import { z as z60 } from "zod";
34353
+ import { z as z58 } from "zod";
34233
34354
  var productListManifest = createBlockManifest({
34234
34355
  id: "block.product-list",
34235
34356
  version: "1.0.0",
@@ -34362,7 +34483,7 @@ var productListBlockDefinition = {
34362
34483
  }
34363
34484
  }
34364
34485
  };
34365
- var productListDataSchema = z60.object({
34486
+ var productListDataSchema = z58.object({
34366
34487
  products: publicProductsResponseSchema.optional()
34367
34488
  });
34368
34489
 
@@ -34623,72 +34744,72 @@ var checkoutBlockDefinition = {
34623
34744
  };
34624
34745
 
34625
34746
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
34626
- import { z as z61 } from "zod";
34627
- var publicGiftCardOfferSchema = z61.object({
34628
- id: z61.string(),
34629
- kind: z61.literal("gift_card"),
34630
- title: z61.string(),
34631
- description: z61.string().nullable(),
34632
- sortOrder: z61.number().int(),
34633
- giftCard: z61.object({
34634
- fixedDenominations: z61.array(z61.number().int().positive()),
34635
- customAmountEnabled: z61.boolean(),
34636
- customAmountMinCents: z61.number().int().positive(),
34637
- customAmountMaxCents: z61.number().int().positive()
34747
+ import { z as z59 } from "zod";
34748
+ var publicGiftCardOfferSchema = z59.object({
34749
+ id: z59.string(),
34750
+ kind: z59.literal("gift_card"),
34751
+ title: z59.string(),
34752
+ description: z59.string().nullable(),
34753
+ sortOrder: z59.number().int(),
34754
+ giftCard: z59.object({
34755
+ fixedDenominations: z59.array(z59.number().int().positive()),
34756
+ customAmountEnabled: z59.boolean(),
34757
+ customAmountMinCents: z59.number().int().positive(),
34758
+ customAmountMaxCents: z59.number().int().positive()
34638
34759
  }),
34639
- voucher: z61.null()
34640
- });
34641
- var publicVoucherOfferSchema = z61.object({
34642
- id: z61.string(),
34643
- kind: z61.literal("voucher"),
34644
- title: z61.string(),
34645
- description: z61.string().nullable(),
34646
- sortOrder: z61.number().int(),
34647
- giftCard: z61.null(),
34648
- voucher: z61.object({
34649
- purchaseAmountCents: z61.number().int().positive()
34760
+ voucher: z59.null()
34761
+ });
34762
+ var publicVoucherOfferSchema = z59.object({
34763
+ id: z59.string(),
34764
+ kind: z59.literal("voucher"),
34765
+ title: z59.string(),
34766
+ description: z59.string().nullable(),
34767
+ sortOrder: z59.number().int(),
34768
+ giftCard: z59.null(),
34769
+ voucher: z59.object({
34770
+ purchaseAmountCents: z59.number().int().positive()
34650
34771
  })
34651
34772
  });
34652
- var publicGiftingOffersResponseSchema = z61.object({
34653
- currency: z61.string(),
34654
- giftCards: z61.array(publicGiftCardOfferSchema),
34655
- vouchers: z61.array(publicVoucherOfferSchema)
34773
+ var publicGiftingOffersResponseSchema = z59.object({
34774
+ currency: z59.string(),
34775
+ giftCards: z59.array(publicGiftCardOfferSchema),
34776
+ vouchers: z59.array(publicVoucherOfferSchema)
34656
34777
  });
34657
- var giftingSourceSchema = z61.object({
34658
- siteId: z61.string().optional(),
34659
- apiBaseUrl: z61.string().optional(),
34778
+ var giftingSourceSchema = z59.object({
34779
+ siteId: z59.string().optional(),
34780
+ apiBaseUrl: z59.string().optional(),
34660
34781
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
34661
- className: z61.string().nullable().optional(),
34662
- heading: z61.string().nullable().optional(),
34663
- intro: z61.string().nullable().optional(),
34664
- giftCardsHeading: z61.string().nullable().optional(),
34665
- vouchersHeading: z61.string().nullable().optional(),
34666
- emptyStateText: z61.string().nullable().optional(),
34667
- checkoutButtonText: z61.string().nullable().optional(),
34668
- successMessage: z61.string().nullable().optional()
34669
- });
34670
- var giftingDisplaySchema = z61.object({
34671
- kind: z61.literal("gifting"),
34672
- state: z61.literal("ready"),
34673
- className: z61.string().nullable(),
34674
- heading: z61.string(),
34675
- intro: z61.string().nullable(),
34676
- giftCardsHeading: z61.string(),
34677
- vouchersHeading: z61.string(),
34678
- emptyStateText: z61.string()
34679
- });
34680
- var giftingHydrationSchema = z61.object({
34782
+ className: z59.string().nullable().optional(),
34783
+ heading: z59.string().nullable().optional(),
34784
+ intro: z59.string().nullable().optional(),
34785
+ giftCardsHeading: z59.string().nullable().optional(),
34786
+ vouchersHeading: z59.string().nullable().optional(),
34787
+ emptyStateText: z59.string().nullable().optional(),
34788
+ checkoutButtonText: z59.string().nullable().optional(),
34789
+ successMessage: z59.string().nullable().optional()
34790
+ });
34791
+ var giftingDisplaySchema = z59.object({
34792
+ kind: z59.literal("gifting"),
34793
+ state: z59.literal("ready"),
34794
+ className: z59.string().nullable(),
34795
+ heading: z59.string(),
34796
+ intro: z59.string().nullable(),
34797
+ giftCardsHeading: z59.string(),
34798
+ vouchersHeading: z59.string(),
34799
+ emptyStateText: z59.string()
34800
+ });
34801
+ var giftingHydrationSchema = z59.object({
34681
34802
  offers: publicGiftingOffersResponseSchema.nullable(),
34682
- checkoutButtonText: z61.string(),
34683
- successMessage: z61.string()
34803
+ checkoutButtonText: z59.string(),
34804
+ successMessage: z59.string()
34684
34805
  });
34685
- var giftingRenderSchema = z61.object({
34806
+ var giftingRenderSchema = z59.object({
34686
34807
  display: giftingDisplaySchema,
34687
34808
  hydration: giftingHydrationSchema
34688
34809
  });
34689
- var giftingIslandMetaCodec = createZodCodec(z61.object({
34690
- siteId: z61.string().optional(),
34691
- apiBaseUrl: z61.string().optional()
34810
+ var giftingIslandMetaCodec = createZodCodec(z59.object({
34811
+ siteId: z59.string().optional(),
34812
+ apiBaseUrl: z59.string().optional()
34692
34813
  }));
34693
34814
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
34694
34815
  "siteId",
@@ -34859,7 +34980,7 @@ var giftingBlockDefinition = {
34859
34980
  };
34860
34981
 
34861
34982
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
34862
- import { z as z62 } from "zod";
34983
+ import { z as z60 } from "zod";
34863
34984
 
34864
34985
  // ../blocks/src/system/blocks/newsletter-signup-destination.ts
34865
34986
  function parseNewsletterSignupBlockId(value) {
@@ -34966,65 +35087,65 @@ function withOptionalPhone(fields3, includePhone) {
34966
35087
  }
34967
35088
 
34968
35089
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
34969
- var newsletterPresetSchema = z62.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
34970
- var newsletterDestinationProviderSchema = z62.enum(["riverbank", "mailchimp"]);
34971
- var newsletterFieldSchema = z62.object({
34972
- id: z62.string(),
34973
- type: z62.enum(["email", "text"]),
34974
- label: z62.string(),
34975
- required: z62.boolean(),
34976
- placeholder: z62.string().optional()
34977
- });
34978
- var newsletterSignupBlockIdSchema = z62.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
34979
- var signedNewsletterDestinationRefSchema = z62.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
34980
- var newsletterPublicDestinationRefSchema = z62.discriminatedUnion("tag", [
34981
- z62.object({
34982
- tag: z62.literal("block_ref"),
35090
+ var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
35091
+ var newsletterDestinationProviderSchema = z60.enum(["riverbank", "mailchimp"]);
35092
+ var newsletterFieldSchema = z60.object({
35093
+ id: z60.string(),
35094
+ type: z60.enum(["email", "text"]),
35095
+ label: z60.string(),
35096
+ required: z60.boolean(),
35097
+ placeholder: z60.string().optional()
35098
+ });
35099
+ var newsletterSignupBlockIdSchema = z60.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
35100
+ var signedNewsletterDestinationRefSchema = z60.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
35101
+ var newsletterPublicDestinationRefSchema = z60.discriminatedUnion("tag", [
35102
+ z60.object({
35103
+ tag: z60.literal("block_ref"),
34983
35104
  blockId: newsletterSignupBlockIdSchema
34984
35105
  }),
34985
- z62.object({
34986
- tag: z62.literal("signed_destination_ref"),
35106
+ z60.object({
35107
+ tag: z60.literal("signed_destination_ref"),
34987
35108
  token: signedNewsletterDestinationRefSchema
34988
35109
  })
34989
35110
  ]);
34990
- var newsletterSourceSchema = z62.object({
34991
- blockId: z62.string().nullable().optional(),
34992
- siteId: z62.string().optional(),
34993
- apiBaseUrl: z62.string().optional(),
34994
- listId: z62.string().nullable().optional(),
35111
+ var newsletterSourceSchema = z60.object({
35112
+ blockId: z60.string().nullable().optional(),
35113
+ siteId: z60.string().optional(),
35114
+ apiBaseUrl: z60.string().optional(),
35115
+ listId: z60.string().nullable().optional(),
34995
35116
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
34996
35117
  preset: newsletterPresetSchema.optional(),
34997
- includePhone: z62.boolean().optional(),
34998
- buttonLabel: z62.string().nullable().optional(),
34999
- successMessage: z62.string().nullable().optional(),
35000
- privacyNote: z62.string().nullable().optional(),
35001
- tags: z62.string().nullable().optional(),
35002
- spamProtectionEnabled: z62.boolean().optional(),
35003
- className: z62.string().nullable().optional()
35004
- });
35005
- var newsletterDisplaySchema = z62.object({
35006
- kind: z62.literal("newsletter-form"),
35007
- className: z62.string().nullable(),
35008
- buttonLabel: z62.string(),
35009
- successMessage: z62.string().nullable(),
35010
- privacyNote: z62.string().nullable(),
35011
- fields: z62.array(newsletterFieldSchema)
35012
- });
35013
- var newsletterHydrationSchema = z62.object({
35118
+ includePhone: z60.boolean().optional(),
35119
+ buttonLabel: z60.string().nullable().optional(),
35120
+ successMessage: z60.string().nullable().optional(),
35121
+ privacyNote: z60.string().nullable().optional(),
35122
+ tags: z60.string().nullable().optional(),
35123
+ spamProtectionEnabled: z60.boolean().optional(),
35124
+ className: z60.string().nullable().optional()
35125
+ });
35126
+ var newsletterDisplaySchema = z60.object({
35127
+ kind: z60.literal("newsletter-form"),
35128
+ className: z60.string().nullable(),
35129
+ buttonLabel: z60.string(),
35130
+ successMessage: z60.string().nullable(),
35131
+ privacyNote: z60.string().nullable(),
35132
+ fields: z60.array(newsletterFieldSchema)
35133
+ });
35134
+ var newsletterHydrationSchema = z60.object({
35014
35135
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
35015
- listId: z62.string().nullable().optional(),
35136
+ listId: z60.string().nullable().optional(),
35016
35137
  preset: newsletterPresetSchema,
35017
- includePhone: z62.boolean(),
35018
- tags: z62.string().nullable().optional(),
35019
- spamProtectionEnabled: z62.boolean().optional()
35138
+ includePhone: z60.boolean(),
35139
+ tags: z60.string().nullable().optional(),
35140
+ spamProtectionEnabled: z60.boolean().optional()
35020
35141
  });
35021
- var newsletterRenderSchema = z62.object({
35142
+ var newsletterRenderSchema = z60.object({
35022
35143
  display: newsletterDisplaySchema,
35023
35144
  hydration: newsletterHydrationSchema
35024
35145
  });
35025
- var newsletterIslandMetaCodec = createZodCodec(z62.object({
35026
- siteId: z62.string().optional(),
35027
- apiBaseUrl: z62.string().optional()
35146
+ var newsletterIslandMetaCodec = createZodCodec(z60.object({
35147
+ siteId: z60.string().optional(),
35148
+ apiBaseUrl: z60.string().optional()
35028
35149
  }));
35029
35150
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
35030
35151
  function buildNewsletterDisplay(source) {
@@ -35163,23 +35284,23 @@ var newsletterSignupBlockDefinition = {
35163
35284
  };
35164
35285
 
35165
35286
  // ../blocks/src/system/blocks/team-members.ts
35166
- import { z as z63 } from "zod";
35287
+ import { z as z61 } from "zod";
35167
35288
  var ITEM_NAME2 = "member";
35168
35289
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
35169
35290
  message: "Team member photos must be image media"
35170
35291
  }).nullable();
35171
- var teamMemberDataSchema = z63.object({
35172
- _type: z63.literal("teamMember"),
35173
- id: z63.string(),
35174
- name: z63.string(),
35175
- role: z63.string().nullable(),
35176
- roleLabel: z63.string().nullable(),
35177
- bio: z63.string().nullable(),
35178
- summary: z63.string().nullable(),
35292
+ var teamMemberDataSchema = z61.object({
35293
+ _type: z61.literal("teamMember"),
35294
+ id: z61.string(),
35295
+ name: z61.string(),
35296
+ role: z61.string().nullable(),
35297
+ roleLabel: z61.string().nullable(),
35298
+ bio: z61.string().nullable(),
35299
+ summary: z61.string().nullable(),
35179
35300
  photo: teamMemberPhotoSchema,
35180
- profilePath: z63.string().nullable()
35301
+ profilePath: z61.string().nullable()
35181
35302
  });
35182
- var teamMembersDataSchema = z63.array(teamMemberDataSchema);
35303
+ var teamMembersDataSchema = z61.array(teamMemberDataSchema);
35183
35304
  var dynamicSourceWhen = { equals: "site_staff" };
35184
35305
  var manualSourceWhen = { equals: "site_staff", not: true };
35185
35306
  var headingNode = text(
@@ -36071,13 +36192,6 @@ var systemBlockDefinitionsRaw = [
36071
36192
  weight: "featured",
36072
36193
  bias: "clear",
36073
36194
  surfaces: heroSectionSurfaces
36074
- }),
36075
- layoutProfile({
36076
- variantKey: "splitEditorial",
36077
- family: "split",
36078
- weight: "featured",
36079
- bias: "clear",
36080
- surfaces: heroSectionSurfaces
36081
36195
  })
36082
36196
  ]
36083
36197
  })),
@@ -36321,9 +36435,8 @@ var systemBlockDefinitionsRaw = [
36321
36435
  flow: offeringsFlow,
36322
36436
  layoutProfiles: [
36323
36437
  layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
36438
+ layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
36324
36439
  layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
36325
- layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
36326
- layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
36327
36440
  layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
36328
36441
  ]
36329
36442
  })),
@@ -36886,10 +36999,7 @@ function normalizeRenderStage(stage) {
36886
36999
  return stage === "preview" ? "preview" : "published";
36887
37000
  }
36888
37001
  function isRouteVisibleInStage(routeEntry, stageInput) {
36889
- const stage = normalizeRenderStage(stageInput);
36890
- if (stage === "preview" || !isRouteRecord(routeEntry)) {
36891
- return true;
36892
- }
37002
+ if (normalizeRenderStage(stageInput) === "preview" || !isRouteRecord(routeEntry)) return true;
36893
37003
  const status = routeEntry.status;
36894
37004
  return !(typeof status === "string" && status !== "published");
36895
37005
  }
@@ -36898,52 +37008,45 @@ function extractRouteHref(candidate, stageInput = "published") {
36898
37008
  const trimmed = candidate.trim();
36899
37009
  return trimmed.length > 0 ? trimmed : null;
36900
37010
  }
36901
- if (!isRouteRecord(candidate)) {
36902
- return null;
36903
- }
36904
- const stage = normalizeRenderStage(stageInput);
36905
- const fields3 = stage === "preview" ? ["draftPath", "path", "href", "url"] : ["path", "href", "url"];
37011
+ if (!isRouteRecord(candidate)) return null;
37012
+ const fields3 = normalizeRenderStage(stageInput) === "preview" ? [
37013
+ "draftPath",
37014
+ "path",
37015
+ "href",
37016
+ "url"
37017
+ ] : [
37018
+ "path",
37019
+ "href",
37020
+ "url"
37021
+ ];
36906
37022
  for (const field of fields3) {
36907
37023
  const value = candidate[field];
36908
- if (typeof value === "string" && value.trim().length > 0) {
36909
- return value.trim();
36910
- }
37024
+ if (typeof value === "string" && value.trim().length > 0) return value.trim();
36911
37025
  }
36912
37026
  return null;
36913
37027
  }
36914
37028
  function extractRouteUpdatedAt(candidate) {
36915
- if (!isRouteRecord(candidate)) {
36916
- return null;
36917
- }
36918
- const fields3 = [
37029
+ if (!isRouteRecord(candidate)) return null;
37030
+ for (const field of [
36919
37031
  "updatedAt",
36920
37032
  "updated_at",
36921
37033
  "publishedAt",
36922
37034
  "published_at",
36923
37035
  "modifiedAt",
36924
37036
  "modified_at"
36925
- ];
36926
- for (const field of fields3) {
37037
+ ]) {
36927
37038
  const value = candidate[field];
36928
- if (typeof value === "string" && value.length > 0) {
36929
- return value;
36930
- }
37039
+ if (typeof value === "string" && value.length > 0) return value;
36931
37040
  }
36932
37041
  return null;
36933
37042
  }
36934
37043
  function resolveRouteTargetForStage(routeIdValue, routes, stageInput) {
36935
37044
  const routeId = typeof routeIdValue === "string" ? routeIdValue : null;
36936
- if (!routeId || !routes) {
36937
- return null;
36938
- }
37045
+ if (!routeId || !routes) return null;
36939
37046
  const routeEntry = routes[routeId];
36940
- if (!isRouteVisibleInStage(routeEntry, stageInput)) {
36941
- return null;
36942
- }
37047
+ if (!isRouteVisibleInStage(routeEntry, stageInput)) return null;
36943
37048
  const href = extractRouteHref(routeEntry, stageInput);
36944
- if (!href) {
36945
- return null;
36946
- }
37049
+ if (!href) return null;
36947
37050
  return {
36948
37051
  routeId,
36949
37052
  href,
@@ -37086,7 +37189,7 @@ var defaultTransforms = createTransformRegistry(builtinTransformDefinitions);
37086
37189
  // ../blocks/src/system/data/linkedContentEntries.ts
37087
37190
  var LINKED_CONTENT_ENTRY_META_KEY = "__rbLinkedContentEntry";
37088
37191
  function coerceLinkedContentEntriesPayload(payload) {
37089
- if (!isRecord7(payload)) return payload;
37192
+ if (!isRecord8(payload)) return payload;
37090
37193
  const response = payload;
37091
37194
  if (!Array.isArray(response.entries)) return payload;
37092
37195
  const contentType = parsePublicContentTypeMeta(response.contentType);
@@ -37094,12 +37197,12 @@ function coerceLinkedContentEntriesPayload(payload) {
37094
37197
  return response.entries.map((entry) => enrichLinkedContentEntry(entry, contentType));
37095
37198
  }
37096
37199
  function enrichLinkedContentEntry(entry, contentType) {
37097
- if (!isRecord7(entry)) return entry;
37200
+ if (!isRecord8(entry)) return entry;
37098
37201
  const entryId = typeof entry.id === "string" ? entry.id : null;
37099
37202
  if (!entryId) return entry;
37100
37203
  const title = typeof entry.title === "string" && entry.title.trim().length > 0 ? entry.title : entryId;
37101
37204
  const optimisticHash = typeof entry.optimisticHash === "string" && entry.optimisticHash.length > 0 ? entry.optimisticHash : null;
37102
- const content = isRecord7(entry.content) ? entry.content : {};
37205
+ const content = isRecord8(entry.content) ? entry.content : {};
37103
37206
  const meta = {
37104
37207
  kind: "linked-content-entry",
37105
37208
  entryId,
@@ -37192,7 +37295,7 @@ function capitalize(value) {
37192
37295
  return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
37193
37296
  }
37194
37297
  function parsePublicContentTypeMeta(value) {
37195
- if (!isRecord7(value)) return null;
37298
+ if (!isRecord8(value)) return null;
37196
37299
  if (typeof value.key !== "string" || value.key.trim().length === 0) return null;
37197
37300
  return {
37198
37301
  key: value.key,
@@ -37202,7 +37305,7 @@ function parsePublicContentTypeMeta(value) {
37202
37305
  };
37203
37306
  }
37204
37307
  function parsePublicContentTypeLinkedEntryEditing(value) {
37205
- if (!isRecord7(value) || typeof value.kind !== "string") return null;
37308
+ if (!isRecord8(value) || typeof value.kind !== "string") return null;
37206
37309
  switch (value.kind) {
37207
37310
  case "generic":
37208
37311
  return { kind: "generic" };
@@ -37216,7 +37319,7 @@ function parsePublicContentTypeLinkedEntryEditing(value) {
37216
37319
  }
37217
37320
  }
37218
37321
  function parsePublicContentTypeFieldMeta(value) {
37219
- if (!isRecord7(value)) return [];
37322
+ if (!isRecord8(value)) return [];
37220
37323
  if (typeof value.id !== "string" || typeof value.type !== "string") return [];
37221
37324
  return [{
37222
37325
  id: value.id,
@@ -37230,7 +37333,7 @@ function parseStringArray(value) {
37230
37333
  if (!Array.isArray(value)) return null;
37231
37334
  return value.filter((item) => typeof item === "string");
37232
37335
  }
37233
- function isRecord7(value) {
37336
+ function isRecord8(value) {
37234
37337
  return typeof value === "object" && value !== null && !Array.isArray(value);
37235
37338
  }
37236
37339
 
@@ -37979,42 +38082,45 @@ import { jsx as jsx5 } from "react/jsx-runtime";
37979
38082
  import * as React from "react";
37980
38083
  import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
37981
38084
 
38085
+ // ../theme-core/src/ResponsiveScope.tsx
38086
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
38087
+
37982
38088
  // ../theme-core/src/fonts/uploadFormat.ts
37983
38089
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
37984
38090
 
37985
38091
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
37986
- import { z as z64 } from "zod";
37987
- var themeBridgeConfigSchema = z64.object({
37988
- tokens: z64.record(z64.string(), z64.string()),
37989
- typography: z64.object({
37990
- headingFamily: z64.string().optional(),
37991
- bodyFamily: z64.string().optional(),
37992
- headingWeight: z64.number().optional(),
37993
- bodyWeight: z64.number().optional()
38092
+ import { z as z62 } from "zod";
38093
+ var themeBridgeConfigSchema = z62.object({
38094
+ tokens: z62.record(z62.string(), z62.string()),
38095
+ typography: z62.object({
38096
+ headingFamily: z62.string().optional(),
38097
+ bodyFamily: z62.string().optional(),
38098
+ headingWeight: z62.number().optional(),
38099
+ bodyWeight: z62.number().optional()
37994
38100
  }).optional(),
37995
- spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
37996
- corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
37997
- shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
37998
- components: z64.object({
37999
- buttons: z64.union([
38000
- z64.boolean(),
38001
- z64.object({
38002
- variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
38101
+ spacing: z62.enum(["comfortable", "standard", "dense"]).optional(),
38102
+ corners: z62.enum(["square", "soft", "rounded", "pill"]).optional(),
38103
+ shadows: z62.enum(["none", "low", "medium", "high"]).optional(),
38104
+ components: z62.object({
38105
+ buttons: z62.union([
38106
+ z62.boolean(),
38107
+ z62.object({
38108
+ variants: z62.array(z62.enum(["primary", "secondary", "outline", "ghost"])).optional()
38003
38109
  })
38004
38110
  ]).optional(),
38005
- cards: z64.union([
38006
- z64.boolean(),
38007
- z64.object({
38008
- variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
38111
+ cards: z62.union([
38112
+ z62.boolean(),
38113
+ z62.object({
38114
+ variants: z62.array(z62.enum(["default", "elevated", "outlined"])).optional()
38009
38115
  })
38010
38116
  ]).optional(),
38011
- inputs: z64.boolean().optional()
38117
+ inputs: z62.boolean().optional()
38012
38118
  }).optional(),
38013
- overrides: z64.record(z64.string(), z64.string()).optional()
38119
+ overrides: z62.record(z62.string(), z62.string()).optional()
38014
38120
  }).passthrough();
38015
38121
 
38016
38122
  // ../theme-core/src/siteChrome.tsx
38017
- import { Fragment as Fragment2, jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
38123
+ import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
38018
38124
 
38019
38125
  // ../blocks/src/system/runtime/bindings.ts
38020
38126
  var shouldLogWarnings = isNonProductionEnv();
@@ -38379,17 +38485,17 @@ function normalizeLoaderParams(endpoint, params, context) {
38379
38485
  function unsafeRetypeZodSchema(schema) {
38380
38486
  return schema;
38381
38487
  }
38382
- var navIdListSchema = z65.preprocess((value) => {
38488
+ var navIdListSchema = z63.preprocess((value) => {
38383
38489
  if (!Array.isArray(value)) return void 0;
38384
38490
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
38385
38491
  return filtered.length > 0 ? filtered : void 0;
38386
- }, z65.array(z65.string()).max(200).optional());
38387
- var dashboardNavVisibilityBaseSchema = z65.object({
38388
- mode: z65.enum(["augment", "restrict"]).optional(),
38492
+ }, z63.array(z63.string()).max(200).optional());
38493
+ var dashboardNavVisibilityBaseSchema = z63.object({
38494
+ mode: z63.enum(["augment", "restrict"]).optional(),
38389
38495
  allowIds: navIdListSchema,
38390
38496
  denyIds: navIdListSchema
38391
38497
  }).strip();
38392
- var dashboardNavVisibilityRolesSchema = z65.object({
38498
+ var dashboardNavVisibilityRolesSchema = z63.object({
38393
38499
  administrator: dashboardNavVisibilityBaseSchema.optional(),
38394
38500
  editor: dashboardNavVisibilityBaseSchema.optional(),
38395
38501
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -38397,63 +38503,63 @@ var dashboardNavVisibilityRolesSchema = z65.object({
38397
38503
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
38398
38504
  roles: dashboardNavVisibilityRolesSchema
38399
38505
  }).strip();
38400
- var dashboardNavigationConfigSchema = z65.object({
38506
+ var dashboardNavigationConfigSchema = z63.object({
38401
38507
  siteNav: dashboardNavVisibilitySchema.optional(),
38402
38508
  settingsNav: dashboardNavVisibilitySchema.optional()
38403
38509
  }).strip();
38404
- var dashboardConfigSchema = z65.object({
38405
- previewEditingEnabled: z65.boolean().optional(),
38510
+ var dashboardConfigSchema = z63.object({
38511
+ previewEditingEnabled: z63.boolean().optional(),
38406
38512
  navigation: dashboardNavigationConfigSchema.optional()
38407
38513
  }).strip();
38408
38514
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
38409
38515
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
38410
- var sdkLoaderEndpointSchema = z65.enum(SUPPORTED_LOADER_ENDPOINTS);
38411
- var loaderFallbackScalarSchema = z65.union([
38412
- z65.string(),
38413
- z65.number(),
38414
- z65.boolean(),
38415
- z65.null()
38516
+ var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
38517
+ var loaderFallbackScalarSchema = z63.union([
38518
+ z63.string(),
38519
+ z63.number(),
38520
+ z63.boolean(),
38521
+ z63.null()
38416
38522
  ]);
38417
- var loaderParamBindingSchema = z65.object({
38418
- $bind: z65.object({
38419
- from: z65.string().min(1, "Binding path is required"),
38523
+ var loaderParamBindingSchema = z63.object({
38524
+ $bind: z63.object({
38525
+ from: z63.string().min(1, "Binding path is required"),
38420
38526
  fallback: loaderFallbackScalarSchema.optional()
38421
38527
  })
38422
38528
  });
38423
- var loaderParamValueSchema = z65.union([
38424
- z65.string(),
38425
- z65.number(),
38426
- z65.boolean(),
38529
+ var loaderParamValueSchema = z63.union([
38530
+ z63.string(),
38531
+ z63.number(),
38532
+ z63.boolean(),
38427
38533
  loaderParamBindingSchema
38428
38534
  ]);
38429
- var sdkConfigLoaderSchema = z65.object({
38535
+ var sdkConfigLoaderSchema = z63.object({
38430
38536
  endpoint: sdkLoaderEndpointSchema,
38431
- params: z65.record(z65.string(), loaderParamValueSchema),
38432
- mode: z65.enum(["server", "client"]).default("server")
38537
+ params: z63.record(z63.string(), loaderParamValueSchema),
38538
+ mode: z63.enum(["server", "client"]).default("server")
38433
38539
  });
38434
- var sdkDataLoadersSchema = z65.record(z65.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38435
- var sdkCustomBlockIdSchema = z65.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38540
+ var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38541
+ var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38436
38542
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
38437
38543
  }).transform((value) => value);
38438
- var sdkCustomBlockInputSchema = z65.object({
38544
+ var sdkCustomBlockInputSchema = z63.object({
38439
38545
  id: sdkCustomBlockIdSchema,
38440
- title: z65.string().min(1),
38441
- titleSource: z65.union([z65.string().min(1), z65.array(z65.string().min(1)).min(1)]).optional(),
38442
- description: z65.string().optional(),
38546
+ title: z63.string().min(1),
38547
+ titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
38548
+ description: z63.string().optional(),
38443
38549
  category: blockCategoryEnum,
38444
- icon: z65.string().optional(),
38445
- tags: z65.array(z65.string()).optional(),
38550
+ icon: z63.string().optional(),
38551
+ tags: z63.array(z63.string()).optional(),
38446
38552
  fields: fieldDefinitionInputSchema.array().min(1),
38447
38553
  dataLoaders: sdkDataLoadersSchema,
38448
38554
  layout: NodeSchema.optional(),
38449
- variants: z65.record(z65.string().min(1), NodeSchema).optional(),
38450
- defaultVariant: z65.string().min(1).optional(),
38451
- variantOptions: z65.record(
38452
- z65.string().min(1),
38453
- z65.object({
38454
- label: z65.string().min(1).optional(),
38455
- description: z65.string().min(1).optional(),
38456
- icon: z65.string().min(1).optional()
38555
+ variants: z63.record(z63.string().min(1), NodeSchema).optional(),
38556
+ defaultVariant: z63.string().min(1).optional(),
38557
+ variantOptions: z63.record(
38558
+ z63.string().min(1),
38559
+ z63.object({
38560
+ label: z63.string().min(1).optional(),
38561
+ description: z63.string().min(1).optional(),
38562
+ icon: z63.string().min(1).optional()
38457
38563
  })
38458
38564
  ).optional(),
38459
38565
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -38464,7 +38570,7 @@ var sdkCustomBlockInputSchema = z65.object({
38464
38570
  const exists = data.fields.some((field) => field.id === source);
38465
38571
  if (!exists) {
38466
38572
  ctx.addIssue({
38467
- code: z65.ZodIssueCode.custom,
38573
+ code: z63.ZodIssueCode.custom,
38468
38574
  message: `titleSource must reference a valid field ID (got "${source}")`,
38469
38575
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
38470
38576
  });
@@ -38473,7 +38579,7 @@ var sdkCustomBlockInputSchema = z65.object({
38473
38579
  }
38474
38580
  if (data.layout && data.variants) {
38475
38581
  ctx.addIssue({
38476
- code: z65.ZodIssueCode.custom,
38582
+ code: z63.ZodIssueCode.custom,
38477
38583
  message: "Custom block must define either `layout` or `variants`, not both",
38478
38584
  path: ["variants"]
38479
38585
  });
@@ -38482,14 +38588,14 @@ var sdkCustomBlockInputSchema = z65.object({
38482
38588
  const keys = Object.keys(data.variants);
38483
38589
  if (keys.length === 0) {
38484
38590
  ctx.addIssue({
38485
- code: z65.ZodIssueCode.custom,
38591
+ code: z63.ZodIssueCode.custom,
38486
38592
  message: "`variants` must contain at least one variant key",
38487
38593
  path: ["variants"]
38488
38594
  });
38489
38595
  }
38490
38596
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
38491
38597
  ctx.addIssue({
38492
- code: z65.ZodIssueCode.custom,
38598
+ code: z63.ZodIssueCode.custom,
38493
38599
  message: "`defaultVariant` must be a key present in `variants`",
38494
38600
  path: ["defaultVariant"]
38495
38601
  });
@@ -38498,7 +38604,7 @@ var sdkCustomBlockInputSchema = z65.object({
38498
38604
  for (const key of Object.keys(data.variantOptions)) {
38499
38605
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
38500
38606
  ctx.addIssue({
38501
- code: z65.ZodIssueCode.custom,
38607
+ code: z63.ZodIssueCode.custom,
38502
38608
  message: "`variantOptions` key must exist in `variants`",
38503
38609
  path: ["variantOptions", key]
38504
38610
  });
@@ -38507,78 +38613,78 @@ var sdkCustomBlockInputSchema = z65.object({
38507
38613
  }
38508
38614
  }
38509
38615
  });
38510
- var sdkBlockFieldExtensionInputSchema = z65.object({
38616
+ var sdkBlockFieldExtensionInputSchema = z63.object({
38511
38617
  fields: fieldDefinitionInputSchema.array().min(1)
38512
38618
  });
38513
- var sdkBlockFieldExtensionsInputSchema = z65.record(
38514
- z65.string().min(1),
38619
+ var sdkBlockFieldExtensionsInputSchema = z63.record(
38620
+ z63.string().min(1),
38515
38621
  sdkBlockFieldExtensionInputSchema
38516
38622
  );
38517
- var sdkThemePaletteSchema = z65.record(z65.string(), z65.string());
38518
- var sdkThemeConfigSchema = z65.object({
38623
+ var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
38624
+ var sdkThemeConfigSchema = z63.object({
38519
38625
  palette: sdkThemePaletteSchema
38520
38626
  });
38521
- var sdkSectionBackgroundSchema = z65.object({
38522
- id: z65.string().min(1),
38523
- label: z65.string().min(1),
38524
- token: z65.string().min(1)
38627
+ var sdkSectionBackgroundSchema = z63.object({
38628
+ id: z63.string().min(1),
38629
+ label: z63.string().min(1),
38630
+ token: z63.string().min(1)
38525
38631
  });
38526
- var sdkSectionOptionsConfigSchema = z65.object({
38527
- backgroundColor: z65.boolean().optional(),
38528
- backgroundImage: z65.boolean().optional(),
38529
- backgroundGradient: z65.boolean().optional(),
38530
- spacing: z65.union([z65.array(z65.enum(["compact", "default", "spacious"])), z65.boolean()]).optional(),
38531
- textColor: z65.boolean().optional()
38632
+ var sdkSectionOptionsConfigSchema = z63.object({
38633
+ backgroundColor: z63.boolean().optional(),
38634
+ backgroundImage: z63.boolean().optional(),
38635
+ backgroundGradient: z63.boolean().optional(),
38636
+ spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
38637
+ textColor: z63.boolean().optional()
38532
38638
  });
38533
- var sdkContainerOptionsConfigSchema = z65.object({
38534
- maxWidth: z65.union([z65.array(z65.enum(["narrow", "default", "wide", "full"])), z65.boolean()]).optional(),
38535
- alignment: z65.union([z65.array(z65.enum(["left", "center", "right"])), z65.boolean()]).optional()
38639
+ var sdkContainerOptionsConfigSchema = z63.object({
38640
+ maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
38641
+ alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
38536
38642
  });
38537
- var sdkSiteStyleConfigSchema = z65.object({
38538
- sectionBackgrounds: z65.array(sdkSectionBackgroundSchema).optional(),
38643
+ var sdkSiteStyleConfigSchema = z63.object({
38644
+ sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
38539
38645
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
38540
38646
  containerOptions: sdkContainerOptionsConfigSchema.optional()
38541
38647
  });
38542
- var sdkSiteLayoutConfigSchema = z65.object({
38543
- footerBlocks: z65.array(
38544
- z65.object({
38545
- id: z65.string().min(1).optional(),
38546
- kind: z65.string().min(1),
38547
- content: z65.record(z65.string(), z65.unknown()).optional()
38648
+ var sdkSiteLayoutConfigSchema = z63.object({
38649
+ footerBlocks: z63.array(
38650
+ z63.object({
38651
+ id: z63.string().min(1).optional(),
38652
+ kind: z63.string().min(1),
38653
+ content: z63.record(z63.string(), z63.unknown()).optional()
38548
38654
  })
38549
38655
  ).optional()
38550
38656
  });
38551
- var sdkFieldSelectOptionSchema = z65.object({
38552
- value: z65.string(),
38553
- label: z65.string()
38657
+ var sdkFieldSelectOptionSchema = z63.object({
38658
+ value: z63.string(),
38659
+ label: z63.string()
38554
38660
  });
38555
- var sdkBlockFieldConfigSchema = z65.object({
38556
- options: z65.array(sdkFieldSelectOptionSchema).optional()
38661
+ var sdkBlockFieldConfigSchema = z63.object({
38662
+ options: z63.array(sdkFieldSelectOptionSchema).optional()
38557
38663
  });
38558
- var sdkBlockFieldOptionsMapSchema = z65.record(
38559
- z65.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38664
+ var sdkBlockFieldOptionsMapSchema = z63.record(
38665
+ z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38560
38666
  message: "Block ID must be 'block.*' or 'custom.*' format"
38561
38667
  }),
38562
- z65.record(z65.string().min(1), sdkBlockFieldConfigSchema)
38668
+ z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
38563
38669
  ).optional();
38564
- var sdkContentTypeTemplateConfigSchema = z65.object({
38565
- blocks: z65.array(z65.unknown())
38670
+ var sdkContentTypeTemplateConfigSchema = z63.object({
38671
+ blocks: z63.array(z63.unknown())
38566
38672
  }).passthrough();
38567
- var sdkContentTypeOrderingConfigSchema = z65.object({
38568
- mode: z65.enum(["default", "manual"]).optional()
38673
+ var sdkContentTypeOrderingConfigSchema = z63.object({
38674
+ mode: z63.enum(["default", "manual"]).optional()
38569
38675
  }).optional();
38570
- var sdkContentTypeConfigSchema = z65.object({
38571
- key: z65.string().min(1),
38572
- fields: z65.array(z65.unknown()),
38676
+ var sdkContentTypeConfigSchema = z63.object({
38677
+ key: z63.string().min(1),
38678
+ fields: z63.array(z63.unknown()),
38573
38679
  ordering: sdkContentTypeOrderingConfigSchema,
38574
38680
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
38575
38681
  }).passthrough();
38576
- var sdkContentConfigSchema = z65.object({
38577
- contentTypes: z65.array(sdkContentTypeConfigSchema).optional(),
38578
- pages: z65.array(z65.unknown()).optional(),
38579
- entries: z65.array(z65.unknown()).optional(),
38580
- navigationMenus: z65.array(z65.unknown()).optional(),
38581
- settings: z65.unknown().optional()
38682
+ var sdkContentConfigSchema = z63.object({
38683
+ contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
38684
+ pages: z63.array(z63.unknown()).optional(),
38685
+ entries: z63.array(z63.unknown()).optional(),
38686
+ navigationMenus: z63.array(z63.unknown()).optional(),
38687
+ settings: z63.unknown().optional()
38582
38688
  }).passthrough();
38583
38689
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
38584
38690
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -38593,62 +38699,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
38593
38699
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
38594
38700
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
38595
38701
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
38596
- var sdkWorkflowIdSchema = z65.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38702
+ var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38597
38703
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
38598
38704
  });
38599
- 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 "/"' });
38600
- var sdkWorkflowManualTriggerSchema = z65.object({
38601
- type: z65.literal("manual")
38705
+ 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 "/"' });
38706
+ var sdkWorkflowManualTriggerSchema = z63.object({
38707
+ type: z63.literal("manual")
38602
38708
  }).strict();
38603
- var sdkWorkflowTriggerFieldSchema = z65.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38709
+ var sdkWorkflowTriggerFieldSchema = z63.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38604
38710
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
38605
38711
  });
38606
- var sdkWorkflowFieldChangedConditionSchema = z65.object({
38712
+ var sdkWorkflowFieldChangedConditionSchema = z63.object({
38607
38713
  field: sdkWorkflowTriggerFieldSchema,
38608
- changed: z65.literal(true)
38714
+ changed: z63.literal(true)
38609
38715
  }).strict();
38610
- var sdkWorkflowFieldEmptyConditionSchema = z65.object({
38716
+ var sdkWorkflowFieldEmptyConditionSchema = z63.object({
38611
38717
  field: sdkWorkflowTriggerFieldSchema,
38612
- isEmpty: z65.boolean()
38718
+ isEmpty: z63.boolean()
38613
38719
  }).strict();
38614
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z65.object({
38615
- type: z65.literal("entry.draft.updated"),
38616
- when: z65.array(
38617
- z65.union([
38720
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z63.object({
38721
+ type: z63.literal("entry.draft.updated"),
38722
+ when: z63.array(
38723
+ z63.union([
38618
38724
  sdkWorkflowFieldChangedConditionSchema,
38619
38725
  sdkWorkflowFieldEmptyConditionSchema
38620
38726
  ])
38621
38727
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
38622
38728
  }).strict();
38623
- var sdkWorkflowTriggerSchema = z65.discriminatedUnion("type", [
38729
+ var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
38624
38730
  sdkWorkflowManualTriggerSchema,
38625
38731
  sdkWorkflowEntryDraftUpdatedTriggerSchema
38626
38732
  ]);
38627
- var sdkWorkflowConfirmationSchema = z65.object({
38628
- title: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38629
- body: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38733
+ var sdkWorkflowConfirmationSchema = z63.object({
38734
+ title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38735
+ body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38630
38736
  }).strict();
38631
- var sdkWorkflowConfigSchema = z65.object({
38737
+ var sdkWorkflowConfigSchema = z63.object({
38632
38738
  id: sdkWorkflowIdSchema,
38633
- title: z65.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38634
- description: z65.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38635
- contentType: z65.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38739
+ title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38740
+ description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38741
+ contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38636
38742
  endpoint: sdkWorkflowEndpointSchema,
38637
- triggers: z65.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38743
+ triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38638
38744
  confirmation: sdkWorkflowConfirmationSchema.optional()
38639
38745
  }).strict();
38640
- var sdkWorkflowsSchema = z65.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38746
+ var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38641
38747
  const ids = workflows.map((workflow) => workflow.id);
38642
38748
  return ids.length === new Set(ids).size;
38643
38749
  }, { message: "Workflow IDs must be unique" }).optional();
38644
- var riverbankSiteConfigInputSchema = z65.object({
38645
- siteId: z65.string().uuid(),
38646
- previewUrl: z65.string().url().optional(),
38647
- liveUrl: z65.string().url().optional(),
38750
+ var riverbankSiteConfigInputSchema = z63.object({
38751
+ siteId: z63.string().uuid(),
38752
+ previewUrl: z63.string().url().optional(),
38753
+ liveUrl: z63.string().url().optional(),
38648
38754
  theme: sdkThemeConfigSchema.optional(),
38649
38755
  styles: sdkSiteStyleConfigSchema.optional(),
38650
38756
  layout: sdkSiteLayoutConfigSchema.optional(),
38651
- customBlocks: z65.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38757
+ customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38652
38758
  const ids = blocks.map((b) => b.id);
38653
38759
  return ids.length === new Set(ids).size;
38654
38760
  }, { message: "Block IDs must be unique" }).optional(),
@@ -38656,50 +38762,50 @@ var riverbankSiteConfigInputSchema = z65.object({
38656
38762
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
38657
38763
  workflows: sdkWorkflowsSchema,
38658
38764
  content: sdkContentConfigSchema.optional(),
38659
- contentDir: z65.string().optional(),
38660
- sync: z65.object({
38661
- existingEntries: z65.enum(["skip", "update"]).optional()
38765
+ contentDir: z63.string().optional(),
38766
+ sync: z63.object({
38767
+ existingEntries: z63.enum(["skip", "update"]).optional()
38662
38768
  }).optional(),
38663
- deploy: z65.object({
38664
- verifyCommand: z65.string().optional(),
38665
- prebuildOutput: z65.string().optional()
38769
+ deploy: z63.object({
38770
+ verifyCommand: z63.string().optional(),
38771
+ prebuildOutput: z63.string().optional()
38666
38772
  }).optional(),
38667
- themeSource: z65.enum(["local", "cms"]).optional(),
38668
- activeTheme: z65.string().optional(),
38669
- enablePortal: z65.boolean().optional(),
38773
+ themeSource: z63.enum(["local", "cms"]).optional(),
38774
+ activeTheme: z63.string().optional(),
38775
+ enablePortal: z63.boolean().optional(),
38670
38776
  dashboard: dashboardConfigSchema.optional()
38671
38777
  }).strict();
38672
- var pushSdkConfigBodySchema = z65.object({
38778
+ var pushSdkConfigBodySchema = z63.object({
38673
38779
  config: riverbankSiteConfigInputSchema,
38674
- forceContentTypes: z65.boolean().optional()
38780
+ forceContentTypes: z63.boolean().optional()
38675
38781
  }).strict();
38676
38782
 
38677
38783
  // ../api/src/siteOnboarding.ts
38678
- import { z as z66 } from "zod";
38784
+ import { z as z64 } from "zod";
38679
38785
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
38680
38786
  configure_appointments: {
38681
38787
  requirementId: "configure_appointments",
38682
38788
  reason: "launch_anyway"
38683
38789
  }
38684
38790
  };
38685
- var acknowledgeLaunchRequirementRequestSchema = z66.discriminatedUnion(
38791
+ var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
38686
38792
  "requirementId",
38687
38793
  [
38688
- z66.object({
38689
- requirementId: z66.literal("review_generated_site")
38794
+ z64.object({
38795
+ requirementId: z64.literal("review_generated_site")
38690
38796
  }),
38691
- z66.object({
38692
- requirementId: z66.literal(
38797
+ z64.object({
38798
+ requirementId: z64.literal(
38693
38799
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
38694
38800
  ),
38695
- overrideReason: z66.literal(
38801
+ overrideReason: z64.literal(
38696
38802
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
38697
38803
  )
38698
38804
  })
38699
38805
  ]
38700
38806
  );
38701
- var goLiveSiteRequestSchema = z66.object({
38702
- acceptExtraSiteCharge: z66.boolean().optional()
38807
+ var goLiveSiteRequestSchema = z64.object({
38808
+ acceptExtraSiteCharge: z64.boolean().optional()
38703
38809
  });
38704
38810
 
38705
38811
  // ../surfaces/src/index.ts
@@ -38783,7 +38889,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
38783
38889
  ];
38784
38890
 
38785
38891
  // ../api/src/bookingVerticals.ts
38786
- import { z as z67 } from "zod";
38892
+ import { z as z65 } from "zod";
38787
38893
  var VERTICAL_IDS = [
38788
38894
  "yoga_wellness",
38789
38895
  "fitness_pt",
@@ -38948,39 +39054,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
38948
39054
  }
38949
39055
  return [...issues];
38950
39056
  }
38951
- var VerticalIdSchema = z67.string().trim().transform((value, ctx) => {
39057
+ var VerticalIdSchema = z65.string().trim().transform((value, ctx) => {
38952
39058
  const parsed = parseVerticalId(value);
38953
39059
  if (!parsed) {
38954
39060
  ctx.addIssue({
38955
- code: z67.ZodIssueCode.custom,
39061
+ code: z65.ZodIssueCode.custom,
38956
39062
  message: "Unknown booking vertical"
38957
39063
  });
38958
- return z67.NEVER;
39064
+ return z65.NEVER;
38959
39065
  }
38960
39066
  return parsed;
38961
39067
  });
38962
- var VerticalPresetIdSchema = z67.string().trim().transform((value, ctx) => {
39068
+ var VerticalPresetIdSchema = z65.string().trim().transform((value, ctx) => {
38963
39069
  const parsed = parseVerticalPresetId(value);
38964
39070
  if (!parsed) {
38965
39071
  ctx.addIssue({
38966
- code: z67.ZodIssueCode.custom,
39072
+ code: z65.ZodIssueCode.custom,
38967
39073
  message: "Unknown booking preset"
38968
39074
  });
38969
- return z67.NEVER;
39075
+ return z65.NEVER;
38970
39076
  }
38971
39077
  return parsed;
38972
39078
  });
38973
- var BookingVerticalConfigSchema = z67.object({
39079
+ var BookingVerticalConfigSchema = z65.object({
38974
39080
  verticalId: VerticalIdSchema.nullable(),
38975
- selectedPresetIds: z67.array(VerticalPresetIdSchema).max(20)
39081
+ selectedPresetIds: z65.array(VerticalPresetIdSchema).max(20)
38976
39082
  }).transform((value, ctx) => {
38977
39083
  const resolved = resolveSiteVerticalBookingConfig(value);
38978
39084
  if (resolved.kind === "invalid") {
38979
39085
  ctx.addIssue({
38980
- code: z67.ZodIssueCode.custom,
39086
+ code: z65.ZodIssueCode.custom,
38981
39087
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
38982
39088
  });
38983
- return z67.NEVER;
39089
+ return z65.NEVER;
38984
39090
  }
38985
39091
  return resolved.config;
38986
39092
  });
@@ -39002,56 +39108,56 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
39002
39108
  }
39003
39109
 
39004
39110
  // ../api/src/utils/isRecord.ts
39005
- function isRecord8(value) {
39111
+ function isRecord9(value) {
39006
39112
  return typeof value === "object" && value !== null && !Array.isArray(value);
39007
39113
  }
39008
39114
 
39009
39115
  // ../api/src/appointmentSetup.ts
39010
- import { z as z68 } from "zod";
39116
+ import { z as z66 } from "zod";
39011
39117
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
39012
- var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
39013
- z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
39014
- z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
39118
+ var appointmentSetupRefSchema = z66.discriminatedUnion("kind", [
39119
+ z66.object({ kind: z66.literal("existing"), id: z66.string().min(1) }),
39120
+ z66.object({ kind: z66.literal("new"), draftId: z66.string().min(1) })
39015
39121
  ]);
39016
- var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
39017
- z68.object({ kind: z68.literal("none") }),
39018
- z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
39019
- z68.object({
39020
- kind: z68.literal("create"),
39021
- draftId: z68.string().min(1),
39022
- title: z68.string().trim().min(1),
39023
- description: z68.string().nullable(),
39024
- timezone: z68.string().trim().min(1).nullable(),
39025
- addressJson: z68.record(z68.string(), z68.unknown()),
39026
- locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
39122
+ var appointmentSetupVenueChoiceSchema = z66.discriminatedUnion("kind", [
39123
+ z66.object({ kind: z66.literal("none") }),
39124
+ z66.object({ kind: z66.literal("existing"), venueId: z66.string().min(1) }),
39125
+ z66.object({
39126
+ kind: z66.literal("create"),
39127
+ draftId: z66.string().min(1),
39128
+ title: z66.string().trim().min(1),
39129
+ description: z66.string().nullable(),
39130
+ timezone: z66.string().trim().min(1).nullable(),
39131
+ addressJson: z66.record(z66.string(), z66.unknown()),
39132
+ locationJson: z66.object({ lat: z66.number(), lng: z66.number() }).nullable()
39027
39133
  })
39028
39134
  ]);
39029
- var appointmentSetupPaymentDraftSchema = z68.object({
39030
- priceType: z68.union([z68.literal("free"), z68.literal("paid")])
39031
- });
39032
- var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
39033
- z68.object({ kind: z68.literal("all_practitioners") }),
39034
- z68.object({
39035
- kind: z68.literal("selected_practitioners"),
39036
- resourceRefs: z68.array(appointmentSetupRefSchema)
39135
+ var appointmentSetupPaymentDraftSchema = z66.object({
39136
+ priceType: z66.union([z66.literal("free"), z66.literal("paid")])
39137
+ });
39138
+ var appointmentSetupServiceAssignmentDraftSchema = z66.discriminatedUnion("kind", [
39139
+ z66.object({ kind: z66.literal("all_practitioners") }),
39140
+ z66.object({
39141
+ kind: z66.literal("selected_practitioners"),
39142
+ resourceRefs: z66.array(appointmentSetupRefSchema)
39037
39143
  })
39038
39144
  ]);
39039
- var appointmentSetupServiceDraftSchema = z68.object({
39145
+ var appointmentSetupServiceDraftSchema = z66.object({
39040
39146
  ref: appointmentSetupRefSchema,
39041
- title: z68.string().trim().min(1),
39042
- description: z68.string().nullable(),
39043
- durationMinutes: z68.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39044
- prepMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39045
- cleanupMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39046
- priceAmount: z68.number().int().nonnegative().nullable(),
39047
- isActive: z68.boolean(),
39048
- locationType: z68.union([
39049
- z68.literal("virtual"),
39050
- z68.literal("in_person"),
39051
- z68.literal("hybrid")
39147
+ title: z66.string().trim().min(1),
39148
+ description: z66.string().nullable(),
39149
+ durationMinutes: z66.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39150
+ prepMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39151
+ cleanupMinutes: z66.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39152
+ priceAmount: z66.number().int().nonnegative().nullable(),
39153
+ isActive: z66.boolean(),
39154
+ locationType: z66.union([
39155
+ z66.literal("virtual"),
39156
+ z66.literal("in_person"),
39157
+ z66.literal("hybrid")
39052
39158
  ]),
39053
39159
  venue: appointmentSetupVenueChoiceSchema,
39054
- timezone: z68.string().trim().min(1).nullable(),
39160
+ timezone: z66.string().trim().min(1).nullable(),
39055
39161
  payment: appointmentSetupPaymentDraftSchema,
39056
39162
  assignment: appointmentSetupServiceAssignmentDraftSchema
39057
39163
  }).superRefine((service, ctx) => {
@@ -39070,49 +39176,49 @@ var appointmentSetupServiceDraftSchema = z68.object({
39070
39176
  });
39071
39177
  }
39072
39178
  });
39073
- var appointmentSetupPractitionerDraftSchema = z68.object({
39179
+ var appointmentSetupPractitionerDraftSchema = z66.object({
39074
39180
  ref: appointmentSetupRefSchema,
39075
- displayName: z68.string().trim().min(1),
39076
- bio: z68.string().nullable(),
39077
- timezone: z68.string().trim().min(1),
39078
- colorHex: z68.string().nullable()
39079
- });
39080
- var appointmentSetupWeeklyWindowDraftSchema = z68.object({
39081
- weekday: z68.number().int().min(0).max(6),
39082
- startTime: z68.string(),
39083
- endTime: z68.string()
39084
- });
39085
- var appointmentSetupStartTimePolicyDraftSchema = z68.discriminatedUnion("kind", [
39086
- z68.object({ kind: z68.literal("automatic_spacing") }),
39087
- z68.object({
39088
- kind: z68.literal("regular_interval"),
39089
- intervalMinutes: z68.union([
39090
- z68.literal(10),
39091
- z68.literal(15),
39092
- z68.literal(20),
39093
- z68.literal(30),
39094
- z68.literal(45),
39095
- z68.literal(60)
39181
+ displayName: z66.string().trim().min(1),
39182
+ bio: z66.string().nullable(),
39183
+ timezone: z66.string().trim().min(1),
39184
+ colorHex: z66.string().nullable()
39185
+ });
39186
+ var appointmentSetupWeeklyWindowDraftSchema = z66.object({
39187
+ weekday: z66.number().int().min(0).max(6),
39188
+ startTime: z66.string(),
39189
+ endTime: z66.string()
39190
+ });
39191
+ var appointmentSetupStartTimePolicyDraftSchema = z66.discriminatedUnion("kind", [
39192
+ z66.object({ kind: z66.literal("automatic_spacing") }),
39193
+ z66.object({
39194
+ kind: z66.literal("regular_interval"),
39195
+ intervalMinutes: z66.union([
39196
+ z66.literal(10),
39197
+ z66.literal(15),
39198
+ z66.literal(20),
39199
+ z66.literal(30),
39200
+ z66.literal(45),
39201
+ z66.literal(60)
39096
39202
  ])
39097
39203
  })
39098
39204
  ]);
39099
- var appointmentSetupAvailabilityDraftSchema = z68.object({
39100
- kind: z68.literal("weekly_windows"),
39205
+ var appointmentSetupAvailabilityDraftSchema = z66.object({
39206
+ kind: z66.literal("weekly_windows"),
39101
39207
  resourceRef: appointmentSetupRefSchema,
39102
39208
  serviceRef: appointmentSetupRefSchema.nullable(),
39103
- windows: z68.array(appointmentSetupWeeklyWindowDraftSchema),
39209
+ windows: z66.array(appointmentSetupWeeklyWindowDraftSchema),
39104
39210
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
39105
39211
  });
39106
39212
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
39107
39213
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
39108
- var appointmentSetupBookingNoticeSchema = z68.object({
39109
- minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39110
- maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39111
- });
39112
- var applyAppointmentSetupRequestSchema = z68.object({
39113
- services: z68.array(appointmentSetupServiceDraftSchema),
39114
- practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
39115
- availability: z68.array(appointmentSetupAvailabilityDraftSchema),
39214
+ var appointmentSetupBookingNoticeSchema = z66.object({
39215
+ minLeadMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39216
+ maxBookingNoticeMinutes: z66.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39217
+ });
39218
+ var applyAppointmentSetupRequestSchema = z66.object({
39219
+ services: z66.array(appointmentSetupServiceDraftSchema),
39220
+ practitioners: z66.array(appointmentSetupPractitionerDraftSchema),
39221
+ availability: z66.array(appointmentSetupAvailabilityDraftSchema),
39116
39222
  bookingNotice: appointmentSetupBookingNoticeSchema
39117
39223
  });
39118
39224
 
@@ -39145,24 +39251,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
39145
39251
  ];
39146
39252
 
39147
39253
  // ../api/src/siteBanner.ts
39148
- import { z as z69 } from "zod";
39254
+ import { z as z67 } from "zod";
39149
39255
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
39150
39256
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
39151
39257
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
39152
39258
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
39153
- var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
39154
- var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
39155
- var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
39156
- var siteBannerCtaSchema = z69.object({
39157
- label: z69.string().trim().min(1),
39259
+ var siteBannerScopeSchema = z67.enum(SITE_BANNER_SCOPE_VALUES);
39260
+ var siteBannerToneSchema = z67.enum(SITE_BANNER_TONE_VALUES);
39261
+ var siteBannerBodySchema = z67.unknown().transform(unwrapRichTextValue);
39262
+ var siteBannerCtaSchema = z67.object({
39263
+ label: z67.string().trim().min(1),
39158
39264
  link: linkPayloadSchema
39159
39265
  });
39160
- var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
39161
- z69.object({
39162
- enabled: z69.literal(false)
39266
+ var siteBannerSettingsSchema = z67.discriminatedUnion("enabled", [
39267
+ z67.object({
39268
+ enabled: z67.literal(false)
39163
39269
  }),
39164
- z69.object({
39165
- enabled: z69.literal(true),
39270
+ z67.object({
39271
+ enabled: z67.literal(true),
39166
39272
  scope: siteBannerScopeSchema,
39167
39273
  tone: siteBannerToneSchema,
39168
39274
  body: siteBannerBodySchema,
@@ -39176,7 +39282,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
39176
39282
  const analysis = analyzeSiteBannerBody(value.body);
39177
39283
  for (const issue of analysis.issues) {
39178
39284
  ctx.addIssue({
39179
- code: z69.ZodIssueCode.custom,
39285
+ code: z67.ZodIssueCode.custom,
39180
39286
  path: ["body"],
39181
39287
  message: siteBannerBodyIssueMessage(issue)
39182
39288
  });
@@ -39309,7 +39415,7 @@ function sanitizeMarks(marks) {
39309
39415
  if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
39310
39416
  return [{ type: mark.type }];
39311
39417
  }
39312
- if (mark.type === "link" && isRecord8(mark.attrs) && typeof mark.attrs.href === "string") {
39418
+ if (mark.type === "link" && isRecord9(mark.attrs) && typeof mark.attrs.href === "string") {
39313
39419
  const attrs = { href: mark.attrs.href };
39314
39420
  if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
39315
39421
  attrs.target = mark.attrs.target;
@@ -39324,10 +39430,10 @@ function sanitizeMarks(marks) {
39324
39430
  return sanitized.length > 0 ? sanitized : void 0;
39325
39431
  }
39326
39432
  function unwrapRichTextValue(value) {
39327
- if (isRecord8(value) && isRecord8(value.doc)) {
39433
+ if (isRecord9(value) && isRecord9(value.doc)) {
39328
39434
  return unwrapRichTextValue(value.doc);
39329
39435
  }
39330
- if (isRecord8(value) && value.type === "doc") {
39436
+ if (isRecord9(value) && value.type === "doc") {
39331
39437
  return {
39332
39438
  type: "doc",
39333
39439
  content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
@@ -39336,7 +39442,7 @@ function unwrapRichTextValue(value) {
39336
39442
  return EMPTY_SITE_BANNER_BODY;
39337
39443
  }
39338
39444
  function isTipTapNodeLike(value) {
39339
- return isRecord8(value) && typeof value.type === "string";
39445
+ return isRecord9(value) && typeof value.type === "string";
39340
39446
  }
39341
39447
  function coerceTipTapNode(value) {
39342
39448
  return {
@@ -39344,9 +39450,9 @@ function coerceTipTapNode(value) {
39344
39450
  ...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
39345
39451
  ...typeof value.text === "string" ? { text: value.text } : {},
39346
39452
  ...Array.isArray(value.marks) ? {
39347
- marks: value.marks.filter((mark) => isRecord8(mark) && typeof mark.type === "string").map((mark) => ({
39453
+ marks: value.marks.filter((mark) => isRecord9(mark) && typeof mark.type === "string").map((mark) => ({
39348
39454
  type: mark.type,
39349
- ...isRecord8(mark.attrs) ? { attrs: mark.attrs } : {}
39455
+ ...isRecord9(mark.attrs) ? { attrs: mark.attrs } : {}
39350
39456
  }))
39351
39457
  } : {}
39352
39458
  };
@@ -39438,71 +39544,71 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
39438
39544
  var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
39439
39545
 
39440
39546
  // ../api/src/aiPlayground.ts
39441
- import { z as z70 } from "zod";
39442
- var Rfc6902PatchOp = z70.discriminatedUnion("op", [
39547
+ import { z as z68 } from "zod";
39548
+ var Rfc6902PatchOp = z68.discriminatedUnion("op", [
39443
39549
  // Standard RFC-6902 operations
39444
- z70.object({
39445
- op: z70.literal("add"),
39446
- path: z70.string(),
39447
- value: z70.unknown()
39550
+ z68.object({
39551
+ op: z68.literal("add"),
39552
+ path: z68.string(),
39553
+ value: z68.unknown()
39448
39554
  }),
39449
- z70.object({
39450
- op: z70.literal("remove"),
39451
- path: z70.string()
39555
+ z68.object({
39556
+ op: z68.literal("remove"),
39557
+ path: z68.string()
39452
39558
  }),
39453
- z70.object({
39454
- op: z70.literal("replace"),
39455
- path: z70.string(),
39456
- value: z70.unknown()
39559
+ z68.object({
39560
+ op: z68.literal("replace"),
39561
+ path: z68.string(),
39562
+ value: z68.unknown()
39457
39563
  }),
39458
- z70.object({
39459
- op: z70.literal("move"),
39460
- from: z70.string(),
39461
- path: z70.string()
39564
+ z68.object({
39565
+ op: z68.literal("move"),
39566
+ from: z68.string(),
39567
+ path: z68.string()
39462
39568
  }),
39463
- z70.object({
39464
- op: z70.literal("copy"),
39465
- from: z70.string(),
39466
- path: z70.string()
39569
+ z68.object({
39570
+ op: z68.literal("copy"),
39571
+ from: z68.string(),
39572
+ path: z68.string()
39467
39573
  }),
39468
39574
  // Block-level operations (Phase 2)
39469
- z70.object({
39470
- op: z70.literal("add_block"),
39471
- blockKind: z70.string(),
39472
- afterBlockId: z70.string().nullable(),
39473
- content: z70.record(z70.string(), z70.unknown()),
39474
- rationale: z70.string()
39575
+ z68.object({
39576
+ op: z68.literal("add_block"),
39577
+ blockKind: z68.string(),
39578
+ afterBlockId: z68.string().nullable(),
39579
+ content: z68.record(z68.string(), z68.unknown()),
39580
+ rationale: z68.string()
39475
39581
  }),
39476
- z70.object({
39477
- op: z70.literal("delete_block"),
39478
- blockId: z70.string(),
39479
- rationale: z70.string()
39582
+ z68.object({
39583
+ op: z68.literal("delete_block"),
39584
+ blockId: z68.string(),
39585
+ rationale: z68.string()
39480
39586
  }),
39481
- z70.object({
39482
- op: z70.literal("reorder_block"),
39483
- blockId: z70.string(),
39484
- afterBlockId: z70.string().nullable(),
39485
- rationale: z70.string()
39587
+ z68.object({
39588
+ op: z68.literal("reorder_block"),
39589
+ blockId: z68.string(),
39590
+ afterBlockId: z68.string().nullable(),
39591
+ rationale: z68.string()
39486
39592
  })
39487
39593
  ]);
39488
- var PlaygroundProposeRequest = z70.object({
39489
- request: z70.string().min(1).max(2e3)
39594
+ var PlaygroundProposeRequest = z68.object({
39595
+ request: z68.string().min(1).max(2e3)
39490
39596
  });
39491
- var MultiPagePatchEnvelope = z70.object({
39492
- pageId: z70.string(),
39493
- blockId: z70.string().optional(),
39597
+ var MultiPagePatchEnvelope = z68.object({
39598
+ pageId: z68.string(),
39599
+ blockId: z68.string().optional(),
39494
39600
  // Not present for page-level ops
39495
- blockKind: z70.string().optional(),
39496
- blockPurpose: z70.string().optional().nullable(),
39497
- ops: z70.array(Rfc6902PatchOp),
39498
- rationale: z70.string(),
39499
- currentContent: z70.record(z70.string(), z70.unknown()).optional()
39601
+ blockKind: z68.string().optional(),
39602
+ blockPurpose: z68.string().optional().nullable(),
39603
+ ops: z68.array(Rfc6902PatchOp),
39604
+ rationale: z68.string(),
39605
+ currentContent: z68.record(z68.string(), z68.unknown()).optional()
39500
39606
  });
39501
- var MultiPageUpdateResponse = z70.object({
39502
- patches: z70.array(MultiPagePatchEnvelope),
39503
- assistantMessage: z70.string(),
39504
- pagesModified: z70.number(),
39505
- toolCallsUsed: z70.number()
39607
+ var MultiPageUpdateResponse = z68.object({
39608
+ patches: z68.array(MultiPagePatchEnvelope),
39609
+ assistantMessage: z68.string(),
39610
+ pagesModified: z68.number(),
39611
+ toolCallsUsed: z68.number()
39506
39612
  });
39507
39613
 
39508
39614
  // src/data/prefetchBlockData.ts
@@ -39516,7 +39622,7 @@ var ENTRY_REF_KEYS = [
39516
39622
  "entryId",
39517
39623
  "slug"
39518
39624
  ];
39519
- function isRecord9(value) {
39625
+ function isRecord10(value) {
39520
39626
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
39521
39627
  }
39522
39628
  function extractManualEntryRef(item) {
@@ -39524,7 +39630,7 @@ function extractManualEntryRef(item) {
39524
39630
  const trimmed = item.trim();
39525
39631
  return trimmed.length > 0 ? trimmed : null;
39526
39632
  }
39527
- if (!isRecord9(item)) return null;
39633
+ if (!isRecord10(item)) return null;
39528
39634
  for (const key of ENTRY_REF_KEYS) {
39529
39635
  const raw = item[key];
39530
39636
  if (typeof raw === "string" && raw.trim().length > 0) {