@riverbankcms/sdk 0.89.1 → 0.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +27 -4
  2. package/dist/{PreviewEditorSidebar-JDR64FEC.mjs → PreviewEditorSidebar-KVXNF3VW.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-67TMJMAF.mjs → PreviewEditorUI-J3JN5Z7T.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +216 -0
  6. package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
  7. package/dist/_dts/api/src/bookingOperations.d.ts +2 -0
  8. package/dist/_dts/api/src/bookingRecords.d.ts +4 -2
  9. package/dist/_dts/api/src/bookings.d.ts +3 -1
  10. package/dist/_dts/api/src/index.d.ts +6 -5
  11. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -5
  12. package/dist/_dts/api/src/request.d.ts +21 -0
  13. package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
  14. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  15. package/dist/_dts/api/src/types.d.ts +3 -1
  16. package/dist/_dts/api/src/url.d.ts +6 -3
  17. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +1 -0
  18. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +5 -1
  19. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +9 -1
  20. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +1 -0
  21. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +7 -11
  22. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -0
  23. package/dist/_dts/blocks/src/index.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -6
  25. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -4
  26. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
  27. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +3 -3
  28. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +8 -0
  29. package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -1
  30. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +3 -1
  31. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +17 -5
  33. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -6
  34. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
  35. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +2 -2
  36. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -17
  37. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -9
  38. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -9
  39. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -1
  40. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +5 -0
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +4 -4
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +50 -0
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  47. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +11 -1
  48. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -1
  49. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/calendarViewOptions.d.ts +10 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +24 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +5 -2
  53. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +2 -2
  54. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  55. package/dist/_dts/content-model/src/entry-slots/sdkBlocks.d.ts +21 -0
  56. package/dist/_dts/content-model/src/entry-slots/types.d.ts +7 -0
  57. package/dist/_dts/core/src/money-input.d.ts +18 -0
  58. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -0
  59. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  60. package/dist/_dts/media-editor/src/fieldUi.d.ts +6 -0
  61. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  62. package/dist/_dts/preview-next/src/client/index.d.ts +1 -0
  63. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -2
  64. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -2
  65. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +3 -2
  66. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +2 -2
  67. package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +6 -0
  68. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -1
  69. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +10 -0
  70. package/dist/_dts/sdk/src/cli/content/reader.d.ts +12 -5
  71. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -55
  72. package/dist/_dts/sdk/src/components.d.ts +1 -0
  73. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  74. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -1
  75. package/dist/_dts/sdk/src/next/types.d.ts +8 -11
  76. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
  77. package/dist/_dts/sdk/src/rendering/blocks-theme-scope.d.ts +2 -1
  78. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +8 -7
  79. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -6
  80. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  81. package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
  82. package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +26 -0
  83. package/dist/_dts/sdk/src/version.d.ts +1 -1
  84. package/dist/_dts/site-commands/src/commands.d.ts +18 -0
  85. package/dist/_dts/theme-core/src/ResponsiveScope.d.ts +12 -0
  86. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  87. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
  88. package/dist/_dts/theme-core/src/buttons/types.d.ts +5 -5
  89. package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
  90. package/dist/_dts/theme-core/src/index.d.ts +2 -0
  91. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -21
  92. package/dist/_dts/theme-core/src/schema.d.ts +18 -18
  93. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  94. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  95. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  96. package/dist/_dts/theme-core/src/themeRuntime.d.ts +11 -0
  97. package/dist/{chunk-HKJQERFR.mjs → chunk-AEOYWPE4.mjs} +91 -55
  98. package/dist/{chunk-F645A5UV.mjs → chunk-BOQXMCSP.mjs} +129 -101
  99. package/dist/{chunk-ZQRBLCW5.mjs → chunk-GSPFFUVB.mjs} +2 -2
  100. package/dist/{chunk-7YUAXONX.mjs → chunk-PMBB6MQ7.mjs} +1280 -774
  101. package/dist/{chunk-TGBJWKMP.mjs → chunk-RQ3XZ4SJ.mjs} +9 -1
  102. package/dist/{chunk-7N46MZHI.mjs → chunk-UG7I7S7W.mjs} +1 -1
  103. package/dist/cli/index.mjs +899 -531
  104. package/dist/cli/init-docs/content/cli-reference.md +6 -1
  105. package/dist/cli/init-docs/content/content-management.md +27 -0
  106. package/dist/client/{accordion-MUCVNGQ7.mjs → accordion-GXQNWQ6O.mjs} +1 -1
  107. package/dist/client/{bookingForm-PKD6EFIE.mjs → bookingForm-STLUJ36H.mjs} +25 -270
  108. package/dist/client/bookings.mjs +432 -269
  109. package/dist/client/{carousel-3TKQSNJC.mjs → carousel-CVRN6EPP.mjs} +1 -1
  110. package/dist/client/{cart-6XHSZK23.mjs → cart-IYIBA5CL.mjs} +5 -6
  111. package/dist/client/{checkout-FVSPM6FI.mjs → checkout-O3BGM4GS.mjs} +5 -6
  112. package/dist/client/chunk-4RTFGHZN.mjs +433 -0
  113. package/dist/client/{chunk-UQFY4AHX.mjs → chunk-6DPXDOIL.mjs} +65 -28
  114. package/dist/client/{chunk-ZT5XE7FK.mjs → chunk-D3ETC2SU.mjs} +1 -1
  115. package/dist/client/{chunk-CQKKFEQD.mjs → chunk-DAS5CIER.mjs} +274 -105
  116. package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
  117. package/dist/client/{chunk-ZJZZA5EP.mjs → chunk-MFPKS6QS.mjs} +11 -14
  118. package/dist/client/{chunk-EY42X22F.mjs → chunk-NBFRJ5NB.mjs} +156 -4
  119. package/dist/client/{chunk-VGLXACVK.mjs → chunk-VFHZLZAC.mjs} +1 -1
  120. package/dist/client/{chunk-STJ2NCQM.mjs → chunk-WHZQDPBZ.mjs} +19 -1
  121. package/dist/client/{chunk-RSQWWUAD.mjs → chunk-Z62JYS5O.mjs} +3 -3
  122. package/dist/client/client.mjs +3292 -2827
  123. package/dist/client/{courseRegistration-ATZSYDHM.mjs → courseRegistration-2D3ACMJR.mjs} +18 -56
  124. package/dist/client/{eventCalendar-6T2UGKKP.mjs → eventCalendar-QY4UZUFF.mjs} +8 -9
  125. package/dist/client/{eventCombined-Q4VANXVF.mjs → eventCombined-RRCDKJC2.mjs} +8 -9
  126. package/dist/client/{eventDetails-DW37E7VW.mjs → eventDetails-YO335BUT.mjs} +8 -9
  127. package/dist/client/{eventListing-XURTSAUW.mjs → eventListing-PXA6GFQ3.mjs} +8 -9
  128. package/dist/client/{eventRegistration-MRKEVAXW.mjs → eventRegistration-2ZHEDDXO.mjs} +8 -9
  129. package/dist/client/{form-WZZFFGMU.mjs → form-ZS6KX4U2.mjs} +6 -6
  130. package/dist/client/{headerSection-EQYVQBLM.mjs → headerSection-QK5SLIIB.mjs} +2 -2
  131. package/dist/client/hooks.mjs +1084 -1029
  132. package/dist/client/{locationMap-MFF5VAZR.mjs → locationMap-GFNIUD2X.mjs} +2 -2
  133. package/dist/client/{newsletterForm-JQ77UYIE.mjs → newsletterForm-PGLTTCUG.mjs} +4 -4
  134. package/dist/client/{productDetail-25LMT3IZ.mjs → productDetail-OPBE5ZPI.mjs} +5 -6
  135. package/dist/client/{productList-5ABEMKUG.mjs → productList-NI72Q62Z.mjs} +5 -6
  136. package/dist/client/rendering/client.mjs +2692 -2285
  137. package/dist/client/rendering/islands.mjs +18 -18
  138. package/dist/client/rendering.mjs +2611 -2156
  139. package/dist/client/{shop-OMMQZ6YO.mjs → shop-3ZQPEWYI.mjs} +5 -6
  140. package/dist/client/spam-protection.mjs +4 -5
  141. package/dist/preview-next/before-render.mjs +2 -2
  142. package/dist/preview-next/client/runtime.mjs +5 -5
  143. package/dist/{sdk-runtime-WNLBZ3ZH.mjs → sdk-runtime-FSHXCWDS.mjs} +6 -6
  144. package/dist/server/components.mjs +1722 -1453
  145. package/dist/server/config-validation.mjs +1316 -1261
  146. package/dist/server/config.mjs +1316 -1261
  147. package/dist/server/data.mjs +1084 -1029
  148. package/dist/server/index.mjs +135 -100
  149. package/dist/server/navigation.mjs +20 -30
  150. package/dist/server/next.mjs +1782 -1500
  151. package/dist/server/page-converter.mjs +1009 -946
  152. package/dist/server/prebuild.mjs +1 -1
  153. package/dist/server/rendering/server.mjs +1722 -1453
  154. package/dist/server/rendering.mjs +1728 -1459
  155. package/dist/server/routing.mjs +1127 -1045
  156. package/dist/server/server.mjs +1219 -1129
  157. package/dist/server/theme-bridge.mjs +8 -5
  158. package/package.json +2 -2
  159. package/dist/SdkPreviewModeRuntime-ZBEMRV7N.mjs +0 -8
  160. package/dist/client/chunk-LQFDYWPJ.mjs +0 -184
  161. package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
@@ -579,12 +579,17 @@ var visibleWhenPredicateSchema = z2.object({
579
579
  minItems: z2.number().int().nonnegative().optional(),
580
580
  maxItems: z2.number().int().nonnegative().optional()
581
581
  });
582
- var visibleWhenSchema = z2.union([
583
- visibleWhenPredicateSchema,
584
- z2.object({
585
- allOf: z2.array(visibleWhenPredicateSchema).min(1)
586
- })
587
- ]);
582
+ var visibleWhenSchema = z2.lazy(
583
+ () => z2.union([
584
+ visibleWhenPredicateSchema,
585
+ z2.object({
586
+ allOf: z2.array(visibleWhenSchema).min(1)
587
+ }),
588
+ z2.object({
589
+ anyOf: z2.array(visibleWhenSchema).min(1)
590
+ })
591
+ ])
592
+ );
588
593
  var uiSchema = z2.object({
589
594
  widget: z2.string().optional(),
590
595
  // Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
@@ -12746,9 +12751,6 @@ var heroCopyFragment = defineFragment({
12746
12751
  maxLength: 600
12747
12752
  }
12748
12753
  ],
12749
- // Layout order is [eyebrow, headline, subheadline]. The hero block's
12750
- // `splitEditorial` variant reads these nodes by index; keep the order stable
12751
- // (it fails fast at import if the count changes).
12752
12754
  layout: [
12753
12755
  text(
12754
12756
  {
@@ -14986,32 +14988,6 @@ var splitReverseLayout = splitLayoutWith([
14986
14988
  splitContentColumn,
14987
14989
  splitImageColumn
14988
14990
  ]);
14989
- var heroEyebrowNode = heroCopyFragment.layout[0];
14990
- var heroHeadlineNode = heroCopyFragment.layout[1];
14991
- var heroSubheadlineNode = heroCopyFragment.layout[2];
14992
- var heroCtaRowNode = heroCtaRowFragment.layout[0];
14993
- if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
14994
- throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
14995
- }
14996
- var heroEditorialBottomRow = inline(
14997
- {
14998
- gap: "lg",
14999
- align: "end",
15000
- justify: "start",
15001
- wrap: true,
15002
- className: "rb-w-full"
15003
- },
15004
- [heroSubheadlineNode, heroCtaRowNode]
15005
- );
15006
- var splitEditorialContentColumn = heroContentWrapper(
15007
- [heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
15008
- "md",
15009
- "rb-w-full rb-text-left"
15010
- );
15011
- var splitEditorialLayout = splitLayoutWith([
15012
- splitEditorialContentColumn,
15013
- splitImageColumn
15014
- ]);
15015
14991
  var heroConfig = {
15016
14992
  id: "block.hero",
15017
14993
  title: "Hero",
@@ -15035,7 +15011,8 @@ var heroConfig = {
15035
15011
  id: "imageShape",
15036
15012
  label: "Image shape",
15037
15013
  defaultValue: "default",
15038
- uiIntent: "display"
15014
+ uiIntent: "display",
15015
+ visibleWhen: { field: "variant", oneOf: ["split", "splitReverse"] }
15039
15016
  })
15040
15017
  ],
15041
15018
  layout: classicLayout,
@@ -15043,8 +15020,7 @@ var heroConfig = {
15043
15020
  classic: classicLayout,
15044
15021
  micro: microLayout,
15045
15022
  split: splitLayout,
15046
- splitReverse: splitReverseLayout,
15047
- splitEditorial: splitEditorialLayout
15023
+ splitReverse: splitReverseLayout
15048
15024
  },
15049
15025
  defaultVariant: "classic",
15050
15026
  description: "Hero section with headline, subtitle, and repeatable CTAs.",
@@ -19049,9 +19025,6 @@ var appointmentBookingBlockDefinition = {
19049
19025
  }
19050
19026
  };
19051
19027
 
19052
- // ../blocks/src/system/blocks/event-registration.ts
19053
- import { z as z40 } from "zod";
19054
-
19055
19028
  // ../blocks/src/system/blocks/events/shared/schemas.ts
19056
19029
  import { z as z36 } from "zod";
19057
19030
 
@@ -19713,24 +19686,57 @@ function normalizeEventStaffMemberId(value) {
19713
19686
  return trimmed ? trimmed : null;
19714
19687
  }
19715
19688
 
19716
- // ../blocks/src/system/blocks/event-registration.shared.ts
19689
+ // ../blocks/src/system/blocks/shop.shared.ts
19717
19690
  import { z as z37 } from "zod";
19718
- var occurrenceContextSchema = z37.object({
19691
+ var publicPassProductSchema = z37.object({
19719
19692
  id: z37.string(),
19720
- seriesId: z37.string(),
19721
- startsAt: z37.string(),
19722
- endsAt: z37.string(),
19723
- timeZone: z37.string(),
19724
- capacityOverride: z37.number().nullable().optional(),
19725
- overrides: z37.record(z37.string(), z37.unknown()).nullable().optional()
19693
+ productUseCase: z37.enum(["event_pass", "appointment_package"]).default("event_pass"),
19694
+ name: z37.string(),
19695
+ description: z37.string().nullable(),
19696
+ price: z37.number(),
19697
+ currency: z37.string(),
19698
+ creditsTotal: z37.number(),
19699
+ pricePerCredit: z37.number(),
19700
+ validDays: z37.number().nullable(),
19701
+ eligibleCategoryIds: z37.array(z37.string()),
19702
+ eligibleCategoryNames: z37.array(z37.string())
19703
+ });
19704
+ var publicPassProductCollectionSchema = z37.object({
19705
+ passes: z37.array(publicPassProductSchema)
19706
+ });
19707
+ var publicMembershipProductSchema = z37.object({
19708
+ id: z37.string(),
19709
+ name: z37.string(),
19710
+ description: z37.string().nullable(),
19711
+ price: z37.number(),
19712
+ currency: z37.string(),
19713
+ billingInterval: z37.enum(["month", "year"]),
19714
+ eligibleCategoryIds: z37.array(z37.string()),
19715
+ eligibleCategoryNames: z37.array(z37.string())
19716
+ });
19717
+ var publicMembershipProductCollectionSchema = z37.object({
19718
+ memberships: z37.array(publicMembershipProductSchema)
19719
+ });
19720
+
19721
+ // ../blocks/src/system/blocks/event-registration.shared.ts
19722
+ import { z as z38 } from "zod";
19723
+ var occurrenceContextSchema = z38.object({
19724
+ id: z38.string(),
19725
+ seriesId: z38.string(),
19726
+ startsAt: z38.string(),
19727
+ endsAt: z38.string(),
19728
+ timeZone: z38.string(),
19729
+ capacityOverride: z38.number().nullable().optional(),
19730
+ overrides: z38.record(z38.string(), z38.unknown()).nullable().optional()
19726
19731
  }).nullable();
19727
19732
 
19728
19733
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
19729
- import { z as z39 } from "zod";
19734
+ import { z as z40 } from "zod";
19730
19735
 
19731
19736
  // ../blocks/src/system/constants/events.ts
19732
19737
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
19733
- var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
19738
+ var eventCalendarDisplayModeValues = ["combined", "calendar", "list", "timetable"];
19739
+ var eventCalendarDefaultViewValues = ["month", "week"];
19734
19740
  var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
19735
19741
  var eventCalendarListLayoutOptions = [
19736
19742
  { id: "stack", label: "Stack" },
@@ -19740,6 +19746,9 @@ var eventCalendarListLayoutOptions = [
19740
19746
  function isEventCalendarDisplayMode(value) {
19741
19747
  return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
19742
19748
  }
19749
+ function isEventCalendarDefaultView(value) {
19750
+ return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
19751
+ }
19743
19752
  function isEventCalendarListLayout(value) {
19744
19753
  return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
19745
19754
  }
@@ -19880,16 +19889,17 @@ function readAmount(value) {
19880
19889
  }
19881
19890
 
19882
19891
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
19883
- import { z as z38 } from "zod";
19884
- var previewStageSchema = z38.enum(["preview", "published"]);
19885
- var registrationButtonVariantSchema = z38.enum(["primary", "secondary", "outline"]);
19886
- var eventButtonVariantSchema = z38.enum(["primary", "secondary", "outline", "link"]);
19887
- var eventLayoutSchema = z38.enum(eventCalendarListLayoutValues);
19888
- var eventCalendarDisplayModeSchema = z38.enum(eventCalendarDisplayModeValues);
19889
- var columnOptionSchema = z38.enum(["2", "3", "4"]);
19890
- var weekStartSchema = z38.enum(["sunday", "monday"]);
19891
- var filterAutoShowSchema = z38.enum(["auto", "always", "never"]);
19892
- var calendarTabViewsSchema = z38.enum(["both", "month", "week"]);
19892
+ import { z as z39 } from "zod";
19893
+ var previewStageSchema = z39.enum(["preview", "published"]);
19894
+ var registrationButtonVariantSchema = z39.enum(["primary", "secondary", "outline"]);
19895
+ var eventButtonVariantSchema = z39.enum(["primary", "secondary", "outline", "link"]);
19896
+ var eventLayoutSchema = z39.enum(eventCalendarListLayoutValues);
19897
+ var eventCalendarDisplayModeSchema = z39.enum(eventCalendarDisplayModeValues);
19898
+ var eventCalendarDefaultViewSchema = z39.enum(eventCalendarDefaultViewValues);
19899
+ var columnOptionSchema = z39.enum(["2", "3", "4"]);
19900
+ var weekStartSchema = z39.enum(["sunday", "monday"]);
19901
+ var filterAutoShowSchema = z39.enum(["auto", "always", "never"]);
19902
+ var calendarTabViewsSchema = z39.enum(["both", "month", "week"]);
19893
19903
 
19894
19904
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
19895
19905
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -19907,7 +19917,7 @@ function eventMatchesOccurrenceId(event, occurrenceId) {
19907
19917
  function findPreSelectedEvent(input) {
19908
19918
  const occurrenceContext = input.occurrenceContext;
19909
19919
  if (!occurrenceContext) {
19910
- return null;
19920
+ return input.scopedEvents.length === 1 ? input.scopedEvents[0] ?? null : null;
19911
19921
  }
19912
19922
  const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
19913
19923
  startsAt: occurrenceContext.startsAt,
@@ -19949,68 +19959,72 @@ function toRegistrationEvents(events) {
19949
19959
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
19950
19960
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
19951
19961
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
19952
- var contentEntrySchema = z39.object({
19953
- id: z39.string(),
19954
- slug: z39.string(),
19955
- contentTypeSlug: z39.string()
19962
+ var contentEntrySchema = z40.object({
19963
+ id: z40.string(),
19964
+ slug: z40.string(),
19965
+ contentTypeSlug: z40.string()
19956
19966
  });
19957
- var eventRegistrationPublicEventSchema = z39.preprocess(
19967
+ var eventRegistrationPublicEventSchema = z40.preprocess(
19958
19968
  normalizeEventRegistrationEventInput,
19959
19969
  publicEventSchema
19960
19970
  );
19961
- var eventRegistrationSourceSchema = z39.object({
19962
- siteId: z39.string().optional(),
19963
- apiBaseUrl: z39.string().optional(),
19964
- portalToken: z39.string().nullable().optional(),
19965
- previewToken: z39.string().nullable().optional(),
19971
+ var eventRegistrationSourceSchema = z40.object({
19972
+ siteId: z40.string().optional(),
19973
+ apiBaseUrl: z40.string().optional(),
19974
+ portalToken: z40.string().nullable().optional(),
19975
+ previewToken: z40.string().nullable().optional(),
19966
19976
  occurrenceContext: occurrenceContextSchema.optional(),
19967
19977
  contentEntry: contentEntrySchema.nullable().optional(),
19968
- events: z39.array(eventRegistrationPublicEventSchema).nullable().optional(),
19969
- className: z39.string().nullable().optional(),
19970
- buttonText: z39.string().nullable().optional(),
19971
- maxTickets: z39.string().nullable().optional(),
19972
- showVenue: z39.boolean().optional(),
19973
- showCapacity: z39.boolean().optional(),
19974
- successMessage: z39.string().optional(),
19975
- waitlistMessage: z39.string().optional(),
19978
+ events: z40.array(eventRegistrationPublicEventSchema).nullable().optional(),
19979
+ className: z40.string().nullable().optional(),
19980
+ buttonText: z40.string().nullable().optional(),
19981
+ maxTickets: z40.string().nullable().optional(),
19982
+ showVenue: z40.boolean().optional(),
19983
+ showCapacity: z40.boolean().optional(),
19984
+ successMessage: z40.string().optional(),
19985
+ waitlistMessage: z40.string().optional(),
19976
19986
  buttonVariant: registrationButtonVariantSchema.optional(),
19977
- overlayEnabled: z39.boolean().optional(),
19978
- spamProtectionEnabled: z39.boolean().optional(),
19987
+ overlayEnabled: z40.boolean().optional(),
19988
+ spamProtectionEnabled: z40.boolean().optional(),
19979
19989
  stage: previewStageSchema.optional(),
19980
- supportEmail: z39.string().optional()
19981
- });
19982
- var eventRegistrationDisplaySchema = z39.object({
19983
- kind: z39.literal("event-registration"),
19984
- state: z39.literal("generic-shell"),
19985
- className: z39.string().nullable(),
19986
- titleText: z39.string(),
19987
- bodyText: z39.string(),
19988
- stepLabels: z39.array(z39.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
19989
- summaryButtonText: z39.string()
19990
- });
19991
- var eventRegistrationHydrationSchema = z39.object({
19990
+ supportEmail: z40.string().optional(),
19991
+ sitePasses: publicPassProductCollectionSchema.nullable().optional(),
19992
+ siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
19993
+ });
19994
+ var eventRegistrationDisplaySchema = z40.object({
19995
+ kind: z40.literal("event-registration"),
19996
+ state: z40.literal("generic-shell"),
19997
+ className: z40.string().nullable(),
19998
+ titleText: z40.string(),
19999
+ bodyText: z40.string(),
20000
+ stepLabels: z40.array(z40.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
20001
+ summaryButtonText: z40.string()
20002
+ });
20003
+ var eventRegistrationHydrationSchema = z40.object({
19992
20004
  occurrenceContext: occurrenceContextSchema.optional(),
19993
20005
  contentEntry: contentEntrySchema.nullable().optional(),
19994
- events: z39.array(eventRegistrationPublicEventSchema).nullable().optional(),
19995
- maxTickets: z39.string().optional(),
19996
- showVenue: z39.boolean().optional(),
19997
- showCapacity: z39.boolean().optional(),
19998
- successMessage: z39.string().optional(),
19999
- waitlistMessage: z39.string().optional(),
20006
+ events: z40.array(eventRegistrationPublicEventSchema).nullable().optional(),
20007
+ maxTickets: z40.string().optional(),
20008
+ showVenue: z40.boolean().optional(),
20009
+ showCapacity: z40.boolean().optional(),
20010
+ successMessage: z40.string().optional(),
20011
+ waitlistMessage: z40.string().optional(),
20000
20012
  buttonVariant: registrationButtonVariantSchema.optional(),
20001
- overlayEnabled: z39.boolean().optional(),
20002
- spamProtectionEnabled: z39.boolean().optional(),
20003
- supportEmail: z39.string().optional()
20013
+ overlayEnabled: z40.boolean().optional(),
20014
+ spamProtectionEnabled: z40.boolean().optional(),
20015
+ supportEmail: z40.string().optional(),
20016
+ sitePasses: publicPassProductCollectionSchema.nullable().optional(),
20017
+ siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
20004
20018
  });
20005
- var eventRegistrationRenderSchema = z39.object({
20019
+ var eventRegistrationRenderSchema = z40.object({
20006
20020
  display: eventRegistrationDisplaySchema,
20007
20021
  hydration: eventRegistrationHydrationSchema
20008
20022
  });
20009
- var eventRegistrationIslandMetaCodec = createZodCodec(z39.object({
20010
- siteId: z39.string().optional(),
20011
- apiBaseUrl: z39.string().optional(),
20012
- portalToken: z39.string().nullable().optional(),
20013
- previewToken: z39.string().nullable().optional(),
20023
+ var eventRegistrationIslandMetaCodec = createZodCodec(z40.object({
20024
+ siteId: z40.string().optional(),
20025
+ apiBaseUrl: z40.string().optional(),
20026
+ portalToken: z40.string().nullable().optional(),
20027
+ previewToken: z40.string().nullable().optional(),
20014
20028
  stage: previewStageSchema.optional()
20015
20029
  }));
20016
20030
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -20116,7 +20130,9 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
20116
20130
  buttonVariant: source.buttonVariant,
20117
20131
  overlayEnabled: source.overlayEnabled,
20118
20132
  spamProtectionEnabled: source.spamProtectionEnabled,
20119
- supportEmail: source.supportEmail
20133
+ supportEmail: source.supportEmail,
20134
+ sitePasses: source.sitePasses ?? null,
20135
+ siteMemberships: source.siteMemberships ?? null
20120
20136
  }
20121
20137
  })
20122
20138
  });
@@ -20298,6 +20314,8 @@ var eventRegistrationManifest = createBlockManifest({
20298
20314
  },
20299
20315
  // Event data from loader
20300
20316
  events: { $bind: { from: "data.events" } },
20317
+ sitePasses: { $bind: { from: "data.sitePasses" } },
20318
+ siteMemberships: { $bind: { from: "data.siteMemberships" } },
20301
20319
  // Stage for preview mode (allows registering for draft events)
20302
20320
  stage: {
20303
20321
  $bind: { from: "$root.previewStage", fallback: "published" }
@@ -20316,7 +20334,9 @@ var eventRegistrationBlockDefinition = {
20316
20334
  manifest: eventRegistrationManifest,
20317
20335
  runtime: eventRegistrationBlockRuntime,
20318
20336
  dataSchemas: {
20319
- events: z40.array(publicEventSchema).optional(),
20337
+ events: publicEventsArraySchema.optional(),
20338
+ sitePasses: publicPassProductCollectionSchema.optional(),
20339
+ siteMemberships: publicMembershipProductCollectionSchema.optional(),
20320
20340
  occurrenceContext: occurrenceContextSchema.optional()
20321
20341
  },
20322
20342
  dataLoaders: {
@@ -20335,6 +20355,20 @@ var eventRegistrationBlockDefinition = {
20335
20355
  entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
20336
20356
  },
20337
20357
  mode: "server"
20358
+ },
20359
+ sitePasses: {
20360
+ endpoint: "listPublicPasses",
20361
+ params: {
20362
+ siteId: { $bind: { from: "$root.siteId" } }
20363
+ },
20364
+ mode: "server"
20365
+ },
20366
+ siteMemberships: {
20367
+ endpoint: "listPublicMemberships",
20368
+ params: {
20369
+ siteId: { $bind: { from: "$root.siteId" } }
20370
+ },
20371
+ mode: "server"
20338
20372
  }
20339
20373
  }
20340
20374
  };
@@ -20666,35 +20700,7 @@ var courseRegistrationBlockDefinition = {
20666
20700
  };
20667
20701
 
20668
20702
  // ../blocks/src/system/blocks/event-details.ts
20669
- import { z as z43 } from "zod";
20670
-
20671
- // ../blocks/src/system/blocks/shop.shared.ts
20672
20703
  import { z as z42 } from "zod";
20673
- var publicPassProductSchema = z42.object({
20674
- id: z42.string(),
20675
- productUseCase: z42.enum(["event_pass", "appointment_package"]).default("event_pass"),
20676
- name: z42.string(),
20677
- description: z42.string().nullable(),
20678
- price: z42.number(),
20679
- currency: z42.string(),
20680
- creditsTotal: z42.number(),
20681
- pricePerCredit: z42.number(),
20682
- validDays: z42.number().nullable(),
20683
- eligibleCategoryIds: z42.array(z42.string()),
20684
- eligibleCategoryNames: z42.array(z42.string())
20685
- });
20686
- var publicMembershipProductSchema = z42.object({
20687
- id: z42.string(),
20688
- name: z42.string(),
20689
- description: z42.string().nullable(),
20690
- price: z42.number(),
20691
- currency: z42.string(),
20692
- billingInterval: z42.enum(["month", "year"]),
20693
- eligibleCategoryIds: z42.array(z42.string()),
20694
- eligibleCategoryNames: z42.array(z42.string())
20695
- });
20696
-
20697
- // ../blocks/src/system/blocks/event-details.ts
20698
20704
  var eventDetailsManifest = createBlockManifest({
20699
20705
  id: "block.event-details",
20700
20706
  version: "1.0.0",
@@ -20826,40 +20832,40 @@ var eventDetailsManifest = createBlockManifest({
20826
20832
  })
20827
20833
  ]
20828
20834
  });
20829
- var occurrenceContextSchema2 = z43.object({
20830
- id: z43.string(),
20831
- seriesId: z43.string(),
20832
- startsAt: z43.string(),
20833
- endsAt: z43.string(),
20834
- timeZone: z43.string(),
20835
- capacityOverride: z43.number().nullable().optional(),
20836
- overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
20835
+ var occurrenceContextSchema2 = z42.object({
20836
+ id: z42.string(),
20837
+ seriesId: z42.string(),
20838
+ startsAt: z42.string(),
20839
+ endsAt: z42.string(),
20840
+ timeZone: z42.string(),
20841
+ capacityOverride: z42.number().nullable().optional(),
20842
+ overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
20837
20843
  }).nullable();
20838
- var eventAutoApplyDiscountPreviewBaseSchema = z43.object({
20839
- id: z43.string(),
20840
- publicLabel: z43.string(),
20841
- description: z43.string().nullable(),
20842
- minTicketsRequired: z43.number().nullable()
20844
+ var eventAutoApplyDiscountPreviewBaseSchema = z42.object({
20845
+ id: z42.string(),
20846
+ publicLabel: z42.string(),
20847
+ description: z42.string().nullable(),
20848
+ minTicketsRequired: z42.number().nullable()
20843
20849
  });
20844
- var eventAutoApplyDiscountPreviewSchema = z43.discriminatedUnion("discountType", [
20850
+ var eventAutoApplyDiscountPreviewSchema = z42.discriminatedUnion("discountType", [
20845
20851
  eventAutoApplyDiscountPreviewBaseSchema.extend({
20846
- discountType: z43.literal("percent"),
20847
- discountPercent: z43.number(),
20848
- discountAmountCents: z43.null()
20852
+ discountType: z42.literal("percent"),
20853
+ discountPercent: z42.number(),
20854
+ discountAmountCents: z42.null()
20849
20855
  }),
20850
20856
  eventAutoApplyDiscountPreviewBaseSchema.extend({
20851
- discountType: z43.literal("fixed"),
20852
- discountPercent: z43.null(),
20853
- discountAmountCents: z43.number()
20857
+ discountType: z42.literal("fixed"),
20858
+ discountPercent: z42.null(),
20859
+ discountAmountCents: z42.number()
20854
20860
  })
20855
20861
  ]);
20856
20862
  var eventDetailsBlockDefinition = {
20857
20863
  manifest: eventDetailsManifest,
20858
20864
  dataSchemas: {
20859
- eventDetailsData: z43.object({
20865
+ eventDetailsData: z42.object({
20860
20866
  events: publicEventsArraySchema,
20861
- sitePasses: z43.object({ passes: z43.array(publicPassProductSchema) }),
20862
- siteMemberships: z43.object({ memberships: z43.array(publicMembershipProductSchema) }),
20867
+ sitePasses: publicPassProductCollectionSchema,
20868
+ siteMemberships: publicMembershipProductCollectionSchema,
20863
20869
  autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
20864
20870
  }).optional(),
20865
20871
  occurrenceContext: occurrenceContextSchema2.optional()
@@ -21183,7 +21189,7 @@ var eventSpotlightBlockDefinition = {
21183
21189
  };
21184
21190
 
21185
21191
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
21186
- import { z as z45 } from "zod";
21192
+ import { z as z44 } from "zod";
21187
21193
 
21188
21194
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
21189
21195
  var COLUMN_CLASSES = {
@@ -21215,16 +21221,16 @@ function getCardOrientation(layout) {
21215
21221
  }
21216
21222
 
21217
21223
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
21218
- import { z as z44 } from "zod";
21224
+ import { z as z43 } from "zod";
21219
21225
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
21220
- var eventPageSizeSchema = z44.union([
21221
- z44.literal(3),
21222
- z44.literal(6),
21223
- z44.literal(10),
21224
- z44.literal(12),
21225
- z44.literal(20),
21226
- z44.literal(24),
21227
- z44.literal(30)
21226
+ var eventPageSizeSchema = z43.union([
21227
+ z43.literal(3),
21228
+ z43.literal(6),
21229
+ z43.literal(10),
21230
+ z43.literal(12),
21231
+ z43.literal(20),
21232
+ z43.literal(24),
21233
+ z43.literal(30)
21228
21234
  ]);
21229
21235
  var eventPageSizeSet = new Set(eventPageSizeValues);
21230
21236
  function resolveEventPageSize(value, fallback = 12) {
@@ -21234,15 +21240,15 @@ function resolveEventPageSize(value, fallback = 12) {
21234
21240
  function resolveEventCalendarListPageSize(input) {
21235
21241
  return resolveEventPageSize(input.eventsPerPage);
21236
21242
  }
21237
- var eventListPaginationActionSchema = z44.discriminatedUnion("kind", [
21238
- z44.object({
21239
- kind: z44.literal("loadMore"),
21240
- label: z44.string()
21243
+ var eventListPaginationActionSchema = z43.discriminatedUnion("kind", [
21244
+ z43.object({
21245
+ kind: z43.literal("loadMore"),
21246
+ label: z43.string()
21241
21247
  }),
21242
- z44.object({
21243
- kind: z44.literal("seeAllLink"),
21244
- label: z44.string(),
21245
- href: z44.string()
21248
+ z43.object({
21249
+ kind: z43.literal("seeAllLink"),
21250
+ label: z43.string(),
21251
+ href: z43.string()
21246
21252
  })
21247
21253
  ]);
21248
21254
  function resolveEventListPaginationAction(input) {
@@ -21255,89 +21261,89 @@ function resolveEventListPaginationAction(input) {
21255
21261
  }
21256
21262
 
21257
21263
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
21258
- var legacyEventCardVariantSchema = z45.enum(["variant1", "variant2"]);
21259
- var eventCardVariantInputSchema = z45.union([
21264
+ var legacyEventCardVariantSchema = z44.enum(["variant1", "variant2"]);
21265
+ var eventCardVariantInputSchema = z44.union([
21260
21266
  cardVariantRoleSchema,
21261
21267
  legacyEventCardVariantSchema
21262
21268
  ]);
21263
- var cardOrientationSchema = z45.enum(["vertical", "horizontal"]);
21264
- var eventBlockKindSchema = z45.enum(eventBlockKindValues);
21265
- var eventSurfaceScopeSchema = z45.enum(eventSurfaceScopeValues);
21266
- var eventScheduleScopeSchema2 = z45.enum(eventScheduleScopeValues);
21267
- var eventListingSourceSchema = z45.object({
21268
- events: z45.array(publicEventSchema).nullable().optional(),
21269
- siteId: z45.string(),
21270
- apiBaseUrl: z45.string().optional(),
21269
+ var cardOrientationSchema = z44.enum(["vertical", "horizontal"]);
21270
+ var eventBlockKindSchema = z44.enum(eventBlockKindValues);
21271
+ var eventSurfaceScopeSchema = z44.enum(eventSurfaceScopeValues);
21272
+ var eventScheduleScopeSchema2 = z44.enum(eventScheduleScopeValues);
21273
+ var eventListingSourceSchema = z44.object({
21274
+ events: z44.array(publicEventSchema).nullable().optional(),
21275
+ siteId: z44.string(),
21276
+ apiBaseUrl: z44.string().optional(),
21271
21277
  stage: previewStageSchema.optional(),
21272
21278
  layout: eventLayoutSchema.optional(),
21273
21279
  columns: columnOptionSchema.optional(),
21274
- eventsPerPage: z45.string().optional(),
21275
- paginationMode: z45.enum(["loadMore", "seeAllLink"]).optional(),
21276
- seeAllUrl: z45.string().optional(),
21277
- loadMoreText: z45.string().optional(),
21280
+ eventsPerPage: z44.string().optional(),
21281
+ paginationMode: z44.enum(["loadMore", "seeAllLink"]).optional(),
21282
+ seeAllUrl: z44.string().optional(),
21283
+ loadMoreText: z44.string().optional(),
21278
21284
  cardVariant: eventCardVariantInputSchema.optional(),
21279
21285
  buttonVariant: eventButtonVariantSchema.optional(),
21280
- buttonText: z45.string().optional(),
21281
- showVenue: z45.boolean().optional(),
21282
- showMap: z45.boolean().optional(),
21283
- showCapacity: z45.boolean().optional(),
21284
- emptyMessage: z45.string().optional(),
21285
- className: z45.string().optional(),
21286
- showFilters: z45.boolean().nullable().optional(),
21286
+ buttonText: z44.string().optional(),
21287
+ showVenue: z44.boolean().optional(),
21288
+ showMap: z44.boolean().optional(),
21289
+ showCapacity: z44.boolean().optional(),
21290
+ emptyMessage: z44.string().optional(),
21291
+ className: z44.string().optional(),
21292
+ showFilters: z44.boolean().nullable().optional(),
21287
21293
  showCategoryFilter: filterAutoShowSchema.optional(),
21288
- showVenueFilter: z45.boolean().nullable().optional(),
21289
- showStaffFilter: z45.boolean().nullable().optional(),
21294
+ showVenueFilter: z44.boolean().nullable().optional(),
21295
+ showStaffFilter: z44.boolean().nullable().optional(),
21290
21296
  eventKind: eventBlockKindSchema.nullable().optional(),
21291
21297
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
21292
- filterEventPresets: z45.union([z45.string(), z45.array(z45.string())]).nullable().optional(),
21298
+ filterEventPresets: z44.union([z44.string(), z44.array(z44.string())]).nullable().optional(),
21293
21299
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
21294
- filterCategoryIds: z45.string().nullable().optional(),
21295
- filterStaffMemberId: z45.string().nullable().optional(),
21296
- filterVenueId: z45.string().nullable().optional()
21300
+ filterCategoryIds: z44.string().nullable().optional(),
21301
+ filterStaffMemberId: z44.string().nullable().optional(),
21302
+ filterVenueId: z44.string().nullable().optional()
21297
21303
  });
21298
- var eventListingDisplaySchema = z45.object({
21299
- kind: z45.literal("event-listing"),
21300
- state: z45.enum(["loading", "empty", "ready"]),
21304
+ var eventListingDisplaySchema = z44.object({
21305
+ kind: z44.literal("event-listing"),
21306
+ state: z44.enum(["loading", "empty", "ready"]),
21301
21307
  listLayout: eventLayoutSchema,
21302
- className: z45.string().nullable(),
21303
- emptyMessage: z45.string(),
21304
- loadingMessage: z45.string(),
21305
- containerClass: z45.string(),
21308
+ className: z44.string().nullable(),
21309
+ emptyMessage: z44.string(),
21310
+ loadingMessage: z44.string(),
21311
+ containerClass: z44.string(),
21306
21312
  cardVariant: cardVariantRoleSchema,
21307
21313
  buttonVariant: eventButtonVariantSchema,
21308
- buttonText: z45.string(),
21309
- showVenue: z45.boolean(),
21310
- showMap: z45.boolean(),
21311
- showCapacity: z45.boolean(),
21314
+ buttonText: z44.string(),
21315
+ showVenue: z44.boolean(),
21316
+ showMap: z44.boolean(),
21317
+ showCapacity: z44.boolean(),
21312
21318
  orientation: cardOrientationSchema,
21313
- events: z45.array(publicEventSchema)
21319
+ events: z44.array(publicEventSchema)
21314
21320
  });
21315
- var eventListingHydrationSchema = z45.object({
21316
- siteId: z45.string(),
21321
+ var eventListingHydrationSchema = z44.object({
21322
+ siteId: z44.string(),
21317
21323
  stage: previewStageSchema.optional(),
21318
21324
  eventsPerPage: eventPageSizeSchema,
21319
21325
  paginationAction: eventListPaginationActionSchema,
21320
- showFilters: z45.boolean(),
21326
+ showFilters: z44.boolean(),
21321
21327
  showCategoryFilter: filterAutoShowSchema,
21322
- showVenueFilter: z45.boolean(),
21323
- showStaffFilter: z45.boolean(),
21328
+ showVenueFilter: z44.boolean(),
21329
+ showStaffFilter: z44.boolean(),
21324
21330
  eventKind: eventBlockKindSchema,
21325
21331
  eventSurface: eventSurfaceScopeSchema,
21326
- filterEventPresets: z45.string().nullable(),
21332
+ filterEventPresets: z44.string().nullable(),
21327
21333
  scheduleScope: eventScheduleScopeSchema2,
21328
- filterCategoryIds: z45.string().nullable().optional(),
21329
- filterStaffMemberId: z45.string().nullable().optional(),
21330
- filterVenueId: z45.string().nullable().optional(),
21331
- fetchInitialEventsOnMount: z45.boolean()
21334
+ filterCategoryIds: z44.string().nullable().optional(),
21335
+ filterStaffMemberId: z44.string().nullable().optional(),
21336
+ filterVenueId: z44.string().nullable().optional(),
21337
+ fetchInitialEventsOnMount: z44.boolean()
21332
21338
  });
21333
- var eventListingRenderSchema = z45.object({
21339
+ var eventListingRenderSchema = z44.object({
21334
21340
  display: eventListingDisplaySchema,
21335
21341
  hydration: eventListingHydrationSchema
21336
21342
  });
21337
21343
  var eventListingIslandMetaCodec = createZodCodec(
21338
- z45.object({
21339
- siteId: z45.string(),
21340
- apiBaseUrl: z45.string().optional(),
21344
+ z44.object({
21345
+ siteId: z44.string(),
21346
+ apiBaseUrl: z44.string().optional(),
21341
21347
  stage: previewStageSchema.optional()
21342
21348
  })
21343
21349
  );
@@ -21704,15 +21710,15 @@ var eventListingBlockDefinition = {
21704
21710
  };
21705
21711
 
21706
21712
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
21707
- import { z as z46 } from "zod";
21708
- var eventBlockKindSchema2 = z46.enum(eventBlockKindValues);
21709
- var eventSurfaceScopeSchema2 = z46.enum(eventSurfaceScopeValues);
21710
- var eventScheduleScopeSchema3 = z46.enum(eventScheduleScopeValues);
21711
- var eventCalendarSourceSchema = z46.object(
21713
+ import { z as z45 } from "zod";
21714
+ var eventBlockKindSchema2 = z45.enum(eventBlockKindValues);
21715
+ var eventSurfaceScopeSchema2 = z45.enum(eventSurfaceScopeValues);
21716
+ var eventScheduleScopeSchema3 = z45.enum(eventScheduleScopeValues);
21717
+ var eventCalendarSourceSchema = z45.object(
21712
21718
  {
21713
- events: z46.array(publicEventSchema).nullable().optional(),
21714
- siteId: z46.string(),
21715
- apiBaseUrl: z46.string().optional(),
21719
+ events: z45.array(publicEventSchema).nullable().optional(),
21720
+ siteId: z45.string(),
21721
+ apiBaseUrl: z45.string().optional(),
21716
21722
  stage: previewStageSchema.optional(),
21717
21723
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
21718
21724
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -21720,78 +21726,80 @@ var eventCalendarSourceSchema = z46.object(
21720
21726
  listColumns: columnOptionSchema.optional(),
21721
21727
  layout: eventLayoutSchema.optional(),
21722
21728
  columns: columnOptionSchema.optional(),
21723
- eventsPerPage: z46.string().optional(),
21724
- paginationMode: z46.enum(["loadMore", "seeAllLink"]).optional(),
21725
- seeAllUrl: z46.string().optional(),
21726
- loadMoreText: z46.string().optional(),
21729
+ eventsPerPage: z45.string().optional(),
21730
+ paginationMode: z45.enum(["loadMore", "seeAllLink"]).optional(),
21731
+ seeAllUrl: z45.string().optional(),
21732
+ loadMoreText: z45.string().optional(),
21727
21733
  startOfWeek: weekStartSchema.optional(),
21728
21734
  calendarTabViews: calendarTabViewsSchema.optional(),
21729
- showFilters: z46.boolean().nullable().optional(),
21735
+ defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
21736
+ showFilters: z45.boolean().nullable().optional(),
21730
21737
  showCategoryFilter: filterAutoShowSchema.optional(),
21731
- showVenueFilter: z46.boolean().nullable().optional(),
21732
- showStaffFilter: z46.boolean().nullable().optional(),
21738
+ showVenueFilter: z45.boolean().nullable().optional(),
21739
+ showStaffFilter: z45.boolean().nullable().optional(),
21733
21740
  kind: eventBlockKindSchema2.nullable().optional(),
21734
21741
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
21735
- filterEventPresets: z46.union([z46.string(), z46.array(z46.string())]).nullable().optional(),
21742
+ filterEventPresets: z45.union([z45.string(), z45.array(z45.string())]).nullable().optional(),
21736
21743
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
21737
- filterCategoryIds: z46.union([z46.string(), z46.array(z46.string())]).nullable().optional(),
21738
- filterStaffMemberId: z46.string().nullable().optional(),
21739
- filterVenueId: z46.string().nullable().optional(),
21744
+ filterCategoryIds: z45.union([z45.string(), z45.array(z45.string())]).nullable().optional(),
21745
+ filterStaffMemberId: z45.string().nullable().optional(),
21746
+ filterVenueId: z45.string().nullable().optional(),
21740
21747
  buttonVariant: eventButtonVariantSchema.optional(),
21741
- buttonText: z46.string().optional(),
21742
- showVenue: z46.boolean().nullable().optional(),
21743
- showMap: z46.boolean().nullable().optional(),
21744
- showCapacity: z46.boolean().nullable().optional(),
21745
- emptyMessage: z46.string().optional(),
21746
- className: z46.string().optional()
21748
+ buttonText: z45.string().optional(),
21749
+ showVenue: z45.boolean().nullable().optional(),
21750
+ showMap: z45.boolean().nullable().optional(),
21751
+ showCapacity: z45.boolean().nullable().optional(),
21752
+ emptyMessage: z45.string().optional(),
21753
+ className: z45.string().optional()
21747
21754
  }
21748
21755
  );
21749
- var eventCalendarDisplaySchema = z46.object({
21750
- kind: z46.literal("event-calendar"),
21756
+ var eventCalendarDisplaySchema = z45.object({
21757
+ kind: z45.literal("event-calendar"),
21751
21758
  displayMode: eventCalendarDisplayModeSchema,
21752
- className: z46.string().nullable(),
21753
- events: z46.array(publicEventSchema),
21759
+ className: z45.string().nullable(),
21760
+ events: z45.array(publicEventSchema),
21754
21761
  listLayout: eventLayoutSchema,
21755
21762
  listColumns: columnOptionSchema,
21756
21763
  eventsPerPage: eventPageSizeSchema,
21757
21764
  paginationAction: eventListPaginationActionSchema,
21758
21765
  startOfWeek: weekStartSchema,
21759
21766
  calendarTabViews: calendarTabViewsSchema,
21760
- showFilters: z46.boolean(),
21767
+ defaultCalendarView: eventCalendarDefaultViewSchema,
21768
+ showFilters: z45.boolean(),
21761
21769
  showCategoryFilter: filterAutoShowSchema,
21762
- showVenueFilter: z46.boolean(),
21763
- showStaffFilter: z46.boolean(),
21770
+ showVenueFilter: z45.boolean(),
21771
+ showStaffFilter: z45.boolean(),
21764
21772
  eventKind: eventBlockKindSchema2,
21765
21773
  eventSurface: eventSurfaceScopeSchema2,
21766
- filterEventPresets: z46.string().nullable(),
21774
+ filterEventPresets: z45.string().nullable(),
21767
21775
  scheduleScope: eventScheduleScopeSchema3,
21768
- filterCategoryIds: z46.string().nullable(),
21769
- filterStaffMemberId: z46.string().nullable(),
21770
- filterVenueId: z46.string().nullable(),
21776
+ filterCategoryIds: z45.string().nullable(),
21777
+ filterStaffMemberId: z45.string().nullable(),
21778
+ filterVenueId: z45.string().nullable(),
21771
21779
  buttonVariant: eventButtonVariantSchema,
21772
- buttonText: z46.string(),
21773
- showVenue: z46.boolean(),
21774
- showMap: z46.boolean(),
21775
- showCapacity: z46.boolean(),
21776
- emptyMessage: z46.string()
21777
- });
21778
- var eventCalendarHydrationSchema = z46.object({
21779
- siteId: z46.string(),
21780
+ buttonText: z45.string(),
21781
+ showVenue: z45.boolean(),
21782
+ showMap: z45.boolean(),
21783
+ showCapacity: z45.boolean(),
21784
+ emptyMessage: z45.string()
21785
+ });
21786
+ var eventCalendarHydrationSchema = z45.object({
21787
+ siteId: z45.string(),
21780
21788
  stage: previewStageSchema.optional(),
21781
- prefetchedEvents: z46.boolean(),
21789
+ prefetchedEvents: z45.boolean(),
21782
21790
  eventKind: eventBlockKindSchema2,
21783
21791
  eventSurface: eventSurfaceScopeSchema2,
21784
- filterEventPresets: z46.string().nullable(),
21792
+ filterEventPresets: z45.string().nullable(),
21785
21793
  scheduleScope: eventScheduleScopeSchema3
21786
21794
  });
21787
- var eventCalendarRenderSchema = z46.object({
21795
+ var eventCalendarRenderSchema = z45.object({
21788
21796
  display: eventCalendarDisplaySchema,
21789
21797
  hydration: eventCalendarHydrationSchema
21790
21798
  });
21791
21799
  var eventCalendarIslandMetaCodec = createZodCodec(
21792
- z46.object({
21793
- siteId: z46.string(),
21794
- apiBaseUrl: z46.string().optional(),
21800
+ z45.object({
21801
+ siteId: z45.string(),
21802
+ apiBaseUrl: z45.string().optional(),
21795
21803
  stage: previewStageSchema.optional()
21796
21804
  })
21797
21805
  );
@@ -21821,6 +21829,7 @@ function buildEventCalendarDisplay(source) {
21821
21829
  }),
21822
21830
  startOfWeek: source.startOfWeek ?? "monday",
21823
21831
  calendarTabViews: source.calendarTabViews ?? "both",
21832
+ defaultCalendarView: source.defaultCalendarView ?? "month",
21824
21833
  showFilters: source.showFilters ?? true,
21825
21834
  showCategoryFilter: source.showCategoryFilter ?? "auto",
21826
21835
  showVenueFilter: source.showVenueFilter ?? false,
@@ -21883,6 +21892,9 @@ function normalizeEventCalendarContent(content) {
21883
21892
  ...variant ? { variant } : {},
21884
21893
  displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
21885
21894
  listLayout: normalizeEventCalendarListLayout(record.listLayout),
21895
+ defaultCalendarView: normalizeEventCalendarDefaultView(
21896
+ record.defaultCalendarView
21897
+ ),
21886
21898
  kind,
21887
21899
  eventSurface: normalizeEventSurfaceScope(record.eventSurface),
21888
21900
  filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
@@ -21900,6 +21912,9 @@ function normalizeEventCalendarDisplayMode(value) {
21900
21912
  function normalizeEventCalendarListLayout(value) {
21901
21913
  return isEventCalendarListLayout(value) ? value : void 0;
21902
21914
  }
21915
+ function normalizeEventCalendarDefaultView(value) {
21916
+ return isEventCalendarDefaultView(value) ? value : void 0;
21917
+ }
21903
21918
  var eventCalendarLayout = [
21904
21919
  styledSection({
21905
21920
  children: sectionContainer(
@@ -21959,6 +21974,9 @@ var eventCalendarLayout = [
21959
21974
  calendarTabViews: {
21960
21975
  $bind: { from: "content.calendarTabViews", fallback: "both" }
21961
21976
  },
21977
+ defaultCalendarView: {
21978
+ $bind: { from: "content.defaultCalendarView", fallback: "month" }
21979
+ },
21962
21980
  // Filtering options
21963
21981
  showFilters: {
21964
21982
  $bind: { from: "content.showFilters", fallback: true }
@@ -22025,8 +22043,7 @@ var eventCalendarAdditionalFields = [
22025
22043
  defaultValue: "combined",
22026
22044
  options: [
22027
22045
  { value: "combined", label: "Combined (List + Calendar tabs)" },
22028
- { value: "month", label: "Month calendar" },
22029
- { value: "week", label: "Week agenda" },
22046
+ { value: "calendar", label: "Calendar" },
22030
22047
  { value: "timetable", label: "Timetable" },
22031
22048
  { value: "list", label: "List" }
22032
22049
  ],
@@ -22065,7 +22082,12 @@ var eventCalendarAdditionalFields = [
22065
22082
  ],
22066
22083
  ui: {
22067
22084
  intent: "display",
22068
- visibleWhen: { field: "listLayout", equals: "grid" }
22085
+ visibleWhen: {
22086
+ allOf: [
22087
+ { field: "variant", oneOf: ["combined", "list"] },
22088
+ { field: "listLayout", equals: "grid" }
22089
+ ]
22090
+ }
22069
22091
  }
22070
22092
  },
22071
22093
  {
@@ -22113,7 +22135,12 @@ var eventCalendarAdditionalFields = [
22113
22135
  required: false,
22114
22136
  ui: {
22115
22137
  intent: "display",
22116
- visibleWhen: { field: "paginationMode", equals: "seeAllLink" }
22138
+ visibleWhen: {
22139
+ allOf: [
22140
+ { field: "variant", oneOf: ["combined", "list"] },
22141
+ { field: "paginationMode", equals: "seeAllLink" }
22142
+ ]
22143
+ }
22117
22144
  }
22118
22145
  },
22119
22146
  {
@@ -22146,7 +22173,7 @@ var eventCalendarAdditionalFields = [
22146
22173
  intent: "display",
22147
22174
  visibleWhen: {
22148
22175
  field: "variant",
22149
- oneOf: ["combined", "month", "week"]
22176
+ oneOf: ["combined", "calendar", "timetable"]
22150
22177
  }
22151
22178
  }
22152
22179
  },
@@ -22169,6 +22196,33 @@ var eventCalendarAdditionalFields = [
22169
22196
  visibleWhen: { field: "variant", equals: "combined" }
22170
22197
  }
22171
22198
  },
22199
+ {
22200
+ id: "defaultCalendarView",
22201
+ type: "select",
22202
+ label: "Calendar view",
22203
+ description: "Choose the standalone calendar view, or the first view in combined mode",
22204
+ required: false,
22205
+ multiple: false,
22206
+ defaultValue: "month",
22207
+ options: [
22208
+ { value: "month", label: "Month" },
22209
+ { value: "week", label: "Week" }
22210
+ ],
22211
+ ui: {
22212
+ intent: "display",
22213
+ visibleWhen: {
22214
+ anyOf: [
22215
+ { field: "variant", equals: "calendar" },
22216
+ {
22217
+ allOf: [
22218
+ { field: "variant", equals: "combined" },
22219
+ { field: "calendarTabViews", equals: "both" }
22220
+ ]
22221
+ }
22222
+ ]
22223
+ }
22224
+ }
22225
+ },
22172
22226
  // Filtering options
22173
22227
  {
22174
22228
  id: "kind",
@@ -22196,7 +22250,7 @@ var eventCalendarAdditionalFields = [
22196
22250
  intent: "display",
22197
22251
  visibleWhen: {
22198
22252
  field: "variant",
22199
- oneOf: ["combined", "list", "timetable"]
22253
+ oneOf: ["combined", "calendar", "list", "timetable"]
22200
22254
  }
22201
22255
  }
22202
22256
  },
@@ -22216,8 +22270,10 @@ var eventCalendarAdditionalFields = [
22216
22270
  ui: {
22217
22271
  intent: "display",
22218
22272
  visibleWhen: {
22219
- field: "variant",
22220
- oneOf: ["combined", "list", "timetable"]
22273
+ allOf: [
22274
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
22275
+ { field: "showFilters", equals: true }
22276
+ ]
22221
22277
  }
22222
22278
  }
22223
22279
  },
@@ -22231,8 +22287,10 @@ var eventCalendarAdditionalFields = [
22231
22287
  ui: {
22232
22288
  intent: "display",
22233
22289
  visibleWhen: {
22234
- field: "variant",
22235
- oneOf: ["combined", "list", "timetable"]
22290
+ allOf: [
22291
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
22292
+ { field: "showFilters", equals: true }
22293
+ ]
22236
22294
  }
22237
22295
  }
22238
22296
  },
@@ -22246,8 +22304,10 @@ var eventCalendarAdditionalFields = [
22246
22304
  ui: {
22247
22305
  intent: "display",
22248
22306
  visibleWhen: {
22249
- field: "variant",
22250
- oneOf: ["combined", "list", "timetable"]
22307
+ allOf: [
22308
+ { field: "variant", oneOf: ["combined", "calendar", "list", "timetable"] },
22309
+ { field: "showFilters", equals: true }
22310
+ ]
22251
22311
  }
22252
22312
  }
22253
22313
  },
@@ -22261,8 +22321,15 @@ var eventCalendarAdditionalFields = [
22261
22321
  ui: {
22262
22322
  intent: "display",
22263
22323
  visibleWhen: {
22264
- field: "variant",
22265
- oneOf: ["combined", "list", "week", "timetable"]
22324
+ anyOf: [
22325
+ { field: "variant", oneOf: ["combined", "list", "timetable"] },
22326
+ {
22327
+ allOf: [
22328
+ { field: "variant", equals: "calendar" },
22329
+ { field: "defaultCalendarView", equals: "week" }
22330
+ ]
22331
+ }
22332
+ ]
22266
22333
  }
22267
22334
  }
22268
22335
  },
@@ -22378,8 +22445,7 @@ var eventCalendarAdditionalFields = [
22378
22445
  ];
22379
22446
  var eventCalendarVariants = {
22380
22447
  combined: eventCalendarLayout[0],
22381
- month: eventCalendarLayout[0],
22382
- week: eventCalendarLayout[0],
22448
+ calendar: eventCalendarLayout[0],
22383
22449
  timetable: eventCalendarLayout[0],
22384
22450
  list: eventCalendarLayout[0]
22385
22451
  };
@@ -22391,8 +22457,7 @@ var eventCalendarDerivedFields = [
22391
22457
  multiple: false,
22392
22458
  options: [
22393
22459
  { value: "combined" },
22394
- { value: "month" },
22395
- { value: "week" },
22460
+ { value: "calendar" },
22396
22461
  { value: "timetable" },
22397
22462
  { value: "list" }
22398
22463
  ]
@@ -22405,6 +22470,13 @@ var eventCalendarDerivedFields = [
22405
22470
  options: eventCalendarListLayoutOptions.map((option) => ({
22406
22471
  value: option.id
22407
22472
  }))
22473
+ },
22474
+ {
22475
+ id: "defaultCalendarView",
22476
+ type: "select",
22477
+ required: false,
22478
+ multiple: false,
22479
+ options: [{ value: "month" }, { value: "week" }]
22408
22480
  }
22409
22481
  ];
22410
22482
  var eventCalendarContentShape = {
@@ -22453,8 +22525,7 @@ var eventCalendarConfig = {
22453
22525
  defaultVariant: "combined",
22454
22526
  variantOptions: {
22455
22527
  combined: { label: "Combined" },
22456
- month: { label: "Month" },
22457
- week: { label: "Week" },
22528
+ calendar: { label: "Calendar" },
22458
22529
  timetable: { label: "Timetable" },
22459
22530
  list: { label: "List" }
22460
22531
  }
@@ -22500,7 +22571,7 @@ var eventCalendarBlockDefinition = {
22500
22571
  };
22501
22572
 
22502
22573
  // ../blocks/src/system/blocks/offerings-preview/index.ts
22503
- import { z as z47 } from "zod";
22574
+ import { z as z46 } from "zod";
22504
22575
 
22505
22576
  // ../blocks/src/system/blocks/offerings-preview/model.ts
22506
22577
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -22592,13 +22663,13 @@ function isRecord4(value) {
22592
22663
  }
22593
22664
 
22594
22665
  // ../blocks/src/system/blocks/offerings-preview/index.ts
22595
- var publicRouteCandidatesSchema = z47.object({
22596
- routes: z47.array(z47.object({
22597
- entityId: z47.string(),
22598
- path: z47.string(),
22599
- title: z47.string(),
22600
- kind: z47.enum(["page", "content"]),
22601
- contentTypeKey: z47.string().nullable().optional()
22666
+ var publicRouteCandidatesSchema = z46.object({
22667
+ routes: z46.array(z46.object({
22668
+ entityId: z46.string(),
22669
+ path: z46.string(),
22670
+ title: z46.string(),
22671
+ kind: z46.enum(["page", "content"]),
22672
+ contentTypeKey: z46.string().nullable().optional()
22602
22673
  }))
22603
22674
  });
22604
22675
  var groupOverrideFields = [
@@ -22996,7 +23067,7 @@ function isRecord5(value) {
22996
23067
  }
22997
23068
 
22998
23069
  // ../blocks/src/system/blocks/embed.ts
22999
- import { z as z48 } from "zod";
23070
+ import { z as z47 } from "zod";
23000
23071
  var embedFields = [
23001
23072
  // Section heading
23002
23073
  parseFieldDefinition({
@@ -23227,18 +23298,18 @@ var embedManifest = createBlockManifest({
23227
23298
  spacing: "lg"
23228
23299
  }
23229
23300
  });
23230
- var embedEntrySchema = z48.object({
23231
- id: z48.string(),
23232
- identifier: z48.string(),
23233
- title: z48.string(),
23234
- slug: z48.string().nullable().optional(),
23235
- content: z48.record(z48.string(), z48.unknown()).optional(),
23236
- publishedAt: z48.string().nullable().optional()
23301
+ var embedEntrySchema = z47.object({
23302
+ id: z47.string(),
23303
+ identifier: z47.string(),
23304
+ title: z47.string(),
23305
+ slug: z47.string().nullable().optional(),
23306
+ content: z47.record(z47.string(), z47.unknown()).optional(),
23307
+ publishedAt: z47.string().nullable().optional()
23237
23308
  });
23238
23309
  var embedBlockDefinition = {
23239
23310
  manifest: embedManifest,
23240
23311
  dataSchemas: {
23241
- entries: z48.array(embedEntrySchema).optional()
23312
+ entries: z47.array(embedEntrySchema).optional()
23242
23313
  },
23243
23314
  dataLoaders: {
23244
23315
  entries: {
@@ -24421,53 +24492,50 @@ var fileDownloadBlockDefinition = {
24421
24492
  manifest: fileDownloadManifest
24422
24493
  };
24423
24494
 
24424
- // ../blocks/src/system/blocks/shop.ts
24425
- import { z as z52 } from "zod";
24426
-
24427
24495
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
24428
- import { z as z51 } from "zod";
24496
+ import { z as z50 } from "zod";
24429
24497
 
24430
24498
  // ../blocks/src/system/blocks/products/shared.ts
24431
- import { z as z49 } from "zod";
24432
- var publicProductVariantSchema = z49.object({
24433
- id: z49.string(),
24434
- title: z49.string(),
24435
- sku: z49.string().nullable(),
24436
- priceCents: z49.number(),
24437
- stockQuantity: z49.number().nullable(),
24438
- soldOut: z49.boolean()
24439
- });
24440
- var publicProductSchema = z49.object({
24441
- id: z49.string(),
24442
- contentEntryId: z49.string().nullable(),
24443
- title: z49.string(),
24444
- slug: z49.string(),
24445
- path: z49.string().nullable(),
24446
- status: z49.enum(["draft", "active"]),
24447
- priceCents: z49.number(),
24448
- currency: z49.string(),
24449
- productType: z49.enum(["physical", "digital"]),
24450
- requiresShipping: z49.boolean(),
24451
- hasVariants: z49.boolean(),
24452
- trackInventory: z49.boolean(),
24453
- soldOut: z49.boolean(),
24454
- category: z49.object({
24455
- id: z49.string(),
24456
- name: z49.string(),
24457
- slug: z49.string()
24499
+ import { z as z48 } from "zod";
24500
+ var publicProductVariantSchema = z48.object({
24501
+ id: z48.string(),
24502
+ title: z48.string(),
24503
+ sku: z48.string().nullable(),
24504
+ priceCents: z48.number(),
24505
+ stockQuantity: z48.number().nullable(),
24506
+ soldOut: z48.boolean()
24507
+ });
24508
+ var publicProductSchema = z48.object({
24509
+ id: z48.string(),
24510
+ contentEntryId: z48.string().nullable(),
24511
+ title: z48.string(),
24512
+ slug: z48.string(),
24513
+ path: z48.string().nullable(),
24514
+ status: z48.enum(["draft", "active"]),
24515
+ priceCents: z48.number(),
24516
+ currency: z48.string(),
24517
+ productType: z48.enum(["physical", "digital"]),
24518
+ requiresShipping: z48.boolean(),
24519
+ hasVariants: z48.boolean(),
24520
+ trackInventory: z48.boolean(),
24521
+ soldOut: z48.boolean(),
24522
+ category: z48.object({
24523
+ id: z48.string(),
24524
+ name: z48.string(),
24525
+ slug: z48.string()
24458
24526
  }).nullable(),
24459
- summary: z49.string().nullable(),
24460
- body: z49.unknown().nullable(),
24461
- gallery: z49.array(
24462
- z49.object({
24463
- url: z49.string(),
24464
- alt: z49.string().nullable()
24527
+ summary: z48.string().nullable(),
24528
+ body: z48.unknown().nullable(),
24529
+ gallery: z48.array(
24530
+ z48.object({
24531
+ url: z48.string(),
24532
+ alt: z48.string().nullable()
24465
24533
  })
24466
24534
  ),
24467
- variants: z49.array(publicProductVariantSchema)
24535
+ variants: z48.array(publicProductVariantSchema)
24468
24536
  });
24469
- var publicProductsResponseSchema = z49.object({
24470
- products: z49.array(publicProductSchema)
24537
+ var publicProductsResponseSchema = z48.object({
24538
+ products: z48.array(publicProductSchema)
24471
24539
  });
24472
24540
 
24473
24541
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -24531,27 +24599,27 @@ function deriveCreditProductLabels(products, options = {}) {
24531
24599
  }
24532
24600
 
24533
24601
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
24534
- import { z as z50 } from "zod";
24535
- var storedProductCartItemSchema = z50.object({
24536
- kind: z50.literal("product"),
24537
- productId: z50.string().min(1),
24538
- productCategoryId: z50.string().min(1).optional().nullable(),
24539
- variantId: z50.string().min(1).optional().nullable(),
24540
- title: z50.string().min(1),
24541
- variantTitle: z50.string().optional().nullable(),
24542
- quantity: z50.number().finite(),
24543
- unitPriceCents: z50.number().finite(),
24544
- currency: z50.string().min(1),
24545
- imageUrl: z50.string().optional().nullable(),
24546
- soldOut: z50.boolean().optional()
24547
- });
24548
- var storedPassCartItemSchema = z50.object({
24549
- kind: z50.literal("pass"),
24550
- passId: z50.string().min(1),
24551
- title: z50.string().min(1),
24552
- quantity: z50.number().finite().optional(),
24553
- unitPriceCents: z50.number().finite(),
24554
- currency: z50.string().min(1)
24602
+ import { z as z49 } from "zod";
24603
+ var storedProductCartItemSchema = z49.object({
24604
+ kind: z49.literal("product"),
24605
+ productId: z49.string().min(1),
24606
+ productCategoryId: z49.string().min(1).optional().nullable(),
24607
+ variantId: z49.string().min(1).optional().nullable(),
24608
+ title: z49.string().min(1),
24609
+ variantTitle: z49.string().optional().nullable(),
24610
+ quantity: z49.number().finite(),
24611
+ unitPriceCents: z49.number().finite(),
24612
+ currency: z49.string().min(1),
24613
+ imageUrl: z49.string().optional().nullable(),
24614
+ soldOut: z49.boolean().optional()
24615
+ });
24616
+ var storedPassCartItemSchema = z49.object({
24617
+ kind: z49.literal("pass"),
24618
+ passId: z49.string().min(1),
24619
+ title: z49.string().min(1),
24620
+ quantity: z49.number().finite().optional(),
24621
+ unitPriceCents: z49.number().finite(),
24622
+ currency: z49.string().min(1)
24555
24623
  });
24556
24624
  function deriveCommerceCheckoutState(state) {
24557
24625
  if (state.items.length === 0) {
@@ -24785,214 +24853,214 @@ function formatValidity(days) {
24785
24853
  }
24786
24854
 
24787
24855
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
24788
- var shopModeSchema = z51.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
24789
- var contentEntrySchema3 = z51.object({
24790
- id: z51.string().nullable().optional(),
24791
- slug: z51.string().nullable().optional()
24856
+ var shopModeSchema = z50.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
24857
+ var contentEntrySchema3 = z50.object({
24858
+ id: z50.string().nullable().optional(),
24859
+ slug: z50.string().nullable().optional()
24792
24860
  }).nullable();
24793
- var shopSourceSchema = z51.object({
24794
- className: z51.string().nullable().optional(),
24861
+ var shopSourceSchema = z50.object({
24862
+ className: z50.string().nullable().optional(),
24795
24863
  mode: shopModeSchema.optional(),
24796
- heading: z51.string().nullable().optional(),
24797
- productSlug: z51.string().nullable().optional(),
24798
- showPasses: z51.boolean().optional(),
24799
- showMemberships: z51.boolean().optional(),
24800
- layout: z51.enum(["grid", "list"]).optional(),
24801
- columns: z51.string().optional(),
24802
- showDescriptions: z51.boolean().optional(),
24803
- showSummary: z51.boolean().optional(),
24804
- showBody: z51.boolean().optional(),
24805
- showPrices: z51.boolean().optional(),
24806
- showValidityPeriod: z51.boolean().optional(),
24807
- showPricePerCredit: z51.boolean().nullable().optional(),
24808
- passesHeading: z51.string().optional(),
24809
- membershipsHeading: z51.string().optional(),
24810
- buyButtonText: z51.string().optional(),
24811
- addButtonText: z51.string().optional(),
24812
- passPurchaseMode: z51.enum(["add_to_cart", "buy_now"]).optional(),
24813
- subscribeButtonText: z51.string().optional(),
24814
- emptyStateText: z51.string().optional(),
24815
- checkoutButtonText: z51.string().optional(),
24816
- clearButtonText: z51.string().optional(),
24817
- submitButtonText: z51.string().optional(),
24864
+ heading: z50.string().nullable().optional(),
24865
+ productSlug: z50.string().nullable().optional(),
24866
+ showPasses: z50.boolean().optional(),
24867
+ showMemberships: z50.boolean().optional(),
24868
+ layout: z50.enum(["grid", "list"]).optional(),
24869
+ columns: z50.string().optional(),
24870
+ showDescriptions: z50.boolean().optional(),
24871
+ showSummary: z50.boolean().optional(),
24872
+ showBody: z50.boolean().optional(),
24873
+ showPrices: z50.boolean().optional(),
24874
+ showValidityPeriod: z50.boolean().optional(),
24875
+ showPricePerCredit: z50.boolean().nullable().optional(),
24876
+ passesHeading: z50.string().optional(),
24877
+ membershipsHeading: z50.string().optional(),
24878
+ buyButtonText: z50.string().optional(),
24879
+ addButtonText: z50.string().optional(),
24880
+ passPurchaseMode: z50.enum(["add_to_cart", "buy_now"]).optional(),
24881
+ subscribeButtonText: z50.string().optional(),
24882
+ emptyStateText: z50.string().optional(),
24883
+ checkoutButtonText: z50.string().optional(),
24884
+ clearButtonText: z50.string().optional(),
24885
+ submitButtonText: z50.string().optional(),
24818
24886
  contentEntry: contentEntrySchema3.optional(),
24819
- passes: z51.array(publicPassProductSchema).nullable().optional(),
24820
- memberships: z51.array(publicMembershipProductSchema).nullable().optional(),
24821
- products: z51.array(publicProductSchema).nullable().optional(),
24822
- siteId: z51.string().optional(),
24823
- apiBaseUrl: z51.string().optional(),
24887
+ passes: z50.array(publicPassProductSchema).nullable().optional(),
24888
+ memberships: z50.array(publicMembershipProductSchema).nullable().optional(),
24889
+ products: z50.array(publicProductSchema).nullable().optional(),
24890
+ siteId: z50.string().optional(),
24891
+ apiBaseUrl: z50.string().optional(),
24824
24892
  stage: previewStageSchema.optional()
24825
24893
  });
24826
- var productVariantOptionDisplaySchema = z51.object({
24827
- id: z51.string(),
24828
- label: z51.string(),
24829
- soldOut: z51.boolean()
24830
- });
24831
- var productCardDisplaySchema = z51.object({
24832
- productId: z51.string(),
24833
- title: z51.string(),
24834
- path: z51.string().nullable(),
24835
- summary: z51.string().nullable(),
24836
- priceLabel: z51.string().nullable(),
24837
- image: z51.object({
24838
- url: z51.string(),
24839
- alt: z51.string().nullable()
24894
+ var productVariantOptionDisplaySchema = z50.object({
24895
+ id: z50.string(),
24896
+ label: z50.string(),
24897
+ soldOut: z50.boolean()
24898
+ });
24899
+ var productCardDisplaySchema = z50.object({
24900
+ productId: z50.string(),
24901
+ title: z50.string(),
24902
+ path: z50.string().nullable(),
24903
+ summary: z50.string().nullable(),
24904
+ priceLabel: z50.string().nullable(),
24905
+ image: z50.object({
24906
+ url: z50.string(),
24907
+ alt: z50.string().nullable()
24840
24908
  }).nullable(),
24841
- variantOptions: z51.array(productVariantOptionDisplaySchema),
24842
- selectedVariantId: z51.string().nullable(),
24843
- selectionLabel: z51.string(),
24844
- actionLabel: z51.string(),
24845
- soldOut: z51.boolean()
24846
- });
24847
- var productListDisplaySchema = z51.object({
24848
- kind: z51.literal("product-list"),
24849
- state: z51.enum(["empty", "ready"]),
24850
- heading: z51.string().nullable(),
24851
- className: z51.string().nullable(),
24852
- layout: z51.enum(["grid", "list"]),
24853
- columns: z51.string(),
24854
- emptyMessage: z51.string(),
24855
- cards: z51.array(productCardDisplaySchema)
24856
- });
24857
- var productDetailDisplaySchema = z51.discriminatedUnion("state", [
24858
- z51.object({
24859
- kind: z51.literal("product-detail"),
24860
- state: z51.literal("empty"),
24861
- heading: z51.string().nullable(),
24862
- className: z51.string().nullable(),
24863
- emptyMessage: z51.string()
24909
+ variantOptions: z50.array(productVariantOptionDisplaySchema),
24910
+ selectedVariantId: z50.string().nullable(),
24911
+ selectionLabel: z50.string(),
24912
+ actionLabel: z50.string(),
24913
+ soldOut: z50.boolean()
24914
+ });
24915
+ var productListDisplaySchema = z50.object({
24916
+ kind: z50.literal("product-list"),
24917
+ state: z50.enum(["empty", "ready"]),
24918
+ heading: z50.string().nullable(),
24919
+ className: z50.string().nullable(),
24920
+ layout: z50.enum(["grid", "list"]),
24921
+ columns: z50.string(),
24922
+ emptyMessage: z50.string(),
24923
+ cards: z50.array(productCardDisplaySchema)
24924
+ });
24925
+ var productDetailDisplaySchema = z50.discriminatedUnion("state", [
24926
+ z50.object({
24927
+ kind: z50.literal("product-detail"),
24928
+ state: z50.literal("empty"),
24929
+ heading: z50.string().nullable(),
24930
+ className: z50.string().nullable(),
24931
+ emptyMessage: z50.string()
24864
24932
  }),
24865
- z51.object({
24866
- kind: z51.literal("product-detail"),
24867
- state: z51.literal("ready"),
24868
- heading: z51.string().nullable(),
24869
- className: z51.string().nullable(),
24870
- title: z51.string(),
24871
- priceLabel: z51.string(),
24872
- summary: z51.string().nullable(),
24873
- categoryLabel: z51.string().nullable(),
24874
- gallery: z51.array(z51.object({
24875
- url: z51.string(),
24876
- alt: z51.string().nullable()
24933
+ z50.object({
24934
+ kind: z50.literal("product-detail"),
24935
+ state: z50.literal("ready"),
24936
+ heading: z50.string().nullable(),
24937
+ className: z50.string().nullable(),
24938
+ title: z50.string(),
24939
+ priceLabel: z50.string(),
24940
+ summary: z50.string().nullable(),
24941
+ categoryLabel: z50.string().nullable(),
24942
+ gallery: z50.array(z50.object({
24943
+ url: z50.string(),
24944
+ alt: z50.string().nullable()
24877
24945
  })),
24878
- variantOptions: z51.array(productVariantOptionDisplaySchema),
24879
- selectedVariantId: z51.string().nullable(),
24880
- selectionLabel: z51.string(),
24881
- actionLabel: z51.string(),
24882
- soldOut: z51.boolean(),
24883
- body: z51.unknown().nullable()
24946
+ variantOptions: z50.array(productVariantOptionDisplaySchema),
24947
+ selectedVariantId: z50.string().nullable(),
24948
+ selectionLabel: z50.string(),
24949
+ actionLabel: z50.string(),
24950
+ soldOut: z50.boolean(),
24951
+ body: z50.unknown().nullable()
24884
24952
  })
24885
24953
  ]);
24886
- var passCardDisplaySchema = z51.object({
24887
- id: z51.string(),
24888
- title: z51.string(),
24889
- description: z51.string().nullable(),
24890
- priceLabel: z51.string(),
24891
- creditsLabel: z51.string(),
24892
- perCreditLabel: z51.string().nullable(),
24893
- validityLabel: z51.string().nullable(),
24894
- actionLabel: z51.string()
24895
- });
24896
- var membershipCardDisplaySchema = z51.object({
24897
- id: z51.string(),
24898
- title: z51.string(),
24899
- description: z51.string().nullable(),
24900
- priceLabel: z51.string(),
24901
- intervalLabel: z51.string(),
24902
- actionLabel: z51.string()
24903
- });
24904
- var passesMembershipsDisplaySchema = z51.object({
24905
- kind: z51.literal("passes-memberships"),
24906
- state: z51.enum(["empty", "ready"]),
24907
- className: z51.string().nullable(),
24908
- layout: z51.enum(["grid", "list"]),
24909
- columns: z51.string(),
24910
- emptyMessage: z51.string(),
24911
- passesHeading: z51.string(),
24912
- membershipsHeading: z51.string(),
24913
- passes: z51.array(passCardDisplaySchema),
24914
- memberships: z51.array(membershipCardDisplaySchema)
24915
- });
24916
- var cartLineDisplaySchema = z51.object({
24917
- key: z51.string(),
24918
- title: z51.string(),
24919
- priceLabel: z51.string(),
24920
- quantity: z51.number(),
24921
- quantityEditable: z51.boolean()
24922
- });
24923
- var cartDisplaySchema = z51.object({
24924
- kind: z51.literal("cart"),
24925
- state: z51.enum(["empty", "ready"]),
24926
- heading: z51.string().nullable(),
24927
- className: z51.string().nullable(),
24928
- emptyMessage: z51.string(),
24929
- supportText: z51.string().nullable(),
24930
- items: z51.array(cartLineDisplaySchema),
24931
- subtotalLabel: z51.string().nullable(),
24932
- checkoutButtonText: z51.string(),
24933
- clearButtonText: z51.string()
24934
- });
24935
- var checkoutDisplaySchema = z51.object({
24936
- kind: z51.literal("checkout"),
24937
- state: z51.enum(["empty", "blocked", "ready"]),
24938
- heading: z51.string().nullable(),
24939
- className: z51.string().nullable(),
24940
- message: z51.string().nullable(),
24941
- submitButtonText: z51.string()
24942
- });
24943
- var passesMembershipsHydrationSchema = z51.object({
24944
- passes: z51.array(publicPassProductSchema),
24945
- memberships: z51.array(publicMembershipProductSchema),
24946
- passPurchaseMode: z51.enum(["add_to_cart", "buy_now"])
24947
- });
24948
- var productListHydrationSchema = z51.object({
24949
- products: z51.array(publicProductSchema),
24950
- showSummary: z51.boolean(),
24951
- showPrices: z51.boolean(),
24952
- addButtonText: z51.string()
24953
- });
24954
- var productDetailHydrationSchema = z51.object({
24955
- products: z51.array(publicProductSchema),
24956
- productId: z51.string().nullable(),
24957
- showSummary: z51.boolean(),
24958
- showBody: z51.boolean(),
24959
- addButtonText: z51.string()
24960
- });
24961
- var cartHydrationSchema = z51.object({
24962
- emptyStateText: z51.string(),
24963
- checkoutButtonText: z51.string(),
24964
- clearButtonText: z51.string()
24965
- });
24966
- var checkoutHydrationSchema = z51.object({
24967
- emptyStateText: z51.string(),
24968
- submitButtonText: z51.string()
24969
- });
24970
- var passesMembershipsRenderSchema = z51.object({
24954
+ var passCardDisplaySchema = z50.object({
24955
+ id: z50.string(),
24956
+ title: z50.string(),
24957
+ description: z50.string().nullable(),
24958
+ priceLabel: z50.string(),
24959
+ creditsLabel: z50.string(),
24960
+ perCreditLabel: z50.string().nullable(),
24961
+ validityLabel: z50.string().nullable(),
24962
+ actionLabel: z50.string()
24963
+ });
24964
+ var membershipCardDisplaySchema = z50.object({
24965
+ id: z50.string(),
24966
+ title: z50.string(),
24967
+ description: z50.string().nullable(),
24968
+ priceLabel: z50.string(),
24969
+ intervalLabel: z50.string(),
24970
+ actionLabel: z50.string()
24971
+ });
24972
+ var passesMembershipsDisplaySchema = z50.object({
24973
+ kind: z50.literal("passes-memberships"),
24974
+ state: z50.enum(["empty", "ready"]),
24975
+ className: z50.string().nullable(),
24976
+ layout: z50.enum(["grid", "list"]),
24977
+ columns: z50.string(),
24978
+ emptyMessage: z50.string(),
24979
+ passesHeading: z50.string(),
24980
+ membershipsHeading: z50.string(),
24981
+ passes: z50.array(passCardDisplaySchema),
24982
+ memberships: z50.array(membershipCardDisplaySchema)
24983
+ });
24984
+ var cartLineDisplaySchema = z50.object({
24985
+ key: z50.string(),
24986
+ title: z50.string(),
24987
+ priceLabel: z50.string(),
24988
+ quantity: z50.number(),
24989
+ quantityEditable: z50.boolean()
24990
+ });
24991
+ var cartDisplaySchema = z50.object({
24992
+ kind: z50.literal("cart"),
24993
+ state: z50.enum(["empty", "ready"]),
24994
+ heading: z50.string().nullable(),
24995
+ className: z50.string().nullable(),
24996
+ emptyMessage: z50.string(),
24997
+ supportText: z50.string().nullable(),
24998
+ items: z50.array(cartLineDisplaySchema),
24999
+ subtotalLabel: z50.string().nullable(),
25000
+ checkoutButtonText: z50.string(),
25001
+ clearButtonText: z50.string()
25002
+ });
25003
+ var checkoutDisplaySchema = z50.object({
25004
+ kind: z50.literal("checkout"),
25005
+ state: z50.enum(["empty", "blocked", "ready"]),
25006
+ heading: z50.string().nullable(),
25007
+ className: z50.string().nullable(),
25008
+ message: z50.string().nullable(),
25009
+ submitButtonText: z50.string()
25010
+ });
25011
+ var passesMembershipsHydrationSchema = z50.object({
25012
+ passes: z50.array(publicPassProductSchema),
25013
+ memberships: z50.array(publicMembershipProductSchema),
25014
+ passPurchaseMode: z50.enum(["add_to_cart", "buy_now"])
25015
+ });
25016
+ var productListHydrationSchema = z50.object({
25017
+ products: z50.array(publicProductSchema),
25018
+ showSummary: z50.boolean(),
25019
+ showPrices: z50.boolean(),
25020
+ addButtonText: z50.string()
25021
+ });
25022
+ var productDetailHydrationSchema = z50.object({
25023
+ products: z50.array(publicProductSchema),
25024
+ productId: z50.string().nullable(),
25025
+ showSummary: z50.boolean(),
25026
+ showBody: z50.boolean(),
25027
+ addButtonText: z50.string()
25028
+ });
25029
+ var cartHydrationSchema = z50.object({
25030
+ emptyStateText: z50.string(),
25031
+ checkoutButtonText: z50.string(),
25032
+ clearButtonText: z50.string()
25033
+ });
25034
+ var checkoutHydrationSchema = z50.object({
25035
+ emptyStateText: z50.string(),
25036
+ submitButtonText: z50.string()
25037
+ });
25038
+ var passesMembershipsRenderSchema = z50.object({
24971
25039
  display: passesMembershipsDisplaySchema,
24972
25040
  hydration: passesMembershipsHydrationSchema
24973
25041
  });
24974
- var productListRenderSchema = z51.object({
25042
+ var productListRenderSchema = z50.object({
24975
25043
  display: productListDisplaySchema,
24976
25044
  hydration: productListHydrationSchema
24977
25045
  });
24978
- var productDetailRenderSchema = z51.object({
25046
+ var productDetailRenderSchema = z50.object({
24979
25047
  display: productDetailDisplaySchema,
24980
25048
  hydration: productDetailHydrationSchema
24981
25049
  });
24982
- var cartRenderSchema = z51.object({
25050
+ var cartRenderSchema = z50.object({
24983
25051
  display: cartDisplaySchema,
24984
25052
  hydration: cartHydrationSchema
24985
25053
  });
24986
- var checkoutRenderSchema = z51.object({
25054
+ var checkoutRenderSchema = z50.object({
24987
25055
  display: checkoutDisplaySchema,
24988
25056
  hydration: checkoutHydrationSchema
24989
25057
  });
24990
25058
  function resolveShowPricePerCredit(source) {
24991
25059
  return source.showPricePerCredit ?? true;
24992
25060
  }
24993
- var shopIslandMetaCodec = createZodCodec(z51.object({
24994
- siteId: z51.string().optional(),
24995
- apiBaseUrl: z51.string().optional(),
25061
+ var shopIslandMetaCodec = createZodCodec(z50.object({
25062
+ siteId: z50.string().optional(),
25063
+ apiBaseUrl: z50.string().optional(),
24996
25064
  stage: previewStageSchema.optional()
24997
25065
  }));
24998
25066
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -25370,9 +25438,9 @@ var shopBlockDefinition = {
25370
25438
  runtime: shopBlockRuntime,
25371
25439
  dataSchemas: {
25372
25440
  // listPublicPasses returns { passes: [...] }
25373
- passes: z52.object({ passes: z52.array(publicPassProductSchema) }).optional(),
25441
+ passes: publicPassProductCollectionSchema.optional(),
25374
25442
  // listPublicMemberships returns { memberships: [...] }
25375
- memberships: z52.object({ memberships: z52.array(publicMembershipProductSchema) }).optional()
25443
+ memberships: publicMembershipProductCollectionSchema.optional()
25376
25444
  },
25377
25445
  dataLoaders: {
25378
25446
  // Load passes for display
@@ -25395,7 +25463,7 @@ var shopBlockDefinition = {
25395
25463
  };
25396
25464
 
25397
25465
  // ../blocks/src/system/blocks/product-list.ts
25398
- import { z as z53 } from "zod";
25466
+ import { z as z51 } from "zod";
25399
25467
  var productListManifest = createBlockManifest({
25400
25468
  id: "block.product-list",
25401
25469
  version: "1.0.0",
@@ -25528,7 +25596,7 @@ var productListBlockDefinition = {
25528
25596
  }
25529
25597
  }
25530
25598
  };
25531
- var productListDataSchema = z53.object({
25599
+ var productListDataSchema = z51.object({
25532
25600
  products: publicProductsResponseSchema.optional()
25533
25601
  });
25534
25602
 
@@ -25789,72 +25857,72 @@ var checkoutBlockDefinition = {
25789
25857
  };
25790
25858
 
25791
25859
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
25792
- import { z as z54 } from "zod";
25793
- var publicGiftCardOfferSchema = z54.object({
25794
- id: z54.string(),
25795
- kind: z54.literal("gift_card"),
25796
- title: z54.string(),
25797
- description: z54.string().nullable(),
25798
- sortOrder: z54.number().int(),
25799
- giftCard: z54.object({
25800
- fixedDenominations: z54.array(z54.number().int().positive()),
25801
- customAmountEnabled: z54.boolean(),
25802
- customAmountMinCents: z54.number().int().positive(),
25803
- customAmountMaxCents: z54.number().int().positive()
25860
+ import { z as z52 } from "zod";
25861
+ var publicGiftCardOfferSchema = z52.object({
25862
+ id: z52.string(),
25863
+ kind: z52.literal("gift_card"),
25864
+ title: z52.string(),
25865
+ description: z52.string().nullable(),
25866
+ sortOrder: z52.number().int(),
25867
+ giftCard: z52.object({
25868
+ fixedDenominations: z52.array(z52.number().int().positive()),
25869
+ customAmountEnabled: z52.boolean(),
25870
+ customAmountMinCents: z52.number().int().positive(),
25871
+ customAmountMaxCents: z52.number().int().positive()
25804
25872
  }),
25805
- voucher: z54.null()
25806
- });
25807
- var publicVoucherOfferSchema = z54.object({
25808
- id: z54.string(),
25809
- kind: z54.literal("voucher"),
25810
- title: z54.string(),
25811
- description: z54.string().nullable(),
25812
- sortOrder: z54.number().int(),
25813
- giftCard: z54.null(),
25814
- voucher: z54.object({
25815
- purchaseAmountCents: z54.number().int().positive()
25873
+ voucher: z52.null()
25874
+ });
25875
+ var publicVoucherOfferSchema = z52.object({
25876
+ id: z52.string(),
25877
+ kind: z52.literal("voucher"),
25878
+ title: z52.string(),
25879
+ description: z52.string().nullable(),
25880
+ sortOrder: z52.number().int(),
25881
+ giftCard: z52.null(),
25882
+ voucher: z52.object({
25883
+ purchaseAmountCents: z52.number().int().positive()
25816
25884
  })
25817
25885
  });
25818
- var publicGiftingOffersResponseSchema = z54.object({
25819
- currency: z54.string(),
25820
- giftCards: z54.array(publicGiftCardOfferSchema),
25821
- vouchers: z54.array(publicVoucherOfferSchema)
25886
+ var publicGiftingOffersResponseSchema = z52.object({
25887
+ currency: z52.string(),
25888
+ giftCards: z52.array(publicGiftCardOfferSchema),
25889
+ vouchers: z52.array(publicVoucherOfferSchema)
25822
25890
  });
25823
- var giftingSourceSchema = z54.object({
25824
- siteId: z54.string().optional(),
25825
- apiBaseUrl: z54.string().optional(),
25891
+ var giftingSourceSchema = z52.object({
25892
+ siteId: z52.string().optional(),
25893
+ apiBaseUrl: z52.string().optional(),
25826
25894
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
25827
- className: z54.string().nullable().optional(),
25828
- heading: z54.string().nullable().optional(),
25829
- intro: z54.string().nullable().optional(),
25830
- giftCardsHeading: z54.string().nullable().optional(),
25831
- vouchersHeading: z54.string().nullable().optional(),
25832
- emptyStateText: z54.string().nullable().optional(),
25833
- checkoutButtonText: z54.string().nullable().optional(),
25834
- successMessage: z54.string().nullable().optional()
25835
- });
25836
- var giftingDisplaySchema = z54.object({
25837
- kind: z54.literal("gifting"),
25838
- state: z54.literal("ready"),
25839
- className: z54.string().nullable(),
25840
- heading: z54.string(),
25841
- intro: z54.string().nullable(),
25842
- giftCardsHeading: z54.string(),
25843
- vouchersHeading: z54.string(),
25844
- emptyStateText: z54.string()
25845
- });
25846
- var giftingHydrationSchema = z54.object({
25895
+ className: z52.string().nullable().optional(),
25896
+ heading: z52.string().nullable().optional(),
25897
+ intro: z52.string().nullable().optional(),
25898
+ giftCardsHeading: z52.string().nullable().optional(),
25899
+ vouchersHeading: z52.string().nullable().optional(),
25900
+ emptyStateText: z52.string().nullable().optional(),
25901
+ checkoutButtonText: z52.string().nullable().optional(),
25902
+ successMessage: z52.string().nullable().optional()
25903
+ });
25904
+ var giftingDisplaySchema = z52.object({
25905
+ kind: z52.literal("gifting"),
25906
+ state: z52.literal("ready"),
25907
+ className: z52.string().nullable(),
25908
+ heading: z52.string(),
25909
+ intro: z52.string().nullable(),
25910
+ giftCardsHeading: z52.string(),
25911
+ vouchersHeading: z52.string(),
25912
+ emptyStateText: z52.string()
25913
+ });
25914
+ var giftingHydrationSchema = z52.object({
25847
25915
  offers: publicGiftingOffersResponseSchema.nullable(),
25848
- checkoutButtonText: z54.string(),
25849
- successMessage: z54.string()
25916
+ checkoutButtonText: z52.string(),
25917
+ successMessage: z52.string()
25850
25918
  });
25851
- var giftingRenderSchema = z54.object({
25919
+ var giftingRenderSchema = z52.object({
25852
25920
  display: giftingDisplaySchema,
25853
25921
  hydration: giftingHydrationSchema
25854
25922
  });
25855
- var giftingIslandMetaCodec = createZodCodec(z54.object({
25856
- siteId: z54.string().optional(),
25857
- apiBaseUrl: z54.string().optional()
25923
+ var giftingIslandMetaCodec = createZodCodec(z52.object({
25924
+ siteId: z52.string().optional(),
25925
+ apiBaseUrl: z52.string().optional()
25858
25926
  }));
25859
25927
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
25860
25928
  "siteId",
@@ -26025,7 +26093,7 @@ var giftingBlockDefinition = {
26025
26093
  };
26026
26094
 
26027
26095
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
26028
- import { z as z55 } from "zod";
26096
+ import { z as z53 } from "zod";
26029
26097
 
26030
26098
  // ../blocks/src/system/blocks/newsletter-signup-destination.ts
26031
26099
  function parseNewsletterSignupBlockId(value) {
@@ -26132,65 +26200,65 @@ function withOptionalPhone(fields3, includePhone) {
26132
26200
  }
26133
26201
 
26134
26202
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
26135
- var newsletterPresetSchema = z55.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
26136
- var newsletterDestinationProviderSchema = z55.enum(["riverbank", "mailchimp"]);
26137
- var newsletterFieldSchema = z55.object({
26138
- id: z55.string(),
26139
- type: z55.enum(["email", "text"]),
26140
- label: z55.string(),
26141
- required: z55.boolean(),
26142
- placeholder: z55.string().optional()
26143
- });
26144
- var newsletterSignupBlockIdSchema = z55.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
26145
- var signedNewsletterDestinationRefSchema = z55.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
26146
- var newsletterPublicDestinationRefSchema = z55.discriminatedUnion("tag", [
26147
- z55.object({
26148
- tag: z55.literal("block_ref"),
26203
+ var newsletterPresetSchema = z53.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
26204
+ var newsletterDestinationProviderSchema = z53.enum(["riverbank", "mailchimp"]);
26205
+ var newsletterFieldSchema = z53.object({
26206
+ id: z53.string(),
26207
+ type: z53.enum(["email", "text"]),
26208
+ label: z53.string(),
26209
+ required: z53.boolean(),
26210
+ placeholder: z53.string().optional()
26211
+ });
26212
+ var newsletterSignupBlockIdSchema = z53.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
26213
+ var signedNewsletterDestinationRefSchema = z53.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
26214
+ var newsletterPublicDestinationRefSchema = z53.discriminatedUnion("tag", [
26215
+ z53.object({
26216
+ tag: z53.literal("block_ref"),
26149
26217
  blockId: newsletterSignupBlockIdSchema
26150
26218
  }),
26151
- z55.object({
26152
- tag: z55.literal("signed_destination_ref"),
26219
+ z53.object({
26220
+ tag: z53.literal("signed_destination_ref"),
26153
26221
  token: signedNewsletterDestinationRefSchema
26154
26222
  })
26155
26223
  ]);
26156
- var newsletterSourceSchema = z55.object({
26157
- blockId: z55.string().nullable().optional(),
26158
- siteId: z55.string().optional(),
26159
- apiBaseUrl: z55.string().optional(),
26160
- listId: z55.string().nullable().optional(),
26224
+ var newsletterSourceSchema = z53.object({
26225
+ blockId: z53.string().nullable().optional(),
26226
+ siteId: z53.string().optional(),
26227
+ apiBaseUrl: z53.string().optional(),
26228
+ listId: z53.string().nullable().optional(),
26161
26229
  destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
26162
26230
  preset: newsletterPresetSchema.optional(),
26163
- includePhone: z55.boolean().optional(),
26164
- buttonLabel: z55.string().nullable().optional(),
26165
- successMessage: z55.string().nullable().optional(),
26166
- privacyNote: z55.string().nullable().optional(),
26167
- tags: z55.string().nullable().optional(),
26168
- spamProtectionEnabled: z55.boolean().optional(),
26169
- className: z55.string().nullable().optional()
26170
- });
26171
- var newsletterDisplaySchema = z55.object({
26172
- kind: z55.literal("newsletter-form"),
26173
- className: z55.string().nullable(),
26174
- buttonLabel: z55.string(),
26175
- successMessage: z55.string().nullable(),
26176
- privacyNote: z55.string().nullable(),
26177
- fields: z55.array(newsletterFieldSchema)
26178
- });
26179
- var newsletterHydrationSchema = z55.object({
26231
+ includePhone: z53.boolean().optional(),
26232
+ buttonLabel: z53.string().nullable().optional(),
26233
+ successMessage: z53.string().nullable().optional(),
26234
+ privacyNote: z53.string().nullable().optional(),
26235
+ tags: z53.string().nullable().optional(),
26236
+ spamProtectionEnabled: z53.boolean().optional(),
26237
+ className: z53.string().nullable().optional()
26238
+ });
26239
+ var newsletterDisplaySchema = z53.object({
26240
+ kind: z53.literal("newsletter-form"),
26241
+ className: z53.string().nullable(),
26242
+ buttonLabel: z53.string(),
26243
+ successMessage: z53.string().nullable(),
26244
+ privacyNote: z53.string().nullable(),
26245
+ fields: z53.array(newsletterFieldSchema)
26246
+ });
26247
+ var newsletterHydrationSchema = z53.object({
26180
26248
  destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
26181
- listId: z55.string().nullable().optional(),
26249
+ listId: z53.string().nullable().optional(),
26182
26250
  preset: newsletterPresetSchema,
26183
- includePhone: z55.boolean(),
26184
- tags: z55.string().nullable().optional(),
26185
- spamProtectionEnabled: z55.boolean().optional()
26251
+ includePhone: z53.boolean(),
26252
+ tags: z53.string().nullable().optional(),
26253
+ spamProtectionEnabled: z53.boolean().optional()
26186
26254
  });
26187
- var newsletterRenderSchema = z55.object({
26255
+ var newsletterRenderSchema = z53.object({
26188
26256
  display: newsletterDisplaySchema,
26189
26257
  hydration: newsletterHydrationSchema
26190
26258
  });
26191
- var newsletterIslandMetaCodec = createZodCodec(z55.object({
26192
- siteId: z55.string().optional(),
26193
- apiBaseUrl: z55.string().optional()
26259
+ var newsletterIslandMetaCodec = createZodCodec(z53.object({
26260
+ siteId: z53.string().optional(),
26261
+ apiBaseUrl: z53.string().optional()
26194
26262
  }));
26195
26263
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
26196
26264
  function buildNewsletterDisplay(source) {
@@ -26329,23 +26397,23 @@ var newsletterSignupBlockDefinition = {
26329
26397
  };
26330
26398
 
26331
26399
  // ../blocks/src/system/blocks/team-members.ts
26332
- import { z as z56 } from "zod";
26400
+ import { z as z54 } from "zod";
26333
26401
  var ITEM_NAME2 = "member";
26334
26402
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
26335
26403
  message: "Team member photos must be image media"
26336
26404
  }).nullable();
26337
- var teamMemberDataSchema = z56.object({
26338
- _type: z56.literal("teamMember"),
26339
- id: z56.string(),
26340
- name: z56.string(),
26341
- role: z56.string().nullable(),
26342
- roleLabel: z56.string().nullable(),
26343
- bio: z56.string().nullable(),
26344
- summary: z56.string().nullable(),
26405
+ var teamMemberDataSchema = z54.object({
26406
+ _type: z54.literal("teamMember"),
26407
+ id: z54.string(),
26408
+ name: z54.string(),
26409
+ role: z54.string().nullable(),
26410
+ roleLabel: z54.string().nullable(),
26411
+ bio: z54.string().nullable(),
26412
+ summary: z54.string().nullable(),
26345
26413
  photo: teamMemberPhotoSchema,
26346
- profilePath: z56.string().nullable()
26414
+ profilePath: z54.string().nullable()
26347
26415
  });
26348
- var teamMembersDataSchema = z56.array(teamMemberDataSchema);
26416
+ var teamMembersDataSchema = z54.array(teamMemberDataSchema);
26349
26417
  var dynamicSourceWhen = { equals: "site_staff" };
26350
26418
  var manualSourceWhen = { equals: "site_staff", not: true };
26351
26419
  var headingNode = text(
@@ -27237,13 +27305,6 @@ var systemBlockDefinitionsRaw = [
27237
27305
  weight: "featured",
27238
27306
  bias: "clear",
27239
27307
  surfaces: heroSectionSurfaces
27240
- }),
27241
- layoutProfile({
27242
- variantKey: "splitEditorial",
27243
- family: "split",
27244
- weight: "featured",
27245
- bias: "clear",
27246
- surfaces: heroSectionSurfaces
27247
27308
  })
27248
27309
  ]
27249
27310
  })),
@@ -27487,9 +27548,8 @@ var systemBlockDefinitionsRaw = [
27487
27548
  flow: offeringsFlow,
27488
27549
  layoutProfiles: [
27489
27550
  layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
27551
+ layoutProfile({ variantKey: "calendar", family: "stack", weight: "standard" }),
27490
27552
  layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
27491
- layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
27492
- layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
27493
27553
  layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
27494
27554
  ]
27495
27555
  })),
@@ -28397,42 +28457,45 @@ import { jsx as jsx4 } from "react/jsx-runtime";
28397
28457
  import * as React from "react";
28398
28458
  import { Fragment, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
28399
28459
 
28460
+ // ../theme-core/src/ResponsiveScope.tsx
28461
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
28462
+
28400
28463
  // ../theme-core/src/fonts/uploadFormat.ts
28401
28464
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
28402
28465
 
28403
28466
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
28404
- import { z as z57 } from "zod";
28405
- var themeBridgeConfigSchema = z57.object({
28406
- tokens: z57.record(z57.string(), z57.string()),
28407
- typography: z57.object({
28408
- headingFamily: z57.string().optional(),
28409
- bodyFamily: z57.string().optional(),
28410
- headingWeight: z57.number().optional(),
28411
- bodyWeight: z57.number().optional()
28467
+ import { z as z55 } from "zod";
28468
+ var themeBridgeConfigSchema = z55.object({
28469
+ tokens: z55.record(z55.string(), z55.string()),
28470
+ typography: z55.object({
28471
+ headingFamily: z55.string().optional(),
28472
+ bodyFamily: z55.string().optional(),
28473
+ headingWeight: z55.number().optional(),
28474
+ bodyWeight: z55.number().optional()
28412
28475
  }).optional(),
28413
- spacing: z57.enum(["comfortable", "standard", "dense"]).optional(),
28414
- corners: z57.enum(["square", "soft", "rounded", "pill"]).optional(),
28415
- shadows: z57.enum(["none", "low", "medium", "high"]).optional(),
28416
- components: z57.object({
28417
- buttons: z57.union([
28418
- z57.boolean(),
28419
- z57.object({
28420
- variants: z57.array(z57.enum(["primary", "secondary", "outline", "ghost"])).optional()
28476
+ spacing: z55.enum(["comfortable", "standard", "dense"]).optional(),
28477
+ corners: z55.enum(["square", "soft", "rounded", "pill"]).optional(),
28478
+ shadows: z55.enum(["none", "low", "medium", "high"]).optional(),
28479
+ components: z55.object({
28480
+ buttons: z55.union([
28481
+ z55.boolean(),
28482
+ z55.object({
28483
+ variants: z55.array(z55.enum(["primary", "secondary", "outline", "ghost"])).optional()
28421
28484
  })
28422
28485
  ]).optional(),
28423
- cards: z57.union([
28424
- z57.boolean(),
28425
- z57.object({
28426
- variants: z57.array(z57.enum(["default", "elevated", "outlined"])).optional()
28486
+ cards: z55.union([
28487
+ z55.boolean(),
28488
+ z55.object({
28489
+ variants: z55.array(z55.enum(["default", "elevated", "outlined"])).optional()
28427
28490
  })
28428
28491
  ]).optional(),
28429
- inputs: z57.boolean().optional()
28492
+ inputs: z55.boolean().optional()
28430
28493
  }).optional(),
28431
- overrides: z57.record(z57.string(), z57.string()).optional()
28494
+ overrides: z55.record(z55.string(), z55.string()).optional()
28432
28495
  }).passthrough();
28433
28496
 
28434
28497
  // ../theme-core/src/siteChrome.tsx
28435
- import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
28498
+ import { Fragment as Fragment2, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
28436
28499
 
28437
28500
  // src/page-converter/block-summaries.ts
28438
28501
  function buildFieldSummary(input) {
@@ -28637,11 +28700,11 @@ function resolveModelForPass(passId, tierOverrides, passOverrides, globalModel)
28637
28700
  }
28638
28701
 
28639
28702
  // src/page-converter/passes/pass1-segmentation-matching.ts
28640
- import { z as z62 } from "zod";
28703
+ import { z as z60 } from "zod";
28641
28704
 
28642
28705
  // src/manifest/passes/pass1-fields.ts
28643
- import { z as z58 } from "zod";
28644
- var simpleFieldTypeEnum = z58.enum([
28706
+ import { z as z56 } from "zod";
28707
+ var simpleFieldTypeEnum = z56.enum([
28645
28708
  "text",
28646
28709
  "richText",
28647
28710
  "media",
@@ -28650,7 +28713,7 @@ var simpleFieldTypeEnum = z58.enum([
28650
28713
  "select",
28651
28714
  "number"
28652
28715
  ]);
28653
- var fieldTypeEnum = z58.enum([
28716
+ var fieldTypeEnum = z56.enum([
28654
28717
  "text",
28655
28718
  "richText",
28656
28719
  "media",
@@ -28661,109 +28724,109 @@ var fieldTypeEnum = z58.enum([
28661
28724
  "repeater",
28662
28725
  "group"
28663
28726
  ]);
28664
- var linkDefaultValue = z58.object({
28665
- label: z58.string().describe("The visible link text")
28727
+ var linkDefaultValue = z56.object({
28728
+ label: z56.string().describe("The visible link text")
28666
28729
  });
28667
- var mediaDefaultValue = z58.object({
28668
- src: z58.string().describe("Image/video source URL"),
28669
- alt: z58.string().describe("Alt text for accessibility (empty string if none)")
28730
+ var mediaDefaultValue = z56.object({
28731
+ src: z56.string().describe("Image/video source URL"),
28732
+ alt: z56.string().describe("Alt text for accessibility (empty string if none)")
28670
28733
  });
28671
- var nestedFieldSchema = z58.object({
28672
- id: z58.string().min(1).describe("camelCase field ID"),
28734
+ var nestedFieldSchema = z56.object({
28735
+ id: z56.string().min(1).describe("camelCase field ID"),
28673
28736
  type: simpleFieldTypeEnum,
28674
- label: z58.string().min(1),
28675
- required: z58.boolean().nullable()
28737
+ label: z56.string().min(1),
28738
+ required: z56.boolean().nullable()
28676
28739
  });
28677
- var simpleFieldSchema = z58.object({
28678
- id: z58.string().min(1).describe("camelCase field ID (e.g., headline, ctaButton)"),
28740
+ var simpleFieldSchema = z56.object({
28741
+ id: z56.string().min(1).describe("camelCase field ID (e.g., headline, ctaButton)"),
28679
28742
  type: simpleFieldTypeEnum,
28680
- label: z58.string().min(1),
28681
- required: z58.boolean(),
28682
- multiline: z58.boolean().nullable().describe("For text fields: true if multiple lines"),
28683
- defaultValue: z58.union([
28684
- z58.string(),
28685
- z58.number(),
28686
- z58.boolean(),
28743
+ label: z56.string().min(1),
28744
+ required: z56.boolean(),
28745
+ multiline: z56.boolean().nullable().describe("For text fields: true if multiple lines"),
28746
+ defaultValue: z56.union([
28747
+ z56.string(),
28748
+ z56.number(),
28749
+ z56.boolean(),
28687
28750
  linkDefaultValue,
28688
28751
  mediaDefaultValue,
28689
- z58.null()
28752
+ z56.null()
28690
28753
  ]).describe("Default content extracted from HTML"),
28691
- htmlContext: z58.string().describe("Brief description of where this appears in the HTML")
28692
- });
28693
- var repeaterFieldSchema2 = z58.object({
28694
- id: z58.string().min(1).describe("camelCase field ID (e.g., socialLinks, features)"),
28695
- type: z58.literal("repeater"),
28696
- label: z58.string().min(1),
28697
- required: z58.boolean(),
28698
- itemLabel: z58.string().min(1).describe('Singular label for each item (e.g., "Link", "Feature")'),
28699
- itemFields: z58.array(nestedFieldSchema).min(1).describe("Fields for each item in the repeater"),
28700
- htmlContext: z58.string().describe("Brief description of where this appears in the HTML")
28701
- });
28702
- var groupFieldSchema2 = z58.object({
28703
- id: z58.string().min(1).describe("camelCase field ID (e.g., contactInfo, seoSettings)"),
28704
- type: z58.literal("group"),
28705
- label: z58.string().min(1),
28706
- required: z58.boolean(),
28707
- groupFields: z58.array(nestedFieldSchema).min(1).describe("Fields within the group"),
28708
- htmlContext: z58.string().describe("Brief description of where this appears in the HTML")
28709
- });
28710
- var extractedFieldSchema = z58.union([
28754
+ htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
28755
+ });
28756
+ var repeaterFieldSchema2 = z56.object({
28757
+ id: z56.string().min(1).describe("camelCase field ID (e.g., socialLinks, features)"),
28758
+ type: z56.literal("repeater"),
28759
+ label: z56.string().min(1),
28760
+ required: z56.boolean(),
28761
+ itemLabel: z56.string().min(1).describe('Singular label for each item (e.g., "Link", "Feature")'),
28762
+ itemFields: z56.array(nestedFieldSchema).min(1).describe("Fields for each item in the repeater"),
28763
+ htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
28764
+ });
28765
+ var groupFieldSchema2 = z56.object({
28766
+ id: z56.string().min(1).describe("camelCase field ID (e.g., contactInfo, seoSettings)"),
28767
+ type: z56.literal("group"),
28768
+ label: z56.string().min(1),
28769
+ required: z56.boolean(),
28770
+ groupFields: z56.array(nestedFieldSchema).min(1).describe("Fields within the group"),
28771
+ htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
28772
+ });
28773
+ var extractedFieldSchema = z56.union([
28711
28774
  simpleFieldSchema,
28712
28775
  repeaterFieldSchema2,
28713
28776
  groupFieldSchema2
28714
28777
  ]);
28715
- var extractedEntrySchema = z58.object({
28716
- identifier: z58.string().regex(/^[a-z0-9-]+$/).describe("Unique slug-safe identifier (e.g., wine-tasting-evening)"),
28717
- title: z58.string().min(1).describe("Entry title"),
28778
+ var extractedEntrySchema = z56.object({
28779
+ identifier: z56.string().regex(/^[a-z0-9-]+$/).describe("Unique slug-safe identifier (e.g., wine-tasting-evening)"),
28780
+ title: z56.string().min(1).describe("Entry title"),
28718
28781
  // Use passthrough() instead of record() - generates additionalProperties:true without propertyNames
28719
28782
  // which OpenAI's structured output accepts
28720
- data: z58.object({}).passthrough().describe("Entry data matching the content type schema")
28721
- });
28722
- var newContentTypeSchema = z58.object({
28723
- key: z58.string().regex(/^[a-z][a-z0-9-]*$/).describe("Content type key (e.g., testimonial, team-member)"),
28724
- name: z58.string().min(1).describe("Human-readable name"),
28725
- description: z58.string().nullable().describe("Description of this content type"),
28726
- fields: z58.array(z58.object({
28727
- id: z58.string().min(1),
28728
- type: z58.string().min(1),
28729
- label: z58.string().min(1),
28730
- required: z58.boolean().nullable(),
28731
- description: z58.string().nullable()
28783
+ data: z56.object({}).passthrough().describe("Entry data matching the content type schema")
28784
+ });
28785
+ var newContentTypeSchema = z56.object({
28786
+ key: z56.string().regex(/^[a-z][a-z0-9-]*$/).describe("Content type key (e.g., testimonial, team-member)"),
28787
+ name: z56.string().min(1).describe("Human-readable name"),
28788
+ description: z56.string().nullable().describe("Description of this content type"),
28789
+ fields: z56.array(z56.object({
28790
+ id: z56.string().min(1),
28791
+ type: z56.string().min(1),
28792
+ label: z56.string().min(1),
28793
+ required: z56.boolean().nullable(),
28794
+ description: z56.string().nullable()
28732
28795
  })).min(1),
28733
- isRouted: z58.boolean().describe("Whether entries have their own pages")
28796
+ isRouted: z56.boolean().describe("Whether entries have their own pages")
28734
28797
  });
28735
- var contentTypeApproachSchema = z58.discriminatedUnion("approach", [
28798
+ var contentTypeApproachSchema = z56.discriminatedUnion("approach", [
28736
28799
  // Use an existing content type
28737
- z58.object({
28738
- approach: z58.literal("existingContentType"),
28739
- contentTypeKey: z58.string().min(1).describe("Key of the existing content type to use"),
28740
- entries: z58.array(extractedEntrySchema).min(1).describe("Extracted entries"),
28741
- rationale: z58.string().describe("Why this content type fits")
28800
+ z56.object({
28801
+ approach: z56.literal("existingContentType"),
28802
+ contentTypeKey: z56.string().min(1).describe("Key of the existing content type to use"),
28803
+ entries: z56.array(extractedEntrySchema).min(1).describe("Extracted entries"),
28804
+ rationale: z56.string().describe("Why this content type fits")
28742
28805
  }),
28743
28806
  // Create a new content type
28744
- z58.object({
28745
- approach: z58.literal("newContentType"),
28807
+ z56.object({
28808
+ approach: z56.literal("newContentType"),
28746
28809
  contentType: newContentTypeSchema,
28747
- entries: z58.array(extractedEntrySchema).min(1).describe("Extracted entries"),
28748
- rationale: z58.string().describe("Why a new content type is needed")
28810
+ entries: z56.array(extractedEntrySchema).min(1).describe("Extracted entries"),
28811
+ rationale: z56.string().describe("Why a new content type is needed")
28749
28812
  }),
28750
28813
  // Use repeater field (page-specific data)
28751
- z58.object({
28752
- approach: z58.literal("repeater"),
28753
- rationale: z58.string().describe("Why repeater is preferred over content type")
28814
+ z56.object({
28815
+ approach: z56.literal("repeater"),
28816
+ rationale: z56.string().describe("Why repeater is preferred over content type")
28754
28817
  }),
28755
28818
  // No list data - standard field extraction
28756
- z58.object({
28757
- approach: z58.literal("none"),
28758
- rationale: z58.string().describe("Why this is not list data")
28819
+ z56.object({
28820
+ approach: z56.literal("none"),
28821
+ rationale: z56.string().describe("Why this is not list data")
28759
28822
  })
28760
28823
  ]);
28761
- var pass1OutputSchema = z58.object({
28762
- blockId: z58.string().regex(/^custom\.[a-z][a-z0-9-]*$/).describe("Block ID like custom.hero-section"),
28763
- blockTitle: z58.string().min(1),
28764
- blockDescription: z58.string().nullable(),
28765
- category: z58.enum(["marketing", "content", "blog", "media", "layout", "interactive"]),
28766
- fields: z58.array(extractedFieldSchema).min(1),
28824
+ var pass1OutputSchema = z56.object({
28825
+ blockId: z56.string().regex(/^custom\.[a-z][a-z0-9-]*$/).describe("Block ID like custom.hero-section"),
28826
+ blockTitle: z56.string().min(1),
28827
+ blockDescription: z56.string().nullable(),
28828
+ category: z56.enum(["marketing", "content", "blog", "media", "layout", "interactive"]),
28829
+ fields: z56.array(extractedFieldSchema).min(1),
28767
28830
  /**
28768
28831
  * Content type decision for list-like content.
28769
28832
  * When content types are available, the LLM may decide to use content entries
@@ -29006,10 +29069,10 @@ async function getJsonFromAiText(ai, config, userMessage, schema) {
29006
29069
  }
29007
29070
 
29008
29071
  // src/manifest/passes/pass3-styling.ts
29009
- import { z as z61 } from "zod";
29072
+ import { z as z59 } from "zod";
29010
29073
 
29011
29074
  // src/manifest/validation/output-schema.ts
29012
- import { z as z60 } from "zod";
29075
+ import { z as z58 } from "zod";
29013
29076
 
29014
29077
  // src/manifest/validation/layout-utils.ts
29015
29078
  function collectLayoutNodeInfos(node, path2 = "layout", out = []) {
@@ -29050,14 +29113,14 @@ function collectLayoutClassNames(node, out = /* @__PURE__ */ new Set()) {
29050
29113
  }
29051
29114
 
29052
29115
  // src/zod/titleSourceSchema.ts
29053
- import { z as z59 } from "zod";
29054
- var titleSourceValueSchema = z59.union([
29055
- z59.string().min(1),
29056
- z59.array(z59.string().min(1)).min(1)
29116
+ import { z as z57 } from "zod";
29117
+ var titleSourceValueSchema = z57.union([
29118
+ z57.string().min(1),
29119
+ z57.array(z57.string().min(1)).min(1)
29057
29120
  ]);
29058
29121
 
29059
29122
  // src/manifest/validation/output-schema.ts
29060
- var blockCategoryEnum2 = z60.enum([
29123
+ var blockCategoryEnum2 = z58.enum([
29061
29124
  "marketing",
29062
29125
  "content",
29063
29126
  "blog",
@@ -29065,53 +29128,53 @@ var blockCategoryEnum2 = z60.enum([
29065
29128
  "layout",
29066
29129
  "interactive"
29067
29130
  ]);
29068
- var llmColorValue = z60.object({
29069
- name: z60.string(),
29070
- hex: z60.string()
29071
- });
29072
- var llmThemePrimitive = z60.union([
29073
- z60.string(),
29074
- z60.number(),
29075
- z60.boolean(),
29076
- z60.null()
29131
+ var llmColorValue = z58.object({
29132
+ name: z58.string(),
29133
+ hex: z58.string()
29134
+ });
29135
+ var llmThemePrimitive = z58.union([
29136
+ z58.string(),
29137
+ z58.number(),
29138
+ z58.boolean(),
29139
+ z58.null()
29077
29140
  ]);
29078
- var llmThemePatchValue = z60.union([
29141
+ var llmThemePatchValue = z58.union([
29079
29142
  llmThemePrimitive,
29080
29143
  llmColorValue,
29081
- z60.array(llmColorValue),
29082
- z60.array(llmThemePrimitive)
29144
+ z58.array(llmColorValue),
29145
+ z58.array(llmThemePrimitive)
29083
29146
  ]);
29084
- var llmThemePatchOpSchema = z60.discriminatedUnion("op", [
29085
- z60.object({
29086
- op: z60.literal("add"),
29087
- path: z60.string().min(1),
29147
+ var llmThemePatchOpSchema = z58.discriminatedUnion("op", [
29148
+ z58.object({
29149
+ op: z58.literal("add"),
29150
+ path: z58.string().min(1),
29088
29151
  value: llmThemePatchValue
29089
29152
  }),
29090
- z60.object({
29091
- op: z60.literal("replace"),
29092
- path: z60.string().min(1),
29153
+ z58.object({
29154
+ op: z58.literal("replace"),
29155
+ path: z58.string().min(1),
29093
29156
  value: llmThemePatchValue
29094
29157
  }),
29095
- z60.object({ op: z60.literal("remove"), path: z60.string().min(1) })
29158
+ z58.object({ op: z58.literal("remove"), path: z58.string().min(1) })
29096
29159
  ]);
29097
- var llmCssDeclaration = z60.object({
29098
- property: z60.string(),
29099
- value: z60.string()
29160
+ var llmCssDeclaration = z58.object({
29161
+ property: z58.string(),
29162
+ value: z58.string()
29100
29163
  });
29101
- var llmCustomCssRuleSchema = z60.object({
29102
- id: z60.string().min(1),
29103
- selector: z60.string().min(1),
29104
- declarations: z60.array(llmCssDeclaration)
29164
+ var llmCustomCssRuleSchema = z58.object({
29165
+ id: z58.string().min(1),
29166
+ selector: z58.string().min(1),
29167
+ declarations: z58.array(llmCssDeclaration)
29105
29168
  });
29106
- var llmNestedRuleSchema = z60.object({
29107
- selector: z60.string().min(1),
29108
- declarations: z60.array(llmCssDeclaration)
29169
+ var llmNestedRuleSchema = z58.object({
29170
+ selector: z58.string().min(1),
29171
+ declarations: z58.array(llmCssDeclaration)
29109
29172
  });
29110
- var llmMediaAtRuleSchema = z60.object({
29111
- id: z60.string().min(1),
29112
- type: z60.literal("media"),
29113
- query: z60.string().min(1),
29114
- rules: z60.array(llmNestedRuleSchema)
29173
+ var llmMediaAtRuleSchema = z58.object({
29174
+ id: z58.string().min(1),
29175
+ type: z58.literal("media"),
29176
+ query: z58.string().min(1),
29177
+ rules: z58.array(llmNestedRuleSchema)
29115
29178
  });
29116
29179
  function normalizeDeclarationsArrayToRecord(declarations) {
29117
29180
  const record = {};
@@ -29141,85 +29204,85 @@ function normalizeLlmMediaAtRule(atRule) {
29141
29204
  rules: atRule.rules.map(normalizeLlmNestedRule)
29142
29205
  };
29143
29206
  }
29144
- var jsonPrimitiveSchema = z60.union([
29145
- z60.string(),
29146
- z60.number(),
29147
- z60.boolean(),
29148
- z60.null()
29207
+ var jsonPrimitiveSchema = z58.union([
29208
+ z58.string(),
29209
+ z58.number(),
29210
+ z58.boolean(),
29211
+ z58.null()
29149
29212
  ]);
29150
- var jsonValueSchema = z60.union([
29213
+ var jsonValueSchema = z58.union([
29151
29214
  jsonPrimitiveSchema,
29152
- z60.array(jsonPrimitiveSchema)
29215
+ z58.array(jsonPrimitiveSchema)
29153
29216
  ]);
29154
- var llmBaseFieldSchema = z60.object({
29155
- id: z60.string().min(1),
29156
- label: z60.string().min(1),
29157
- description: z60.string().nullable(),
29158
- required: z60.boolean(),
29217
+ var llmBaseFieldSchema = z58.object({
29218
+ id: z58.string().min(1),
29219
+ label: z58.string().min(1),
29220
+ description: z58.string().nullable(),
29221
+ required: z58.boolean(),
29159
29222
  defaultValue: jsonValueSchema.nullable()
29160
29223
  });
29161
29224
  var llmTextFieldSchema = llmBaseFieldSchema.extend({
29162
- type: z60.literal("text"),
29163
- multiline: z60.boolean(),
29164
- maxLength: z60.number().int().positive().nullable()
29225
+ type: z58.literal("text"),
29226
+ multiline: z58.boolean(),
29227
+ maxLength: z58.number().int().positive().nullable()
29165
29228
  });
29166
29229
  var llmRichTextFieldSchema = llmBaseFieldSchema.extend({
29167
- type: z60.literal("richText")
29230
+ type: z58.literal("richText")
29168
29231
  });
29169
29232
  var llmMediaFieldSchema = llmBaseFieldSchema.extend({
29170
- type: z60.literal("media"),
29171
- mediaKinds: z60.array(z60.enum(["image", "video", "audio"])).nullable()
29233
+ type: z58.literal("media"),
29234
+ mediaKinds: z58.array(z58.enum(["image", "video", "audio"])).nullable()
29172
29235
  });
29173
29236
  var llmFileFieldSchema = llmBaseFieldSchema.extend({
29174
- type: z60.literal("file"),
29175
- fileKinds: z60.array(z60.enum(["document", "spreadsheet", "archive", "audio"])).nullable()
29237
+ type: z58.literal("file"),
29238
+ fileKinds: z58.array(z58.enum(["document", "spreadsheet", "archive", "audio"])).nullable()
29176
29239
  });
29177
29240
  var llmBooleanFieldSchema = llmBaseFieldSchema.extend({
29178
- type: z60.literal("boolean")
29241
+ type: z58.literal("boolean")
29179
29242
  });
29180
29243
  var llmLinkFieldSchema = llmBaseFieldSchema.extend({
29181
- type: z60.literal("link")
29244
+ type: z58.literal("link")
29182
29245
  });
29183
29246
  var llmSelectFieldSchema = llmBaseFieldSchema.extend({
29184
- type: z60.literal("select"),
29185
- options: z60.array(
29186
- z60.object({
29187
- value: z60.string(),
29188
- label: z60.string()
29247
+ type: z58.literal("select"),
29248
+ options: z58.array(
29249
+ z58.object({
29250
+ value: z58.string(),
29251
+ label: z58.string()
29189
29252
  })
29190
29253
  ),
29191
- multiple: z60.boolean().nullable()
29254
+ multiple: z58.boolean().nullable()
29192
29255
  });
29193
29256
  var llmNumberFieldSchema = llmBaseFieldSchema.extend({
29194
- type: z60.literal("number")
29195
- });
29196
- var llmNestedFieldSchema = z60.object({
29197
- id: z60.string(),
29198
- type: z60.string(),
29199
- label: z60.string(),
29200
- required: z60.boolean().nullable(),
29201
- multiline: z60.boolean().nullable(),
29257
+ type: z58.literal("number")
29258
+ });
29259
+ var llmNestedFieldSchema = z58.object({
29260
+ id: z58.string(),
29261
+ type: z58.string(),
29262
+ label: z58.string(),
29263
+ required: z58.boolean().nullable(),
29264
+ multiline: z58.boolean().nullable(),
29202
29265
  defaultValue: jsonValueSchema.nullable()
29203
29266
  }).passthrough();
29204
- var llmNestedFieldsSchema = z60.array(llmNestedFieldSchema);
29267
+ var llmNestedFieldsSchema = z58.array(llmNestedFieldSchema);
29205
29268
  var llmGroupFieldSchema = llmBaseFieldSchema.extend({
29206
- type: z60.literal("group"),
29207
- schema: z60.object({
29269
+ type: z58.literal("group"),
29270
+ schema: z58.object({
29208
29271
  fields: llmNestedFieldsSchema
29209
29272
  })
29210
29273
  });
29211
29274
  var llmRepeaterFieldSchema = llmBaseFieldSchema.extend({
29212
- type: z60.literal("repeater"),
29213
- itemLabel: z60.string(),
29214
- itemLabelSource: z60.string().nullable(),
29215
- minItems: z60.number().int().min(0),
29216
- maxItems: z60.number().int().positive().nullable(),
29217
- allowConversion: z60.boolean(),
29218
- schema: z60.object({
29275
+ type: z58.literal("repeater"),
29276
+ itemLabel: z58.string(),
29277
+ itemLabelSource: z58.string().nullable(),
29278
+ minItems: z58.number().int().min(0),
29279
+ maxItems: z58.number().int().positive().nullable(),
29280
+ allowConversion: z58.boolean(),
29281
+ schema: z58.object({
29219
29282
  fields: llmNestedFieldsSchema
29220
29283
  })
29221
29284
  });
29222
- var llmFieldSchema = z60.union([
29285
+ var llmFieldSchema = z58.union([
29223
29286
  llmTextFieldSchema,
29224
29287
  llmRichTextFieldSchema,
29225
29288
  llmMediaFieldSchema,
@@ -29231,66 +29294,66 @@ var llmFieldSchema = z60.union([
29231
29294
  llmGroupFieldSchema,
29232
29295
  llmRepeaterFieldSchema
29233
29296
  ]);
29234
- var llmBindingSchema = z60.object({
29235
- from: z60.string(),
29236
- fallback: z60.string().nullable(),
29237
- transforms: z60.array(
29238
- z60.object({
29239
- id: z60.string()
29297
+ var llmBindingSchema = z58.object({
29298
+ from: z58.string(),
29299
+ fallback: z58.string().nullable(),
29300
+ transforms: z58.array(
29301
+ z58.object({
29302
+ id: z58.string()
29240
29303
  })
29241
29304
  ).nullable()
29242
29305
  });
29243
- var llmRepeatSchema = z60.object({
29244
- collection: z60.object({ from: z60.string() }),
29245
- itemName: z60.string()
29306
+ var llmRepeatSchema = z58.object({
29307
+ collection: z58.object({ from: z58.string() }),
29308
+ itemName: z58.string()
29246
29309
  });
29247
- var llmPropsSchema = z60.object({}).passthrough().nullable();
29310
+ var llmPropsSchema = z58.object({}).passthrough().nullable();
29248
29311
  function buildLlmNodeSchema(maxDepth) {
29249
- const nodeBase = z60.object({
29250
- type: z60.string(),
29312
+ const nodeBase = z58.object({
29313
+ type: z58.string(),
29251
29314
  props: llmPropsSchema,
29252
29315
  $bind: llmBindingSchema.nullable(),
29253
29316
  $repeat: llmRepeatSchema.nullable(),
29254
- $when: z60.object({
29255
- condition: z60.object({ from: z60.string() })
29317
+ $when: z58.object({
29318
+ condition: z58.object({ from: z58.string() })
29256
29319
  }).nullable()
29257
29320
  });
29258
- let schema = nodeBase.extend({ children: z60.null() });
29321
+ let schema = nodeBase.extend({ children: z58.null() });
29259
29322
  for (let i = 0; i < maxDepth; i++) {
29260
- schema = nodeBase.extend({ children: z60.array(schema).nullable() });
29323
+ schema = nodeBase.extend({ children: z58.array(schema).nullable() });
29261
29324
  }
29262
29325
  return schema;
29263
29326
  }
29264
29327
  var MAX_LAYOUT_DEPTH = 6;
29265
29328
  var llmNodeSchema = buildLlmNodeSchema(MAX_LAYOUT_DEPTH);
29266
- var llmCustomBlockSchema = z60.object({
29267
- id: z60.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
29329
+ var llmCustomBlockSchema = z58.object({
29330
+ id: z58.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
29268
29331
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
29269
29332
  }),
29270
- title: z60.string().min(1, "Title is required"),
29333
+ title: z58.string().min(1, "Title is required"),
29271
29334
  // Keep in sync with `sdkCustomBlockSchema` and the system manifest schema:
29272
29335
  // - `null` used by OpenAI structured output for "optional" values
29273
29336
  // - array allows multi-part titles (e.g. ["navLabel", "title"])
29274
29337
  titleSource: titleSourceValueSchema.nullable(),
29275
- description: z60.string().nullable(),
29338
+ description: z58.string().nullable(),
29276
29339
  category: blockCategoryEnum2,
29277
- icon: z60.string().nullable(),
29278
- tags: z60.array(z60.string()).nullable(),
29340
+ icon: z58.string().nullable(),
29341
+ tags: z58.array(z58.string()).nullable(),
29279
29342
  // Use LLM-specific field schema (no z.any() for OpenAI compatibility)
29280
29343
  fields: llmFieldSchema.array().min(1, "Custom blocks must have at least one field"),
29281
29344
  // Use LLM-specific node schema (no z.any() for OpenAI compatibility)
29282
29345
  layout: llmNodeSchema
29283
29346
  });
29284
- var htmlToManifestOutputSchema = z60.object({
29285
- blocks: z60.array(llmCustomBlockSchema).min(1, "At least one block is required").max(10, "Maximum 10 blocks per conversion"),
29286
- themePatch: z60.array(llmThemePatchOpSchema).nullable(),
29287
- customCssRules: z60.array(llmCustomCssRuleSchema).nullable(),
29288
- customCssAtRules: z60.array(llmMediaAtRuleSchema).nullable(),
29347
+ var htmlToManifestOutputSchema = z58.object({
29348
+ blocks: z58.array(llmCustomBlockSchema).min(1, "At least one block is required").max(10, "Maximum 10 blocks per conversion"),
29349
+ themePatch: z58.array(llmThemePatchOpSchema).nullable(),
29350
+ customCssRules: z58.array(llmCustomCssRuleSchema).nullable(),
29351
+ customCssAtRules: z58.array(llmMediaAtRuleSchema).nullable(),
29289
29352
  /**
29290
29353
  * Explanation of fixes made when retrying after validation errors.
29291
29354
  * Should explain what changes were made and why.
29292
29355
  */
29293
- fixRationale: z60.string().nullable()
29356
+ fixRationale: z58.string().nullable()
29294
29357
  });
29295
29358
  function collectValidationErrors(output) {
29296
29359
  const errors = [];
@@ -30253,20 +30316,20 @@ function formatValidationFeedback(errors, output) {
30253
30316
  }
30254
30317
 
30255
30318
  // src/manifest/passes/pass3-styling.ts
30256
- var pass3aOutputSchema = z61.object({
30257
- classNamePatches: z61.array(
30258
- z61.object({
30259
- nodePath: z61.string(),
30319
+ var pass3aOutputSchema = z59.object({
30320
+ classNamePatches: z59.array(
30321
+ z59.object({
30322
+ nodePath: z59.string(),
30260
30323
  // "" for root, "children[0]", "children[0].children[1]" etc.
30261
- className: z61.string().min(1)
30324
+ className: z59.string().min(1)
30262
30325
  })
30263
30326
  ),
30264
- rationale: z61.string()
30327
+ rationale: z59.string()
30265
30328
  });
30266
- var pass3bOutputSchema = z61.object({
30267
- customCssRules: z61.array(llmCustomCssRuleSchema).nullable(),
30268
- customCssAtRules: z61.array(llmMediaAtRuleSchema).nullable(),
30269
- rationale: z61.string()
30329
+ var pass3bOutputSchema = z59.object({
30330
+ customCssRules: z59.array(llmCustomCssRuleSchema).nullable(),
30331
+ customCssAtRules: z59.array(llmMediaAtRuleSchema).nullable(),
30332
+ rationale: z59.string()
30270
30333
  });
30271
30334
  function getNodeAtPath(layout, path2) {
30272
30335
  if (path2 === "" || path2 === "root" || path2 === "layout") {
@@ -30573,38 +30636,38 @@ Do NOT include [data-block=...] in selectors - we add that automatically.
30573
30636
 
30574
30637
  // src/page-converter/passes/pass1-segmentation-matching.ts
30575
30638
  var SIZE_WARNING_BYTES = 100 * 1024;
30576
- var sectionTypeEnum = z62.enum(["header", "content", "footer"]);
30577
- var blockCategoryEnum3 = z62.enum(["marketing", "content", "blog", "media", "layout", "interactive"]);
30578
- var baseSectionSchema = z62.object({
30579
- html: z62.string().min(1),
30580
- purpose: z62.string().min(1),
30639
+ var sectionTypeEnum = z60.enum(["header", "content", "footer"]);
30640
+ var blockCategoryEnum3 = z60.enum(["marketing", "content", "blog", "media", "layout", "interactive"]);
30641
+ var baseSectionSchema = z60.object({
30642
+ html: z60.string().min(1),
30643
+ purpose: z60.string().min(1),
30581
30644
  sectionType: sectionTypeEnum
30582
30645
  });
30583
30646
  var builtinMatchSchema = baseSectionSchema.extend({
30584
- decision: z62.literal("builtin"),
30585
- matchedBlock: z62.string().min(1),
30586
- matchScore: z62.number().min(0).max(100),
30587
- matchRationale: z62.string().min(1)
30647
+ decision: z60.literal("builtin"),
30648
+ matchedBlock: z60.string().min(1),
30649
+ matchScore: z60.number().min(0).max(100),
30650
+ matchRationale: z60.string().min(1)
30588
30651
  });
30589
30652
  var customMatchSchema = baseSectionSchema.extend({
30590
- decision: z62.literal("custom"),
30591
- customBlockSuggestion: z62.object({
30592
- title: z62.string().min(1),
30653
+ decision: z60.literal("custom"),
30654
+ customBlockSuggestion: z60.object({
30655
+ title: z60.string().min(1),
30593
30656
  category: blockCategoryEnum3
30594
30657
  })
30595
30658
  });
30596
- var sectionMatchSchema = z62.discriminatedUnion("decision", [
30659
+ var sectionMatchSchema = z60.discriminatedUnion("decision", [
30597
30660
  builtinMatchSchema,
30598
30661
  customMatchSchema
30599
30662
  ]);
30600
- var skippedContentSchema = z62.object({
30601
- description: z62.string(),
30602
- reason: z62.string()
30663
+ var skippedContentSchema = z60.object({
30664
+ description: z60.string(),
30665
+ reason: z60.string()
30603
30666
  });
30604
- var combinedPassSchema = z62.object({
30605
- sections: z62.array(sectionMatchSchema).min(1),
30606
- skippedContent: z62.array(skippedContentSchema).nullable(),
30607
- rationale: z62.string()
30667
+ var combinedPassSchema = z60.object({
30668
+ sections: z60.array(sectionMatchSchema).min(1),
30669
+ skippedContent: z60.array(skippedContentSchema).nullable(),
30670
+ rationale: z60.string()
30608
30671
  });
30609
30672
  function buildSystemPrompt(availableBlocks, matchThreshold) {
30610
30673
  const blockCatalog = availableBlocks.map((b) => {
@@ -30811,10 +30874,10 @@ async function segmentAndMatchBlocks(html, availableBlocks, ctx) {
30811
30874
  }
30812
30875
 
30813
30876
  // src/page-converter/passes/pass2-population.ts
30814
- import { z as z64 } from "zod";
30877
+ import { z as z62 } from "zod";
30815
30878
 
30816
30879
  // src/manifest/three-pass-converter.ts
30817
- import { z as z63 } from "zod";
30880
+ import { z as z61 } from "zod";
30818
30881
 
30819
30882
  // src/manifest/prompt/theme-summary.ts
30820
30883
  var WEIGHT_MAP = {
@@ -31115,9 +31178,9 @@ function mapPass1FieldToOutputField(field) {
31115
31178
  maxLength: null
31116
31179
  };
31117
31180
  }
31118
- var pass2OutputSchema = z63.object({
31181
+ var pass2OutputSchema = z61.object({
31119
31182
  layout: llmNodeSchema,
31120
- rationale: z63.string().describe("Explain which node binds to which field")
31183
+ rationale: z61.string().describe("Explain which node binds to which field")
31121
31184
  });
31122
31185
  function buildPass2SystemPrompt(fields3, contentTypeApproach) {
31123
31186
  const fieldList = fields3.map((f) => {
@@ -31977,9 +32040,9 @@ async function convertHtmlToManifest(input, options) {
31977
32040
  }
31978
32041
 
31979
32042
  // src/page-converter/passes/pass2-population.ts
31980
- var builtinContentSchema = z64.object({
31981
- content: z64.unknown(),
31982
- rationale: z64.string()
32043
+ var builtinContentSchema = z62.object({
32044
+ content: z62.unknown(),
32045
+ rationale: z62.string()
31983
32046
  });
31984
32047
  var SECTION_STYLES_ALLOWED_KEYS = /* @__PURE__ */ new Set(["background", "spacing"]);
31985
32048
  var BOX_STYLES_ALLOWED_KEYS = /* @__PURE__ */ new Set(["background", "spacing", "raised", "rounded", "border", "fullWidth"]);