@riverbankcms/sdk 0.85.0 → 0.88.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 (135) hide show
  1. package/dist/{PreviewEditorSidebar-4PH35ZIE.mjs → PreviewEditorSidebar-EVRS3C7T.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-WHMCRJGM.mjs → PreviewEditorUI-54WD4IGE.mjs} +3 -3
  3. package/dist/SdkPreviewModeRuntime-ZALZDJEK.mjs +8 -0
  4. package/dist/_dts/api/src/endpoints.d.ts +58 -14
  5. package/dist/_dts/api/src/index.d.ts +3 -0
  6. package/dist/_dts/api/src/launchReadiness.d.ts +3 -3
  7. package/dist/_dts/api/src/mailchimpIntegration.d.ts +215 -0
  8. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +35 -15
  9. package/dist/_dts/api/src/siteInfrastructure.d.ts +0 -14
  10. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -13
  11. package/dist/_dts/api/src/types.d.ts +6 -3
  12. package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -0
  13. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -0
  14. package/dist/_dts/blocks/src/index.d.ts +2 -1
  15. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  16. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  17. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  18. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  19. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  20. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
  21. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
  22. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -288
  23. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  24. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +42 -42
  26. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +300 -0
  27. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +63 -3
  28. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  29. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +53 -1
  32. package/dist/_dts/blocks/src/system/manifest/richTextSchema.d.ts +27 -0
  33. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +23 -23
  34. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +10 -2
  35. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -0
  36. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -0
  37. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +4 -0
  39. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  40. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +11 -1
  41. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +15 -0
  42. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
  43. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +32 -0
  44. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +5 -1
  45. package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +5 -1
  46. package/dist/_dts/blocks/src/system/runtime/shared/utils/formatting.d.ts +1 -1
  47. package/dist/_dts/content-model/src/referenceFields.d.ts +1 -1
  48. package/dist/_dts/core/src/currency-format.d.ts +37 -2
  49. package/dist/_dts/core/src/event-pricing.d.ts +24 -0
  50. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +549 -18
  51. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -1
  52. package/dist/_dts/sdk/src/client/types.d.ts +9 -0
  53. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  54. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -0
  55. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +3 -9
  56. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +1 -1
  57. package/dist/_dts/sdk/src/manifest/three-pass-converter.d.ts +7 -18
  58. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
  59. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -1
  60. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -3
  61. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +4 -24
  62. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +45 -0
  63. package/dist/_dts/sdk/src/version.d.ts +1 -1
  64. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  65. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +9 -9
  66. package/dist/_dts/theme-core/src/schema.d.ts +11 -11
  67. package/dist/{chunk-ZR2GQK2A.mjs → chunk-7KOO7RPP.mjs} +953 -315
  68. package/dist/{chunk-OCGTXHSO.mjs → chunk-ER4UIW4X.mjs} +7 -7
  69. package/dist/{chunk-WFPYN7KA.mjs → chunk-HVOBXA3Y.mjs} +2 -2
  70. package/dist/{chunk-NFWGLRZZ.mjs → chunk-K3JWH6HE.mjs} +37 -3
  71. package/dist/{chunk-4QNLOTES.mjs → chunk-O4LVYUVH.mjs} +58 -14
  72. package/dist/{chunk-PYDHOMEO.mjs → chunk-YDMBIIS5.mjs} +1 -1
  73. package/dist/cli/index.mjs +408 -109
  74. package/dist/client/{accordion-2UZPBMYM.mjs → accordion-PT5CGW5N.mjs} +2 -2
  75. package/dist/client/{bookingForm-36CWQUMV.mjs → bookingForm-2HLRTEYS.mjs} +7 -7
  76. package/dist/client/bookings.mjs +51 -6
  77. package/dist/client/{carousel-QH77HR6X.mjs → carousel-Z2LKYSWA.mjs} +3 -3
  78. package/dist/client/cart-ND5IK4A6.mjs +18 -0
  79. package/dist/client/checkout-EYUSGAY7.mjs +18 -0
  80. package/dist/client/{chunk-SYIJ5JO2.mjs → chunk-6DVPO44G.mjs} +1 -1
  81. package/dist/client/{chunk-3C2VTPWI.mjs → chunk-BAWHZ5GM.mjs} +176 -13
  82. package/dist/client/{chunk-52CGCQ7B.mjs → chunk-BL66UWGD.mjs} +10 -80
  83. package/dist/client/{chunk-VGDBVNOO.mjs → chunk-DIRW2LNG.mjs} +241 -210
  84. package/dist/client/{chunk-UDNSI5PY.mjs → chunk-GOFO7HRH.mjs} +1 -2
  85. package/dist/client/{chunk-ZKUO52W3.mjs → chunk-H4MHEXYS.mjs} +1 -1
  86. package/dist/client/{chunk-ZE5G642V.mjs → chunk-LI2C6M5O.mjs} +75 -1
  87. package/dist/client/{chunk-3DTWLTXM.mjs → chunk-MHBEWDT7.mjs} +117 -3
  88. package/dist/client/{chunk-4OXKTA3D.mjs → chunk-O5JNI3E4.mjs} +2 -2
  89. package/dist/client/{chunk-XSV6KW4D.mjs → chunk-S4G65LGR.mjs} +1 -1
  90. package/dist/client/{chunk-DVNUDUVT.mjs → chunk-WBQG7VJA.mjs} +4 -1
  91. package/dist/client/{chunk-F5VRX5Y6.mjs → chunk-WCVK4MBJ.mjs} +1 -1
  92. package/dist/client/{chunk-7UCLJ5SP.mjs → chunk-X7GVFB7Y.mjs} +4 -7
  93. package/dist/client/client.mjs +2125 -1403
  94. package/dist/client/{courseRegistration-TMKU6ABO.mjs → courseRegistration-H3AZBUEG.mjs} +7 -7
  95. package/dist/client/{eventCalendar-G6TI32X6.mjs → eventCalendar-FPKJGLGS.mjs} +10 -11
  96. package/dist/client/{eventCombined-SCKEMNAR.mjs → eventCombined-QCGIZBUY.mjs} +10 -11
  97. package/dist/client/{eventDetails-XPIFXXPK.mjs → eventDetails-HIT3BJWU.mjs} +10 -11
  98. package/dist/client/{eventListing-7QFMEMGT.mjs → eventListing-R4HNWJDN.mjs} +10 -11
  99. package/dist/client/{eventRegistration-TOODSZUI.mjs → eventRegistration-Q7BYY5HF.mjs} +10 -11
  100. package/dist/client/{form-MTCMVCZT.mjs → form-NI6YOG6S.mjs} +3 -3
  101. package/dist/client/{headerSection-Y5TMR3TW.mjs → headerSection-SDYGII36.mjs} +4 -4
  102. package/dist/client/hooks.mjs +1682 -1412
  103. package/dist/client/{locationMap-RH2LG7FZ.mjs → locationMap-BDETEUQD.mjs} +3 -4
  104. package/dist/client/{newsletterForm-PCAIPFMA.mjs → newsletterForm-EKYIU67X.mjs} +70 -22
  105. package/dist/client/{productDetail-OIGDR4YE.mjs → productDetail-5UTGNN76.mjs} +8 -9
  106. package/dist/client/{productList-4MA5S2CX.mjs → productList-7YA5KXZQ.mjs} +8 -9
  107. package/dist/client/rendering/client.mjs +753 -329
  108. package/dist/client/rendering/islands.mjs +19 -19
  109. package/dist/client/rendering.mjs +3786 -3034
  110. package/dist/client/shop-AIMUMZYC.mjs +20 -0
  111. package/dist/preview-next/before-render.mjs +58 -14
  112. package/dist/preview-next/client/runtime.mjs +5 -5
  113. package/dist/preview-next/editor-chrome.css +56 -9
  114. package/dist/preview-next/middleware.mjs +58 -14
  115. package/dist/{sdk-runtime-QLOCYKVU.mjs → sdk-runtime-NW472WNT.mjs} +6 -6
  116. package/dist/server/components.mjs +1518 -1015
  117. package/dist/server/config-validation.mjs +1719 -1461
  118. package/dist/server/config.mjs +1719 -1461
  119. package/dist/server/data.mjs +1683 -1413
  120. package/dist/server/index.mjs +79 -17
  121. package/dist/server/next.mjs +1902 -1311
  122. package/dist/server/page-converter.mjs +2193 -1169
  123. package/dist/server/prebuild.mjs +1 -1
  124. package/dist/server/rendering/server.mjs +1709 -1209
  125. package/dist/server/rendering.mjs +1894 -1347
  126. package/dist/server/routing.mjs +1872 -1499
  127. package/dist/server/server.mjs +1571 -1264
  128. package/dist/server/theme-bridge.mjs +234 -0
  129. package/dist/styles/index.css +232 -0
  130. package/package.json +1 -1
  131. package/dist/SdkPreviewModeRuntime-4FGSVUYI.mjs +0 -8
  132. package/dist/client/cart-X4YK4FTW.mjs +0 -19
  133. package/dist/client/checkout-OM2BEPWD.mjs +0 -19
  134. package/dist/client/chunk-I2MMZO53.mjs +0 -6
  135. package/dist/client/shop-WXSYV5QO.mjs +0 -21
@@ -758,6 +758,64 @@ var ENDPOINT_DEFINITIONS = {
758
758
  auth: "user",
759
759
  responseKind: "json"
760
760
  },
761
+ listMailchimpAudiences: {
762
+ path: "/sites/{siteId}/integrations/mailchimp/audiences",
763
+ method: "GET",
764
+ tags: [TAG_TEMPLATES.site],
765
+ auth: "user",
766
+ responseKind: "json",
767
+ errors: ["auth:forbidden", "server:internal_error"]
768
+ },
769
+ getMailchimpSignupSyncHealth: {
770
+ path: "/sites/{siteId}/integrations/mailchimp/signup-sync-health",
771
+ method: "GET",
772
+ tags: [TAG_TEMPLATES.site],
773
+ auth: "user",
774
+ responseKind: "json",
775
+ errors: ["auth:forbidden", "server:internal_error"]
776
+ },
777
+ getMailchimpConnection: {
778
+ path: "/sites/{siteId}/integrations/mailchimp/connection",
779
+ method: "GET",
780
+ tags: [TAG_TEMPLATES.site],
781
+ auth: "user",
782
+ responseKind: "json",
783
+ errors: ["auth:forbidden", "server:internal_error"]
784
+ },
785
+ startMailchimpOAuth: {
786
+ path: "/sites/{siteId}/integrations/mailchimp/oauth/start",
787
+ method: "POST",
788
+ tags: [TAG_TEMPLATES.site],
789
+ auth: "user",
790
+ responseKind: "json",
791
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
792
+ errors: ["auth:forbidden", "validation:invalid_input", "server:internal_error"]
793
+ },
794
+ refreshMailchimpAudiences: {
795
+ path: "/sites/{siteId}/integrations/mailchimp/audiences/refresh",
796
+ method: "POST",
797
+ tags: [TAG_TEMPLATES.site],
798
+ auth: "user",
799
+ responseKind: "json",
800
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
801
+ errors: ["auth:forbidden", "server:internal_error"]
802
+ },
803
+ disconnectMailchimp: {
804
+ path: "/sites/{siteId}/integrations/mailchimp/disconnect",
805
+ method: "POST",
806
+ tags: [TAG_TEMPLATES.site],
807
+ auth: "user",
808
+ responseKind: "json",
809
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
810
+ errors: ["auth:forbidden", "server:internal_error"]
811
+ },
812
+ mailchimpOAuthCallback: {
813
+ path: "/auth/mailchimp/callback",
814
+ method: "GET",
815
+ auth: "public",
816
+ responseKind: "void",
817
+ errors: []
818
+ },
761
819
  createNewsletterList: {
762
820
  path: "/sites/{siteId}/newsletter/lists",
763
821
  method: "POST",
@@ -2982,20 +3040,6 @@ var ENDPOINT_DEFINITIONS = {
2982
3040
  auth: "user",
2983
3041
  responseKind: "json"
2984
3042
  },
2985
- instagramUploadZip: {
2986
- path: "/instagram/upload-zip",
2987
- method: "POST",
2988
- tags: ["instagram-import"],
2989
- auth: "user",
2990
- responseKind: "json"
2991
- },
2992
- createInstagramZipUploadUrl: {
2993
- path: "/instagram/upload-zip-url",
2994
- method: "POST",
2995
- tags: ["instagram-import"],
2996
- auth: "user",
2997
- responseKind: "json"
2998
- },
2999
3043
  getAnalyticsReport: {
3000
3044
  path: "/sites/{siteId}/analytics/report",
3001
3045
  method: "GET",
@@ -6390,6 +6434,48 @@ function err(error) {
6390
6434
  return { ok: false, error };
6391
6435
  }
6392
6436
 
6437
+ // ../core/src/assert-never.ts
6438
+ function assertNever(value, message = "Unexpected variant") {
6439
+ throw new Error(`${message}: ${String(value)}`);
6440
+ }
6441
+
6442
+ // ../core/src/currency-format.ts
6443
+ var CURRENCY_LOCALE_BY_CODE = {
6444
+ USD: "en-US",
6445
+ GBP: "en-GB",
6446
+ EUR: "de-DE",
6447
+ AUD: "en-AU",
6448
+ CAD: "en-CA",
6449
+ NZD: "en-NZ",
6450
+ JPY: "ja-JP",
6451
+ CNY: "zh-CN",
6452
+ CHF: "de-CH"
6453
+ };
6454
+ function resolveCurrencyLocale(currencyCode, override) {
6455
+ return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
6456
+ }
6457
+ function formatCurrencyAmount(amountCents, currency, options) {
6458
+ const currencyCode = currency.toUpperCase();
6459
+ const locale = resolveCurrencyLocale(currencyCode, options?.locale);
6460
+ try {
6461
+ const exactFormatter = new Intl.NumberFormat(locale, {
6462
+ style: "currency",
6463
+ currency: currencyCode
6464
+ });
6465
+ const fractionDigits = options?.decimals === "auto" ? {
6466
+ minimumFractionDigits: 0,
6467
+ maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
6468
+ } : {};
6469
+ return new Intl.NumberFormat(locale, {
6470
+ style: "currency",
6471
+ currency: currencyCode,
6472
+ ...fractionDigits
6473
+ }).format(amountCents / 100);
6474
+ } catch {
6475
+ return `${(amountCents / 100).toFixed(2)} ${currencyCode}`;
6476
+ }
6477
+ }
6478
+
6393
6479
  // ../core/src/event-pricing.ts
6394
6480
  function publicEventPricingType(pricing) {
6395
6481
  switch (pricing.kind) {
@@ -6410,6 +6496,7 @@ function isFreePublicEventPriceDisplay(display) {
6410
6496
  return display.display.kind === "free";
6411
6497
  case "exact":
6412
6498
  case "from":
6499
+ case "range":
6413
6500
  case "mixed":
6414
6501
  case "unavailable":
6415
6502
  return false;
@@ -6568,11 +6655,6 @@ function toLocationCoordinates(value) {
6568
6655
  };
6569
6656
  }
6570
6657
 
6571
- // ../core/src/assert-never.ts
6572
- function assertNever(value, message = "Unexpected variant") {
6573
- throw new Error(`${message}: ${String(value)}`);
6574
- }
6575
-
6576
6658
  // ../api/src/accessAdmin.ts
6577
6659
  import { z } from "zod";
6578
6660
  var managedDomainAddOnPricingSnapshotSchema = z.object({
@@ -6677,7 +6759,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
6677
6759
  );
6678
6760
 
6679
6761
  // ../api/src/sdkConfig/contracts.ts
6680
- import { z as z64 } from "zod";
6762
+ import { z as z65 } from "zod";
6681
6763
 
6682
6764
  // ../blocks/src/system/manifest/augmentManifest.ts
6683
6765
  function augmentManifest(manifest) {
@@ -21814,15 +21896,53 @@ var newsletterFormFragment = defineFragment({
21814
21896
  title: "Newsletter Form",
21815
21897
  description: "Newsletter subscription form with preset field configurations.",
21816
21898
  fields: [
21899
+ {
21900
+ id: "destinationProvider",
21901
+ type: "select",
21902
+ label: "Send signups to",
21903
+ description: "Choose where new subscribers from this form should go.",
21904
+ defaultValue: "riverbank",
21905
+ required: true,
21906
+ ui: { intent: "behavior" },
21907
+ options: [
21908
+ { value: "riverbank", label: "Riverbank newsletter" }
21909
+ ]
21910
+ },
21817
21911
  {
21818
21912
  id: "listId",
21819
21913
  type: "reference",
21820
21914
  label: "Newsletter list",
21821
21915
  description: "Select the list new subscribers should be added to.",
21822
- required: true,
21916
+ required: false,
21823
21917
  referenceKind: "newsletterList",
21824
21918
  allowManualEntry: false,
21825
- ui: { intent: "behavior" }
21919
+ ui: {
21920
+ intent: "behavior",
21921
+ visibleWhen: { field: "destinationProvider", equals: "riverbank" }
21922
+ }
21923
+ },
21924
+ {
21925
+ id: "mailchimpAudienceId",
21926
+ type: "reference",
21927
+ label: "Mailchimp audience",
21928
+ description: "Choose the Mailchimp audience for new subscribers.",
21929
+ required: false,
21930
+ referenceKind: "mailchimpAudience",
21931
+ allowManualEntry: false,
21932
+ ui: {
21933
+ intent: "behavior",
21934
+ visibleWhen: { field: "destinationProvider", equals: "mailchimp" }
21935
+ }
21936
+ },
21937
+ {
21938
+ id: "mailchimpTags",
21939
+ type: "text",
21940
+ label: "Mailchimp tags",
21941
+ description: "Optional tags to apply in Mailchimp, separated by commas or semicolons.",
21942
+ ui: {
21943
+ intent: "behavior",
21944
+ visibleWhen: { field: "destinationProvider", equals: "mailchimp" }
21945
+ }
21826
21946
  },
21827
21947
  {
21828
21948
  id: "preset",
@@ -21869,13 +21989,18 @@ var newsletterFormFragment = defineFragment({
21869
21989
  id: "tags",
21870
21990
  type: "text",
21871
21991
  label: "Tags (optional)",
21872
- description: "Optional tags to apply on subscribe (comma or semicolon separated)."
21992
+ description: "Optional tags to apply on subscribe (comma or semicolon separated).",
21993
+ ui: {
21994
+ intent: "behavior",
21995
+ visibleWhen: { field: "destinationProvider", equals: "riverbank" }
21996
+ }
21873
21997
  }
21874
21998
  ],
21875
21999
  layout: [
21876
22000
  el(
21877
22001
  "newsletter-form",
21878
22002
  withApiBindings({
22003
+ destinationProvider: { $bind: { from: "destinationProvider" } },
21879
22004
  listId: { $bind: { from: "listId" } },
21880
22005
  preset: { $bind: { from: "preset" } },
21881
22006
  includePhone: { $bind: { from: "includePhone" } },
@@ -27719,10 +27844,10 @@ var appointmentBookingBlockDefinition = {
27719
27844
  };
27720
27845
 
27721
27846
  // ../blocks/src/system/blocks/event-registration.ts
27722
- import { z as z46 } from "zod";
27847
+ import { z as z47 } from "zod";
27723
27848
 
27724
27849
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27725
- import { z as z42 } from "zod";
27850
+ import { z as z43 } from "zod";
27726
27851
 
27727
27852
  // ../blocks/src/lib/media.ts
27728
27853
  import z39 from "zod";
@@ -27800,296 +27925,339 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
27800
27925
  archiveMediaSchema
27801
27926
  ]);
27802
27927
 
27803
- // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
27928
+ // ../blocks/src/system/manifest/richTextSchema.ts
27804
27929
  import { z as z40 } from "zod";
27805
- var bookingDepositRefundPolicySchema = z40.enum([
27930
+ var TipTapMarkSchema = z40.object({
27931
+ type: z40.string(),
27932
+ attrs: z40.record(z40.string(), z40.unknown()).optional()
27933
+ });
27934
+ var TipTapNodeSchema = z40.lazy(
27935
+ () => z40.object({
27936
+ type: z40.string(),
27937
+ content: z40.array(TipTapNodeSchema).optional(),
27938
+ text: z40.string().optional(),
27939
+ attrs: z40.record(z40.string(), z40.unknown()).optional(),
27940
+ marks: z40.array(TipTapMarkSchema).optional()
27941
+ })
27942
+ );
27943
+ var RichTextValueSchema = z40.union([
27944
+ // Canonical: TipTap document directly
27945
+ TipTapNodeSchema,
27946
+ // Legacy (read-tolerance only): wrapped in { doc: {...} }
27947
+ z40.object({
27948
+ doc: TipTapNodeSchema
27949
+ })
27950
+ ]);
27951
+ var RichTextDocSchema = z40.object({
27952
+ type: z40.literal("doc"),
27953
+ content: z40.array(TipTapNodeSchema)
27954
+ });
27955
+
27956
+ // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
27957
+ import { z as z41 } from "zod";
27958
+ var bookingDepositRefundPolicySchema = z41.enum([
27806
27959
  "refundable",
27807
27960
  "non_refundable"
27808
27961
  ]);
27809
- var bookingInstalmentPlanSchema = z40.union([
27810
- z40.object({
27811
- kind: z40.literal("deposit_plus_one_remainder"),
27812
- depositAmountCents: z40.number().int().min(0),
27962
+ var bookingInstalmentPlanSchema = z41.union([
27963
+ z41.object({
27964
+ kind: z41.literal("deposit_plus_one_remainder"),
27965
+ depositAmountCents: z41.number().int().min(0),
27813
27966
  depositRefundability: bookingDepositRefundPolicySchema,
27814
- remainderDueCount: z40.number().int().positive(),
27815
- intervalUnit: z40.enum(["day", "week", "month"])
27967
+ remainderDueCount: z41.number().int().positive(),
27968
+ intervalUnit: z41.enum(["day", "week", "month"])
27816
27969
  }),
27817
- z40.object({
27818
- kind: z40.literal("deposit_plus_scheduled_instalments"),
27819
- depositAmountCents: z40.number().int().min(0),
27970
+ z41.object({
27971
+ kind: z41.literal("deposit_plus_scheduled_instalments"),
27972
+ depositAmountCents: z41.number().int().min(0),
27820
27973
  depositRefundability: bookingDepositRefundPolicySchema,
27821
- instalmentCount: z40.number().int().positive(),
27822
- intervalCount: z40.number().int().positive(),
27823
- intervalUnit: z40.enum(["day", "week", "month"])
27974
+ instalmentCount: z41.number().int().positive(),
27975
+ intervalCount: z41.number().int().positive(),
27976
+ intervalUnit: z41.enum(["day", "week", "month"])
27824
27977
  }),
27825
- z40.object({
27826
- kind: z40.literal("equal_scheduled_instalments"),
27827
- instalmentCount: z40.number().int().positive(),
27828
- intervalCount: z40.number().int().positive(),
27829
- intervalUnit: z40.enum(["day", "week", "month"])
27978
+ z41.object({
27979
+ kind: z41.literal("equal_scheduled_instalments"),
27980
+ instalmentCount: z41.number().int().positive(),
27981
+ intervalCount: z41.number().int().positive(),
27982
+ intervalUnit: z41.enum(["day", "week", "month"])
27830
27983
  })
27831
27984
  ]);
27832
- var bookingFlexibleBalanceDueDateRuleSchema = z40.union([
27833
- z40.object({
27834
- kind: z40.literal("relative_to_start_date"),
27835
- daysBeforeStart: z40.number().int().positive()
27985
+ var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
27986
+ z41.object({
27987
+ kind: z41.literal("relative_to_start_date"),
27988
+ daysBeforeStart: z41.number().int().positive()
27836
27989
  }),
27837
- z40.object({
27838
- kind: z40.literal("fixed_calendar_date"),
27839
- dueAt: z40.string().datetime()
27990
+ z41.object({
27991
+ kind: z41.literal("fixed_calendar_date"),
27992
+ dueAt: z41.string().datetime()
27840
27993
  })
27841
27994
  ]);
27842
- var bookingFlexibleBalanceConfigSchema = z40.object({
27843
- upfrontAmountCents: z40.number().int().min(0),
27995
+ var bookingFlexibleBalanceConfigSchema = z41.object({
27996
+ upfrontAmountCents: z41.number().int().min(0),
27844
27997
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
27845
27998
  depositRefundability: bookingDepositRefundPolicySchema
27846
27999
  });
27847
- var blockBookingPaymentCollectionOptionSchema = z40.union([
27848
- z40.object({
27849
- kind: z40.literal("upfront")
28000
+ var blockBookingPaymentCollectionOptionSchema = z41.union([
28001
+ z41.object({
28002
+ kind: z41.literal("upfront")
27850
28003
  }),
27851
- z40.object({
27852
- kind: z40.literal("deferred_manual")
28004
+ z41.object({
28005
+ kind: z41.literal("deferred_manual")
27853
28006
  }),
27854
- z40.object({
27855
- kind: z40.literal("instalment_plan"),
28007
+ z41.object({
28008
+ kind: z41.literal("instalment_plan"),
27856
28009
  plan: bookingInstalmentPlanSchema
27857
28010
  }),
27858
- z40.object({
27859
- kind: z40.literal("flexible_balance"),
28011
+ z41.object({
28012
+ kind: z41.literal("flexible_balance"),
27860
28013
  config: bookingFlexibleBalanceConfigSchema
27861
28014
  })
27862
28015
  ]);
27863
- var blockBookingPaymentTermsSchema = z40.object({
27864
- allowedOptions: z40.array(blockBookingPaymentCollectionOptionSchema).min(1)
28016
+ var blockBookingPaymentTermsSchema = z41.object({
28017
+ allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
27865
28018
  });
27866
28019
 
27867
28020
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
27868
- import { z as z41 } from "zod";
27869
- var courseVenueSchema = z41.object({
27870
- id: z41.string(),
27871
- name: z41.string(),
27872
- address: z41.string().nullable()
27873
- });
27874
- var courseSessionSchema = z41.object({
27875
- id: z41.string(),
27876
- startsAt: z41.string(),
27877
- endsAt: z41.string(),
27878
- timeZone: z41.string(),
27879
- capacityOverride: z41.number().nullable().optional(),
27880
- overrides: z41.record(z41.string(), z41.unknown()).nullable().optional()
27881
- });
27882
- var courseTeamMemberSummarySchema = z41.object({
27883
- id: z41.string(),
27884
- name: z41.string(),
27885
- roleLabel: z41.string().nullable(),
27886
- summary: z41.string().nullable(),
27887
- profilePath: z41.string().nullable()
27888
- });
27889
- var coursePricingOptionSchema = z41.object({
27890
- id: z41.string(),
27891
- name: z41.string(),
27892
- description: z41.string().nullable(),
27893
- priceAmount: z41.number(),
27894
- isActive: z41.boolean(),
27895
- sortOrder: z41.number(),
27896
- capacityLimit: z41.number().nullable(),
27897
- saleStartsAt: z41.string().nullable(),
27898
- saleEndsAt: z41.string().nullable(),
27899
- attendanceScope: z41.enum(["in_person", "online", "both"]).nullable().optional()
27900
- });
27901
- var coursePricingSchema = z41.object({
27902
- bookingRequirement: z41.enum(["none", "required"]),
27903
- pricingStrategy: z41.enum(["free", "single", "tiered"]),
27904
- currency: z41.string(),
27905
- singlePriceAmount: z41.number().nullable(),
28021
+ import { z as z42 } from "zod";
28022
+ var courseVenueSchema = z42.object({
28023
+ id: z42.string(),
28024
+ name: z42.string(),
28025
+ address: z42.string().nullable()
28026
+ });
28027
+ var courseSessionSchema = z42.object({
28028
+ id: z42.string(),
28029
+ startsAt: z42.string(),
28030
+ endsAt: z42.string(),
28031
+ timeZone: z42.string(),
28032
+ capacityOverride: z42.number().nullable().optional(),
28033
+ overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
28034
+ });
28035
+ var courseTeamMemberSummarySchema = z42.object({
28036
+ id: z42.string(),
28037
+ name: z42.string(),
28038
+ roleLabel: z42.string().nullable(),
28039
+ summary: z42.string().nullable(),
28040
+ profilePath: z42.string().nullable()
28041
+ });
28042
+ var coursePricingOptionSchema = z42.object({
28043
+ id: z42.string(),
28044
+ name: z42.string(),
28045
+ description: z42.string().nullable(),
28046
+ priceAmount: z42.number(),
28047
+ isActive: z42.boolean(),
28048
+ sortOrder: z42.number(),
28049
+ capacityLimit: z42.number().nullable(),
28050
+ saleStartsAt: z42.string().nullable(),
28051
+ saleEndsAt: z42.string().nullable(),
28052
+ attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
28053
+ });
28054
+ var coursePricingSchema = z42.object({
28055
+ bookingRequirement: z42.enum(["none", "required"]),
28056
+ pricingStrategy: z42.enum(["free", "single", "tiered"]),
28057
+ currency: z42.string(),
28058
+ singlePriceAmount: z42.number().nullable(),
27906
28059
  paymentTerms: blockBookingPaymentTermsSchema,
27907
- options: z41.array(coursePricingOptionSchema)
27908
- });
27909
- var publicCourseSchema = z41.object({
27910
- id: z41.string(),
27911
- title: z41.string(),
27912
- slug: z41.string(),
27913
- description: z41.unknown().nullable(),
27914
- teamMembers: z41.array(courseTeamMemberSummarySchema).optional(),
27915
- enrollmentOpen: z41.boolean(),
28060
+ options: z42.array(coursePricingOptionSchema)
28061
+ });
28062
+ var publicCourseSchema = z42.object({
28063
+ id: z42.string(),
28064
+ title: z42.string(),
28065
+ slug: z42.string(),
28066
+ description: z42.unknown().nullable(),
28067
+ teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
28068
+ enrollmentOpen: z42.boolean(),
27916
28069
  pricing: coursePricingSchema.optional(),
27917
- priceCents: z41.number().nullable(),
27918
- currency: z41.string(),
28070
+ priceCents: z42.number().nullable(),
28071
+ currency: z42.string(),
27919
28072
  paymentTerms: blockBookingPaymentTermsSchema,
27920
- enrollmentCapacity: z41.number().nullable(),
27921
- acceptsMemberships: z41.boolean(),
27922
- status: z41.enum(["active", "draft", "cancelled"]),
27923
- sessionsCount: z41.number(),
27924
- enrolledCount: z41.number(),
27925
- availableSpots: z41.number().nullable(),
27926
- sessions: z41.array(courseSessionSchema),
28073
+ enrollmentCapacity: z42.number().nullable(),
28074
+ acceptsMemberships: z42.boolean(),
28075
+ status: z42.enum(["active", "draft", "cancelled"]),
28076
+ sessionsCount: z42.number(),
28077
+ enrolledCount: z42.number(),
28078
+ availableSpots: z42.number().nullable(),
28079
+ sessions: z42.array(courseSessionSchema),
27927
28080
  venue: courseVenueSchema.nullable(),
27928
- contentEntryId: z41.string().nullable()
28081
+ contentEntryId: z42.string().nullable()
27929
28082
  });
27930
- var publicCoursesArraySchema = z41.array(publicCourseSchema);
28083
+ var publicCoursesArraySchema = z42.array(publicCourseSchema);
27931
28084
 
27932
28085
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27933
- var eventPresetSchema = z42.enum(["event", "class", "workshop", "retreat", "performance"]);
27934
- var eventScheduleScopeSchema = z42.enum(["recurring", "oneOff"]);
27935
- var eventDestinationModeSchema = z42.enum(["cms-managed", "system-managed"]);
27936
- var eventVenueSchema = z42.object({
27937
- id: z42.string(),
27938
- name: z42.string(),
27939
- address: z42.string().nullable(),
27940
- location: z42.object({
27941
- lat: z42.number(),
27942
- lng: z42.number()
28086
+ var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
28087
+ var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
28088
+ var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
28089
+ var eventVenueSchema = z43.object({
28090
+ id: z43.string(),
28091
+ name: z43.string(),
28092
+ address: z43.string().nullable(),
28093
+ location: z43.object({
28094
+ lat: z43.number(),
28095
+ lng: z43.number()
27943
28096
  }).nullable()
27944
28097
  });
27945
- var eventCategorySchema = z42.object({
27946
- id: z42.string(),
27947
- name: z42.string(),
27948
- color: z42.string().nullable()
27949
- });
27950
- var pricingTypeSchema = z42.enum(["free", "paid"]);
27951
- var accessRestrictionSchema = z42.enum(["none", "category"]);
27952
- var eventPricingModeSchema = z42.enum(["single", "ticket_types"]);
27953
- var publicCoursePriceDisplaySchema = z42.discriminatedUnion("kind", [
27954
- z42.object({ kind: z42.literal("free"), currency: z42.string() }),
27955
- z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() }),
27956
- z42.object({ kind: z42.literal("from"), amount: z42.number(), currency: z42.string() }),
27957
- z42.object({ kind: z42.literal("unavailable"), currency: z42.string() })
28098
+ var eventCategorySchema = z43.object({
28099
+ id: z43.string(),
28100
+ name: z43.string(),
28101
+ color: z43.string().nullable()
28102
+ });
28103
+ var pricingTypeSchema = z43.enum(["free", "paid"]);
28104
+ var accessRestrictionSchema = z43.enum(["none", "category"]);
28105
+ var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
28106
+ var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
28107
+ z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28108
+ z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28109
+ z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28110
+ z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
27958
28111
  ]);
27959
- var publicEventPriceDisplaySchema = z42.discriminatedUnion("kind", [
27960
- z42.object({ kind: z42.literal("free"), currency: z42.string() }),
27961
- z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() }),
27962
- z42.object({ kind: z42.literal("from"), amount: z42.number(), currency: z42.string() }),
27963
- z42.object({ kind: z42.literal("mixed"), paidFromAmount: z42.number(), currency: z42.string() }),
27964
- z42.object({ kind: z42.literal("unavailable"), currency: z42.string() }),
27965
- z42.object({ kind: z42.literal("course"), display: publicCoursePriceDisplaySchema })
28112
+ var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
28113
+ z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28114
+ z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28115
+ z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28116
+ z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28117
+ z43.object({
28118
+ kind: z43.literal("mixed"),
28119
+ paidFromAmount: z43.number(),
28120
+ paidToAmount: z43.number(),
28121
+ currency: z43.string()
28122
+ }),
28123
+ z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
28124
+ z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
27966
28125
  ]);
27967
- var publicEventTicketTypePriceDisplaySchema = z42.union([
27968
- z42.object({ kind: z42.literal("free"), currency: z42.string() }),
27969
- z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() }),
27970
- z42.object({ kind: z42.literal("from"), amount: z42.number(), currency: z42.string() }),
27971
- z42.object({ kind: z42.literal("mixed"), paidFromAmount: z42.number(), currency: z42.string() }),
27972
- z42.object({ kind: z42.literal("unavailable"), currency: z42.string() })
28126
+ var publicEventTicketTypePriceDisplaySchema = z43.union([
28127
+ z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28128
+ z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28129
+ z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28130
+ z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28131
+ z43.object({
28132
+ kind: z43.literal("mixed"),
28133
+ paidFromAmount: z43.number(),
28134
+ paidToAmount: z43.number(),
28135
+ currency: z43.string()
28136
+ }),
28137
+ z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
27973
28138
  ]);
27974
- var publicEventAttendanceModeSchema = z42.enum(["in_person", "online"]);
27975
- var publicEventAttendanceModeAvailabilitySchema = z42.object({
28139
+ var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
28140
+ var publicEventAttendanceModeAvailabilitySchema = z43.object({
27976
28141
  mode: publicEventAttendanceModeSchema,
27977
- capacity: z42.number().nullable(),
27978
- registeredCount: z42.number(),
27979
- availableSpots: z42.number().nullable(),
27980
- waitlistEnabled: z42.boolean()
27981
- });
27982
- var publicEventTicketTypeAvailabilitySchema = z42.union([
27983
- z42.object({
27984
- kind: z42.literal("available"),
27985
- remainingCapacity: z42.number().nullable()
28142
+ capacity: z43.number().nullable(),
28143
+ registeredCount: z43.number(),
28144
+ availableSpots: z43.number().nullable(),
28145
+ waitlistEnabled: z43.boolean()
28146
+ });
28147
+ var publicEventTicketTypeAvailabilitySchema = z43.union([
28148
+ z43.object({
28149
+ kind: z43.literal("available"),
28150
+ remainingCapacity: z43.number().nullable()
27986
28151
  }),
27987
- z42.object({
27988
- kind: z42.literal("unavailable"),
27989
- reason: z42.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
27990
- remainingCapacity: z42.number().nullable()
28152
+ z43.object({
28153
+ kind: z43.literal("unavailable"),
28154
+ reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28155
+ remainingCapacity: z43.number().nullable()
27991
28156
  })
27992
28157
  ]);
27993
- var publicEventTicketTypeSchema = z42.object({
27994
- id: z42.string(),
27995
- siteId: z42.string(),
27996
- eventSeriesId: z42.string(),
27997
- name: z42.string(),
27998
- description: z42.string().nullable(),
27999
- priceAmount: z42.number(),
28000
- isActive: z42.boolean(),
28001
- sortOrder: z42.number(),
28002
- capacityMode: z42.enum(["limited", "unlimited"]),
28003
- capacityLimit: z42.number().nullable(),
28004
- attendanceScope: z42.enum(["in_person", "online", "both"]).optional(),
28005
- saleStartsAt: z42.string().nullable(),
28006
- saleEndsAt: z42.string().nullable(),
28158
+ var publicEventTicketTypeSchema = z43.object({
28159
+ id: z43.string(),
28160
+ siteId: z43.string(),
28161
+ eventSeriesId: z43.string(),
28162
+ name: z43.string(),
28163
+ description: z43.string().nullable(),
28164
+ priceAmount: z43.number(),
28165
+ isActive: z43.boolean(),
28166
+ sortOrder: z43.number(),
28167
+ capacityMode: z43.enum(["limited", "unlimited"]),
28168
+ capacityLimit: z43.number().nullable(),
28169
+ attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
28170
+ saleStartsAt: z43.string().nullable(),
28171
+ saleEndsAt: z43.string().nullable(),
28007
28172
  availability: publicEventTicketTypeAvailabilitySchema,
28008
- createdAt: z42.string(),
28009
- updatedAt: z42.string()
28010
- });
28011
- var publicEventPricingSchema = z42.discriminatedUnion("kind", [
28012
- z42.object({
28013
- kind: z42.literal("drop_in"),
28014
- currency: z42.string(),
28015
- display: z42.object({ kind: z42.literal("free"), currency: z42.string() })
28173
+ createdAt: z43.string(),
28174
+ updatedAt: z43.string()
28175
+ });
28176
+ var publicEventPricingSchema = z43.discriminatedUnion("kind", [
28177
+ z43.object({
28178
+ kind: z43.literal("drop_in"),
28179
+ currency: z43.string(),
28180
+ display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28016
28181
  }),
28017
- z42.object({
28018
- kind: z42.literal("free_registration"),
28019
- currency: z42.string(),
28020
- display: z42.object({ kind: z42.literal("free"), currency: z42.string() })
28182
+ z43.object({
28183
+ kind: z43.literal("free_registration"),
28184
+ currency: z43.string(),
28185
+ display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28021
28186
  }),
28022
- z42.object({
28023
- kind: z42.literal("single_paid"),
28024
- amount: z42.number(),
28025
- currency: z42.string(),
28026
- display: z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() })
28187
+ z43.object({
28188
+ kind: z43.literal("single_paid"),
28189
+ amount: z43.number(),
28190
+ currency: z43.string(),
28191
+ display: z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() })
28027
28192
  }),
28028
- z42.object({
28029
- kind: z42.literal("ticket_types"),
28030
- currency: z42.string(),
28031
- ticketTypes: z42.array(publicEventTicketTypeSchema),
28193
+ z43.object({
28194
+ kind: z43.literal("ticket_types"),
28195
+ currency: z43.string(),
28196
+ ticketTypes: z43.array(publicEventTicketTypeSchema),
28032
28197
  display: publicEventTicketTypePriceDisplaySchema
28033
28198
  }),
28034
- z42.object({
28035
- kind: z42.literal("course"),
28036
- display: z42.object({ kind: z42.literal("course"), display: publicCoursePriceDisplaySchema })
28199
+ z43.object({
28200
+ kind: z43.literal("course"),
28201
+ display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28037
28202
  })
28038
28203
  ]);
28039
- var publicTeamMemberSummarySchema = z42.object({
28040
- id: z42.string(),
28041
- name: z42.string(),
28042
- roleLabel: z42.string().nullable(),
28043
- summary: z42.string().nullable(),
28044
- profilePath: z42.string().nullable()
28204
+ var publicTeamMemberSummarySchema = z43.object({
28205
+ id: z43.string(),
28206
+ name: z43.string(),
28207
+ roleLabel: z43.string().nullable(),
28208
+ summary: z43.string().nullable(),
28209
+ profilePath: z43.string().nullable()
28045
28210
  });
28046
- var publicEventSchema = z42.object({
28047
- kind: z42.enum(["event", "course_session"]).optional(),
28211
+ var publicEventSchema = z43.object({
28212
+ kind: z43.enum(["event", "course_session"]).optional(),
28048
28213
  eventPreset: eventPresetSchema.optional(),
28049
28214
  eventDestinationMode: eventDestinationModeSchema.optional(),
28050
28215
  scheduleScope: eventScheduleScopeSchema.optional(),
28051
- id: z42.string(),
28052
- occurrenceId: z42.string(),
28053
- seriesId: z42.string(),
28054
- title: z42.string(),
28055
- description: z42.string().nullable(),
28056
- presentation: z42.object({
28057
- cardTitleOverride: z42.string().nullable().optional(),
28058
- summary: z42.string().nullable().optional(),
28216
+ id: z43.string(),
28217
+ occurrenceId: z43.string(),
28218
+ seriesId: z43.string(),
28219
+ title: z43.string(),
28220
+ description: z43.string().nullable(),
28221
+ content: z43.object({
28222
+ body: RichTextDocSchema.nullable().optional()
28223
+ }).optional(),
28224
+ presentation: z43.object({
28225
+ cardTitleOverride: z43.string().nullable().optional(),
28226
+ summary: z43.string().nullable().optional(),
28059
28227
  image: mediaSchema2.nullable().optional()
28060
28228
  }).optional(),
28061
- slug: z42.string(),
28062
- path: z42.string(),
28063
- requiresRegistration: z42.boolean(),
28064
- deliveryMode: z42.enum(["in_person", "online", "hybrid"]),
28065
- attendanceModes: z42.array(publicEventAttendanceModeAvailabilitySchema),
28066
- startsAt: z42.string(),
28067
- endsAt: z42.string(),
28068
- capacity: z42.number().nullable(),
28069
- registeredCount: z42.number(),
28070
- availableSpots: z42.number().nullable(),
28071
- waitlistEnabled: z42.boolean(),
28229
+ slug: z43.string(),
28230
+ path: z43.string(),
28231
+ requiresRegistration: z43.boolean(),
28232
+ deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
28233
+ attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
28234
+ startsAt: z43.string(),
28235
+ endsAt: z43.string(),
28236
+ capacity: z43.number().nullable(),
28237
+ registeredCount: z43.number(),
28238
+ availableSpots: z43.number().nullable(),
28239
+ waitlistEnabled: z43.boolean(),
28072
28240
  venue: eventVenueSchema.nullable(),
28073
28241
  eventCategory: eventCategorySchema.nullable(),
28074
- teamMembers: z42.array(publicTeamMemberSummarySchema).optional(),
28075
- status: z42.enum(["active", "draft", "archived"]).optional(),
28076
- timeZone: z42.string(),
28242
+ teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
28243
+ status: z43.enum(["active", "draft", "archived"]).optional(),
28244
+ timeZone: z43.string(),
28077
28245
  pricing: publicEventPricingSchema,
28078
28246
  paymentTerms: blockBookingPaymentTermsSchema,
28079
28247
  accessRestriction: accessRestrictionSchema,
28080
- allowedCategoryIds: z42.array(z42.string()),
28081
- requireGuestDetails: z42.boolean().optional(),
28082
- acceptsPasses: z42.boolean().optional(),
28083
- acceptsMemberships: z42.boolean().optional(),
28084
- course: z42.object({
28085
- id: z42.string(),
28248
+ allowedCategoryIds: z43.array(z43.string()),
28249
+ requireGuestDetails: z43.boolean().optional(),
28250
+ acceptsPasses: z43.boolean().optional(),
28251
+ acceptsMemberships: z43.boolean().optional(),
28252
+ course: z43.object({
28253
+ id: z43.string(),
28086
28254
  pricing: coursePricingSchema.optional(),
28087
- priceCents: z42.number().nullable(),
28088
- currency: z42.string(),
28089
- enrollmentOpen: z42.boolean()
28255
+ priceCents: z43.number().nullable(),
28256
+ currency: z43.string(),
28257
+ enrollmentOpen: z43.boolean()
28090
28258
  }).nullable().optional()
28091
28259
  });
28092
- var publicEventsArraySchema = z42.array(publicEventSchema);
28260
+ var publicEventsArraySchema = z43.array(publicEventSchema);
28093
28261
 
28094
28262
  // ../blocks/src/system/blocks/events/shared/fields.ts
28095
28263
  var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
@@ -28293,19 +28461,19 @@ function normalizeEventStaffMemberId(value) {
28293
28461
  }
28294
28462
 
28295
28463
  // ../blocks/src/system/blocks/event-registration.shared.ts
28296
- import { z as z43 } from "zod";
28297
- var occurrenceContextSchema = z43.object({
28298
- id: z43.string(),
28299
- seriesId: z43.string(),
28300
- startsAt: z43.string(),
28301
- endsAt: z43.string(),
28302
- timeZone: z43.string(),
28303
- capacityOverride: z43.number().nullable().optional(),
28304
- overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
28464
+ import { z as z44 } from "zod";
28465
+ var occurrenceContextSchema = z44.object({
28466
+ id: z44.string(),
28467
+ seriesId: z44.string(),
28468
+ startsAt: z44.string(),
28469
+ endsAt: z44.string(),
28470
+ timeZone: z44.string(),
28471
+ capacityOverride: z44.number().nullable().optional(),
28472
+ overrides: z44.record(z44.string(), z44.unknown()).nullable().optional()
28305
28473
  }).nullable();
28306
28474
 
28307
28475
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28308
- import { z as z45 } from "zod";
28476
+ import { z as z46 } from "zod";
28309
28477
 
28310
28478
  // ../blocks/src/system/constants/events.ts
28311
28479
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
@@ -28403,10 +28571,21 @@ function readLegacyPriceDisplay(value, currency) {
28403
28571
  amount: readAmount(value.amount) ?? 0,
28404
28572
  currency: displayCurrency
28405
28573
  } : { kind: "unavailable", currency };
28574
+ case "range": {
28575
+ const minAmount = readAmount(value.minAmount);
28576
+ const maxAmount = readAmount(value.maxAmount);
28577
+ return minAmount !== null && maxAmount !== null ? {
28578
+ kind: "range",
28579
+ minAmount,
28580
+ maxAmount,
28581
+ currency: displayCurrency
28582
+ } : { kind: "unavailable", currency };
28583
+ }
28406
28584
  case "mixed":
28407
28585
  return readAmount(value.paidFromAmount) !== null ? {
28408
28586
  kind: "mixed",
28409
28587
  paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
28588
+ paidToAmount: readAmount(value.paidToAmount) ?? readAmount(value.paidFromAmount) ?? 0,
28410
28589
  currency: displayCurrency
28411
28590
  } : { kind: "unavailable", currency };
28412
28591
  case "unavailable":
@@ -28448,16 +28627,16 @@ function readAmount(value) {
28448
28627
  }
28449
28628
 
28450
28629
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
28451
- import { z as z44 } from "zod";
28452
- var previewStageSchema = z44.enum(["preview", "published"]);
28453
- var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
28454
- var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
28455
- var eventLayoutSchema = z44.enum(eventCalendarListLayoutValues);
28456
- var eventCalendarDisplayModeSchema = z44.enum(eventCalendarDisplayModeValues);
28457
- var columnOptionSchema = z44.enum(["2", "3", "4"]);
28458
- var weekStartSchema = z44.enum(["sunday", "monday"]);
28459
- var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
28460
- var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
28630
+ import { z as z45 } from "zod";
28631
+ var previewStageSchema = z45.enum(["preview", "published"]);
28632
+ var registrationButtonVariantSchema = z45.enum(["primary", "secondary", "outline"]);
28633
+ var eventButtonVariantSchema = z45.enum(["primary", "secondary", "outline", "link"]);
28634
+ var eventLayoutSchema = z45.enum(eventCalendarListLayoutValues);
28635
+ var eventCalendarDisplayModeSchema = z45.enum(eventCalendarDisplayModeValues);
28636
+ var columnOptionSchema = z45.enum(["2", "3", "4"]);
28637
+ var weekStartSchema = z45.enum(["sunday", "monday"]);
28638
+ var filterAutoShowSchema = z45.enum(["auto", "always", "never"]);
28639
+ var calendarTabViewsSchema = z45.enum(["both", "month", "week"]);
28461
28640
 
28462
28641
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
28463
28642
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -28517,66 +28696,68 @@ function toRegistrationEvents(events) {
28517
28696
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28518
28697
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
28519
28698
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
28520
- var contentEntrySchema = z45.object({
28521
- id: z45.string(),
28522
- slug: z45.string(),
28523
- contentTypeSlug: z45.string()
28699
+ var contentEntrySchema = z46.object({
28700
+ id: z46.string(),
28701
+ slug: z46.string(),
28702
+ contentTypeSlug: z46.string()
28524
28703
  });
28525
- var eventRegistrationPublicEventSchema = z45.preprocess(
28704
+ var eventRegistrationPublicEventSchema = z46.preprocess(
28526
28705
  normalizeEventRegistrationEventInput,
28527
28706
  publicEventSchema
28528
28707
  );
28529
- var eventRegistrationSourceSchema = z45.object({
28530
- siteId: z45.string().optional(),
28531
- apiBaseUrl: z45.string().optional(),
28532
- portalToken: z45.string().nullable().optional(),
28533
- previewToken: z45.string().nullable().optional(),
28708
+ var eventRegistrationSourceSchema = z46.object({
28709
+ siteId: z46.string().optional(),
28710
+ apiBaseUrl: z46.string().optional(),
28711
+ portalToken: z46.string().nullable().optional(),
28712
+ previewToken: z46.string().nullable().optional(),
28534
28713
  occurrenceContext: occurrenceContextSchema.optional(),
28535
28714
  contentEntry: contentEntrySchema.nullable().optional(),
28536
- events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
28537
- className: z45.string().nullable().optional(),
28538
- buttonText: z45.string().nullable().optional(),
28539
- maxTickets: z45.string().nullable().optional(),
28540
- showVenue: z45.boolean().optional(),
28541
- showCapacity: z45.boolean().optional(),
28542
- successMessage: z45.string().optional(),
28543
- waitlistMessage: z45.string().optional(),
28715
+ events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
28716
+ className: z46.string().nullable().optional(),
28717
+ buttonText: z46.string().nullable().optional(),
28718
+ maxTickets: z46.string().nullable().optional(),
28719
+ showVenue: z46.boolean().optional(),
28720
+ showCapacity: z46.boolean().optional(),
28721
+ successMessage: z46.string().optional(),
28722
+ waitlistMessage: z46.string().optional(),
28544
28723
  buttonVariant: registrationButtonVariantSchema.optional(),
28545
- spamProtectionEnabled: z45.boolean().optional(),
28724
+ overlayEnabled: z46.boolean().optional(),
28725
+ spamProtectionEnabled: z46.boolean().optional(),
28546
28726
  stage: previewStageSchema.optional(),
28547
- supportEmail: z45.string().optional()
28548
- });
28549
- var eventRegistrationDisplaySchema = z45.object({
28550
- kind: z45.literal("event-registration"),
28551
- state: z45.literal("generic-shell"),
28552
- className: z45.string().nullable(),
28553
- titleText: z45.string(),
28554
- bodyText: z45.string(),
28555
- stepLabels: z45.array(z45.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28556
- summaryButtonText: z45.string()
28557
- });
28558
- var eventRegistrationHydrationSchema = z45.object({
28727
+ supportEmail: z46.string().optional()
28728
+ });
28729
+ var eventRegistrationDisplaySchema = z46.object({
28730
+ kind: z46.literal("event-registration"),
28731
+ state: z46.literal("generic-shell"),
28732
+ className: z46.string().nullable(),
28733
+ titleText: z46.string(),
28734
+ bodyText: z46.string(),
28735
+ stepLabels: z46.array(z46.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28736
+ summaryButtonText: z46.string()
28737
+ });
28738
+ var eventRegistrationHydrationSchema = z46.object({
28559
28739
  occurrenceContext: occurrenceContextSchema.optional(),
28560
28740
  contentEntry: contentEntrySchema.nullable().optional(),
28561
- events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
28562
- maxTickets: z45.string().optional(),
28563
- showVenue: z45.boolean().optional(),
28564
- showCapacity: z45.boolean().optional(),
28565
- successMessage: z45.string().optional(),
28566
- waitlistMessage: z45.string().optional(),
28741
+ events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
28742
+ maxTickets: z46.string().optional(),
28743
+ showVenue: z46.boolean().optional(),
28744
+ showCapacity: z46.boolean().optional(),
28745
+ successMessage: z46.string().optional(),
28746
+ waitlistMessage: z46.string().optional(),
28567
28747
  buttonVariant: registrationButtonVariantSchema.optional(),
28568
- spamProtectionEnabled: z45.boolean().optional(),
28569
- supportEmail: z45.string().optional()
28748
+ overlayEnabled: z46.boolean().optional(),
28749
+ spamProtectionEnabled: z46.boolean().optional(),
28750
+ supportEmail: z46.string().optional()
28570
28751
  });
28571
- var eventRegistrationRenderSchema = z45.object({
28752
+ var eventRegistrationRenderSchema = z46.object({
28572
28753
  display: eventRegistrationDisplaySchema,
28573
28754
  hydration: eventRegistrationHydrationSchema
28574
28755
  });
28575
- var eventRegistrationIslandMetaCodec = createZodCodec(z45.object({
28576
- siteId: z45.string().optional(),
28577
- apiBaseUrl: z45.string().optional(),
28578
- portalToken: z45.string().nullable().optional(),
28579
- previewToken: z45.string().nullable().optional(),
28756
+ var eventRegistrationIslandMetaCodec = createZodCodec(z46.object({
28757
+ siteId: z46.string().optional(),
28758
+ apiBaseUrl: z46.string().optional(),
28759
+ portalToken: z46.string().nullable().optional(),
28760
+ previewToken: z46.string().nullable().optional(),
28580
28761
  stage: previewStageSchema.optional()
28581
28762
  }));
28582
28763
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -28680,6 +28861,7 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
28680
28861
  successMessage: source.successMessage,
28681
28862
  waitlistMessage: source.waitlistMessage,
28682
28863
  buttonVariant: source.buttonVariant,
28864
+ overlayEnabled: source.overlayEnabled,
28683
28865
  spamProtectionEnabled: source.spamProtectionEnabled,
28684
28866
  supportEmail: source.supportEmail
28685
28867
  }
@@ -28855,6 +29037,12 @@ var eventRegistrationManifest = createBlockManifest({
28855
29037
  buttonVariant: {
28856
29038
  $bind: { from: "content.buttonVariant", fallback: "primary" }
28857
29039
  },
29040
+ overlayEnabled: {
29041
+ $bind: {
29042
+ from: "$root.eventRegistrationOverlayEnabled",
29043
+ fallback: false
29044
+ }
29045
+ },
28858
29046
  // Event data from loader
28859
29047
  events: { $bind: { from: "data.events" } },
28860
29048
  // Stage for preview mode (allows registering for draft events)
@@ -28875,7 +29063,7 @@ var eventRegistrationBlockDefinition = {
28875
29063
  manifest: eventRegistrationManifest,
28876
29064
  runtime: eventRegistrationBlockRuntime,
28877
29065
  dataSchemas: {
28878
- events: z46.array(publicEventSchema).optional(),
29066
+ events: z47.array(publicEventSchema).optional(),
28879
29067
  occurrenceContext: occurrenceContextSchema.optional()
28880
29068
  },
28881
29069
  dataLoaders: {
@@ -28899,73 +29087,73 @@ var eventRegistrationBlockDefinition = {
28899
29087
  };
28900
29088
 
28901
29089
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
28902
- import { z as z47 } from "zod";
28903
- var contentEntrySchema2 = z47.object({
28904
- id: z47.string(),
28905
- slug: z47.string(),
28906
- contentTypeSlug: z47.string()
28907
- });
28908
- var courseEntrySubrouteContextSchema = z47.union([
28909
- z47.object({
28910
- kind: z47.literal("course-run"),
28911
- run: z47.object({
28912
- courseId: z47.string(),
28913
- seriesId: z47.string(),
28914
- runSlug: z47.string(),
28915
- runName: z47.string().nullable()
29090
+ import { z as z48 } from "zod";
29091
+ var contentEntrySchema2 = z48.object({
29092
+ id: z48.string(),
29093
+ slug: z48.string(),
29094
+ contentTypeSlug: z48.string()
29095
+ });
29096
+ var courseEntrySubrouteContextSchema = z48.union([
29097
+ z48.object({
29098
+ kind: z48.literal("course-run"),
29099
+ run: z48.object({
29100
+ courseId: z48.string(),
29101
+ seriesId: z48.string(),
29102
+ runSlug: z48.string(),
29103
+ runName: z48.string().nullable()
28916
29104
  })
28917
29105
  }),
28918
- z47.object({
28919
- kind: z47.literal("event-occurrence"),
29106
+ z48.object({
29107
+ kind: z48.literal("event-occurrence"),
28920
29108
  occurrence: occurrenceContextSchema
28921
29109
  })
28922
29110
  ]);
28923
- var courseRegistrationSourceSchema = z47.object({
28924
- siteId: z47.string().optional(),
28925
- apiBaseUrl: z47.string().optional(),
28926
- portalToken: z47.string().nullable().optional(),
29111
+ var courseRegistrationSourceSchema = z48.object({
29112
+ siteId: z48.string().optional(),
29113
+ apiBaseUrl: z48.string().optional(),
29114
+ portalToken: z48.string().nullable().optional(),
28927
29115
  contentEntry: contentEntrySchema2.nullable().optional(),
28928
29116
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
28929
- courses: z47.array(publicCourseSchema).nullable().optional(),
28930
- className: z47.string().nullable().optional(),
28931
- showSessions: z47.boolean().optional(),
28932
- showPrice: z47.boolean().optional(),
28933
- showCapacity: z47.boolean().optional(),
28934
- showVenue: z47.boolean().optional(),
28935
- successMessage: z47.string().optional(),
28936
- waitlistMessage: z47.string().optional(),
28937
- membershipMessage: z47.string().optional(),
28938
- buttonText: z47.string().nullable().optional(),
29117
+ courses: z48.array(publicCourseSchema).nullable().optional(),
29118
+ className: z48.string().nullable().optional(),
29119
+ showSessions: z48.boolean().optional(),
29120
+ showPrice: z48.boolean().optional(),
29121
+ showCapacity: z48.boolean().optional(),
29122
+ showVenue: z48.boolean().optional(),
29123
+ successMessage: z48.string().optional(),
29124
+ waitlistMessage: z48.string().optional(),
29125
+ membershipMessage: z48.string().optional(),
29126
+ buttonText: z48.string().nullable().optional(),
28939
29127
  buttonVariant: registrationButtonVariantSchema.optional(),
28940
29128
  stage: previewStageSchema.optional()
28941
29129
  });
28942
- var courseRegistrationDisplaySchema = z47.object({
28943
- kind: z47.literal("course-registration"),
28944
- state: z47.literal("shell"),
28945
- className: z47.string().nullable(),
28946
- summaryButtonText: z47.string()
29130
+ var courseRegistrationDisplaySchema = z48.object({
29131
+ kind: z48.literal("course-registration"),
29132
+ state: z48.literal("shell"),
29133
+ className: z48.string().nullable(),
29134
+ summaryButtonText: z48.string()
28947
29135
  });
28948
- var courseRegistrationHydrationSchema = z47.object({
29136
+ var courseRegistrationHydrationSchema = z48.object({
28949
29137
  contentEntry: contentEntrySchema2.nullable().optional(),
28950
29138
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
28951
- courses: z47.array(publicCourseSchema).nullable().optional(),
28952
- showSessions: z47.boolean().optional(),
28953
- showPrice: z47.boolean().optional(),
28954
- showCapacity: z47.boolean().optional(),
28955
- showVenue: z47.boolean().optional(),
28956
- successMessage: z47.string().optional(),
28957
- waitlistMessage: z47.string().optional(),
28958
- membershipMessage: z47.string().optional(),
29139
+ courses: z48.array(publicCourseSchema).nullable().optional(),
29140
+ showSessions: z48.boolean().optional(),
29141
+ showPrice: z48.boolean().optional(),
29142
+ showCapacity: z48.boolean().optional(),
29143
+ showVenue: z48.boolean().optional(),
29144
+ successMessage: z48.string().optional(),
29145
+ waitlistMessage: z48.string().optional(),
29146
+ membershipMessage: z48.string().optional(),
28959
29147
  buttonVariant: registrationButtonVariantSchema.optional()
28960
29148
  });
28961
- var courseRegistrationRenderSchema = z47.object({
29149
+ var courseRegistrationRenderSchema = z48.object({
28962
29150
  display: courseRegistrationDisplaySchema,
28963
29151
  hydration: courseRegistrationHydrationSchema
28964
29152
  });
28965
- var courseRegistrationIslandMetaCodec = createZodCodec(z47.object({
28966
- siteId: z47.string().optional(),
28967
- apiBaseUrl: z47.string().optional(),
28968
- portalToken: z47.string().nullable().optional(),
29153
+ var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
29154
+ siteId: z48.string().optional(),
29155
+ apiBaseUrl: z48.string().optional(),
29156
+ portalToken: z48.string().nullable().optional(),
28969
29157
  stage: previewStageSchema.optional()
28970
29158
  }));
28971
29159
  var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29225,32 +29413,32 @@ var courseRegistrationBlockDefinition = {
29225
29413
  };
29226
29414
 
29227
29415
  // ../blocks/src/system/blocks/event-details.ts
29228
- import { z as z49 } from "zod";
29416
+ import { z as z50 } from "zod";
29229
29417
 
29230
29418
  // ../blocks/src/system/blocks/shop.shared.ts
29231
- import { z as z48 } from "zod";
29232
- var publicPassProductSchema = z48.object({
29233
- id: z48.string(),
29234
- productUseCase: z48.enum(["event_pass", "appointment_package"]).default("event_pass"),
29235
- name: z48.string(),
29236
- description: z48.string().nullable(),
29237
- price: z48.number(),
29238
- currency: z48.string(),
29239
- creditsTotal: z48.number(),
29240
- pricePerCredit: z48.number(),
29241
- validDays: z48.number().nullable(),
29242
- eligibleCategoryIds: z48.array(z48.string()),
29243
- eligibleCategoryNames: z48.array(z48.string())
29244
- });
29245
- var publicMembershipProductSchema = z48.object({
29246
- id: z48.string(),
29247
- name: z48.string(),
29248
- description: z48.string().nullable(),
29249
- price: z48.number(),
29250
- currency: z48.string(),
29251
- billingInterval: z48.enum(["month", "year"]),
29252
- eligibleCategoryIds: z48.array(z48.string()),
29253
- eligibleCategoryNames: z48.array(z48.string())
29419
+ import { z as z49 } from "zod";
29420
+ var publicPassProductSchema = z49.object({
29421
+ id: z49.string(),
29422
+ productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
29423
+ name: z49.string(),
29424
+ description: z49.string().nullable(),
29425
+ price: z49.number(),
29426
+ currency: z49.string(),
29427
+ creditsTotal: z49.number(),
29428
+ pricePerCredit: z49.number(),
29429
+ validDays: z49.number().nullable(),
29430
+ eligibleCategoryIds: z49.array(z49.string()),
29431
+ eligibleCategoryNames: z49.array(z49.string())
29432
+ });
29433
+ var publicMembershipProductSchema = z49.object({
29434
+ id: z49.string(),
29435
+ name: z49.string(),
29436
+ description: z49.string().nullable(),
29437
+ price: z49.number(),
29438
+ currency: z49.string(),
29439
+ billingInterval: z49.enum(["month", "year"]),
29440
+ eligibleCategoryIds: z49.array(z49.string()),
29441
+ eligibleCategoryNames: z49.array(z49.string())
29254
29442
  });
29255
29443
 
29256
29444
  // ../blocks/src/system/blocks/event-details.ts
@@ -29385,40 +29573,40 @@ var eventDetailsManifest = createBlockManifest({
29385
29573
  })
29386
29574
  ]
29387
29575
  });
29388
- var occurrenceContextSchema2 = z49.object({
29389
- id: z49.string(),
29390
- seriesId: z49.string(),
29391
- startsAt: z49.string(),
29392
- endsAt: z49.string(),
29393
- timeZone: z49.string(),
29394
- capacityOverride: z49.number().nullable().optional(),
29395
- overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
29576
+ var occurrenceContextSchema2 = z50.object({
29577
+ id: z50.string(),
29578
+ seriesId: z50.string(),
29579
+ startsAt: z50.string(),
29580
+ endsAt: z50.string(),
29581
+ timeZone: z50.string(),
29582
+ capacityOverride: z50.number().nullable().optional(),
29583
+ overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
29396
29584
  }).nullable();
29397
- var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
29398
- id: z49.string(),
29399
- publicLabel: z49.string(),
29400
- description: z49.string().nullable(),
29401
- minTicketsRequired: z49.number().nullable()
29585
+ var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
29586
+ id: z50.string(),
29587
+ publicLabel: z50.string(),
29588
+ description: z50.string().nullable(),
29589
+ minTicketsRequired: z50.number().nullable()
29402
29590
  });
29403
- var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
29591
+ var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
29404
29592
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29405
- discountType: z49.literal("percent"),
29406
- discountPercent: z49.number(),
29407
- discountAmountCents: z49.null()
29593
+ discountType: z50.literal("percent"),
29594
+ discountPercent: z50.number(),
29595
+ discountAmountCents: z50.null()
29408
29596
  }),
29409
29597
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29410
- discountType: z49.literal("fixed"),
29411
- discountPercent: z49.null(),
29412
- discountAmountCents: z49.number()
29598
+ discountType: z50.literal("fixed"),
29599
+ discountPercent: z50.null(),
29600
+ discountAmountCents: z50.number()
29413
29601
  })
29414
29602
  ]);
29415
29603
  var eventDetailsBlockDefinition = {
29416
29604
  manifest: eventDetailsManifest,
29417
29605
  dataSchemas: {
29418
- eventDetailsData: z49.object({
29606
+ eventDetailsData: z50.object({
29419
29607
  events: publicEventsArraySchema,
29420
- sitePasses: z49.object({ passes: z49.array(publicPassProductSchema) }),
29421
- siteMemberships: z49.object({ memberships: z49.array(publicMembershipProductSchema) }),
29608
+ sitePasses: z50.object({ passes: z50.array(publicPassProductSchema) }),
29609
+ siteMemberships: z50.object({ memberships: z50.array(publicMembershipProductSchema) }),
29422
29610
  autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
29423
29611
  }).optional(),
29424
29612
  occurrenceContext: occurrenceContextSchema2.optional()
@@ -29742,7 +29930,7 @@ var eventSpotlightBlockDefinition = {
29742
29930
  };
29743
29931
 
29744
29932
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
29745
- import { z as z51 } from "zod";
29933
+ import { z as z52 } from "zod";
29746
29934
 
29747
29935
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
29748
29936
  var COLUMN_CLASSES = {
@@ -29850,16 +30038,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
29850
30038
  }
29851
30039
 
29852
30040
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
29853
- import { z as z50 } from "zod";
30041
+ import { z as z51 } from "zod";
29854
30042
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
29855
- var eventPageSizeSchema = z50.union([
29856
- z50.literal(3),
29857
- z50.literal(6),
29858
- z50.literal(10),
29859
- z50.literal(12),
29860
- z50.literal(20),
29861
- z50.literal(24),
29862
- z50.literal(30)
30043
+ var eventPageSizeSchema = z51.union([
30044
+ z51.literal(3),
30045
+ z51.literal(6),
30046
+ z51.literal(10),
30047
+ z51.literal(12),
30048
+ z51.literal(20),
30049
+ z51.literal(24),
30050
+ z51.literal(30)
29863
30051
  ]);
29864
30052
  var eventPageSizeSet = new Set(eventPageSizeValues);
29865
30053
  function resolveEventPageSize(value, fallback = 12) {
@@ -29869,15 +30057,15 @@ function resolveEventPageSize(value, fallback = 12) {
29869
30057
  function resolveEventCalendarListPageSize(input) {
29870
30058
  return resolveEventPageSize(input.eventsPerPage);
29871
30059
  }
29872
- var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
29873
- z50.object({
29874
- kind: z50.literal("loadMore"),
29875
- label: z50.string()
30060
+ var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
30061
+ z51.object({
30062
+ kind: z51.literal("loadMore"),
30063
+ label: z51.string()
29876
30064
  }),
29877
- z50.object({
29878
- kind: z50.literal("seeAllLink"),
29879
- label: z50.string(),
29880
- href: z50.string()
30065
+ z51.object({
30066
+ kind: z51.literal("seeAllLink"),
30067
+ label: z51.string(),
30068
+ href: z51.string()
29881
30069
  })
29882
30070
  ]);
29883
30071
  function resolveEventListPaginationAction(input) {
@@ -29890,89 +30078,89 @@ function resolveEventListPaginationAction(input) {
29890
30078
  }
29891
30079
 
29892
30080
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
29893
- var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
29894
- var eventCardVariantInputSchema = z51.union([
30081
+ var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
30082
+ var eventCardVariantInputSchema = z52.union([
29895
30083
  cardVariantRoleSchema,
29896
30084
  legacyEventCardVariantSchema
29897
30085
  ]);
29898
- var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
29899
- var eventBlockKindSchema = z51.enum(eventBlockKindValues);
29900
- var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
29901
- var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
29902
- var eventListingSourceSchema = z51.object({
29903
- events: z51.array(publicEventSchema).nullable().optional(),
29904
- siteId: z51.string(),
29905
- apiBaseUrl: z51.string().optional(),
30086
+ var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
30087
+ var eventBlockKindSchema = z52.enum(eventBlockKindValues);
30088
+ var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
30089
+ var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
30090
+ var eventListingSourceSchema = z52.object({
30091
+ events: z52.array(publicEventSchema).nullable().optional(),
30092
+ siteId: z52.string(),
30093
+ apiBaseUrl: z52.string().optional(),
29906
30094
  stage: previewStageSchema.optional(),
29907
30095
  layout: eventLayoutSchema.optional(),
29908
30096
  columns: columnOptionSchema.optional(),
29909
- eventsPerPage: z51.string().optional(),
29910
- paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
29911
- seeAllUrl: z51.string().optional(),
29912
- loadMoreText: z51.string().optional(),
30097
+ eventsPerPage: z52.string().optional(),
30098
+ paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30099
+ seeAllUrl: z52.string().optional(),
30100
+ loadMoreText: z52.string().optional(),
29913
30101
  cardVariant: eventCardVariantInputSchema.optional(),
29914
30102
  buttonVariant: eventButtonVariantSchema.optional(),
29915
- buttonText: z51.string().optional(),
29916
- showVenue: z51.boolean().optional(),
29917
- showMap: z51.boolean().optional(),
29918
- showCapacity: z51.boolean().optional(),
29919
- emptyMessage: z51.string().optional(),
29920
- className: z51.string().optional(),
29921
- showFilters: z51.boolean().nullable().optional(),
30103
+ buttonText: z52.string().optional(),
30104
+ showVenue: z52.boolean().optional(),
30105
+ showMap: z52.boolean().optional(),
30106
+ showCapacity: z52.boolean().optional(),
30107
+ emptyMessage: z52.string().optional(),
30108
+ className: z52.string().optional(),
30109
+ showFilters: z52.boolean().nullable().optional(),
29922
30110
  showCategoryFilter: filterAutoShowSchema.optional(),
29923
- showVenueFilter: z51.boolean().nullable().optional(),
29924
- showStaffFilter: z51.boolean().nullable().optional(),
30111
+ showVenueFilter: z52.boolean().nullable().optional(),
30112
+ showStaffFilter: z52.boolean().nullable().optional(),
29925
30113
  eventKind: eventBlockKindSchema.nullable().optional(),
29926
30114
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
29927
- filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
30115
+ filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
29928
30116
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
29929
- filterCategoryIds: z51.string().nullable().optional(),
29930
- filterStaffMemberId: z51.string().nullable().optional(),
29931
- filterVenueId: z51.string().nullable().optional()
30117
+ filterCategoryIds: z52.string().nullable().optional(),
30118
+ filterStaffMemberId: z52.string().nullable().optional(),
30119
+ filterVenueId: z52.string().nullable().optional()
29932
30120
  });
29933
- var eventListingDisplaySchema = z51.object({
29934
- kind: z51.literal("event-listing"),
29935
- state: z51.enum(["loading", "empty", "ready"]),
30121
+ var eventListingDisplaySchema = z52.object({
30122
+ kind: z52.literal("event-listing"),
30123
+ state: z52.enum(["loading", "empty", "ready"]),
29936
30124
  listLayout: eventLayoutSchema,
29937
- className: z51.string().nullable(),
29938
- emptyMessage: z51.string(),
29939
- loadingMessage: z51.string(),
29940
- containerClass: z51.string(),
30125
+ className: z52.string().nullable(),
30126
+ emptyMessage: z52.string(),
30127
+ loadingMessage: z52.string(),
30128
+ containerClass: z52.string(),
29941
30129
  cardVariant: cardVariantRoleSchema,
29942
30130
  buttonVariant: eventButtonVariantSchema,
29943
- buttonText: z51.string(),
29944
- showVenue: z51.boolean(),
29945
- showMap: z51.boolean(),
29946
- showCapacity: z51.boolean(),
30131
+ buttonText: z52.string(),
30132
+ showVenue: z52.boolean(),
30133
+ showMap: z52.boolean(),
30134
+ showCapacity: z52.boolean(),
29947
30135
  orientation: cardOrientationSchema,
29948
- events: z51.array(publicEventSchema)
30136
+ events: z52.array(publicEventSchema)
29949
30137
  });
29950
- var eventListingHydrationSchema = z51.object({
29951
- siteId: z51.string(),
30138
+ var eventListingHydrationSchema = z52.object({
30139
+ siteId: z52.string(),
29952
30140
  stage: previewStageSchema.optional(),
29953
30141
  eventsPerPage: eventPageSizeSchema,
29954
30142
  paginationAction: eventListPaginationActionSchema,
29955
- showFilters: z51.boolean(),
30143
+ showFilters: z52.boolean(),
29956
30144
  showCategoryFilter: filterAutoShowSchema,
29957
- showVenueFilter: z51.boolean(),
29958
- showStaffFilter: z51.boolean(),
30145
+ showVenueFilter: z52.boolean(),
30146
+ showStaffFilter: z52.boolean(),
29959
30147
  eventKind: eventBlockKindSchema,
29960
30148
  eventSurface: eventSurfaceScopeSchema,
29961
- filterEventPresets: z51.string().nullable(),
30149
+ filterEventPresets: z52.string().nullable(),
29962
30150
  scheduleScope: eventScheduleScopeSchema2,
29963
- filterCategoryIds: z51.string().nullable().optional(),
29964
- filterStaffMemberId: z51.string().nullable().optional(),
29965
- filterVenueId: z51.string().nullable().optional(),
29966
- fetchInitialEventsOnMount: z51.boolean()
30151
+ filterCategoryIds: z52.string().nullable().optional(),
30152
+ filterStaffMemberId: z52.string().nullable().optional(),
30153
+ filterVenueId: z52.string().nullable().optional(),
30154
+ fetchInitialEventsOnMount: z52.boolean()
29967
30155
  });
29968
- var eventListingRenderSchema = z51.object({
30156
+ var eventListingRenderSchema = z52.object({
29969
30157
  display: eventListingDisplaySchema,
29970
30158
  hydration: eventListingHydrationSchema
29971
30159
  });
29972
30160
  var eventListingIslandMetaCodec = createZodCodec(
29973
- z51.object({
29974
- siteId: z51.string(),
29975
- apiBaseUrl: z51.string().optional(),
30161
+ z52.object({
30162
+ siteId: z52.string(),
30163
+ apiBaseUrl: z52.string().optional(),
29976
30164
  stage: previewStageSchema.optional()
29977
30165
  })
29978
30166
  );
@@ -30339,15 +30527,15 @@ var eventListingBlockDefinition = {
30339
30527
  };
30340
30528
 
30341
30529
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
30342
- import { z as z52 } from "zod";
30343
- var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
30344
- var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
30345
- var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
30346
- var eventCalendarSourceSchema = z52.object(
30530
+ import { z as z53 } from "zod";
30531
+ var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
30532
+ var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
30533
+ var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
30534
+ var eventCalendarSourceSchema = z53.object(
30347
30535
  {
30348
- events: z52.array(publicEventSchema).nullable().optional(),
30349
- siteId: z52.string(),
30350
- apiBaseUrl: z52.string().optional(),
30536
+ events: z53.array(publicEventSchema).nullable().optional(),
30537
+ siteId: z53.string(),
30538
+ apiBaseUrl: z53.string().optional(),
30351
30539
  stage: previewStageSchema.optional(),
30352
30540
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
30353
30541
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -30355,78 +30543,78 @@ var eventCalendarSourceSchema = z52.object(
30355
30543
  listColumns: columnOptionSchema.optional(),
30356
30544
  layout: eventLayoutSchema.optional(),
30357
30545
  columns: columnOptionSchema.optional(),
30358
- eventsPerPage: z52.string().optional(),
30359
- paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30360
- seeAllUrl: z52.string().optional(),
30361
- loadMoreText: z52.string().optional(),
30546
+ eventsPerPage: z53.string().optional(),
30547
+ paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
30548
+ seeAllUrl: z53.string().optional(),
30549
+ loadMoreText: z53.string().optional(),
30362
30550
  startOfWeek: weekStartSchema.optional(),
30363
30551
  calendarTabViews: calendarTabViewsSchema.optional(),
30364
- showFilters: z52.boolean().nullable().optional(),
30552
+ showFilters: z53.boolean().nullable().optional(),
30365
30553
  showCategoryFilter: filterAutoShowSchema.optional(),
30366
- showVenueFilter: z52.boolean().nullable().optional(),
30367
- showStaffFilter: z52.boolean().nullable().optional(),
30554
+ showVenueFilter: z53.boolean().nullable().optional(),
30555
+ showStaffFilter: z53.boolean().nullable().optional(),
30368
30556
  kind: eventBlockKindSchema2.nullable().optional(),
30369
30557
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
30370
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30558
+ filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30371
30559
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
30372
- filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30373
- filterStaffMemberId: z52.string().nullable().optional(),
30374
- filterVenueId: z52.string().nullable().optional(),
30560
+ filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30561
+ filterStaffMemberId: z53.string().nullable().optional(),
30562
+ filterVenueId: z53.string().nullable().optional(),
30375
30563
  buttonVariant: eventButtonVariantSchema.optional(),
30376
- buttonText: z52.string().optional(),
30377
- showVenue: z52.boolean().nullable().optional(),
30378
- showMap: z52.boolean().nullable().optional(),
30379
- showCapacity: z52.boolean().nullable().optional(),
30380
- emptyMessage: z52.string().optional(),
30381
- className: z52.string().optional()
30564
+ buttonText: z53.string().optional(),
30565
+ showVenue: z53.boolean().nullable().optional(),
30566
+ showMap: z53.boolean().nullable().optional(),
30567
+ showCapacity: z53.boolean().nullable().optional(),
30568
+ emptyMessage: z53.string().optional(),
30569
+ className: z53.string().optional()
30382
30570
  }
30383
30571
  );
30384
- var eventCalendarDisplaySchema = z52.object({
30385
- kind: z52.literal("event-calendar"),
30572
+ var eventCalendarDisplaySchema = z53.object({
30573
+ kind: z53.literal("event-calendar"),
30386
30574
  displayMode: eventCalendarDisplayModeSchema,
30387
- className: z52.string().nullable(),
30388
- events: z52.array(publicEventSchema),
30575
+ className: z53.string().nullable(),
30576
+ events: z53.array(publicEventSchema),
30389
30577
  listLayout: eventLayoutSchema,
30390
30578
  listColumns: columnOptionSchema,
30391
30579
  eventsPerPage: eventPageSizeSchema,
30392
30580
  paginationAction: eventListPaginationActionSchema,
30393
30581
  startOfWeek: weekStartSchema,
30394
30582
  calendarTabViews: calendarTabViewsSchema,
30395
- showFilters: z52.boolean(),
30583
+ showFilters: z53.boolean(),
30396
30584
  showCategoryFilter: filterAutoShowSchema,
30397
- showVenueFilter: z52.boolean(),
30398
- showStaffFilter: z52.boolean(),
30585
+ showVenueFilter: z53.boolean(),
30586
+ showStaffFilter: z53.boolean(),
30399
30587
  eventKind: eventBlockKindSchema2,
30400
30588
  eventSurface: eventSurfaceScopeSchema2,
30401
- filterEventPresets: z52.string().nullable(),
30589
+ filterEventPresets: z53.string().nullable(),
30402
30590
  scheduleScope: eventScheduleScopeSchema3,
30403
- filterCategoryIds: z52.string().nullable(),
30404
- filterStaffMemberId: z52.string().nullable(),
30405
- filterVenueId: z52.string().nullable(),
30591
+ filterCategoryIds: z53.string().nullable(),
30592
+ filterStaffMemberId: z53.string().nullable(),
30593
+ filterVenueId: z53.string().nullable(),
30406
30594
  buttonVariant: eventButtonVariantSchema,
30407
- buttonText: z52.string(),
30408
- showVenue: z52.boolean(),
30409
- showMap: z52.boolean(),
30410
- showCapacity: z52.boolean(),
30411
- emptyMessage: z52.string()
30412
- });
30413
- var eventCalendarHydrationSchema = z52.object({
30414
- siteId: z52.string(),
30595
+ buttonText: z53.string(),
30596
+ showVenue: z53.boolean(),
30597
+ showMap: z53.boolean(),
30598
+ showCapacity: z53.boolean(),
30599
+ emptyMessage: z53.string()
30600
+ });
30601
+ var eventCalendarHydrationSchema = z53.object({
30602
+ siteId: z53.string(),
30415
30603
  stage: previewStageSchema.optional(),
30416
- prefetchedEvents: z52.boolean(),
30604
+ prefetchedEvents: z53.boolean(),
30417
30605
  eventKind: eventBlockKindSchema2,
30418
30606
  eventSurface: eventSurfaceScopeSchema2,
30419
- filterEventPresets: z52.string().nullable(),
30607
+ filterEventPresets: z53.string().nullable(),
30420
30608
  scheduleScope: eventScheduleScopeSchema3
30421
30609
  });
30422
- var eventCalendarRenderSchema = z52.object({
30610
+ var eventCalendarRenderSchema = z53.object({
30423
30611
  display: eventCalendarDisplaySchema,
30424
30612
  hydration: eventCalendarHydrationSchema
30425
30613
  });
30426
30614
  var eventCalendarIslandMetaCodec = createZodCodec(
30427
- z52.object({
30428
- siteId: z52.string(),
30429
- apiBaseUrl: z52.string().optional(),
30615
+ z53.object({
30616
+ siteId: z53.string(),
30617
+ apiBaseUrl: z53.string().optional(),
30430
30618
  stage: previewStageSchema.optional()
30431
30619
  })
30432
30620
  );
@@ -31135,7 +31323,7 @@ var eventCalendarBlockDefinition = {
31135
31323
  };
31136
31324
 
31137
31325
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31138
- import { z as z53 } from "zod";
31326
+ import { z as z54 } from "zod";
31139
31327
 
31140
31328
  // ../blocks/src/system/blocks/offerings-preview/model.ts
31141
31329
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -31227,13 +31415,13 @@ function isRecord5(value) {
31227
31415
  }
31228
31416
 
31229
31417
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31230
- var publicRouteCandidatesSchema = z53.object({
31231
- routes: z53.array(z53.object({
31232
- entityId: z53.string(),
31233
- path: z53.string(),
31234
- title: z53.string(),
31235
- kind: z53.enum(["page", "content"]),
31236
- contentTypeKey: z53.string().nullable().optional()
31418
+ var publicRouteCandidatesSchema = z54.object({
31419
+ routes: z54.array(z54.object({
31420
+ entityId: z54.string(),
31421
+ path: z54.string(),
31422
+ title: z54.string(),
31423
+ kind: z54.enum(["page", "content"]),
31424
+ contentTypeKey: z54.string().nullable().optional()
31237
31425
  }))
31238
31426
  });
31239
31427
  var groupOverrideFields = [
@@ -31631,7 +31819,7 @@ function isRecord6(value) {
31631
31819
  }
31632
31820
 
31633
31821
  // ../blocks/src/system/blocks/embed.ts
31634
- import { z as z54 } from "zod";
31822
+ import { z as z55 } from "zod";
31635
31823
  var embedFields = [
31636
31824
  // Section heading
31637
31825
  parseFieldDefinition({
@@ -31862,18 +32050,18 @@ var embedManifest = createBlockManifest({
31862
32050
  spacing: "lg"
31863
32051
  }
31864
32052
  });
31865
- var embedEntrySchema = z54.object({
31866
- id: z54.string(),
31867
- identifier: z54.string(),
31868
- title: z54.string(),
31869
- slug: z54.string().nullable().optional(),
31870
- content: z54.record(z54.string(), z54.unknown()).optional(),
31871
- publishedAt: z54.string().nullable().optional()
32053
+ var embedEntrySchema = z55.object({
32054
+ id: z55.string(),
32055
+ identifier: z55.string(),
32056
+ title: z55.string(),
32057
+ slug: z55.string().nullable().optional(),
32058
+ content: z55.record(z55.string(), z55.unknown()).optional(),
32059
+ publishedAt: z55.string().nullable().optional()
31872
32060
  });
31873
32061
  var embedBlockDefinition = {
31874
32062
  manifest: embedManifest,
31875
32063
  dataSchemas: {
31876
- entries: z54.array(embedEntrySchema).optional()
32064
+ entries: z55.array(embedEntrySchema).optional()
31877
32065
  },
31878
32066
  dataLoaders: {
31879
32067
  entries: {
@@ -33057,52 +33245,52 @@ var fileDownloadBlockDefinition = {
33057
33245
  };
33058
33246
 
33059
33247
  // ../blocks/src/system/blocks/shop.ts
33060
- import { z as z58 } from "zod";
33248
+ import { z as z59 } from "zod";
33061
33249
 
33062
33250
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33063
- import { z as z57 } from "zod";
33251
+ import { z as z58 } from "zod";
33064
33252
 
33065
33253
  // ../blocks/src/system/blocks/products/shared.ts
33066
- import { z as z55 } from "zod";
33067
- var publicProductVariantSchema = z55.object({
33068
- id: z55.string(),
33069
- title: z55.string(),
33070
- sku: z55.string().nullable(),
33071
- priceCents: z55.number(),
33072
- stockQuantity: z55.number().nullable(),
33073
- soldOut: z55.boolean()
33074
- });
33075
- var publicProductSchema = z55.object({
33076
- id: z55.string(),
33077
- contentEntryId: z55.string().nullable(),
33078
- title: z55.string(),
33079
- slug: z55.string(),
33080
- path: z55.string().nullable(),
33081
- status: z55.enum(["draft", "active"]),
33082
- priceCents: z55.number(),
33083
- currency: z55.string(),
33084
- productType: z55.enum(["physical", "digital"]),
33085
- requiresShipping: z55.boolean(),
33086
- hasVariants: z55.boolean(),
33087
- trackInventory: z55.boolean(),
33088
- soldOut: z55.boolean(),
33089
- category: z55.object({
33090
- id: z55.string(),
33091
- name: z55.string(),
33092
- slug: z55.string()
33254
+ import { z as z56 } from "zod";
33255
+ var publicProductVariantSchema = z56.object({
33256
+ id: z56.string(),
33257
+ title: z56.string(),
33258
+ sku: z56.string().nullable(),
33259
+ priceCents: z56.number(),
33260
+ stockQuantity: z56.number().nullable(),
33261
+ soldOut: z56.boolean()
33262
+ });
33263
+ var publicProductSchema = z56.object({
33264
+ id: z56.string(),
33265
+ contentEntryId: z56.string().nullable(),
33266
+ title: z56.string(),
33267
+ slug: z56.string(),
33268
+ path: z56.string().nullable(),
33269
+ status: z56.enum(["draft", "active"]),
33270
+ priceCents: z56.number(),
33271
+ currency: z56.string(),
33272
+ productType: z56.enum(["physical", "digital"]),
33273
+ requiresShipping: z56.boolean(),
33274
+ hasVariants: z56.boolean(),
33275
+ trackInventory: z56.boolean(),
33276
+ soldOut: z56.boolean(),
33277
+ category: z56.object({
33278
+ id: z56.string(),
33279
+ name: z56.string(),
33280
+ slug: z56.string()
33093
33281
  }).nullable(),
33094
- summary: z55.string().nullable(),
33095
- body: z55.unknown().nullable(),
33096
- gallery: z55.array(
33097
- z55.object({
33098
- url: z55.string(),
33099
- alt: z55.string().nullable()
33282
+ summary: z56.string().nullable(),
33283
+ body: z56.unknown().nullable(),
33284
+ gallery: z56.array(
33285
+ z56.object({
33286
+ url: z56.string(),
33287
+ alt: z56.string().nullable()
33100
33288
  })
33101
33289
  ),
33102
- variants: z55.array(publicProductVariantSchema)
33290
+ variants: z56.array(publicProductVariantSchema)
33103
33291
  });
33104
- var publicProductsResponseSchema = z55.object({
33105
- products: z55.array(publicProductSchema)
33292
+ var publicProductsResponseSchema = z56.object({
33293
+ products: z56.array(publicProductSchema)
33106
33294
  });
33107
33295
 
33108
33296
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -33166,27 +33354,27 @@ function deriveCreditProductLabels(products, options = {}) {
33166
33354
  }
33167
33355
 
33168
33356
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
33169
- import { z as z56 } from "zod";
33170
- var storedProductCartItemSchema = z56.object({
33171
- kind: z56.literal("product"),
33172
- productId: z56.string().min(1),
33173
- productCategoryId: z56.string().min(1).optional().nullable(),
33174
- variantId: z56.string().min(1).optional().nullable(),
33175
- title: z56.string().min(1),
33176
- variantTitle: z56.string().optional().nullable(),
33177
- quantity: z56.number().finite(),
33178
- unitPriceCents: z56.number().finite(),
33179
- currency: z56.string().min(1),
33180
- imageUrl: z56.string().optional().nullable(),
33181
- soldOut: z56.boolean().optional()
33182
- });
33183
- var storedPassCartItemSchema = z56.object({
33184
- kind: z56.literal("pass"),
33185
- passId: z56.string().min(1),
33186
- title: z56.string().min(1),
33187
- quantity: z56.number().finite().optional(),
33188
- unitPriceCents: z56.number().finite(),
33189
- currency: z56.string().min(1)
33357
+ import { z as z57 } from "zod";
33358
+ var storedProductCartItemSchema = z57.object({
33359
+ kind: z57.literal("product"),
33360
+ productId: z57.string().min(1),
33361
+ productCategoryId: z57.string().min(1).optional().nullable(),
33362
+ variantId: z57.string().min(1).optional().nullable(),
33363
+ title: z57.string().min(1),
33364
+ variantTitle: z57.string().optional().nullable(),
33365
+ quantity: z57.number().finite(),
33366
+ unitPriceCents: z57.number().finite(),
33367
+ currency: z57.string().min(1),
33368
+ imageUrl: z57.string().optional().nullable(),
33369
+ soldOut: z57.boolean().optional()
33370
+ });
33371
+ var storedPassCartItemSchema = z57.object({
33372
+ kind: z57.literal("pass"),
33373
+ passId: z57.string().min(1),
33374
+ title: z57.string().min(1),
33375
+ quantity: z57.number().finite().optional(),
33376
+ unitPriceCents: z57.number().finite(),
33377
+ currency: z57.string().min(1)
33190
33378
  });
33191
33379
  function deriveCommerceCheckoutState(state) {
33192
33380
  if (state.items.length === 0) {
@@ -33225,10 +33413,7 @@ function resolveSelectedProduct(products, contentEntry, productSlug) {
33225
33413
 
33226
33414
  // ../blocks/src/system/runtime/nodes/commerce/shared/display.ts
33227
33415
  function formatCommercePrice(cents, currency) {
33228
- return new Intl.NumberFormat("en-US", {
33229
- style: "currency",
33230
- currency: currency.toUpperCase()
33231
- }).format(cents / 100);
33416
+ return formatCurrencyAmount(cents, currency);
33232
33417
  }
33233
33418
  function getPassesHeading(passes, explicitHeading) {
33234
33419
  if (explicitHeading) return explicitHeading;
@@ -33423,214 +33608,214 @@ function formatValidity(days) {
33423
33608
  }
33424
33609
 
33425
33610
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33426
- var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33427
- var contentEntrySchema3 = z57.object({
33428
- id: z57.string().nullable().optional(),
33429
- slug: z57.string().nullable().optional()
33611
+ var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33612
+ var contentEntrySchema3 = z58.object({
33613
+ id: z58.string().nullable().optional(),
33614
+ slug: z58.string().nullable().optional()
33430
33615
  }).nullable();
33431
- var shopSourceSchema = z57.object({
33432
- className: z57.string().nullable().optional(),
33616
+ var shopSourceSchema = z58.object({
33617
+ className: z58.string().nullable().optional(),
33433
33618
  mode: shopModeSchema.optional(),
33434
- heading: z57.string().nullable().optional(),
33435
- productSlug: z57.string().nullable().optional(),
33436
- showPasses: z57.boolean().optional(),
33437
- showMemberships: z57.boolean().optional(),
33438
- layout: z57.enum(["grid", "list"]).optional(),
33439
- columns: z57.string().optional(),
33440
- showDescriptions: z57.boolean().optional(),
33441
- showSummary: z57.boolean().optional(),
33442
- showBody: z57.boolean().optional(),
33443
- showPrices: z57.boolean().optional(),
33444
- showValidityPeriod: z57.boolean().optional(),
33445
- showPricePerCredit: z57.boolean().nullable().optional(),
33446
- passesHeading: z57.string().optional(),
33447
- membershipsHeading: z57.string().optional(),
33448
- buyButtonText: z57.string().optional(),
33449
- addButtonText: z57.string().optional(),
33450
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
33451
- subscribeButtonText: z57.string().optional(),
33452
- emptyStateText: z57.string().optional(),
33453
- checkoutButtonText: z57.string().optional(),
33454
- clearButtonText: z57.string().optional(),
33455
- submitButtonText: z57.string().optional(),
33619
+ heading: z58.string().nullable().optional(),
33620
+ productSlug: z58.string().nullable().optional(),
33621
+ showPasses: z58.boolean().optional(),
33622
+ showMemberships: z58.boolean().optional(),
33623
+ layout: z58.enum(["grid", "list"]).optional(),
33624
+ columns: z58.string().optional(),
33625
+ showDescriptions: z58.boolean().optional(),
33626
+ showSummary: z58.boolean().optional(),
33627
+ showBody: z58.boolean().optional(),
33628
+ showPrices: z58.boolean().optional(),
33629
+ showValidityPeriod: z58.boolean().optional(),
33630
+ showPricePerCredit: z58.boolean().nullable().optional(),
33631
+ passesHeading: z58.string().optional(),
33632
+ membershipsHeading: z58.string().optional(),
33633
+ buyButtonText: z58.string().optional(),
33634
+ addButtonText: z58.string().optional(),
33635
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
33636
+ subscribeButtonText: z58.string().optional(),
33637
+ emptyStateText: z58.string().optional(),
33638
+ checkoutButtonText: z58.string().optional(),
33639
+ clearButtonText: z58.string().optional(),
33640
+ submitButtonText: z58.string().optional(),
33456
33641
  contentEntry: contentEntrySchema3.optional(),
33457
- passes: z57.array(publicPassProductSchema).nullable().optional(),
33458
- memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
33459
- products: z57.array(publicProductSchema).nullable().optional(),
33460
- siteId: z57.string().optional(),
33461
- apiBaseUrl: z57.string().optional(),
33642
+ passes: z58.array(publicPassProductSchema).nullable().optional(),
33643
+ memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
33644
+ products: z58.array(publicProductSchema).nullable().optional(),
33645
+ siteId: z58.string().optional(),
33646
+ apiBaseUrl: z58.string().optional(),
33462
33647
  stage: previewStageSchema.optional()
33463
33648
  });
33464
- var productVariantOptionDisplaySchema = z57.object({
33465
- id: z57.string(),
33466
- label: z57.string(),
33467
- soldOut: z57.boolean()
33468
- });
33469
- var productCardDisplaySchema = z57.object({
33470
- productId: z57.string(),
33471
- title: z57.string(),
33472
- path: z57.string().nullable(),
33473
- summary: z57.string().nullable(),
33474
- priceLabel: z57.string().nullable(),
33475
- image: z57.object({
33476
- url: z57.string(),
33477
- alt: z57.string().nullable()
33649
+ var productVariantOptionDisplaySchema = z58.object({
33650
+ id: z58.string(),
33651
+ label: z58.string(),
33652
+ soldOut: z58.boolean()
33653
+ });
33654
+ var productCardDisplaySchema = z58.object({
33655
+ productId: z58.string(),
33656
+ title: z58.string(),
33657
+ path: z58.string().nullable(),
33658
+ summary: z58.string().nullable(),
33659
+ priceLabel: z58.string().nullable(),
33660
+ image: z58.object({
33661
+ url: z58.string(),
33662
+ alt: z58.string().nullable()
33478
33663
  }).nullable(),
33479
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33480
- selectedVariantId: z57.string().nullable(),
33481
- selectionLabel: z57.string(),
33482
- actionLabel: z57.string(),
33483
- soldOut: z57.boolean()
33484
- });
33485
- var productListDisplaySchema = z57.object({
33486
- kind: z57.literal("product-list"),
33487
- state: z57.enum(["empty", "ready"]),
33488
- heading: z57.string().nullable(),
33489
- className: z57.string().nullable(),
33490
- layout: z57.enum(["grid", "list"]),
33491
- columns: z57.string(),
33492
- emptyMessage: z57.string(),
33493
- cards: z57.array(productCardDisplaySchema)
33494
- });
33495
- var productDetailDisplaySchema = z57.discriminatedUnion("state", [
33496
- z57.object({
33497
- kind: z57.literal("product-detail"),
33498
- state: z57.literal("empty"),
33499
- heading: z57.string().nullable(),
33500
- className: z57.string().nullable(),
33501
- emptyMessage: z57.string()
33664
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
33665
+ selectedVariantId: z58.string().nullable(),
33666
+ selectionLabel: z58.string(),
33667
+ actionLabel: z58.string(),
33668
+ soldOut: z58.boolean()
33669
+ });
33670
+ var productListDisplaySchema = z58.object({
33671
+ kind: z58.literal("product-list"),
33672
+ state: z58.enum(["empty", "ready"]),
33673
+ heading: z58.string().nullable(),
33674
+ className: z58.string().nullable(),
33675
+ layout: z58.enum(["grid", "list"]),
33676
+ columns: z58.string(),
33677
+ emptyMessage: z58.string(),
33678
+ cards: z58.array(productCardDisplaySchema)
33679
+ });
33680
+ var productDetailDisplaySchema = z58.discriminatedUnion("state", [
33681
+ z58.object({
33682
+ kind: z58.literal("product-detail"),
33683
+ state: z58.literal("empty"),
33684
+ heading: z58.string().nullable(),
33685
+ className: z58.string().nullable(),
33686
+ emptyMessage: z58.string()
33502
33687
  }),
33503
- z57.object({
33504
- kind: z57.literal("product-detail"),
33505
- state: z57.literal("ready"),
33506
- heading: z57.string().nullable(),
33507
- className: z57.string().nullable(),
33508
- title: z57.string(),
33509
- priceLabel: z57.string(),
33510
- summary: z57.string().nullable(),
33511
- categoryLabel: z57.string().nullable(),
33512
- gallery: z57.array(z57.object({
33513
- url: z57.string(),
33514
- alt: z57.string().nullable()
33688
+ z58.object({
33689
+ kind: z58.literal("product-detail"),
33690
+ state: z58.literal("ready"),
33691
+ heading: z58.string().nullable(),
33692
+ className: z58.string().nullable(),
33693
+ title: z58.string(),
33694
+ priceLabel: z58.string(),
33695
+ summary: z58.string().nullable(),
33696
+ categoryLabel: z58.string().nullable(),
33697
+ gallery: z58.array(z58.object({
33698
+ url: z58.string(),
33699
+ alt: z58.string().nullable()
33515
33700
  })),
33516
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33517
- selectedVariantId: z57.string().nullable(),
33518
- selectionLabel: z57.string(),
33519
- actionLabel: z57.string(),
33520
- soldOut: z57.boolean(),
33521
- body: z57.unknown().nullable()
33701
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
33702
+ selectedVariantId: z58.string().nullable(),
33703
+ selectionLabel: z58.string(),
33704
+ actionLabel: z58.string(),
33705
+ soldOut: z58.boolean(),
33706
+ body: z58.unknown().nullable()
33522
33707
  })
33523
33708
  ]);
33524
- var passCardDisplaySchema = z57.object({
33525
- id: z57.string(),
33526
- title: z57.string(),
33527
- description: z57.string().nullable(),
33528
- priceLabel: z57.string(),
33529
- creditsLabel: z57.string(),
33530
- perCreditLabel: z57.string().nullable(),
33531
- validityLabel: z57.string().nullable(),
33532
- actionLabel: z57.string()
33533
- });
33534
- var membershipCardDisplaySchema = z57.object({
33535
- id: z57.string(),
33536
- title: z57.string(),
33537
- description: z57.string().nullable(),
33538
- priceLabel: z57.string(),
33539
- intervalLabel: z57.string(),
33540
- actionLabel: z57.string()
33541
- });
33542
- var passesMembershipsDisplaySchema = z57.object({
33543
- kind: z57.literal("passes-memberships"),
33544
- state: z57.enum(["empty", "ready"]),
33545
- className: z57.string().nullable(),
33546
- layout: z57.enum(["grid", "list"]),
33547
- columns: z57.string(),
33548
- emptyMessage: z57.string(),
33549
- passesHeading: z57.string(),
33550
- membershipsHeading: z57.string(),
33551
- passes: z57.array(passCardDisplaySchema),
33552
- memberships: z57.array(membershipCardDisplaySchema)
33553
- });
33554
- var cartLineDisplaySchema = z57.object({
33555
- key: z57.string(),
33556
- title: z57.string(),
33557
- priceLabel: z57.string(),
33558
- quantity: z57.number(),
33559
- quantityEditable: z57.boolean()
33560
- });
33561
- var cartDisplaySchema = z57.object({
33562
- kind: z57.literal("cart"),
33563
- state: z57.enum(["empty", "ready"]),
33564
- heading: z57.string().nullable(),
33565
- className: z57.string().nullable(),
33566
- emptyMessage: z57.string(),
33567
- supportText: z57.string().nullable(),
33568
- items: z57.array(cartLineDisplaySchema),
33569
- subtotalLabel: z57.string().nullable(),
33570
- checkoutButtonText: z57.string(),
33571
- clearButtonText: z57.string()
33572
- });
33573
- var checkoutDisplaySchema = z57.object({
33574
- kind: z57.literal("checkout"),
33575
- state: z57.enum(["empty", "blocked", "ready"]),
33576
- heading: z57.string().nullable(),
33577
- className: z57.string().nullable(),
33578
- message: z57.string().nullable(),
33579
- submitButtonText: z57.string()
33580
- });
33581
- var passesMembershipsHydrationSchema = z57.object({
33582
- passes: z57.array(publicPassProductSchema),
33583
- memberships: z57.array(publicMembershipProductSchema),
33584
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
33585
- });
33586
- var productListHydrationSchema = z57.object({
33587
- products: z57.array(publicProductSchema),
33588
- showSummary: z57.boolean(),
33589
- showPrices: z57.boolean(),
33590
- addButtonText: z57.string()
33591
- });
33592
- var productDetailHydrationSchema = z57.object({
33593
- products: z57.array(publicProductSchema),
33594
- productId: z57.string().nullable(),
33595
- showSummary: z57.boolean(),
33596
- showBody: z57.boolean(),
33597
- addButtonText: z57.string()
33598
- });
33599
- var cartHydrationSchema = z57.object({
33600
- emptyStateText: z57.string(),
33601
- checkoutButtonText: z57.string(),
33602
- clearButtonText: z57.string()
33603
- });
33604
- var checkoutHydrationSchema = z57.object({
33605
- emptyStateText: z57.string(),
33606
- submitButtonText: z57.string()
33607
- });
33608
- var passesMembershipsRenderSchema = z57.object({
33709
+ var passCardDisplaySchema = z58.object({
33710
+ id: z58.string(),
33711
+ title: z58.string(),
33712
+ description: z58.string().nullable(),
33713
+ priceLabel: z58.string(),
33714
+ creditsLabel: z58.string(),
33715
+ perCreditLabel: z58.string().nullable(),
33716
+ validityLabel: z58.string().nullable(),
33717
+ actionLabel: z58.string()
33718
+ });
33719
+ var membershipCardDisplaySchema = z58.object({
33720
+ id: z58.string(),
33721
+ title: z58.string(),
33722
+ description: z58.string().nullable(),
33723
+ priceLabel: z58.string(),
33724
+ intervalLabel: z58.string(),
33725
+ actionLabel: z58.string()
33726
+ });
33727
+ var passesMembershipsDisplaySchema = z58.object({
33728
+ kind: z58.literal("passes-memberships"),
33729
+ state: z58.enum(["empty", "ready"]),
33730
+ className: z58.string().nullable(),
33731
+ layout: z58.enum(["grid", "list"]),
33732
+ columns: z58.string(),
33733
+ emptyMessage: z58.string(),
33734
+ passesHeading: z58.string(),
33735
+ membershipsHeading: z58.string(),
33736
+ passes: z58.array(passCardDisplaySchema),
33737
+ memberships: z58.array(membershipCardDisplaySchema)
33738
+ });
33739
+ var cartLineDisplaySchema = z58.object({
33740
+ key: z58.string(),
33741
+ title: z58.string(),
33742
+ priceLabel: z58.string(),
33743
+ quantity: z58.number(),
33744
+ quantityEditable: z58.boolean()
33745
+ });
33746
+ var cartDisplaySchema = z58.object({
33747
+ kind: z58.literal("cart"),
33748
+ state: z58.enum(["empty", "ready"]),
33749
+ heading: z58.string().nullable(),
33750
+ className: z58.string().nullable(),
33751
+ emptyMessage: z58.string(),
33752
+ supportText: z58.string().nullable(),
33753
+ items: z58.array(cartLineDisplaySchema),
33754
+ subtotalLabel: z58.string().nullable(),
33755
+ checkoutButtonText: z58.string(),
33756
+ clearButtonText: z58.string()
33757
+ });
33758
+ var checkoutDisplaySchema = z58.object({
33759
+ kind: z58.literal("checkout"),
33760
+ state: z58.enum(["empty", "blocked", "ready"]),
33761
+ heading: z58.string().nullable(),
33762
+ className: z58.string().nullable(),
33763
+ message: z58.string().nullable(),
33764
+ submitButtonText: z58.string()
33765
+ });
33766
+ var passesMembershipsHydrationSchema = z58.object({
33767
+ passes: z58.array(publicPassProductSchema),
33768
+ memberships: z58.array(publicMembershipProductSchema),
33769
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
33770
+ });
33771
+ var productListHydrationSchema = z58.object({
33772
+ products: z58.array(publicProductSchema),
33773
+ showSummary: z58.boolean(),
33774
+ showPrices: z58.boolean(),
33775
+ addButtonText: z58.string()
33776
+ });
33777
+ var productDetailHydrationSchema = z58.object({
33778
+ products: z58.array(publicProductSchema),
33779
+ productId: z58.string().nullable(),
33780
+ showSummary: z58.boolean(),
33781
+ showBody: z58.boolean(),
33782
+ addButtonText: z58.string()
33783
+ });
33784
+ var cartHydrationSchema = z58.object({
33785
+ emptyStateText: z58.string(),
33786
+ checkoutButtonText: z58.string(),
33787
+ clearButtonText: z58.string()
33788
+ });
33789
+ var checkoutHydrationSchema = z58.object({
33790
+ emptyStateText: z58.string(),
33791
+ submitButtonText: z58.string()
33792
+ });
33793
+ var passesMembershipsRenderSchema = z58.object({
33609
33794
  display: passesMembershipsDisplaySchema,
33610
33795
  hydration: passesMembershipsHydrationSchema
33611
33796
  });
33612
- var productListRenderSchema = z57.object({
33797
+ var productListRenderSchema = z58.object({
33613
33798
  display: productListDisplaySchema,
33614
33799
  hydration: productListHydrationSchema
33615
33800
  });
33616
- var productDetailRenderSchema = z57.object({
33801
+ var productDetailRenderSchema = z58.object({
33617
33802
  display: productDetailDisplaySchema,
33618
33803
  hydration: productDetailHydrationSchema
33619
33804
  });
33620
- var cartRenderSchema = z57.object({
33805
+ var cartRenderSchema = z58.object({
33621
33806
  display: cartDisplaySchema,
33622
33807
  hydration: cartHydrationSchema
33623
33808
  });
33624
- var checkoutRenderSchema = z57.object({
33809
+ var checkoutRenderSchema = z58.object({
33625
33810
  display: checkoutDisplaySchema,
33626
33811
  hydration: checkoutHydrationSchema
33627
33812
  });
33628
33813
  function resolveShowPricePerCredit(source) {
33629
33814
  return source.showPricePerCredit ?? true;
33630
33815
  }
33631
- var shopIslandMetaCodec = createZodCodec(z57.object({
33632
- siteId: z57.string().optional(),
33633
- apiBaseUrl: z57.string().optional(),
33816
+ var shopIslandMetaCodec = createZodCodec(z58.object({
33817
+ siteId: z58.string().optional(),
33818
+ apiBaseUrl: z58.string().optional(),
33634
33819
  stage: previewStageSchema.optional()
33635
33820
  }));
33636
33821
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -34008,9 +34193,9 @@ var shopBlockDefinition = {
34008
34193
  runtime: shopBlockRuntime,
34009
34194
  dataSchemas: {
34010
34195
  // listPublicPasses returns { passes: [...] }
34011
- passes: z58.object({ passes: z58.array(publicPassProductSchema) }).optional(),
34196
+ passes: z59.object({ passes: z59.array(publicPassProductSchema) }).optional(),
34012
34197
  // listPublicMemberships returns { memberships: [...] }
34013
- memberships: z58.object({ memberships: z58.array(publicMembershipProductSchema) }).optional()
34198
+ memberships: z59.object({ memberships: z59.array(publicMembershipProductSchema) }).optional()
34014
34199
  },
34015
34200
  dataLoaders: {
34016
34201
  // Load passes for display
@@ -34033,7 +34218,7 @@ var shopBlockDefinition = {
34033
34218
  };
34034
34219
 
34035
34220
  // ../blocks/src/system/blocks/product-list.ts
34036
- import { z as z59 } from "zod";
34221
+ import { z as z60 } from "zod";
34037
34222
  var productListManifest = createBlockManifest({
34038
34223
  id: "block.product-list",
34039
34224
  version: "1.0.0",
@@ -34166,7 +34351,7 @@ var productListBlockDefinition = {
34166
34351
  }
34167
34352
  }
34168
34353
  };
34169
- var productListDataSchema = z59.object({
34354
+ var productListDataSchema = z60.object({
34170
34355
  products: publicProductsResponseSchema.optional()
34171
34356
  });
34172
34357
 
@@ -34427,72 +34612,72 @@ var checkoutBlockDefinition = {
34427
34612
  };
34428
34613
 
34429
34614
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
34430
- import { z as z60 } from "zod";
34431
- var publicGiftCardOfferSchema = z60.object({
34432
- id: z60.string(),
34433
- kind: z60.literal("gift_card"),
34434
- title: z60.string(),
34435
- description: z60.string().nullable(),
34436
- sortOrder: z60.number().int(),
34437
- giftCard: z60.object({
34438
- fixedDenominations: z60.array(z60.number().int().positive()),
34439
- customAmountEnabled: z60.boolean(),
34440
- customAmountMinCents: z60.number().int().positive(),
34441
- customAmountMaxCents: z60.number().int().positive()
34615
+ import { z as z61 } from "zod";
34616
+ var publicGiftCardOfferSchema = z61.object({
34617
+ id: z61.string(),
34618
+ kind: z61.literal("gift_card"),
34619
+ title: z61.string(),
34620
+ description: z61.string().nullable(),
34621
+ sortOrder: z61.number().int(),
34622
+ giftCard: z61.object({
34623
+ fixedDenominations: z61.array(z61.number().int().positive()),
34624
+ customAmountEnabled: z61.boolean(),
34625
+ customAmountMinCents: z61.number().int().positive(),
34626
+ customAmountMaxCents: z61.number().int().positive()
34442
34627
  }),
34443
- voucher: z60.null()
34444
- });
34445
- var publicVoucherOfferSchema = z60.object({
34446
- id: z60.string(),
34447
- kind: z60.literal("voucher"),
34448
- title: z60.string(),
34449
- description: z60.string().nullable(),
34450
- sortOrder: z60.number().int(),
34451
- giftCard: z60.null(),
34452
- voucher: z60.object({
34453
- purchaseAmountCents: z60.number().int().positive()
34628
+ voucher: z61.null()
34629
+ });
34630
+ var publicVoucherOfferSchema = z61.object({
34631
+ id: z61.string(),
34632
+ kind: z61.literal("voucher"),
34633
+ title: z61.string(),
34634
+ description: z61.string().nullable(),
34635
+ sortOrder: z61.number().int(),
34636
+ giftCard: z61.null(),
34637
+ voucher: z61.object({
34638
+ purchaseAmountCents: z61.number().int().positive()
34454
34639
  })
34455
34640
  });
34456
- var publicGiftingOffersResponseSchema = z60.object({
34457
- currency: z60.string(),
34458
- giftCards: z60.array(publicGiftCardOfferSchema),
34459
- vouchers: z60.array(publicVoucherOfferSchema)
34641
+ var publicGiftingOffersResponseSchema = z61.object({
34642
+ currency: z61.string(),
34643
+ giftCards: z61.array(publicGiftCardOfferSchema),
34644
+ vouchers: z61.array(publicVoucherOfferSchema)
34460
34645
  });
34461
- var giftingSourceSchema = z60.object({
34462
- siteId: z60.string().optional(),
34463
- apiBaseUrl: z60.string().optional(),
34646
+ var giftingSourceSchema = z61.object({
34647
+ siteId: z61.string().optional(),
34648
+ apiBaseUrl: z61.string().optional(),
34464
34649
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
34465
- className: z60.string().nullable().optional(),
34466
- heading: z60.string().nullable().optional(),
34467
- intro: z60.string().nullable().optional(),
34468
- giftCardsHeading: z60.string().nullable().optional(),
34469
- vouchersHeading: z60.string().nullable().optional(),
34470
- emptyStateText: z60.string().nullable().optional(),
34471
- checkoutButtonText: z60.string().nullable().optional(),
34472
- successMessage: z60.string().nullable().optional()
34473
- });
34474
- var giftingDisplaySchema = z60.object({
34475
- kind: z60.literal("gifting"),
34476
- state: z60.literal("ready"),
34477
- className: z60.string().nullable(),
34478
- heading: z60.string(),
34479
- intro: z60.string().nullable(),
34480
- giftCardsHeading: z60.string(),
34481
- vouchersHeading: z60.string(),
34482
- emptyStateText: z60.string()
34483
- });
34484
- var giftingHydrationSchema = z60.object({
34650
+ className: z61.string().nullable().optional(),
34651
+ heading: z61.string().nullable().optional(),
34652
+ intro: z61.string().nullable().optional(),
34653
+ giftCardsHeading: z61.string().nullable().optional(),
34654
+ vouchersHeading: z61.string().nullable().optional(),
34655
+ emptyStateText: z61.string().nullable().optional(),
34656
+ checkoutButtonText: z61.string().nullable().optional(),
34657
+ successMessage: z61.string().nullable().optional()
34658
+ });
34659
+ var giftingDisplaySchema = z61.object({
34660
+ kind: z61.literal("gifting"),
34661
+ state: z61.literal("ready"),
34662
+ className: z61.string().nullable(),
34663
+ heading: z61.string(),
34664
+ intro: z61.string().nullable(),
34665
+ giftCardsHeading: z61.string(),
34666
+ vouchersHeading: z61.string(),
34667
+ emptyStateText: z61.string()
34668
+ });
34669
+ var giftingHydrationSchema = z61.object({
34485
34670
  offers: publicGiftingOffersResponseSchema.nullable(),
34486
- checkoutButtonText: z60.string(),
34487
- successMessage: z60.string()
34671
+ checkoutButtonText: z61.string(),
34672
+ successMessage: z61.string()
34488
34673
  });
34489
- var giftingRenderSchema = z60.object({
34674
+ var giftingRenderSchema = z61.object({
34490
34675
  display: giftingDisplaySchema,
34491
34676
  hydration: giftingHydrationSchema
34492
34677
  });
34493
- var giftingIslandMetaCodec = createZodCodec(z60.object({
34494
- siteId: z60.string().optional(),
34495
- apiBaseUrl: z60.string().optional()
34678
+ var giftingIslandMetaCodec = createZodCodec(z61.object({
34679
+ siteId: z61.string().optional(),
34680
+ apiBaseUrl: z61.string().optional()
34496
34681
  }));
34497
34682
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
34498
34683
  "siteId",
@@ -34663,7 +34848,61 @@ var giftingBlockDefinition = {
34663
34848
  };
34664
34849
 
34665
34850
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
34666
- import { z as z61 } from "zod";
34851
+ import { z as z62 } from "zod";
34852
+
34853
+ // ../blocks/src/system/blocks/newsletter-signup-destination.ts
34854
+ function parseNewsletterSignupBlockId(value) {
34855
+ const trimmed = parseTrimmedString(value);
34856
+ return trimmed && BLOCK_ID_PATTERN.test(trimmed) ? trimmed : null;
34857
+ }
34858
+ function parseSignedNewsletterDestinationRef(value) {
34859
+ const trimmed = parseTrimmedString(value);
34860
+ return trimmed && SIGNED_DESTINATION_REF_PATTERN.test(trimmed) ? trimmed : null;
34861
+ }
34862
+ function parseNewsletterSignupDestinationProvider(value) {
34863
+ return value === "riverbank" || value === "mailchimp" ? value : null;
34864
+ }
34865
+ function buildNewsletterSignupBlockRef(blockId) {
34866
+ const parsed = parseNewsletterSignupBlockId(blockId);
34867
+ return parsed ? { tag: "block_ref", blockId: parsed } : null;
34868
+ }
34869
+ function normalizeNewsletterSignupEditorValuesForDestination(values) {
34870
+ const destinationProvider = parseNewsletterSignupDestinationProvider(values.destinationProvider) ?? "riverbank";
34871
+ if (destinationProvider === "mailchimp") {
34872
+ return {
34873
+ destinationProvider,
34874
+ mailchimpAudienceId: values.mailchimpAudienceId,
34875
+ mailchimpTags: values.mailchimpTags
34876
+ };
34877
+ }
34878
+ return {
34879
+ destinationProvider,
34880
+ listId: values.listId,
34881
+ tags: values.tags
34882
+ };
34883
+ }
34884
+ function deriveNewsletterSignupRuntimeSource(values) {
34885
+ const normalized = normalizeNewsletterSignupEditorValuesForDestination(values);
34886
+ if (normalized.destinationProvider === "mailchimp") {
34887
+ return {
34888
+ destinationProvider: "mailchimp",
34889
+ listId: null,
34890
+ tags: null
34891
+ };
34892
+ }
34893
+ return {
34894
+ destinationProvider: "riverbank",
34895
+ listId: parseTrimmedString(normalized.listId),
34896
+ tags: parseTrimmedString(normalized.tags)
34897
+ };
34898
+ }
34899
+ var BLOCK_ID_PATTERN = /^[A-Za-z0-9._:-]{1,200}$/;
34900
+ var SIGNED_DESTINATION_REF_PATTERN = /^[A-Za-z0-9._~-]{16,1000}$/;
34901
+ function parseTrimmedString(value) {
34902
+ if (typeof value !== "string") return null;
34903
+ const trimmed = value.trim();
34904
+ return trimmed.length > 0 ? trimmed : null;
34905
+ }
34667
34906
 
34668
34907
  // ../blocks/src/system/runtime/nodes/newsletter-form.types.ts
34669
34908
  function getPresetFields(preset2, options) {
@@ -34716,49 +34955,65 @@ function withOptionalPhone(fields3, includePhone) {
34716
34955
  }
34717
34956
 
34718
34957
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
34719
- var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
34720
- var newsletterFieldSchema = z61.object({
34721
- id: z61.string(),
34722
- type: z61.enum(["email", "text"]),
34723
- label: z61.string(),
34724
- required: z61.boolean(),
34725
- placeholder: z61.string().optional()
34726
- });
34727
- var newsletterSourceSchema = z61.object({
34728
- siteId: z61.string().optional(),
34729
- apiBaseUrl: z61.string().optional(),
34730
- listId: z61.string().nullable().optional(),
34958
+ var newsletterPresetSchema = z62.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
34959
+ var newsletterDestinationProviderSchema = z62.enum(["riverbank", "mailchimp"]);
34960
+ var newsletterFieldSchema = z62.object({
34961
+ id: z62.string(),
34962
+ type: z62.enum(["email", "text"]),
34963
+ label: z62.string(),
34964
+ required: z62.boolean(),
34965
+ placeholder: z62.string().optional()
34966
+ });
34967
+ var newsletterSignupBlockIdSchema = z62.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
34968
+ var signedNewsletterDestinationRefSchema = z62.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
34969
+ var newsletterPublicDestinationRefSchema = z62.discriminatedUnion("tag", [
34970
+ z62.object({
34971
+ tag: z62.literal("block_ref"),
34972
+ blockId: newsletterSignupBlockIdSchema
34973
+ }),
34974
+ z62.object({
34975
+ tag: z62.literal("signed_destination_ref"),
34976
+ token: signedNewsletterDestinationRefSchema
34977
+ })
34978
+ ]);
34979
+ var newsletterSourceSchema = z62.object({
34980
+ blockId: z62.string().nullable().optional(),
34981
+ siteId: z62.string().optional(),
34982
+ apiBaseUrl: z62.string().optional(),
34983
+ listId: z62.string().nullable().optional(),
34984
+ destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
34731
34985
  preset: newsletterPresetSchema.optional(),
34732
- includePhone: z61.boolean().optional(),
34733
- buttonLabel: z61.string().nullable().optional(),
34734
- successMessage: z61.string().nullable().optional(),
34735
- privacyNote: z61.string().nullable().optional(),
34736
- tags: z61.string().nullable().optional(),
34737
- spamProtectionEnabled: z61.boolean().optional(),
34738
- className: z61.string().nullable().optional()
34739
- });
34740
- var newsletterDisplaySchema = z61.object({
34741
- kind: z61.literal("newsletter-form"),
34742
- className: z61.string().nullable(),
34743
- buttonLabel: z61.string(),
34744
- successMessage: z61.string().nullable(),
34745
- privacyNote: z61.string().nullable(),
34746
- fields: z61.array(newsletterFieldSchema)
34747
- });
34748
- var newsletterHydrationSchema = z61.object({
34749
- listId: z61.string().nullable().optional(),
34986
+ includePhone: z62.boolean().optional(),
34987
+ buttonLabel: z62.string().nullable().optional(),
34988
+ successMessage: z62.string().nullable().optional(),
34989
+ privacyNote: z62.string().nullable().optional(),
34990
+ tags: z62.string().nullable().optional(),
34991
+ spamProtectionEnabled: z62.boolean().optional(),
34992
+ className: z62.string().nullable().optional()
34993
+ });
34994
+ var newsletterDisplaySchema = z62.object({
34995
+ kind: z62.literal("newsletter-form"),
34996
+ className: z62.string().nullable(),
34997
+ buttonLabel: z62.string(),
34998
+ successMessage: z62.string().nullable(),
34999
+ privacyNote: z62.string().nullable(),
35000
+ fields: z62.array(newsletterFieldSchema)
35001
+ });
35002
+ var newsletterHydrationSchema = z62.object({
35003
+ destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
35004
+ listId: z62.string().nullable().optional(),
34750
35005
  preset: newsletterPresetSchema,
34751
- includePhone: z61.boolean(),
34752
- tags: z61.string().nullable().optional(),
34753
- spamProtectionEnabled: z61.boolean().optional()
35006
+ includePhone: z62.boolean(),
35007
+ tags: z62.string().nullable().optional(),
35008
+ spamProtectionEnabled: z62.boolean().optional()
34754
35009
  });
34755
- var newsletterRenderSchema = z61.object({
35010
+ var newsletterRenderSchema = z62.object({
34756
35011
  display: newsletterDisplaySchema,
34757
35012
  hydration: newsletterHydrationSchema
34758
35013
  });
34759
- var newsletterIslandMetaCodec = createZodCodec(z61.object({
34760
- siteId: z61.string().optional(),
34761
- apiBaseUrl: z61.string().optional()
35014
+ var newsletterIslandMetaCodec = createZodCodec(z62.object({
35015
+ siteId: z62.string().optional(),
35016
+ apiBaseUrl: z62.string().optional()
34762
35017
  }));
34763
35018
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
34764
35019
  function buildNewsletterDisplay(source) {
@@ -34779,16 +35034,20 @@ var newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
34779
35034
  source: createZodCodec(newsletterSourceSchema),
34780
35035
  render: createZodCodec(newsletterRenderSchema)
34781
35036
  },
34782
- buildRender: (source) => ({
34783
- display: buildNewsletterDisplay(source),
34784
- hydration: {
34785
- listId: source.listId,
34786
- preset: source.preset ?? "emailOnly",
34787
- includePhone: source.includePhone ?? false,
34788
- tags: source.tags ?? null,
34789
- spamProtectionEnabled: source.spamProtectionEnabled
34790
- }
34791
- })
35037
+ buildRender: (source) => {
35038
+ const runtimeSource = deriveNewsletterSignupRuntimeSource(source);
35039
+ return {
35040
+ display: buildNewsletterDisplay(source),
35041
+ hydration: {
35042
+ destinationRef: buildNewsletterSignupBlockRef(source.blockId),
35043
+ listId: runtimeSource.listId,
35044
+ preset: source.preset ?? "emailOnly",
35045
+ includePhone: source.includePhone ?? false,
35046
+ tags: runtimeSource.tags,
35047
+ spamProtectionEnabled: source.spamProtectionEnabled
35048
+ }
35049
+ };
35050
+ }
34792
35051
  });
34793
35052
  var newsletterFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
34794
35053
  runtime: newsletterFormBlockRuntime,
@@ -34800,6 +35059,20 @@ var newsletterFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
34800
35059
  apiBaseUrl: value.apiBaseUrl
34801
35060
  })
34802
35061
  });
35062
+ function parseRequiredNewsletterSignupBlockId(value) {
35063
+ const parsed = parseNewsletterSignupBlockId(value);
35064
+ if (!parsed) {
35065
+ throw new Error("Newsletter signup block destination ref requires blockId");
35066
+ }
35067
+ return parsed;
35068
+ }
35069
+ function parseRequiredSignedNewsletterDestinationRef(value) {
35070
+ const parsed = parseSignedNewsletterDestinationRef(value);
35071
+ if (!parsed) {
35072
+ throw new Error("Newsletter signup signed destination ref requires token");
35073
+ }
35074
+ return parsed;
35075
+ }
34803
35076
 
34804
35077
  // ../blocks/src/system/blocks/newsletter-signup.ts
34805
35078
  var stackedComposition = composeFragments([
@@ -34879,23 +35152,23 @@ var newsletterSignupBlockDefinition = {
34879
35152
  };
34880
35153
 
34881
35154
  // ../blocks/src/system/blocks/team-members.ts
34882
- import { z as z62 } from "zod";
35155
+ import { z as z63 } from "zod";
34883
35156
  var ITEM_NAME2 = "member";
34884
35157
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
34885
35158
  message: "Team member photos must be image media"
34886
35159
  }).nullable();
34887
- var teamMemberDataSchema = z62.object({
34888
- _type: z62.literal("teamMember"),
34889
- id: z62.string(),
34890
- name: z62.string(),
34891
- role: z62.string().nullable(),
34892
- roleLabel: z62.string().nullable(),
34893
- bio: z62.string().nullable(),
34894
- summary: z62.string().nullable(),
35160
+ var teamMemberDataSchema = z63.object({
35161
+ _type: z63.literal("teamMember"),
35162
+ id: z63.string(),
35163
+ name: z63.string(),
35164
+ role: z63.string().nullable(),
35165
+ roleLabel: z63.string().nullable(),
35166
+ bio: z63.string().nullable(),
35167
+ summary: z63.string().nullable(),
34895
35168
  photo: teamMemberPhotoSchema,
34896
- profilePath: z62.string().nullable()
35169
+ profilePath: z63.string().nullable()
34897
35170
  });
34898
- var teamMembersDataSchema = z62.array(teamMemberDataSchema);
35171
+ var teamMembersDataSchema = z63.array(teamMemberDataSchema);
34899
35172
  var dynamicSourceWhen = { equals: "site_staff" };
34900
35173
  var manualSourceWhen = { equals: "site_staff", not: true };
34901
35174
  var headingNode = text(
@@ -37699,34 +37972,34 @@ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
37699
37972
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
37700
37973
 
37701
37974
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
37702
- import { z as z63 } from "zod";
37703
- var themeBridgeConfigSchema = z63.object({
37704
- tokens: z63.record(z63.string(), z63.string()),
37705
- typography: z63.object({
37706
- headingFamily: z63.string().optional(),
37707
- bodyFamily: z63.string().optional(),
37708
- headingWeight: z63.number().optional(),
37709
- bodyWeight: z63.number().optional()
37975
+ import { z as z64 } from "zod";
37976
+ var themeBridgeConfigSchema = z64.object({
37977
+ tokens: z64.record(z64.string(), z64.string()),
37978
+ typography: z64.object({
37979
+ headingFamily: z64.string().optional(),
37980
+ bodyFamily: z64.string().optional(),
37981
+ headingWeight: z64.number().optional(),
37982
+ bodyWeight: z64.number().optional()
37710
37983
  }).optional(),
37711
- spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
37712
- corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
37713
- shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
37714
- components: z63.object({
37715
- buttons: z63.union([
37716
- z63.boolean(),
37717
- z63.object({
37718
- variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
37984
+ spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
37985
+ corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
37986
+ shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
37987
+ components: z64.object({
37988
+ buttons: z64.union([
37989
+ z64.boolean(),
37990
+ z64.object({
37991
+ variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
37719
37992
  })
37720
37993
  ]).optional(),
37721
- cards: z63.union([
37722
- z63.boolean(),
37723
- z63.object({
37724
- variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
37994
+ cards: z64.union([
37995
+ z64.boolean(),
37996
+ z64.object({
37997
+ variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
37725
37998
  })
37726
37999
  ]).optional(),
37727
- inputs: z63.boolean().optional()
38000
+ inputs: z64.boolean().optional()
37728
38001
  }).optional(),
37729
- overrides: z63.record(z63.string(), z63.string()).optional()
38002
+ overrides: z64.record(z64.string(), z64.string()).optional()
37730
38003
  }).passthrough();
37731
38004
 
37732
38005
  // ../theme-core/src/siteChrome.tsx
@@ -38095,17 +38368,17 @@ function normalizeLoaderParams(endpoint, params, context) {
38095
38368
  function unsafeRetypeZodSchema(schema) {
38096
38369
  return schema;
38097
38370
  }
38098
- var navIdListSchema = z64.preprocess((value) => {
38371
+ var navIdListSchema = z65.preprocess((value) => {
38099
38372
  if (!Array.isArray(value)) return void 0;
38100
38373
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
38101
38374
  return filtered.length > 0 ? filtered : void 0;
38102
- }, z64.array(z64.string()).max(200).optional());
38103
- var dashboardNavVisibilityBaseSchema = z64.object({
38104
- mode: z64.enum(["augment", "restrict"]).optional(),
38375
+ }, z65.array(z65.string()).max(200).optional());
38376
+ var dashboardNavVisibilityBaseSchema = z65.object({
38377
+ mode: z65.enum(["augment", "restrict"]).optional(),
38105
38378
  allowIds: navIdListSchema,
38106
38379
  denyIds: navIdListSchema
38107
38380
  }).strip();
38108
- var dashboardNavVisibilityRolesSchema = z64.object({
38381
+ var dashboardNavVisibilityRolesSchema = z65.object({
38109
38382
  administrator: dashboardNavVisibilityBaseSchema.optional(),
38110
38383
  editor: dashboardNavVisibilityBaseSchema.optional(),
38111
38384
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -38113,63 +38386,63 @@ var dashboardNavVisibilityRolesSchema = z64.object({
38113
38386
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
38114
38387
  roles: dashboardNavVisibilityRolesSchema
38115
38388
  }).strip();
38116
- var dashboardNavigationConfigSchema = z64.object({
38389
+ var dashboardNavigationConfigSchema = z65.object({
38117
38390
  siteNav: dashboardNavVisibilitySchema.optional(),
38118
38391
  settingsNav: dashboardNavVisibilitySchema.optional()
38119
38392
  }).strip();
38120
- var dashboardConfigSchema = z64.object({
38121
- previewEditingEnabled: z64.boolean().optional(),
38393
+ var dashboardConfigSchema = z65.object({
38394
+ previewEditingEnabled: z65.boolean().optional(),
38122
38395
  navigation: dashboardNavigationConfigSchema.optional()
38123
38396
  }).strip();
38124
38397
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
38125
38398
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
38126
- var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
38127
- var loaderFallbackScalarSchema = z64.union([
38128
- z64.string(),
38129
- z64.number(),
38130
- z64.boolean(),
38131
- z64.null()
38399
+ var sdkLoaderEndpointSchema = z65.enum(SUPPORTED_LOADER_ENDPOINTS);
38400
+ var loaderFallbackScalarSchema = z65.union([
38401
+ z65.string(),
38402
+ z65.number(),
38403
+ z65.boolean(),
38404
+ z65.null()
38132
38405
  ]);
38133
- var loaderParamBindingSchema = z64.object({
38134
- $bind: z64.object({
38135
- from: z64.string().min(1, "Binding path is required"),
38406
+ var loaderParamBindingSchema = z65.object({
38407
+ $bind: z65.object({
38408
+ from: z65.string().min(1, "Binding path is required"),
38136
38409
  fallback: loaderFallbackScalarSchema.optional()
38137
38410
  })
38138
38411
  });
38139
- var loaderParamValueSchema = z64.union([
38140
- z64.string(),
38141
- z64.number(),
38142
- z64.boolean(),
38412
+ var loaderParamValueSchema = z65.union([
38413
+ z65.string(),
38414
+ z65.number(),
38415
+ z65.boolean(),
38143
38416
  loaderParamBindingSchema
38144
38417
  ]);
38145
- var sdkConfigLoaderSchema = z64.object({
38418
+ var sdkConfigLoaderSchema = z65.object({
38146
38419
  endpoint: sdkLoaderEndpointSchema,
38147
- params: z64.record(z64.string(), loaderParamValueSchema),
38148
- mode: z64.enum(["server", "client"]).default("server")
38420
+ params: z65.record(z65.string(), loaderParamValueSchema),
38421
+ mode: z65.enum(["server", "client"]).default("server")
38149
38422
  });
38150
- var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38151
- var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38423
+ var sdkDataLoadersSchema = z65.record(z65.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38424
+ var sdkCustomBlockIdSchema = z65.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38152
38425
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
38153
38426
  }).transform((value) => value);
38154
- var sdkCustomBlockInputSchema = z64.object({
38427
+ var sdkCustomBlockInputSchema = z65.object({
38155
38428
  id: sdkCustomBlockIdSchema,
38156
- title: z64.string().min(1),
38157
- titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
38158
- description: z64.string().optional(),
38429
+ title: z65.string().min(1),
38430
+ titleSource: z65.union([z65.string().min(1), z65.array(z65.string().min(1)).min(1)]).optional(),
38431
+ description: z65.string().optional(),
38159
38432
  category: blockCategoryEnum,
38160
- icon: z64.string().optional(),
38161
- tags: z64.array(z64.string()).optional(),
38433
+ icon: z65.string().optional(),
38434
+ tags: z65.array(z65.string()).optional(),
38162
38435
  fields: fieldDefinitionInputSchema.array().min(1),
38163
38436
  dataLoaders: sdkDataLoadersSchema,
38164
38437
  layout: NodeSchema.optional(),
38165
- variants: z64.record(z64.string().min(1), NodeSchema).optional(),
38166
- defaultVariant: z64.string().min(1).optional(),
38167
- variantOptions: z64.record(
38168
- z64.string().min(1),
38169
- z64.object({
38170
- label: z64.string().min(1).optional(),
38171
- description: z64.string().min(1).optional(),
38172
- icon: z64.string().min(1).optional()
38438
+ variants: z65.record(z65.string().min(1), NodeSchema).optional(),
38439
+ defaultVariant: z65.string().min(1).optional(),
38440
+ variantOptions: z65.record(
38441
+ z65.string().min(1),
38442
+ z65.object({
38443
+ label: z65.string().min(1).optional(),
38444
+ description: z65.string().min(1).optional(),
38445
+ icon: z65.string().min(1).optional()
38173
38446
  })
38174
38447
  ).optional(),
38175
38448
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -38180,7 +38453,7 @@ var sdkCustomBlockInputSchema = z64.object({
38180
38453
  const exists = data.fields.some((field) => field.id === source);
38181
38454
  if (!exists) {
38182
38455
  ctx.addIssue({
38183
- code: z64.ZodIssueCode.custom,
38456
+ code: z65.ZodIssueCode.custom,
38184
38457
  message: `titleSource must reference a valid field ID (got "${source}")`,
38185
38458
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
38186
38459
  });
@@ -38189,7 +38462,7 @@ var sdkCustomBlockInputSchema = z64.object({
38189
38462
  }
38190
38463
  if (data.layout && data.variants) {
38191
38464
  ctx.addIssue({
38192
- code: z64.ZodIssueCode.custom,
38465
+ code: z65.ZodIssueCode.custom,
38193
38466
  message: "Custom block must define either `layout` or `variants`, not both",
38194
38467
  path: ["variants"]
38195
38468
  });
@@ -38198,14 +38471,14 @@ var sdkCustomBlockInputSchema = z64.object({
38198
38471
  const keys = Object.keys(data.variants);
38199
38472
  if (keys.length === 0) {
38200
38473
  ctx.addIssue({
38201
- code: z64.ZodIssueCode.custom,
38474
+ code: z65.ZodIssueCode.custom,
38202
38475
  message: "`variants` must contain at least one variant key",
38203
38476
  path: ["variants"]
38204
38477
  });
38205
38478
  }
38206
38479
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
38207
38480
  ctx.addIssue({
38208
- code: z64.ZodIssueCode.custom,
38481
+ code: z65.ZodIssueCode.custom,
38209
38482
  message: "`defaultVariant` must be a key present in `variants`",
38210
38483
  path: ["defaultVariant"]
38211
38484
  });
@@ -38214,7 +38487,7 @@ var sdkCustomBlockInputSchema = z64.object({
38214
38487
  for (const key of Object.keys(data.variantOptions)) {
38215
38488
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
38216
38489
  ctx.addIssue({
38217
- code: z64.ZodIssueCode.custom,
38490
+ code: z65.ZodIssueCode.custom,
38218
38491
  message: "`variantOptions` key must exist in `variants`",
38219
38492
  path: ["variantOptions", key]
38220
38493
  });
@@ -38223,78 +38496,78 @@ var sdkCustomBlockInputSchema = z64.object({
38223
38496
  }
38224
38497
  }
38225
38498
  });
38226
- var sdkBlockFieldExtensionInputSchema = z64.object({
38499
+ var sdkBlockFieldExtensionInputSchema = z65.object({
38227
38500
  fields: fieldDefinitionInputSchema.array().min(1)
38228
38501
  });
38229
- var sdkBlockFieldExtensionsInputSchema = z64.record(
38230
- z64.string().min(1),
38502
+ var sdkBlockFieldExtensionsInputSchema = z65.record(
38503
+ z65.string().min(1),
38231
38504
  sdkBlockFieldExtensionInputSchema
38232
38505
  );
38233
- var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
38234
- var sdkThemeConfigSchema = z64.object({
38506
+ var sdkThemePaletteSchema = z65.record(z65.string(), z65.string());
38507
+ var sdkThemeConfigSchema = z65.object({
38235
38508
  palette: sdkThemePaletteSchema
38236
38509
  });
38237
- var sdkSectionBackgroundSchema = z64.object({
38238
- id: z64.string().min(1),
38239
- label: z64.string().min(1),
38240
- token: z64.string().min(1)
38510
+ var sdkSectionBackgroundSchema = z65.object({
38511
+ id: z65.string().min(1),
38512
+ label: z65.string().min(1),
38513
+ token: z65.string().min(1)
38241
38514
  });
38242
- var sdkSectionOptionsConfigSchema = z64.object({
38243
- backgroundColor: z64.boolean().optional(),
38244
- backgroundImage: z64.boolean().optional(),
38245
- backgroundGradient: z64.boolean().optional(),
38246
- spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
38247
- textColor: z64.boolean().optional()
38515
+ var sdkSectionOptionsConfigSchema = z65.object({
38516
+ backgroundColor: z65.boolean().optional(),
38517
+ backgroundImage: z65.boolean().optional(),
38518
+ backgroundGradient: z65.boolean().optional(),
38519
+ spacing: z65.union([z65.array(z65.enum(["compact", "default", "spacious"])), z65.boolean()]).optional(),
38520
+ textColor: z65.boolean().optional()
38248
38521
  });
38249
- var sdkContainerOptionsConfigSchema = z64.object({
38250
- maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
38251
- alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
38522
+ var sdkContainerOptionsConfigSchema = z65.object({
38523
+ maxWidth: z65.union([z65.array(z65.enum(["narrow", "default", "wide", "full"])), z65.boolean()]).optional(),
38524
+ alignment: z65.union([z65.array(z65.enum(["left", "center", "right"])), z65.boolean()]).optional()
38252
38525
  });
38253
- var sdkSiteStyleConfigSchema = z64.object({
38254
- sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
38526
+ var sdkSiteStyleConfigSchema = z65.object({
38527
+ sectionBackgrounds: z65.array(sdkSectionBackgroundSchema).optional(),
38255
38528
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
38256
38529
  containerOptions: sdkContainerOptionsConfigSchema.optional()
38257
38530
  });
38258
- var sdkSiteLayoutConfigSchema = z64.object({
38259
- footerBlocks: z64.array(
38260
- z64.object({
38261
- id: z64.string().min(1).optional(),
38262
- kind: z64.string().min(1),
38263
- content: z64.record(z64.string(), z64.unknown()).optional()
38531
+ var sdkSiteLayoutConfigSchema = z65.object({
38532
+ footerBlocks: z65.array(
38533
+ z65.object({
38534
+ id: z65.string().min(1).optional(),
38535
+ kind: z65.string().min(1),
38536
+ content: z65.record(z65.string(), z65.unknown()).optional()
38264
38537
  })
38265
38538
  ).optional()
38266
38539
  });
38267
- var sdkFieldSelectOptionSchema = z64.object({
38268
- value: z64.string(),
38269
- label: z64.string()
38540
+ var sdkFieldSelectOptionSchema = z65.object({
38541
+ value: z65.string(),
38542
+ label: z65.string()
38270
38543
  });
38271
- var sdkBlockFieldConfigSchema = z64.object({
38272
- options: z64.array(sdkFieldSelectOptionSchema).optional()
38544
+ var sdkBlockFieldConfigSchema = z65.object({
38545
+ options: z65.array(sdkFieldSelectOptionSchema).optional()
38273
38546
  });
38274
- var sdkBlockFieldOptionsMapSchema = z64.record(
38275
- z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38547
+ var sdkBlockFieldOptionsMapSchema = z65.record(
38548
+ z65.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38276
38549
  message: "Block ID must be 'block.*' or 'custom.*' format"
38277
38550
  }),
38278
- z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
38551
+ z65.record(z65.string().min(1), sdkBlockFieldConfigSchema)
38279
38552
  ).optional();
38280
- var sdkContentTypeTemplateConfigSchema = z64.object({
38281
- blocks: z64.array(z64.unknown())
38553
+ var sdkContentTypeTemplateConfigSchema = z65.object({
38554
+ blocks: z65.array(z65.unknown())
38282
38555
  }).passthrough();
38283
- var sdkContentTypeOrderingConfigSchema = z64.object({
38284
- mode: z64.enum(["default", "manual"]).optional()
38556
+ var sdkContentTypeOrderingConfigSchema = z65.object({
38557
+ mode: z65.enum(["default", "manual"]).optional()
38285
38558
  }).optional();
38286
- var sdkContentTypeConfigSchema = z64.object({
38287
- key: z64.string().min(1),
38288
- fields: z64.array(z64.unknown()),
38559
+ var sdkContentTypeConfigSchema = z65.object({
38560
+ key: z65.string().min(1),
38561
+ fields: z65.array(z65.unknown()),
38289
38562
  ordering: sdkContentTypeOrderingConfigSchema,
38290
38563
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
38291
38564
  }).passthrough();
38292
- var sdkContentConfigSchema = z64.object({
38293
- contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
38294
- pages: z64.array(z64.unknown()).optional(),
38295
- entries: z64.array(z64.unknown()).optional(),
38296
- navigationMenus: z64.array(z64.unknown()).optional(),
38297
- settings: z64.unknown().optional()
38565
+ var sdkContentConfigSchema = z65.object({
38566
+ contentTypes: z65.array(sdkContentTypeConfigSchema).optional(),
38567
+ pages: z65.array(z65.unknown()).optional(),
38568
+ entries: z65.array(z65.unknown()).optional(),
38569
+ navigationMenus: z65.array(z65.unknown()).optional(),
38570
+ settings: z65.unknown().optional()
38298
38571
  }).passthrough();
38299
38572
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
38300
38573
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -38309,62 +38582,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
38309
38582
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
38310
38583
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
38311
38584
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
38312
- var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38585
+ var sdkWorkflowIdSchema = z65.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38313
38586
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
38314
38587
  });
38315
- var sdkWorkflowEndpointSchema = z64.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
38316
- var sdkWorkflowManualTriggerSchema = z64.object({
38317
- type: z64.literal("manual")
38588
+ var sdkWorkflowEndpointSchema = z65.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
38589
+ var sdkWorkflowManualTriggerSchema = z65.object({
38590
+ type: z65.literal("manual")
38318
38591
  }).strict();
38319
- var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38592
+ var sdkWorkflowTriggerFieldSchema = z65.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38320
38593
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
38321
38594
  });
38322
- var sdkWorkflowFieldChangedConditionSchema = z64.object({
38595
+ var sdkWorkflowFieldChangedConditionSchema = z65.object({
38323
38596
  field: sdkWorkflowTriggerFieldSchema,
38324
- changed: z64.literal(true)
38597
+ changed: z65.literal(true)
38325
38598
  }).strict();
38326
- var sdkWorkflowFieldEmptyConditionSchema = z64.object({
38599
+ var sdkWorkflowFieldEmptyConditionSchema = z65.object({
38327
38600
  field: sdkWorkflowTriggerFieldSchema,
38328
- isEmpty: z64.boolean()
38601
+ isEmpty: z65.boolean()
38329
38602
  }).strict();
38330
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
38331
- type: z64.literal("entry.draft.updated"),
38332
- when: z64.array(
38333
- z64.union([
38603
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z65.object({
38604
+ type: z65.literal("entry.draft.updated"),
38605
+ when: z65.array(
38606
+ z65.union([
38334
38607
  sdkWorkflowFieldChangedConditionSchema,
38335
38608
  sdkWorkflowFieldEmptyConditionSchema
38336
38609
  ])
38337
38610
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
38338
38611
  }).strict();
38339
- var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
38612
+ var sdkWorkflowTriggerSchema = z65.discriminatedUnion("type", [
38340
38613
  sdkWorkflowManualTriggerSchema,
38341
38614
  sdkWorkflowEntryDraftUpdatedTriggerSchema
38342
38615
  ]);
38343
- var sdkWorkflowConfirmationSchema = z64.object({
38344
- title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38345
- body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38616
+ var sdkWorkflowConfirmationSchema = z65.object({
38617
+ title: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38618
+ body: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38346
38619
  }).strict();
38347
- var sdkWorkflowConfigSchema = z64.object({
38620
+ var sdkWorkflowConfigSchema = z65.object({
38348
38621
  id: sdkWorkflowIdSchema,
38349
- title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38350
- description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38351
- contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38622
+ title: z65.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38623
+ description: z65.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38624
+ contentType: z65.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38352
38625
  endpoint: sdkWorkflowEndpointSchema,
38353
- triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38626
+ triggers: z65.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38354
38627
  confirmation: sdkWorkflowConfirmationSchema.optional()
38355
38628
  }).strict();
38356
- var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38629
+ var sdkWorkflowsSchema = z65.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38357
38630
  const ids = workflows.map((workflow) => workflow.id);
38358
38631
  return ids.length === new Set(ids).size;
38359
38632
  }, { message: "Workflow IDs must be unique" }).optional();
38360
- var riverbankSiteConfigInputSchema = z64.object({
38361
- siteId: z64.string().uuid(),
38362
- previewUrl: z64.string().url().optional(),
38363
- liveUrl: z64.string().url().optional(),
38633
+ var riverbankSiteConfigInputSchema = z65.object({
38634
+ siteId: z65.string().uuid(),
38635
+ previewUrl: z65.string().url().optional(),
38636
+ liveUrl: z65.string().url().optional(),
38364
38637
  theme: sdkThemeConfigSchema.optional(),
38365
38638
  styles: sdkSiteStyleConfigSchema.optional(),
38366
38639
  layout: sdkSiteLayoutConfigSchema.optional(),
38367
- customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38640
+ customBlocks: z65.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38368
38641
  const ids = blocks.map((b) => b.id);
38369
38642
  return ids.length === new Set(ids).size;
38370
38643
  }, { message: "Block IDs must be unique" }).optional(),
@@ -38372,50 +38645,50 @@ var riverbankSiteConfigInputSchema = z64.object({
38372
38645
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
38373
38646
  workflows: sdkWorkflowsSchema,
38374
38647
  content: sdkContentConfigSchema.optional(),
38375
- contentDir: z64.string().optional(),
38376
- sync: z64.object({
38377
- existingEntries: z64.enum(["skip", "update"]).optional()
38648
+ contentDir: z65.string().optional(),
38649
+ sync: z65.object({
38650
+ existingEntries: z65.enum(["skip", "update"]).optional()
38378
38651
  }).optional(),
38379
- deploy: z64.object({
38380
- verifyCommand: z64.string().optional(),
38381
- prebuildOutput: z64.string().optional()
38652
+ deploy: z65.object({
38653
+ verifyCommand: z65.string().optional(),
38654
+ prebuildOutput: z65.string().optional()
38382
38655
  }).optional(),
38383
- themeSource: z64.enum(["local", "cms"]).optional(),
38384
- activeTheme: z64.string().optional(),
38385
- enablePortal: z64.boolean().optional(),
38656
+ themeSource: z65.enum(["local", "cms"]).optional(),
38657
+ activeTheme: z65.string().optional(),
38658
+ enablePortal: z65.boolean().optional(),
38386
38659
  dashboard: dashboardConfigSchema.optional()
38387
38660
  }).strict();
38388
- var pushSdkConfigBodySchema = z64.object({
38661
+ var pushSdkConfigBodySchema = z65.object({
38389
38662
  config: riverbankSiteConfigInputSchema,
38390
- forceContentTypes: z64.boolean().optional()
38663
+ forceContentTypes: z65.boolean().optional()
38391
38664
  }).strict();
38392
38665
 
38393
38666
  // ../api/src/siteOnboarding.ts
38394
- import { z as z65 } from "zod";
38667
+ import { z as z66 } from "zod";
38395
38668
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
38396
38669
  configure_appointments: {
38397
38670
  requirementId: "configure_appointments",
38398
38671
  reason: "launch_anyway"
38399
38672
  }
38400
38673
  };
38401
- var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
38674
+ var acknowledgeLaunchRequirementRequestSchema = z66.discriminatedUnion(
38402
38675
  "requirementId",
38403
38676
  [
38404
- z65.object({
38405
- requirementId: z65.literal("review_generated_site")
38677
+ z66.object({
38678
+ requirementId: z66.literal("review_generated_site")
38406
38679
  }),
38407
- z65.object({
38408
- requirementId: z65.literal(
38680
+ z66.object({
38681
+ requirementId: z66.literal(
38409
38682
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
38410
38683
  ),
38411
- overrideReason: z65.literal(
38684
+ overrideReason: z66.literal(
38412
38685
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
38413
38686
  )
38414
38687
  })
38415
38688
  ]
38416
38689
  );
38417
- var goLiveSiteRequestSchema = z65.object({
38418
- acceptExtraSiteCharge: z65.boolean().optional()
38690
+ var goLiveSiteRequestSchema = z66.object({
38691
+ acceptExtraSiteCharge: z66.boolean().optional()
38419
38692
  });
38420
38693
 
38421
38694
  // ../surfaces/src/index.ts
@@ -38499,7 +38772,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
38499
38772
  ];
38500
38773
 
38501
38774
  // ../api/src/bookingVerticals.ts
38502
- import { z as z66 } from "zod";
38775
+ import { z as z67 } from "zod";
38503
38776
  var VERTICAL_IDS = [
38504
38777
  "yoga_wellness",
38505
38778
  "fitness_pt",
@@ -38664,39 +38937,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
38664
38937
  }
38665
38938
  return [...issues];
38666
38939
  }
38667
- var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
38940
+ var VerticalIdSchema = z67.string().trim().transform((value, ctx) => {
38668
38941
  const parsed = parseVerticalId(value);
38669
38942
  if (!parsed) {
38670
38943
  ctx.addIssue({
38671
- code: z66.ZodIssueCode.custom,
38944
+ code: z67.ZodIssueCode.custom,
38672
38945
  message: "Unknown booking vertical"
38673
38946
  });
38674
- return z66.NEVER;
38947
+ return z67.NEVER;
38675
38948
  }
38676
38949
  return parsed;
38677
38950
  });
38678
- var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
38951
+ var VerticalPresetIdSchema = z67.string().trim().transform((value, ctx) => {
38679
38952
  const parsed = parseVerticalPresetId(value);
38680
38953
  if (!parsed) {
38681
38954
  ctx.addIssue({
38682
- code: z66.ZodIssueCode.custom,
38955
+ code: z67.ZodIssueCode.custom,
38683
38956
  message: "Unknown booking preset"
38684
38957
  });
38685
- return z66.NEVER;
38958
+ return z67.NEVER;
38686
38959
  }
38687
38960
  return parsed;
38688
38961
  });
38689
- var BookingVerticalConfigSchema = z66.object({
38962
+ var BookingVerticalConfigSchema = z67.object({
38690
38963
  verticalId: VerticalIdSchema.nullable(),
38691
- selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
38964
+ selectedPresetIds: z67.array(VerticalPresetIdSchema).max(20)
38692
38965
  }).transform((value, ctx) => {
38693
38966
  const resolved = resolveSiteVerticalBookingConfig(value);
38694
38967
  if (resolved.kind === "invalid") {
38695
38968
  ctx.addIssue({
38696
- code: z66.ZodIssueCode.custom,
38969
+ code: z67.ZodIssueCode.custom,
38697
38970
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
38698
38971
  });
38699
- return z66.NEVER;
38972
+ return z67.NEVER;
38700
38973
  }
38701
38974
  return resolved.config;
38702
38975
  });
@@ -38723,51 +38996,51 @@ function isRecord8(value) {
38723
38996
  }
38724
38997
 
38725
38998
  // ../api/src/appointmentSetup.ts
38726
- import { z as z67 } from "zod";
38999
+ import { z as z68 } from "zod";
38727
39000
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
38728
- var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
38729
- z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
38730
- z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
39001
+ var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
39002
+ z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
39003
+ z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
38731
39004
  ]);
38732
- var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
38733
- z67.object({ kind: z67.literal("none") }),
38734
- z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
38735
- z67.object({
38736
- kind: z67.literal("create"),
38737
- draftId: z67.string().min(1),
38738
- title: z67.string().trim().min(1),
38739
- description: z67.string().nullable(),
38740
- timezone: z67.string().trim().min(1).nullable(),
38741
- addressJson: z67.record(z67.string(), z67.unknown()),
38742
- locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
39005
+ var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
39006
+ z68.object({ kind: z68.literal("none") }),
39007
+ z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
39008
+ z68.object({
39009
+ kind: z68.literal("create"),
39010
+ draftId: z68.string().min(1),
39011
+ title: z68.string().trim().min(1),
39012
+ description: z68.string().nullable(),
39013
+ timezone: z68.string().trim().min(1).nullable(),
39014
+ addressJson: z68.record(z68.string(), z68.unknown()),
39015
+ locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
38743
39016
  })
38744
39017
  ]);
38745
- var appointmentSetupPaymentDraftSchema = z67.object({
38746
- priceType: z67.union([z67.literal("free"), z67.literal("paid")])
38747
- });
38748
- var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
38749
- z67.object({ kind: z67.literal("all_practitioners") }),
38750
- z67.object({
38751
- kind: z67.literal("selected_practitioners"),
38752
- resourceRefs: z67.array(appointmentSetupRefSchema)
39018
+ var appointmentSetupPaymentDraftSchema = z68.object({
39019
+ priceType: z68.union([z68.literal("free"), z68.literal("paid")])
39020
+ });
39021
+ var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
39022
+ z68.object({ kind: z68.literal("all_practitioners") }),
39023
+ z68.object({
39024
+ kind: z68.literal("selected_practitioners"),
39025
+ resourceRefs: z68.array(appointmentSetupRefSchema)
38753
39026
  })
38754
39027
  ]);
38755
- var appointmentSetupServiceDraftSchema = z67.object({
39028
+ var appointmentSetupServiceDraftSchema = z68.object({
38756
39029
  ref: appointmentSetupRefSchema,
38757
- title: z67.string().trim().min(1),
38758
- description: z67.string().nullable(),
38759
- durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
38760
- prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
38761
- cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
38762
- priceAmount: z67.number().int().nonnegative().nullable(),
38763
- isActive: z67.boolean(),
38764
- locationType: z67.union([
38765
- z67.literal("virtual"),
38766
- z67.literal("in_person"),
38767
- z67.literal("hybrid")
39030
+ title: z68.string().trim().min(1),
39031
+ description: z68.string().nullable(),
39032
+ durationMinutes: z68.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39033
+ prepMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39034
+ cleanupMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39035
+ priceAmount: z68.number().int().nonnegative().nullable(),
39036
+ isActive: z68.boolean(),
39037
+ locationType: z68.union([
39038
+ z68.literal("virtual"),
39039
+ z68.literal("in_person"),
39040
+ z68.literal("hybrid")
38768
39041
  ]),
38769
39042
  venue: appointmentSetupVenueChoiceSchema,
38770
- timezone: z67.string().trim().min(1).nullable(),
39043
+ timezone: z68.string().trim().min(1).nullable(),
38771
39044
  payment: appointmentSetupPaymentDraftSchema,
38772
39045
  assignment: appointmentSetupServiceAssignmentDraftSchema
38773
39046
  }).superRefine((service, ctx) => {
@@ -38786,49 +39059,49 @@ var appointmentSetupServiceDraftSchema = z67.object({
38786
39059
  });
38787
39060
  }
38788
39061
  });
38789
- var appointmentSetupPractitionerDraftSchema = z67.object({
39062
+ var appointmentSetupPractitionerDraftSchema = z68.object({
38790
39063
  ref: appointmentSetupRefSchema,
38791
- displayName: z67.string().trim().min(1),
38792
- bio: z67.string().nullable(),
38793
- timezone: z67.string().trim().min(1),
38794
- colorHex: z67.string().nullable()
38795
- });
38796
- var appointmentSetupWeeklyWindowDraftSchema = z67.object({
38797
- weekday: z67.number().int().min(0).max(6),
38798
- startTime: z67.string(),
38799
- endTime: z67.string()
38800
- });
38801
- var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
38802
- z67.object({ kind: z67.literal("automatic_spacing") }),
38803
- z67.object({
38804
- kind: z67.literal("regular_interval"),
38805
- intervalMinutes: z67.union([
38806
- z67.literal(10),
38807
- z67.literal(15),
38808
- z67.literal(20),
38809
- z67.literal(30),
38810
- z67.literal(45),
38811
- z67.literal(60)
39064
+ displayName: z68.string().trim().min(1),
39065
+ bio: z68.string().nullable(),
39066
+ timezone: z68.string().trim().min(1),
39067
+ colorHex: z68.string().nullable()
39068
+ });
39069
+ var appointmentSetupWeeklyWindowDraftSchema = z68.object({
39070
+ weekday: z68.number().int().min(0).max(6),
39071
+ startTime: z68.string(),
39072
+ endTime: z68.string()
39073
+ });
39074
+ var appointmentSetupStartTimePolicyDraftSchema = z68.discriminatedUnion("kind", [
39075
+ z68.object({ kind: z68.literal("automatic_spacing") }),
39076
+ z68.object({
39077
+ kind: z68.literal("regular_interval"),
39078
+ intervalMinutes: z68.union([
39079
+ z68.literal(10),
39080
+ z68.literal(15),
39081
+ z68.literal(20),
39082
+ z68.literal(30),
39083
+ z68.literal(45),
39084
+ z68.literal(60)
38812
39085
  ])
38813
39086
  })
38814
39087
  ]);
38815
- var appointmentSetupAvailabilityDraftSchema = z67.object({
38816
- kind: z67.literal("weekly_windows"),
39088
+ var appointmentSetupAvailabilityDraftSchema = z68.object({
39089
+ kind: z68.literal("weekly_windows"),
38817
39090
  resourceRef: appointmentSetupRefSchema,
38818
39091
  serviceRef: appointmentSetupRefSchema.nullable(),
38819
- windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
39092
+ windows: z68.array(appointmentSetupWeeklyWindowDraftSchema),
38820
39093
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
38821
39094
  });
38822
39095
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
38823
39096
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
38824
- var appointmentSetupBookingNoticeSchema = z67.object({
38825
- minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
38826
- maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
38827
- });
38828
- var applyAppointmentSetupRequestSchema = z67.object({
38829
- services: z67.array(appointmentSetupServiceDraftSchema),
38830
- practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
38831
- availability: z67.array(appointmentSetupAvailabilityDraftSchema),
39097
+ var appointmentSetupBookingNoticeSchema = z68.object({
39098
+ minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39099
+ maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39100
+ });
39101
+ var applyAppointmentSetupRequestSchema = z68.object({
39102
+ services: z68.array(appointmentSetupServiceDraftSchema),
39103
+ practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
39104
+ availability: z68.array(appointmentSetupAvailabilityDraftSchema),
38832
39105
  bookingNotice: appointmentSetupBookingNoticeSchema
38833
39106
  });
38834
39107
 
@@ -38861,24 +39134,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
38861
39134
  ];
38862
39135
 
38863
39136
  // ../api/src/siteBanner.ts
38864
- import { z as z68 } from "zod";
39137
+ import { z as z69 } from "zod";
38865
39138
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
38866
39139
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
38867
39140
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
38868
39141
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
38869
- var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
38870
- var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
38871
- var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
38872
- var siteBannerCtaSchema = z68.object({
38873
- label: z68.string().trim().min(1),
39142
+ var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
39143
+ var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
39144
+ var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
39145
+ var siteBannerCtaSchema = z69.object({
39146
+ label: z69.string().trim().min(1),
38874
39147
  link: linkPayloadSchema
38875
39148
  });
38876
- var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
38877
- z68.object({
38878
- enabled: z68.literal(false)
39149
+ var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
39150
+ z69.object({
39151
+ enabled: z69.literal(false)
38879
39152
  }),
38880
- z68.object({
38881
- enabled: z68.literal(true),
39153
+ z69.object({
39154
+ enabled: z69.literal(true),
38882
39155
  scope: siteBannerScopeSchema,
38883
39156
  tone: siteBannerToneSchema,
38884
39157
  body: siteBannerBodySchema,
@@ -38892,7 +39165,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
38892
39165
  const analysis = analyzeSiteBannerBody(value.body);
38893
39166
  for (const issue of analysis.issues) {
38894
39167
  ctx.addIssue({
38895
- code: z68.ZodIssueCode.custom,
39168
+ code: z69.ZodIssueCode.custom,
38896
39169
  path: ["body"],
38897
39170
  message: siteBannerBodyIssueMessage(issue)
38898
39171
  });
@@ -39154,89 +39427,76 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
39154
39427
  var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
39155
39428
 
39156
39429
  // ../api/src/aiPlayground.ts
39157
- import { z as z69 } from "zod";
39158
- var Rfc6902PatchOp = z69.discriminatedUnion("op", [
39430
+ import { z as z70 } from "zod";
39431
+ var Rfc6902PatchOp = z70.discriminatedUnion("op", [
39159
39432
  // Standard RFC-6902 operations
39160
- z69.object({
39161
- op: z69.literal("add"),
39162
- path: z69.string(),
39163
- value: z69.unknown()
39433
+ z70.object({
39434
+ op: z70.literal("add"),
39435
+ path: z70.string(),
39436
+ value: z70.unknown()
39164
39437
  }),
39165
- z69.object({
39166
- op: z69.literal("remove"),
39167
- path: z69.string()
39438
+ z70.object({
39439
+ op: z70.literal("remove"),
39440
+ path: z70.string()
39168
39441
  }),
39169
- z69.object({
39170
- op: z69.literal("replace"),
39171
- path: z69.string(),
39172
- value: z69.unknown()
39442
+ z70.object({
39443
+ op: z70.literal("replace"),
39444
+ path: z70.string(),
39445
+ value: z70.unknown()
39173
39446
  }),
39174
- z69.object({
39175
- op: z69.literal("move"),
39176
- from: z69.string(),
39177
- path: z69.string()
39447
+ z70.object({
39448
+ op: z70.literal("move"),
39449
+ from: z70.string(),
39450
+ path: z70.string()
39178
39451
  }),
39179
- z69.object({
39180
- op: z69.literal("copy"),
39181
- from: z69.string(),
39182
- path: z69.string()
39452
+ z70.object({
39453
+ op: z70.literal("copy"),
39454
+ from: z70.string(),
39455
+ path: z70.string()
39183
39456
  }),
39184
39457
  // Block-level operations (Phase 2)
39185
- z69.object({
39186
- op: z69.literal("add_block"),
39187
- blockKind: z69.string(),
39188
- afterBlockId: z69.string().nullable(),
39189
- content: z69.record(z69.string(), z69.unknown()),
39190
- rationale: z69.string()
39458
+ z70.object({
39459
+ op: z70.literal("add_block"),
39460
+ blockKind: z70.string(),
39461
+ afterBlockId: z70.string().nullable(),
39462
+ content: z70.record(z70.string(), z70.unknown()),
39463
+ rationale: z70.string()
39191
39464
  }),
39192
- z69.object({
39193
- op: z69.literal("delete_block"),
39194
- blockId: z69.string(),
39195
- rationale: z69.string()
39465
+ z70.object({
39466
+ op: z70.literal("delete_block"),
39467
+ blockId: z70.string(),
39468
+ rationale: z70.string()
39196
39469
  }),
39197
- z69.object({
39198
- op: z69.literal("reorder_block"),
39199
- blockId: z69.string(),
39200
- afterBlockId: z69.string().nullable(),
39201
- rationale: z69.string()
39470
+ z70.object({
39471
+ op: z70.literal("reorder_block"),
39472
+ blockId: z70.string(),
39473
+ afterBlockId: z70.string().nullable(),
39474
+ rationale: z70.string()
39202
39475
  })
39203
39476
  ]);
39204
- var PlaygroundProposeRequest = z69.object({
39205
- request: z69.string().min(1).max(2e3)
39477
+ var PlaygroundProposeRequest = z70.object({
39478
+ request: z70.string().min(1).max(2e3)
39206
39479
  });
39207
- var MultiPagePatchEnvelope = z69.object({
39208
- pageId: z69.string(),
39209
- blockId: z69.string().optional(),
39480
+ var MultiPagePatchEnvelope = z70.object({
39481
+ pageId: z70.string(),
39482
+ blockId: z70.string().optional(),
39210
39483
  // Not present for page-level ops
39211
- blockKind: z69.string().optional(),
39212
- blockPurpose: z69.string().optional().nullable(),
39213
- ops: z69.array(Rfc6902PatchOp),
39214
- rationale: z69.string(),
39215
- currentContent: z69.record(z69.string(), z69.unknown()).optional()
39484
+ blockKind: z70.string().optional(),
39485
+ blockPurpose: z70.string().optional().nullable(),
39486
+ ops: z70.array(Rfc6902PatchOp),
39487
+ rationale: z70.string(),
39488
+ currentContent: z70.record(z70.string(), z70.unknown()).optional()
39216
39489
  });
39217
- var MultiPageUpdateResponse = z69.object({
39218
- patches: z69.array(MultiPagePatchEnvelope),
39219
- assistantMessage: z69.string(),
39220
- pagesModified: z69.number(),
39221
- toolCallsUsed: z69.number()
39490
+ var MultiPageUpdateResponse = z70.object({
39491
+ patches: z70.array(MultiPagePatchEnvelope),
39492
+ assistantMessage: z70.string(),
39493
+ pagesModified: z70.number(),
39494
+ toolCallsUsed: z70.number()
39222
39495
  });
39223
39496
 
39224
39497
  // src/data/prefetchBlockData.ts
39225
- var SUPPORTED_LOADER_ENDPOINTS2 = [
39226
- "listPublishedEntries",
39227
- "getPublishedEntryPreview",
39228
- "listPublicEvents",
39229
- "listPublicCourses",
39230
- "listPublicTeamMembers",
39231
- "listPublicProducts",
39232
- "listPublicPasses",
39233
- "listPublicMemberships",
39234
- "getPublicFormById",
39235
- "getPublicBookingServices",
39236
- "getPublicEventDetails"
39237
- ];
39238
39498
  function isSupportedLoaderEndpoint2(endpoint) {
39239
- return SUPPORTED_LOADER_ENDPOINTS2.includes(endpoint);
39499
+ return SUPPORTED_LOADER_ENDPOINTS.includes(endpoint);
39240
39500
  }
39241
39501
  var ENTRY_REF_KEYS = [
39242
39502
  "identifier",
@@ -39301,6 +39561,194 @@ function parseManualEntryRefs(...values) {
39301
39561
  }
39302
39562
  return void 0;
39303
39563
  }
39564
+ var loaderAdapters = {
39565
+ listPublishedEntries: listPublishedEntries2,
39566
+ getPublishedEntryPreview,
39567
+ listPublicEvents,
39568
+ getPublicEventDetails,
39569
+ listPublicCourses,
39570
+ listPublicRouteCandidates,
39571
+ listPublicTeamMembers,
39572
+ listPublicProducts,
39573
+ listPublicPasses,
39574
+ listPublicMemberships,
39575
+ getPublicFormById,
39576
+ getPublicBookingServices
39577
+ };
39578
+ function readStringParam(params, key) {
39579
+ const value = params[key];
39580
+ return value && value.length > 0 ? value : void 0;
39581
+ }
39582
+ function requireStringParam(params, key, endpoint) {
39583
+ const value = readStringParam(params, key);
39584
+ if (!value) {
39585
+ throw new Error(`${endpoint} requires ${key} param`);
39586
+ }
39587
+ return value;
39588
+ }
39589
+ function parsePositiveIntegerParam(params, key) {
39590
+ const value = params[key];
39591
+ const parsed = value === void 0 ? void 0 : Number.parseInt(value, 10);
39592
+ return typeof parsed === "number" && Number.isInteger(parsed) && parsed > 0 ? parsed : void 0;
39593
+ }
39594
+ function parseEntryOrder(value) {
39595
+ if (value === void 0) return void 0;
39596
+ switch (value) {
39597
+ case "order":
39598
+ return "manual";
39599
+ case "newest":
39600
+ case "oldest":
39601
+ case "title":
39602
+ return value;
39603
+ default:
39604
+ return void 0;
39605
+ }
39606
+ }
39607
+ function parsePublicEventKind(value) {
39608
+ if (value === void 0) return void 0;
39609
+ switch (value) {
39610
+ case "all":
39611
+ case "courses":
39612
+ case "events":
39613
+ return value;
39614
+ default:
39615
+ return void 0;
39616
+ }
39617
+ }
39618
+ async function listPublishedEntries2({ client, params }) {
39619
+ const siteId = requireStringParam(params, "siteId", "listPublishedEntries");
39620
+ const type = requireStringParam(params, "type", "listPublishedEntries");
39621
+ const stage = readStringParam(params, "stage");
39622
+ const mode = readStringParam(params, "mode");
39623
+ const parsedEntryRefs = mode === "manual" ? parseManualEntryRefs(params.identifiers, params.entryRefs, params.entryIds) : void 0;
39624
+ if (mode === "manual" && (!parsedEntryRefs || parsedEntryRefs.length === 0)) {
39625
+ return { entries: [] };
39626
+ }
39627
+ if (mode === "manual" && parsedEntryRefs) {
39628
+ return await client.getEntriesByIdentifiers({
39629
+ siteId,
39630
+ contentType: type,
39631
+ identifiers: parsedEntryRefs,
39632
+ preview: stage === "preview"
39633
+ });
39634
+ }
39635
+ return await client.getEntries({
39636
+ siteId,
39637
+ contentType: type,
39638
+ limit: parsePositiveIntegerParam(params, "limit"),
39639
+ order: parseEntryOrder(readStringParam(params, "orderBy")),
39640
+ preview: stage === "preview"
39641
+ });
39642
+ }
39643
+ async function getPublishedEntryPreview({ client, params }) {
39644
+ return await client.getEntry({
39645
+ siteId: requireStringParam(params, "siteId", "getPublishedEntryPreview"),
39646
+ contentType: requireStringParam(params, "type", "getPublishedEntryPreview"),
39647
+ slug: requireStringParam(params, "slug", "getPublishedEntryPreview")
39648
+ });
39649
+ }
39650
+ async function listPublicEvents({ client, params }) {
39651
+ return await client.listPublicEvents({
39652
+ siteId: requireStringParam(params, "siteId", "listPublicEvents"),
39653
+ limit: parsePositiveIntegerParam(params, "limit"),
39654
+ from: readStringParam(params, "from"),
39655
+ to: readStringParam(params, "to"),
39656
+ afterStartsAt: readStringParam(params, "afterStartsAt"),
39657
+ afterId: readStringParam(params, "afterId"),
39658
+ stage: readStringParam(params, "stage"),
39659
+ categoryIds: readStringParam(params, "categoryIds"),
39660
+ venueId: readStringParam(params, "venueId"),
39661
+ staffMemberId: readStringParam(params, "staffMemberId"),
39662
+ kind: parsePublicEventKind(readStringParam(params, "kind")),
39663
+ eventSurface: readStringParam(params, "eventSurface"),
39664
+ eventPresets: readStringParam(params, "eventPresets"),
39665
+ scheduleScope: readStringParam(params, "scheduleScope"),
39666
+ entryId: readStringParam(params, "entryId"),
39667
+ seriesId: readStringParam(params, "seriesId"),
39668
+ includeOccurrenceId: readStringParam(params, "includeOccurrenceId")
39669
+ });
39670
+ }
39671
+ async function getPublicEventDetails({ client, params }) {
39672
+ return await client.getPublicEventDetails({
39673
+ siteId: requireStringParam(params, "siteId", "getPublicEventDetails"),
39674
+ limit: parsePositiveIntegerParam(params, "limit"),
39675
+ from: readStringParam(params, "from"),
39676
+ to: readStringParam(params, "to"),
39677
+ afterStartsAt: readStringParam(params, "afterStartsAt"),
39678
+ afterId: readStringParam(params, "afterId"),
39679
+ stage: readStringParam(params, "stage"),
39680
+ categoryIds: readStringParam(params, "categoryIds"),
39681
+ venueId: readStringParam(params, "venueId"),
39682
+ staffMemberId: readStringParam(params, "staffMemberId"),
39683
+ kind: readStringParam(params, "kind"),
39684
+ eventSurface: readStringParam(params, "eventSurface"),
39685
+ eventPresets: readStringParam(params, "eventPresets"),
39686
+ scheduleScope: readStringParam(params, "scheduleScope"),
39687
+ entryId: readStringParam(params, "entryId"),
39688
+ seriesId: readStringParam(params, "seriesId"),
39689
+ includeOccurrenceId: readStringParam(params, "includeOccurrenceId")
39690
+ });
39691
+ }
39692
+ async function listPublicCourses({ client, params }) {
39693
+ return await client.listPublicCourses({
39694
+ siteId: requireStringParam(params, "siteId", "listPublicCourses"),
39695
+ limit: parsePositiveIntegerParam(params, "limit"),
39696
+ stage: readStringParam(params, "stage")
39697
+ });
39698
+ }
39699
+ async function listPublicRouteCandidates({ client, params }) {
39700
+ const siteId = requireStringParam(params, "siteId", "listPublicRouteCandidates");
39701
+ const response = await client.getAllPublishedRoutes({ siteId });
39702
+ return {
39703
+ routes: response.items.flatMap((item) => {
39704
+ if (!item.path) return [];
39705
+ return [{
39706
+ entityId: item.entityId,
39707
+ path: item.path,
39708
+ title: item.title,
39709
+ kind: item.entityType,
39710
+ contentTypeKey: item.contentTypeKey ?? null
39711
+ }];
39712
+ })
39713
+ };
39714
+ }
39715
+ async function listPublicTeamMembers({ client, params }) {
39716
+ return await client.listPublicTeamMembers({
39717
+ siteId: requireStringParam(params, "siteId", "listPublicTeamMembers"),
39718
+ stage: readStringParam(params, "stage")
39719
+ });
39720
+ }
39721
+ async function listPublicProducts({ client, params }) {
39722
+ return await client.listPublicProducts({
39723
+ siteId: requireStringParam(params, "siteId", "listPublicProducts"),
39724
+ stage: readStringParam(params, "stage") === "preview" ? "preview" : "published",
39725
+ categorySelector: parsePublicProductCategorySelector(params.categorySelector)
39726
+ });
39727
+ }
39728
+ async function listPublicPasses({ client, params }) {
39729
+ return await client.listPublicPasses({
39730
+ siteId: requireStringParam(params, "siteId", "listPublicPasses"),
39731
+ categories: readStringParam(params, "categories")
39732
+ });
39733
+ }
39734
+ async function listPublicMemberships({ client, params }) {
39735
+ return await client.listPublicMemberships({
39736
+ siteId: requireStringParam(params, "siteId", "listPublicMemberships"),
39737
+ categories: readStringParam(params, "categories")
39738
+ });
39739
+ }
39740
+ async function getPublicFormById({ client, params }) {
39741
+ return await client.getPublicFormById({
39742
+ formId: requireStringParam(params, "formId", "getPublicFormById"),
39743
+ siteId: requireStringParam(params, "siteId", "getPublicFormById")
39744
+ });
39745
+ }
39746
+ async function getPublicBookingServices({ client, params }) {
39747
+ return await client.getPublicBookingServices({
39748
+ siteId: requireStringParam(params, "siteId", "getPublicBookingServices"),
39749
+ ids: readStringParam(params, "ids")
39750
+ });
39751
+ }
39304
39752
  async function prefetchBlockData2(page, context, client, options) {
39305
39753
  const { customBlocks } = options ?? {};
39306
39754
  const customBlockMap = new Map(
@@ -39310,189 +39758,11 @@ async function prefetchBlockData2(page, context, client, options) {
39310
39758
  apiClient: async ({ endpoint, params }) => {
39311
39759
  if (!isSupportedLoaderEndpoint2(endpoint)) {
39312
39760
  throw new Error(
39313
- `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS2.join(", ")}`
39761
+ `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS.join(", ")}`
39314
39762
  );
39315
39763
  }
39316
39764
  const resolvedParams = normalizeLoaderParams(endpoint, params, context);
39317
- switch (endpoint) {
39318
- case "listPublishedEntries": {
39319
- const {
39320
- siteId,
39321
- type,
39322
- orderBy,
39323
- limit,
39324
- stage,
39325
- mode,
39326
- entryIds,
39327
- identifiers,
39328
- entryRefs
39329
- } = resolvedParams ?? {};
39330
- if (!siteId || !type) {
39331
- throw new Error("listPublishedEntries requires siteId and type params");
39332
- }
39333
- const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
39334
- const order = orderBy === "order" ? "manual" : orderBy === "newest" || orderBy === "oldest" || orderBy === "title" ? orderBy : void 0;
39335
- const parsedEntryRefs = mode === "manual" ? parseManualEntryRefs(identifiers, entryRefs, entryIds) : void 0;
39336
- if (mode === "manual" && (!parsedEntryRefs || parsedEntryRefs.length === 0)) {
39337
- return { entries: [] };
39338
- }
39339
- if (mode === "manual" && parsedEntryRefs) {
39340
- return await client.getEntriesByIdentifiers({
39341
- siteId,
39342
- contentType: type,
39343
- identifiers: parsedEntryRefs,
39344
- preview: stage === "preview"
39345
- });
39346
- }
39347
- return await client.getEntries({
39348
- siteId,
39349
- contentType: type,
39350
- limit: parsedLimit,
39351
- order,
39352
- preview: stage === "preview"
39353
- });
39354
- }
39355
- case "getPublishedEntryPreview": {
39356
- const { siteId, type, slug } = resolvedParams ?? {};
39357
- if (!siteId || !type || !slug) {
39358
- throw new Error("getPublishedEntryPreview requires siteId, type, and slug params");
39359
- }
39360
- return await client.getEntry({ siteId, contentType: type, slug });
39361
- }
39362
- case "listPublicEvents": {
39363
- const {
39364
- siteId,
39365
- limit,
39366
- from,
39367
- to,
39368
- stage,
39369
- categoryIds,
39370
- venueId,
39371
- kind,
39372
- entryId,
39373
- seriesId,
39374
- includeOccurrenceId
39375
- } = resolvedParams ?? {};
39376
- if (!siteId) {
39377
- throw new Error("listPublicEvents requires siteId param");
39378
- }
39379
- const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
39380
- return await client.listPublicEvents({
39381
- siteId,
39382
- limit: parsedLimit,
39383
- from,
39384
- to,
39385
- stage,
39386
- categoryIds: typeof categoryIds === "string" ? categoryIds : void 0,
39387
- venueId: typeof venueId === "string" ? venueId : void 0,
39388
- kind: kind === "all" || kind === "courses" || kind === "events" ? kind : void 0,
39389
- entryId: typeof entryId === "string" ? entryId : void 0,
39390
- seriesId: typeof seriesId === "string" ? seriesId : void 0,
39391
- includeOccurrenceId: typeof includeOccurrenceId === "string" ? includeOccurrenceId : void 0
39392
- });
39393
- }
39394
- case "getPublicEventDetails": {
39395
- const {
39396
- siteId,
39397
- limit,
39398
- from,
39399
- to,
39400
- afterStartsAt,
39401
- afterId,
39402
- stage,
39403
- categoryIds,
39404
- venueId,
39405
- staffMemberId,
39406
- kind,
39407
- entryId,
39408
- seriesId,
39409
- includeOccurrenceId
39410
- } = resolvedParams ?? {};
39411
- if (!siteId) {
39412
- throw new Error("getPublicEventDetails requires siteId param");
39413
- }
39414
- const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
39415
- return await client.getPublicEventDetails({
39416
- siteId,
39417
- limit: parsedLimit,
39418
- from: typeof from === "string" ? from : void 0,
39419
- to: typeof to === "string" ? to : void 0,
39420
- afterStartsAt: typeof afterStartsAt === "string" ? afterStartsAt : void 0,
39421
- afterId: typeof afterId === "string" ? afterId : void 0,
39422
- stage: typeof stage === "string" ? stage : void 0,
39423
- categoryIds: typeof categoryIds === "string" ? categoryIds : void 0,
39424
- venueId: typeof venueId === "string" ? venueId : void 0,
39425
- staffMemberId: typeof staffMemberId === "string" ? staffMemberId : void 0,
39426
- kind: typeof kind === "string" ? kind : void 0,
39427
- entryId: typeof entryId === "string" ? entryId : void 0,
39428
- seriesId: typeof seriesId === "string" ? seriesId : void 0,
39429
- includeOccurrenceId: typeof includeOccurrenceId === "string" ? includeOccurrenceId : void 0
39430
- });
39431
- }
39432
- case "listPublicCourses": {
39433
- const { siteId, limit, stage } = resolvedParams ?? {};
39434
- if (!siteId) {
39435
- throw new Error("listPublicCourses requires siteId param");
39436
- }
39437
- const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
39438
- return await client.listPublicCourses({ siteId, limit: parsedLimit, stage });
39439
- }
39440
- case "listPublicTeamMembers": {
39441
- const { siteId, stage } = resolvedParams ?? {};
39442
- if (!siteId) {
39443
- throw new Error("listPublicTeamMembers requires siteId param");
39444
- }
39445
- return await client.listPublicTeamMembers({
39446
- siteId,
39447
- stage: typeof stage === "string" ? stage : void 0
39448
- });
39449
- }
39450
- case "listPublicProducts": {
39451
- const { siteId, stage, categorySelector } = resolvedParams ?? {};
39452
- if (!siteId) {
39453
- throw new Error("listPublicProducts requires siteId param");
39454
- }
39455
- return await client.listPublicProducts({
39456
- siteId,
39457
- stage: stage === "preview" ? "preview" : "published",
39458
- categorySelector: parsePublicProductCategorySelector(categorySelector)
39459
- });
39460
- }
39461
- case "getPublicFormById": {
39462
- const { formId, siteId } = resolvedParams ?? {};
39463
- if (!formId) {
39464
- throw new Error("getPublicFormById requires formId param");
39465
- }
39466
- if (!siteId) {
39467
- throw new Error("getPublicFormById requires siteId param");
39468
- }
39469
- return await client.getPublicFormById({ formId, siteId });
39470
- }
39471
- case "getPublicBookingServices": {
39472
- const { siteId, ids } = resolvedParams ?? {};
39473
- if (!siteId) {
39474
- throw new Error("getPublicBookingServices requires siteId param");
39475
- }
39476
- return await client.getPublicBookingServices({ siteId, ids });
39477
- }
39478
- case "listPublicPasses": {
39479
- const { siteId, categories } = resolvedParams ?? {};
39480
- if (!siteId) {
39481
- throw new Error("listPublicPasses requires siteId param");
39482
- }
39483
- return await client.listPublicPasses({ siteId, categories });
39484
- }
39485
- case "listPublicMemberships": {
39486
- const { siteId, categories } = resolvedParams ?? {};
39487
- if (!siteId) {
39488
- throw new Error("listPublicMemberships requires siteId param");
39489
- }
39490
- return await client.listPublicMemberships({ siteId, categories });
39491
- }
39492
- default: {
39493
- throw new Error("Unhandled endpoint");
39494
- }
39495
- }
39765
+ return await loaderAdapters[endpoint]({ client, params: resolvedParams });
39496
39766
  },
39497
39767
  isValidEndpoint: isSupportedLoaderEndpoint2,
39498
39768
  onError: (error, { block, loader }) => {