@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
@@ -751,6 +751,64 @@ var ENDPOINT_DEFINITIONS = {
751
751
  auth: "user",
752
752
  responseKind: "json"
753
753
  },
754
+ listMailchimpAudiences: {
755
+ path: "/sites/{siteId}/integrations/mailchimp/audiences",
756
+ method: "GET",
757
+ tags: [TAG_TEMPLATES.site],
758
+ auth: "user",
759
+ responseKind: "json",
760
+ errors: ["auth:forbidden", "server:internal_error"]
761
+ },
762
+ getMailchimpSignupSyncHealth: {
763
+ path: "/sites/{siteId}/integrations/mailchimp/signup-sync-health",
764
+ method: "GET",
765
+ tags: [TAG_TEMPLATES.site],
766
+ auth: "user",
767
+ responseKind: "json",
768
+ errors: ["auth:forbidden", "server:internal_error"]
769
+ },
770
+ getMailchimpConnection: {
771
+ path: "/sites/{siteId}/integrations/mailchimp/connection",
772
+ method: "GET",
773
+ tags: [TAG_TEMPLATES.site],
774
+ auth: "user",
775
+ responseKind: "json",
776
+ errors: ["auth:forbidden", "server:internal_error"]
777
+ },
778
+ startMailchimpOAuth: {
779
+ path: "/sites/{siteId}/integrations/mailchimp/oauth/start",
780
+ method: "POST",
781
+ tags: [TAG_TEMPLATES.site],
782
+ auth: "user",
783
+ responseKind: "json",
784
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
785
+ errors: ["auth:forbidden", "validation:invalid_input", "server:internal_error"]
786
+ },
787
+ refreshMailchimpAudiences: {
788
+ path: "/sites/{siteId}/integrations/mailchimp/audiences/refresh",
789
+ method: "POST",
790
+ tags: [TAG_TEMPLATES.site],
791
+ auth: "user",
792
+ responseKind: "json",
793
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
794
+ errors: ["auth:forbidden", "server:internal_error"]
795
+ },
796
+ disconnectMailchimp: {
797
+ path: "/sites/{siteId}/integrations/mailchimp/disconnect",
798
+ method: "POST",
799
+ tags: [TAG_TEMPLATES.site],
800
+ auth: "user",
801
+ responseKind: "json",
802
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
803
+ errors: ["auth:forbidden", "server:internal_error"]
804
+ },
805
+ mailchimpOAuthCallback: {
806
+ path: "/auth/mailchimp/callback",
807
+ method: "GET",
808
+ auth: "public",
809
+ responseKind: "void",
810
+ errors: []
811
+ },
754
812
  createNewsletterList: {
755
813
  path: "/sites/{siteId}/newsletter/lists",
756
814
  method: "POST",
@@ -2975,20 +3033,6 @@ var ENDPOINT_DEFINITIONS = {
2975
3033
  auth: "user",
2976
3034
  responseKind: "json"
2977
3035
  },
2978
- instagramUploadZip: {
2979
- path: "/instagram/upload-zip",
2980
- method: "POST",
2981
- tags: ["instagram-import"],
2982
- auth: "user",
2983
- responseKind: "json"
2984
- },
2985
- createInstagramZipUploadUrl: {
2986
- path: "/instagram/upload-zip-url",
2987
- method: "POST",
2988
- tags: ["instagram-import"],
2989
- auth: "user",
2990
- responseKind: "json"
2991
- },
2992
3036
  getAnalyticsReport: {
2993
3037
  path: "/sites/{siteId}/analytics/report",
2994
3038
  method: "GET",
@@ -6383,6 +6427,48 @@ function err(error) {
6383
6427
  return { ok: false, error };
6384
6428
  }
6385
6429
 
6430
+ // ../core/src/assert-never.ts
6431
+ function assertNever(value, message = "Unexpected variant") {
6432
+ throw new Error(`${message}: ${String(value)}`);
6433
+ }
6434
+
6435
+ // ../core/src/currency-format.ts
6436
+ var CURRENCY_LOCALE_BY_CODE = {
6437
+ USD: "en-US",
6438
+ GBP: "en-GB",
6439
+ EUR: "de-DE",
6440
+ AUD: "en-AU",
6441
+ CAD: "en-CA",
6442
+ NZD: "en-NZ",
6443
+ JPY: "ja-JP",
6444
+ CNY: "zh-CN",
6445
+ CHF: "de-CH"
6446
+ };
6447
+ function resolveCurrencyLocale(currencyCode, override) {
6448
+ return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
6449
+ }
6450
+ function formatCurrencyAmount(amountCents, currency, options) {
6451
+ const currencyCode = currency.toUpperCase();
6452
+ const locale = resolveCurrencyLocale(currencyCode, options?.locale);
6453
+ try {
6454
+ const exactFormatter = new Intl.NumberFormat(locale, {
6455
+ style: "currency",
6456
+ currency: currencyCode
6457
+ });
6458
+ const fractionDigits = options?.decimals === "auto" ? {
6459
+ minimumFractionDigits: 0,
6460
+ maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
6461
+ } : {};
6462
+ return new Intl.NumberFormat(locale, {
6463
+ style: "currency",
6464
+ currency: currencyCode,
6465
+ ...fractionDigits
6466
+ }).format(amountCents / 100);
6467
+ } catch {
6468
+ return `${(amountCents / 100).toFixed(2)} ${currencyCode}`;
6469
+ }
6470
+ }
6471
+
6386
6472
  // ../core/src/event-pricing.ts
6387
6473
  function publicEventPricingType(pricing) {
6388
6474
  switch (pricing.kind) {
@@ -6403,6 +6489,7 @@ function isFreePublicEventPriceDisplay(display) {
6403
6489
  return display.display.kind === "free";
6404
6490
  case "exact":
6405
6491
  case "from":
6492
+ case "range":
6406
6493
  case "mixed":
6407
6494
  case "unavailable":
6408
6495
  return false;
@@ -6561,11 +6648,6 @@ function toLocationCoordinates(value) {
6561
6648
  };
6562
6649
  }
6563
6650
 
6564
- // ../core/src/assert-never.ts
6565
- function assertNever(value, message = "Unexpected variant") {
6566
- throw new Error(`${message}: ${String(value)}`);
6567
- }
6568
-
6569
6651
  // ../api/src/accessAdmin.ts
6570
6652
  import { z } from "zod";
6571
6653
  var managedDomainAddOnPricingSnapshotSchema = z.object({
@@ -6670,7 +6752,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
6670
6752
  );
6671
6753
 
6672
6754
  // ../api/src/sdkConfig/contracts.ts
6673
- import { z as z64 } from "zod";
6755
+ import { z as z65 } from "zod";
6674
6756
 
6675
6757
  // ../blocks/src/system/manifest/augmentManifest.ts
6676
6758
  function augmentManifest(manifest) {
@@ -21807,15 +21889,53 @@ var newsletterFormFragment = defineFragment({
21807
21889
  title: "Newsletter Form",
21808
21890
  description: "Newsletter subscription form with preset field configurations.",
21809
21891
  fields: [
21892
+ {
21893
+ id: "destinationProvider",
21894
+ type: "select",
21895
+ label: "Send signups to",
21896
+ description: "Choose where new subscribers from this form should go.",
21897
+ defaultValue: "riverbank",
21898
+ required: true,
21899
+ ui: { intent: "behavior" },
21900
+ options: [
21901
+ { value: "riverbank", label: "Riverbank newsletter" }
21902
+ ]
21903
+ },
21810
21904
  {
21811
21905
  id: "listId",
21812
21906
  type: "reference",
21813
21907
  label: "Newsletter list",
21814
21908
  description: "Select the list new subscribers should be added to.",
21815
- required: true,
21909
+ required: false,
21816
21910
  referenceKind: "newsletterList",
21817
21911
  allowManualEntry: false,
21818
- ui: { intent: "behavior" }
21912
+ ui: {
21913
+ intent: "behavior",
21914
+ visibleWhen: { field: "destinationProvider", equals: "riverbank" }
21915
+ }
21916
+ },
21917
+ {
21918
+ id: "mailchimpAudienceId",
21919
+ type: "reference",
21920
+ label: "Mailchimp audience",
21921
+ description: "Choose the Mailchimp audience for new subscribers.",
21922
+ required: false,
21923
+ referenceKind: "mailchimpAudience",
21924
+ allowManualEntry: false,
21925
+ ui: {
21926
+ intent: "behavior",
21927
+ visibleWhen: { field: "destinationProvider", equals: "mailchimp" }
21928
+ }
21929
+ },
21930
+ {
21931
+ id: "mailchimpTags",
21932
+ type: "text",
21933
+ label: "Mailchimp tags",
21934
+ description: "Optional tags to apply in Mailchimp, separated by commas or semicolons.",
21935
+ ui: {
21936
+ intent: "behavior",
21937
+ visibleWhen: { field: "destinationProvider", equals: "mailchimp" }
21938
+ }
21819
21939
  },
21820
21940
  {
21821
21941
  id: "preset",
@@ -21862,13 +21982,18 @@ var newsletterFormFragment = defineFragment({
21862
21982
  id: "tags",
21863
21983
  type: "text",
21864
21984
  label: "Tags (optional)",
21865
- description: "Optional tags to apply on subscribe (comma or semicolon separated)."
21985
+ description: "Optional tags to apply on subscribe (comma or semicolon separated).",
21986
+ ui: {
21987
+ intent: "behavior",
21988
+ visibleWhen: { field: "destinationProvider", equals: "riverbank" }
21989
+ }
21866
21990
  }
21867
21991
  ],
21868
21992
  layout: [
21869
21993
  el(
21870
21994
  "newsletter-form",
21871
21995
  withApiBindings({
21996
+ destinationProvider: { $bind: { from: "destinationProvider" } },
21872
21997
  listId: { $bind: { from: "listId" } },
21873
21998
  preset: { $bind: { from: "preset" } },
21874
21999
  includePhone: { $bind: { from: "includePhone" } },
@@ -27712,10 +27837,10 @@ var appointmentBookingBlockDefinition = {
27712
27837
  };
27713
27838
 
27714
27839
  // ../blocks/src/system/blocks/event-registration.ts
27715
- import { z as z46 } from "zod";
27840
+ import { z as z47 } from "zod";
27716
27841
 
27717
27842
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27718
- import { z as z42 } from "zod";
27843
+ import { z as z43 } from "zod";
27719
27844
 
27720
27845
  // ../blocks/src/lib/media.ts
27721
27846
  import z39 from "zod";
@@ -27793,296 +27918,339 @@ var mediaSchema2 = z39.discriminatedUnion("type", [
27793
27918
  archiveMediaSchema
27794
27919
  ]);
27795
27920
 
27796
- // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
27921
+ // ../blocks/src/system/manifest/richTextSchema.ts
27797
27922
  import { z as z40 } from "zod";
27798
- var bookingDepositRefundPolicySchema = z40.enum([
27923
+ var TipTapMarkSchema = z40.object({
27924
+ type: z40.string(),
27925
+ attrs: z40.record(z40.string(), z40.unknown()).optional()
27926
+ });
27927
+ var TipTapNodeSchema = z40.lazy(
27928
+ () => z40.object({
27929
+ type: z40.string(),
27930
+ content: z40.array(TipTapNodeSchema).optional(),
27931
+ text: z40.string().optional(),
27932
+ attrs: z40.record(z40.string(), z40.unknown()).optional(),
27933
+ marks: z40.array(TipTapMarkSchema).optional()
27934
+ })
27935
+ );
27936
+ var RichTextValueSchema = z40.union([
27937
+ // Canonical: TipTap document directly
27938
+ TipTapNodeSchema,
27939
+ // Legacy (read-tolerance only): wrapped in { doc: {...} }
27940
+ z40.object({
27941
+ doc: TipTapNodeSchema
27942
+ })
27943
+ ]);
27944
+ var RichTextDocSchema = z40.object({
27945
+ type: z40.literal("doc"),
27946
+ content: z40.array(TipTapNodeSchema)
27947
+ });
27948
+
27949
+ // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
27950
+ import { z as z41 } from "zod";
27951
+ var bookingDepositRefundPolicySchema = z41.enum([
27799
27952
  "refundable",
27800
27953
  "non_refundable"
27801
27954
  ]);
27802
- var bookingInstalmentPlanSchema = z40.union([
27803
- z40.object({
27804
- kind: z40.literal("deposit_plus_one_remainder"),
27805
- depositAmountCents: z40.number().int().min(0),
27955
+ var bookingInstalmentPlanSchema = z41.union([
27956
+ z41.object({
27957
+ kind: z41.literal("deposit_plus_one_remainder"),
27958
+ depositAmountCents: z41.number().int().min(0),
27806
27959
  depositRefundability: bookingDepositRefundPolicySchema,
27807
- remainderDueCount: z40.number().int().positive(),
27808
- intervalUnit: z40.enum(["day", "week", "month"])
27960
+ remainderDueCount: z41.number().int().positive(),
27961
+ intervalUnit: z41.enum(["day", "week", "month"])
27809
27962
  }),
27810
- z40.object({
27811
- kind: z40.literal("deposit_plus_scheduled_instalments"),
27812
- depositAmountCents: z40.number().int().min(0),
27963
+ z41.object({
27964
+ kind: z41.literal("deposit_plus_scheduled_instalments"),
27965
+ depositAmountCents: z41.number().int().min(0),
27813
27966
  depositRefundability: bookingDepositRefundPolicySchema,
27814
- instalmentCount: z40.number().int().positive(),
27815
- intervalCount: z40.number().int().positive(),
27816
- intervalUnit: z40.enum(["day", "week", "month"])
27967
+ instalmentCount: z41.number().int().positive(),
27968
+ intervalCount: z41.number().int().positive(),
27969
+ intervalUnit: z41.enum(["day", "week", "month"])
27817
27970
  }),
27818
- z40.object({
27819
- kind: z40.literal("equal_scheduled_instalments"),
27820
- instalmentCount: z40.number().int().positive(),
27821
- intervalCount: z40.number().int().positive(),
27822
- intervalUnit: z40.enum(["day", "week", "month"])
27971
+ z41.object({
27972
+ kind: z41.literal("equal_scheduled_instalments"),
27973
+ instalmentCount: z41.number().int().positive(),
27974
+ intervalCount: z41.number().int().positive(),
27975
+ intervalUnit: z41.enum(["day", "week", "month"])
27823
27976
  })
27824
27977
  ]);
27825
- var bookingFlexibleBalanceDueDateRuleSchema = z40.union([
27826
- z40.object({
27827
- kind: z40.literal("relative_to_start_date"),
27828
- daysBeforeStart: z40.number().int().positive()
27978
+ var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
27979
+ z41.object({
27980
+ kind: z41.literal("relative_to_start_date"),
27981
+ daysBeforeStart: z41.number().int().positive()
27829
27982
  }),
27830
- z40.object({
27831
- kind: z40.literal("fixed_calendar_date"),
27832
- dueAt: z40.string().datetime()
27983
+ z41.object({
27984
+ kind: z41.literal("fixed_calendar_date"),
27985
+ dueAt: z41.string().datetime()
27833
27986
  })
27834
27987
  ]);
27835
- var bookingFlexibleBalanceConfigSchema = z40.object({
27836
- upfrontAmountCents: z40.number().int().min(0),
27988
+ var bookingFlexibleBalanceConfigSchema = z41.object({
27989
+ upfrontAmountCents: z41.number().int().min(0),
27837
27990
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
27838
27991
  depositRefundability: bookingDepositRefundPolicySchema
27839
27992
  });
27840
- var blockBookingPaymentCollectionOptionSchema = z40.union([
27841
- z40.object({
27842
- kind: z40.literal("upfront")
27993
+ var blockBookingPaymentCollectionOptionSchema = z41.union([
27994
+ z41.object({
27995
+ kind: z41.literal("upfront")
27843
27996
  }),
27844
- z40.object({
27845
- kind: z40.literal("deferred_manual")
27997
+ z41.object({
27998
+ kind: z41.literal("deferred_manual")
27846
27999
  }),
27847
- z40.object({
27848
- kind: z40.literal("instalment_plan"),
28000
+ z41.object({
28001
+ kind: z41.literal("instalment_plan"),
27849
28002
  plan: bookingInstalmentPlanSchema
27850
28003
  }),
27851
- z40.object({
27852
- kind: z40.literal("flexible_balance"),
28004
+ z41.object({
28005
+ kind: z41.literal("flexible_balance"),
27853
28006
  config: bookingFlexibleBalanceConfigSchema
27854
28007
  })
27855
28008
  ]);
27856
- var blockBookingPaymentTermsSchema = z40.object({
27857
- allowedOptions: z40.array(blockBookingPaymentCollectionOptionSchema).min(1)
28009
+ var blockBookingPaymentTermsSchema = z41.object({
28010
+ allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
27858
28011
  });
27859
28012
 
27860
28013
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
27861
- import { z as z41 } from "zod";
27862
- var courseVenueSchema = z41.object({
27863
- id: z41.string(),
27864
- name: z41.string(),
27865
- address: z41.string().nullable()
27866
- });
27867
- var courseSessionSchema = z41.object({
27868
- id: z41.string(),
27869
- startsAt: z41.string(),
27870
- endsAt: z41.string(),
27871
- timeZone: z41.string(),
27872
- capacityOverride: z41.number().nullable().optional(),
27873
- overrides: z41.record(z41.string(), z41.unknown()).nullable().optional()
27874
- });
27875
- var courseTeamMemberSummarySchema = z41.object({
27876
- id: z41.string(),
27877
- name: z41.string(),
27878
- roleLabel: z41.string().nullable(),
27879
- summary: z41.string().nullable(),
27880
- profilePath: z41.string().nullable()
27881
- });
27882
- var coursePricingOptionSchema = z41.object({
27883
- id: z41.string(),
27884
- name: z41.string(),
27885
- description: z41.string().nullable(),
27886
- priceAmount: z41.number(),
27887
- isActive: z41.boolean(),
27888
- sortOrder: z41.number(),
27889
- capacityLimit: z41.number().nullable(),
27890
- saleStartsAt: z41.string().nullable(),
27891
- saleEndsAt: z41.string().nullable(),
27892
- attendanceScope: z41.enum(["in_person", "online", "both"]).nullable().optional()
27893
- });
27894
- var coursePricingSchema = z41.object({
27895
- bookingRequirement: z41.enum(["none", "required"]),
27896
- pricingStrategy: z41.enum(["free", "single", "tiered"]),
27897
- currency: z41.string(),
27898
- singlePriceAmount: z41.number().nullable(),
28014
+ import { z as z42 } from "zod";
28015
+ var courseVenueSchema = z42.object({
28016
+ id: z42.string(),
28017
+ name: z42.string(),
28018
+ address: z42.string().nullable()
28019
+ });
28020
+ var courseSessionSchema = z42.object({
28021
+ id: z42.string(),
28022
+ startsAt: z42.string(),
28023
+ endsAt: z42.string(),
28024
+ timeZone: z42.string(),
28025
+ capacityOverride: z42.number().nullable().optional(),
28026
+ overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
28027
+ });
28028
+ var courseTeamMemberSummarySchema = z42.object({
28029
+ id: z42.string(),
28030
+ name: z42.string(),
28031
+ roleLabel: z42.string().nullable(),
28032
+ summary: z42.string().nullable(),
28033
+ profilePath: z42.string().nullable()
28034
+ });
28035
+ var coursePricingOptionSchema = z42.object({
28036
+ id: z42.string(),
28037
+ name: z42.string(),
28038
+ description: z42.string().nullable(),
28039
+ priceAmount: z42.number(),
28040
+ isActive: z42.boolean(),
28041
+ sortOrder: z42.number(),
28042
+ capacityLimit: z42.number().nullable(),
28043
+ saleStartsAt: z42.string().nullable(),
28044
+ saleEndsAt: z42.string().nullable(),
28045
+ attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
28046
+ });
28047
+ var coursePricingSchema = z42.object({
28048
+ bookingRequirement: z42.enum(["none", "required"]),
28049
+ pricingStrategy: z42.enum(["free", "single", "tiered"]),
28050
+ currency: z42.string(),
28051
+ singlePriceAmount: z42.number().nullable(),
27899
28052
  paymentTerms: blockBookingPaymentTermsSchema,
27900
- options: z41.array(coursePricingOptionSchema)
27901
- });
27902
- var publicCourseSchema = z41.object({
27903
- id: z41.string(),
27904
- title: z41.string(),
27905
- slug: z41.string(),
27906
- description: z41.unknown().nullable(),
27907
- teamMembers: z41.array(courseTeamMemberSummarySchema).optional(),
27908
- enrollmentOpen: z41.boolean(),
28053
+ options: z42.array(coursePricingOptionSchema)
28054
+ });
28055
+ var publicCourseSchema = z42.object({
28056
+ id: z42.string(),
28057
+ title: z42.string(),
28058
+ slug: z42.string(),
28059
+ description: z42.unknown().nullable(),
28060
+ teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
28061
+ enrollmentOpen: z42.boolean(),
27909
28062
  pricing: coursePricingSchema.optional(),
27910
- priceCents: z41.number().nullable(),
27911
- currency: z41.string(),
28063
+ priceCents: z42.number().nullable(),
28064
+ currency: z42.string(),
27912
28065
  paymentTerms: blockBookingPaymentTermsSchema,
27913
- enrollmentCapacity: z41.number().nullable(),
27914
- acceptsMemberships: z41.boolean(),
27915
- status: z41.enum(["active", "draft", "cancelled"]),
27916
- sessionsCount: z41.number(),
27917
- enrolledCount: z41.number(),
27918
- availableSpots: z41.number().nullable(),
27919
- sessions: z41.array(courseSessionSchema),
28066
+ enrollmentCapacity: z42.number().nullable(),
28067
+ acceptsMemberships: z42.boolean(),
28068
+ status: z42.enum(["active", "draft", "cancelled"]),
28069
+ sessionsCount: z42.number(),
28070
+ enrolledCount: z42.number(),
28071
+ availableSpots: z42.number().nullable(),
28072
+ sessions: z42.array(courseSessionSchema),
27920
28073
  venue: courseVenueSchema.nullable(),
27921
- contentEntryId: z41.string().nullable()
28074
+ contentEntryId: z42.string().nullable()
27922
28075
  });
27923
- var publicCoursesArraySchema = z41.array(publicCourseSchema);
28076
+ var publicCoursesArraySchema = z42.array(publicCourseSchema);
27924
28077
 
27925
28078
  // ../blocks/src/system/blocks/events/shared/schemas.ts
27926
- var eventPresetSchema = z42.enum(["event", "class", "workshop", "retreat", "performance"]);
27927
- var eventScheduleScopeSchema = z42.enum(["recurring", "oneOff"]);
27928
- var eventDestinationModeSchema = z42.enum(["cms-managed", "system-managed"]);
27929
- var eventVenueSchema = z42.object({
27930
- id: z42.string(),
27931
- name: z42.string(),
27932
- address: z42.string().nullable(),
27933
- location: z42.object({
27934
- lat: z42.number(),
27935
- lng: z42.number()
28079
+ var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
28080
+ var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
28081
+ var eventDestinationModeSchema = z43.enum(["cms-managed", "system-managed"]);
28082
+ var eventVenueSchema = z43.object({
28083
+ id: z43.string(),
28084
+ name: z43.string(),
28085
+ address: z43.string().nullable(),
28086
+ location: z43.object({
28087
+ lat: z43.number(),
28088
+ lng: z43.number()
27936
28089
  }).nullable()
27937
28090
  });
27938
- var eventCategorySchema = z42.object({
27939
- id: z42.string(),
27940
- name: z42.string(),
27941
- color: z42.string().nullable()
27942
- });
27943
- var pricingTypeSchema = z42.enum(["free", "paid"]);
27944
- var accessRestrictionSchema = z42.enum(["none", "category"]);
27945
- var eventPricingModeSchema = z42.enum(["single", "ticket_types"]);
27946
- var publicCoursePriceDisplaySchema = z42.discriminatedUnion("kind", [
27947
- z42.object({ kind: z42.literal("free"), currency: z42.string() }),
27948
- z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() }),
27949
- z42.object({ kind: z42.literal("from"), amount: z42.number(), currency: z42.string() }),
27950
- z42.object({ kind: z42.literal("unavailable"), currency: z42.string() })
28091
+ var eventCategorySchema = z43.object({
28092
+ id: z43.string(),
28093
+ name: z43.string(),
28094
+ color: z43.string().nullable()
28095
+ });
28096
+ var pricingTypeSchema = z43.enum(["free", "paid"]);
28097
+ var accessRestrictionSchema = z43.enum(["none", "category"]);
28098
+ var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
28099
+ var publicCoursePriceDisplaySchema = z43.discriminatedUnion("kind", [
28100
+ z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28101
+ z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28102
+ z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28103
+ z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
27951
28104
  ]);
27952
- var publicEventPriceDisplaySchema = z42.discriminatedUnion("kind", [
27953
- z42.object({ kind: z42.literal("free"), currency: z42.string() }),
27954
- z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() }),
27955
- z42.object({ kind: z42.literal("from"), amount: z42.number(), currency: z42.string() }),
27956
- z42.object({ kind: z42.literal("mixed"), paidFromAmount: z42.number(), currency: z42.string() }),
27957
- z42.object({ kind: z42.literal("unavailable"), currency: z42.string() }),
27958
- z42.object({ kind: z42.literal("course"), display: publicCoursePriceDisplaySchema })
28105
+ var publicEventPriceDisplaySchema = z43.discriminatedUnion("kind", [
28106
+ z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28107
+ z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28108
+ z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28109
+ z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28110
+ z43.object({
28111
+ kind: z43.literal("mixed"),
28112
+ paidFromAmount: z43.number(),
28113
+ paidToAmount: z43.number(),
28114
+ currency: z43.string()
28115
+ }),
28116
+ z43.object({ kind: z43.literal("unavailable"), currency: z43.string() }),
28117
+ z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
27959
28118
  ]);
27960
- var publicEventTicketTypePriceDisplaySchema = z42.union([
27961
- z42.object({ kind: z42.literal("free"), currency: z42.string() }),
27962
- z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() }),
27963
- z42.object({ kind: z42.literal("from"), amount: z42.number(), currency: z42.string() }),
27964
- z42.object({ kind: z42.literal("mixed"), paidFromAmount: z42.number(), currency: z42.string() }),
27965
- z42.object({ kind: z42.literal("unavailable"), currency: z42.string() })
28119
+ var publicEventTicketTypePriceDisplaySchema = z43.union([
28120
+ z43.object({ kind: z43.literal("free"), currency: z43.string() }),
28121
+ z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() }),
28122
+ z43.object({ kind: z43.literal("from"), amount: z43.number(), currency: z43.string() }),
28123
+ z43.object({ kind: z43.literal("range"), minAmount: z43.number(), maxAmount: z43.number(), currency: z43.string() }),
28124
+ z43.object({
28125
+ kind: z43.literal("mixed"),
28126
+ paidFromAmount: z43.number(),
28127
+ paidToAmount: z43.number(),
28128
+ currency: z43.string()
28129
+ }),
28130
+ z43.object({ kind: z43.literal("unavailable"), currency: z43.string() })
27966
28131
  ]);
27967
- var publicEventAttendanceModeSchema = z42.enum(["in_person", "online"]);
27968
- var publicEventAttendanceModeAvailabilitySchema = z42.object({
28132
+ var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
28133
+ var publicEventAttendanceModeAvailabilitySchema = z43.object({
27969
28134
  mode: publicEventAttendanceModeSchema,
27970
- capacity: z42.number().nullable(),
27971
- registeredCount: z42.number(),
27972
- availableSpots: z42.number().nullable(),
27973
- waitlistEnabled: z42.boolean()
27974
- });
27975
- var publicEventTicketTypeAvailabilitySchema = z42.union([
27976
- z42.object({
27977
- kind: z42.literal("available"),
27978
- remainingCapacity: z42.number().nullable()
28135
+ capacity: z43.number().nullable(),
28136
+ registeredCount: z43.number(),
28137
+ availableSpots: z43.number().nullable(),
28138
+ waitlistEnabled: z43.boolean()
28139
+ });
28140
+ var publicEventTicketTypeAvailabilitySchema = z43.union([
28141
+ z43.object({
28142
+ kind: z43.literal("available"),
28143
+ remainingCapacity: z43.number().nullable()
27979
28144
  }),
27980
- z42.object({
27981
- kind: z42.literal("unavailable"),
27982
- reason: z42.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
27983
- remainingCapacity: z42.number().nullable()
28145
+ z43.object({
28146
+ kind: z43.literal("unavailable"),
28147
+ reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
28148
+ remainingCapacity: z43.number().nullable()
27984
28149
  })
27985
28150
  ]);
27986
- var publicEventTicketTypeSchema = z42.object({
27987
- id: z42.string(),
27988
- siteId: z42.string(),
27989
- eventSeriesId: z42.string(),
27990
- name: z42.string(),
27991
- description: z42.string().nullable(),
27992
- priceAmount: z42.number(),
27993
- isActive: z42.boolean(),
27994
- sortOrder: z42.number(),
27995
- capacityMode: z42.enum(["limited", "unlimited"]),
27996
- capacityLimit: z42.number().nullable(),
27997
- attendanceScope: z42.enum(["in_person", "online", "both"]).optional(),
27998
- saleStartsAt: z42.string().nullable(),
27999
- saleEndsAt: z42.string().nullable(),
28151
+ var publicEventTicketTypeSchema = z43.object({
28152
+ id: z43.string(),
28153
+ siteId: z43.string(),
28154
+ eventSeriesId: z43.string(),
28155
+ name: z43.string(),
28156
+ description: z43.string().nullable(),
28157
+ priceAmount: z43.number(),
28158
+ isActive: z43.boolean(),
28159
+ sortOrder: z43.number(),
28160
+ capacityMode: z43.enum(["limited", "unlimited"]),
28161
+ capacityLimit: z43.number().nullable(),
28162
+ attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
28163
+ saleStartsAt: z43.string().nullable(),
28164
+ saleEndsAt: z43.string().nullable(),
28000
28165
  availability: publicEventTicketTypeAvailabilitySchema,
28001
- createdAt: z42.string(),
28002
- updatedAt: z42.string()
28003
- });
28004
- var publicEventPricingSchema = z42.discriminatedUnion("kind", [
28005
- z42.object({
28006
- kind: z42.literal("drop_in"),
28007
- currency: z42.string(),
28008
- display: z42.object({ kind: z42.literal("free"), currency: z42.string() })
28166
+ createdAt: z43.string(),
28167
+ updatedAt: z43.string()
28168
+ });
28169
+ var publicEventPricingSchema = z43.discriminatedUnion("kind", [
28170
+ z43.object({
28171
+ kind: z43.literal("drop_in"),
28172
+ currency: z43.string(),
28173
+ display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28009
28174
  }),
28010
- z42.object({
28011
- kind: z42.literal("free_registration"),
28012
- currency: z42.string(),
28013
- display: z42.object({ kind: z42.literal("free"), currency: z42.string() })
28175
+ z43.object({
28176
+ kind: z43.literal("free_registration"),
28177
+ currency: z43.string(),
28178
+ display: z43.object({ kind: z43.literal("free"), currency: z43.string() })
28014
28179
  }),
28015
- z42.object({
28016
- kind: z42.literal("single_paid"),
28017
- amount: z42.number(),
28018
- currency: z42.string(),
28019
- display: z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() })
28180
+ z43.object({
28181
+ kind: z43.literal("single_paid"),
28182
+ amount: z43.number(),
28183
+ currency: z43.string(),
28184
+ display: z43.object({ kind: z43.literal("exact"), amount: z43.number(), currency: z43.string() })
28020
28185
  }),
28021
- z42.object({
28022
- kind: z42.literal("ticket_types"),
28023
- currency: z42.string(),
28024
- ticketTypes: z42.array(publicEventTicketTypeSchema),
28186
+ z43.object({
28187
+ kind: z43.literal("ticket_types"),
28188
+ currency: z43.string(),
28189
+ ticketTypes: z43.array(publicEventTicketTypeSchema),
28025
28190
  display: publicEventTicketTypePriceDisplaySchema
28026
28191
  }),
28027
- z42.object({
28028
- kind: z42.literal("course"),
28029
- display: z42.object({ kind: z42.literal("course"), display: publicCoursePriceDisplaySchema })
28192
+ z43.object({
28193
+ kind: z43.literal("course"),
28194
+ display: z43.object({ kind: z43.literal("course"), display: publicCoursePriceDisplaySchema })
28030
28195
  })
28031
28196
  ]);
28032
- var publicTeamMemberSummarySchema = z42.object({
28033
- id: z42.string(),
28034
- name: z42.string(),
28035
- roleLabel: z42.string().nullable(),
28036
- summary: z42.string().nullable(),
28037
- profilePath: z42.string().nullable()
28197
+ var publicTeamMemberSummarySchema = z43.object({
28198
+ id: z43.string(),
28199
+ name: z43.string(),
28200
+ roleLabel: z43.string().nullable(),
28201
+ summary: z43.string().nullable(),
28202
+ profilePath: z43.string().nullable()
28038
28203
  });
28039
- var publicEventSchema = z42.object({
28040
- kind: z42.enum(["event", "course_session"]).optional(),
28204
+ var publicEventSchema = z43.object({
28205
+ kind: z43.enum(["event", "course_session"]).optional(),
28041
28206
  eventPreset: eventPresetSchema.optional(),
28042
28207
  eventDestinationMode: eventDestinationModeSchema.optional(),
28043
28208
  scheduleScope: eventScheduleScopeSchema.optional(),
28044
- id: z42.string(),
28045
- occurrenceId: z42.string(),
28046
- seriesId: z42.string(),
28047
- title: z42.string(),
28048
- description: z42.string().nullable(),
28049
- presentation: z42.object({
28050
- cardTitleOverride: z42.string().nullable().optional(),
28051
- summary: z42.string().nullable().optional(),
28209
+ id: z43.string(),
28210
+ occurrenceId: z43.string(),
28211
+ seriesId: z43.string(),
28212
+ title: z43.string(),
28213
+ description: z43.string().nullable(),
28214
+ content: z43.object({
28215
+ body: RichTextDocSchema.nullable().optional()
28216
+ }).optional(),
28217
+ presentation: z43.object({
28218
+ cardTitleOverride: z43.string().nullable().optional(),
28219
+ summary: z43.string().nullable().optional(),
28052
28220
  image: mediaSchema2.nullable().optional()
28053
28221
  }).optional(),
28054
- slug: z42.string(),
28055
- path: z42.string(),
28056
- requiresRegistration: z42.boolean(),
28057
- deliveryMode: z42.enum(["in_person", "online", "hybrid"]),
28058
- attendanceModes: z42.array(publicEventAttendanceModeAvailabilitySchema),
28059
- startsAt: z42.string(),
28060
- endsAt: z42.string(),
28061
- capacity: z42.number().nullable(),
28062
- registeredCount: z42.number(),
28063
- availableSpots: z42.number().nullable(),
28064
- waitlistEnabled: z42.boolean(),
28222
+ slug: z43.string(),
28223
+ path: z43.string(),
28224
+ requiresRegistration: z43.boolean(),
28225
+ deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
28226
+ attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
28227
+ startsAt: z43.string(),
28228
+ endsAt: z43.string(),
28229
+ capacity: z43.number().nullable(),
28230
+ registeredCount: z43.number(),
28231
+ availableSpots: z43.number().nullable(),
28232
+ waitlistEnabled: z43.boolean(),
28065
28233
  venue: eventVenueSchema.nullable(),
28066
28234
  eventCategory: eventCategorySchema.nullable(),
28067
- teamMembers: z42.array(publicTeamMemberSummarySchema).optional(),
28068
- status: z42.enum(["active", "draft", "archived"]).optional(),
28069
- timeZone: z42.string(),
28235
+ teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
28236
+ status: z43.enum(["active", "draft", "archived"]).optional(),
28237
+ timeZone: z43.string(),
28070
28238
  pricing: publicEventPricingSchema,
28071
28239
  paymentTerms: blockBookingPaymentTermsSchema,
28072
28240
  accessRestriction: accessRestrictionSchema,
28073
- allowedCategoryIds: z42.array(z42.string()),
28074
- requireGuestDetails: z42.boolean().optional(),
28075
- acceptsPasses: z42.boolean().optional(),
28076
- acceptsMemberships: z42.boolean().optional(),
28077
- course: z42.object({
28078
- id: z42.string(),
28241
+ allowedCategoryIds: z43.array(z43.string()),
28242
+ requireGuestDetails: z43.boolean().optional(),
28243
+ acceptsPasses: z43.boolean().optional(),
28244
+ acceptsMemberships: z43.boolean().optional(),
28245
+ course: z43.object({
28246
+ id: z43.string(),
28079
28247
  pricing: coursePricingSchema.optional(),
28080
- priceCents: z42.number().nullable(),
28081
- currency: z42.string(),
28082
- enrollmentOpen: z42.boolean()
28248
+ priceCents: z43.number().nullable(),
28249
+ currency: z43.string(),
28250
+ enrollmentOpen: z43.boolean()
28083
28251
  }).nullable().optional()
28084
28252
  });
28085
- var publicEventsArraySchema = z42.array(publicEventSchema);
28253
+ var publicEventsArraySchema = z43.array(publicEventSchema);
28086
28254
 
28087
28255
  // ../blocks/src/system/blocks/events/shared/fields.ts
28088
28256
  var cardVariantOptions2 = cardVariantRoleValues.map((value) => ({
@@ -28286,19 +28454,19 @@ function normalizeEventStaffMemberId(value) {
28286
28454
  }
28287
28455
 
28288
28456
  // ../blocks/src/system/blocks/event-registration.shared.ts
28289
- import { z as z43 } from "zod";
28290
- var occurrenceContextSchema = z43.object({
28291
- id: z43.string(),
28292
- seriesId: z43.string(),
28293
- startsAt: z43.string(),
28294
- endsAt: z43.string(),
28295
- timeZone: z43.string(),
28296
- capacityOverride: z43.number().nullable().optional(),
28297
- overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
28457
+ import { z as z44 } from "zod";
28458
+ var occurrenceContextSchema = z44.object({
28459
+ id: z44.string(),
28460
+ seriesId: z44.string(),
28461
+ startsAt: z44.string(),
28462
+ endsAt: z44.string(),
28463
+ timeZone: z44.string(),
28464
+ capacityOverride: z44.number().nullable().optional(),
28465
+ overrides: z44.record(z44.string(), z44.unknown()).nullable().optional()
28298
28466
  }).nullable();
28299
28467
 
28300
28468
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28301
- import { z as z45 } from "zod";
28469
+ import { z as z46 } from "zod";
28302
28470
 
28303
28471
  // ../blocks/src/system/constants/events.ts
28304
28472
  var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
@@ -28396,10 +28564,21 @@ function readLegacyPriceDisplay(value, currency) {
28396
28564
  amount: readAmount(value.amount) ?? 0,
28397
28565
  currency: displayCurrency
28398
28566
  } : { kind: "unavailable", currency };
28567
+ case "range": {
28568
+ const minAmount = readAmount(value.minAmount);
28569
+ const maxAmount = readAmount(value.maxAmount);
28570
+ return minAmount !== null && maxAmount !== null ? {
28571
+ kind: "range",
28572
+ minAmount,
28573
+ maxAmount,
28574
+ currency: displayCurrency
28575
+ } : { kind: "unavailable", currency };
28576
+ }
28399
28577
  case "mixed":
28400
28578
  return readAmount(value.paidFromAmount) !== null ? {
28401
28579
  kind: "mixed",
28402
28580
  paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
28581
+ paidToAmount: readAmount(value.paidToAmount) ?? readAmount(value.paidFromAmount) ?? 0,
28403
28582
  currency: displayCurrency
28404
28583
  } : { kind: "unavailable", currency };
28405
28584
  case "unavailable":
@@ -28441,16 +28620,16 @@ function readAmount(value) {
28441
28620
  }
28442
28621
 
28443
28622
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
28444
- import { z as z44 } from "zod";
28445
- var previewStageSchema = z44.enum(["preview", "published"]);
28446
- var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
28447
- var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
28448
- var eventLayoutSchema = z44.enum(eventCalendarListLayoutValues);
28449
- var eventCalendarDisplayModeSchema = z44.enum(eventCalendarDisplayModeValues);
28450
- var columnOptionSchema = z44.enum(["2", "3", "4"]);
28451
- var weekStartSchema = z44.enum(["sunday", "monday"]);
28452
- var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
28453
- var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
28623
+ import { z as z45 } from "zod";
28624
+ var previewStageSchema = z45.enum(["preview", "published"]);
28625
+ var registrationButtonVariantSchema = z45.enum(["primary", "secondary", "outline"]);
28626
+ var eventButtonVariantSchema = z45.enum(["primary", "secondary", "outline", "link"]);
28627
+ var eventLayoutSchema = z45.enum(eventCalendarListLayoutValues);
28628
+ var eventCalendarDisplayModeSchema = z45.enum(eventCalendarDisplayModeValues);
28629
+ var columnOptionSchema = z45.enum(["2", "3", "4"]);
28630
+ var weekStartSchema = z45.enum(["sunday", "monday"]);
28631
+ var filterAutoShowSchema = z45.enum(["auto", "always", "never"]);
28632
+ var calendarTabViewsSchema = z45.enum(["both", "month", "week"]);
28454
28633
 
28455
28634
  // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
28456
28635
  function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
@@ -28510,66 +28689,68 @@ function toRegistrationEvents(events) {
28510
28689
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
28511
28690
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
28512
28691
  var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
28513
- var contentEntrySchema = z45.object({
28514
- id: z45.string(),
28515
- slug: z45.string(),
28516
- contentTypeSlug: z45.string()
28692
+ var contentEntrySchema = z46.object({
28693
+ id: z46.string(),
28694
+ slug: z46.string(),
28695
+ contentTypeSlug: z46.string()
28517
28696
  });
28518
- var eventRegistrationPublicEventSchema = z45.preprocess(
28697
+ var eventRegistrationPublicEventSchema = z46.preprocess(
28519
28698
  normalizeEventRegistrationEventInput,
28520
28699
  publicEventSchema
28521
28700
  );
28522
- var eventRegistrationSourceSchema = z45.object({
28523
- siteId: z45.string().optional(),
28524
- apiBaseUrl: z45.string().optional(),
28525
- portalToken: z45.string().nullable().optional(),
28526
- previewToken: z45.string().nullable().optional(),
28701
+ var eventRegistrationSourceSchema = z46.object({
28702
+ siteId: z46.string().optional(),
28703
+ apiBaseUrl: z46.string().optional(),
28704
+ portalToken: z46.string().nullable().optional(),
28705
+ previewToken: z46.string().nullable().optional(),
28527
28706
  occurrenceContext: occurrenceContextSchema.optional(),
28528
28707
  contentEntry: contentEntrySchema.nullable().optional(),
28529
- events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
28530
- className: z45.string().nullable().optional(),
28531
- buttonText: z45.string().nullable().optional(),
28532
- maxTickets: z45.string().nullable().optional(),
28533
- showVenue: z45.boolean().optional(),
28534
- showCapacity: z45.boolean().optional(),
28535
- successMessage: z45.string().optional(),
28536
- waitlistMessage: z45.string().optional(),
28708
+ events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
28709
+ className: z46.string().nullable().optional(),
28710
+ buttonText: z46.string().nullable().optional(),
28711
+ maxTickets: z46.string().nullable().optional(),
28712
+ showVenue: z46.boolean().optional(),
28713
+ showCapacity: z46.boolean().optional(),
28714
+ successMessage: z46.string().optional(),
28715
+ waitlistMessage: z46.string().optional(),
28537
28716
  buttonVariant: registrationButtonVariantSchema.optional(),
28538
- spamProtectionEnabled: z45.boolean().optional(),
28717
+ overlayEnabled: z46.boolean().optional(),
28718
+ spamProtectionEnabled: z46.boolean().optional(),
28539
28719
  stage: previewStageSchema.optional(),
28540
- supportEmail: z45.string().optional()
28541
- });
28542
- var eventRegistrationDisplaySchema = z45.object({
28543
- kind: z45.literal("event-registration"),
28544
- state: z45.literal("generic-shell"),
28545
- className: z45.string().nullable(),
28546
- titleText: z45.string(),
28547
- bodyText: z45.string(),
28548
- stepLabels: z45.array(z45.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28549
- summaryButtonText: z45.string()
28550
- });
28551
- var eventRegistrationHydrationSchema = z45.object({
28720
+ supportEmail: z46.string().optional()
28721
+ });
28722
+ var eventRegistrationDisplaySchema = z46.object({
28723
+ kind: z46.literal("event-registration"),
28724
+ state: z46.literal("generic-shell"),
28725
+ className: z46.string().nullable(),
28726
+ titleText: z46.string(),
28727
+ bodyText: z46.string(),
28728
+ stepLabels: z46.array(z46.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
28729
+ summaryButtonText: z46.string()
28730
+ });
28731
+ var eventRegistrationHydrationSchema = z46.object({
28552
28732
  occurrenceContext: occurrenceContextSchema.optional(),
28553
28733
  contentEntry: contentEntrySchema.nullable().optional(),
28554
- events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
28555
- maxTickets: z45.string().optional(),
28556
- showVenue: z45.boolean().optional(),
28557
- showCapacity: z45.boolean().optional(),
28558
- successMessage: z45.string().optional(),
28559
- waitlistMessage: z45.string().optional(),
28734
+ events: z46.array(eventRegistrationPublicEventSchema).nullable().optional(),
28735
+ maxTickets: z46.string().optional(),
28736
+ showVenue: z46.boolean().optional(),
28737
+ showCapacity: z46.boolean().optional(),
28738
+ successMessage: z46.string().optional(),
28739
+ waitlistMessage: z46.string().optional(),
28560
28740
  buttonVariant: registrationButtonVariantSchema.optional(),
28561
- spamProtectionEnabled: z45.boolean().optional(),
28562
- supportEmail: z45.string().optional()
28741
+ overlayEnabled: z46.boolean().optional(),
28742
+ spamProtectionEnabled: z46.boolean().optional(),
28743
+ supportEmail: z46.string().optional()
28563
28744
  });
28564
- var eventRegistrationRenderSchema = z45.object({
28745
+ var eventRegistrationRenderSchema = z46.object({
28565
28746
  display: eventRegistrationDisplaySchema,
28566
28747
  hydration: eventRegistrationHydrationSchema
28567
28748
  });
28568
- var eventRegistrationIslandMetaCodec = createZodCodec(z45.object({
28569
- siteId: z45.string().optional(),
28570
- apiBaseUrl: z45.string().optional(),
28571
- portalToken: z45.string().nullable().optional(),
28572
- previewToken: z45.string().nullable().optional(),
28749
+ var eventRegistrationIslandMetaCodec = createZodCodec(z46.object({
28750
+ siteId: z46.string().optional(),
28751
+ apiBaseUrl: z46.string().optional(),
28752
+ portalToken: z46.string().nullable().optional(),
28753
+ previewToken: z46.string().nullable().optional(),
28573
28754
  stage: previewStageSchema.optional()
28574
28755
  }));
28575
28756
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -28673,6 +28854,7 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
28673
28854
  successMessage: source.successMessage,
28674
28855
  waitlistMessage: source.waitlistMessage,
28675
28856
  buttonVariant: source.buttonVariant,
28857
+ overlayEnabled: source.overlayEnabled,
28676
28858
  spamProtectionEnabled: source.spamProtectionEnabled,
28677
28859
  supportEmail: source.supportEmail
28678
28860
  }
@@ -28848,6 +29030,12 @@ var eventRegistrationManifest = createBlockManifest({
28848
29030
  buttonVariant: {
28849
29031
  $bind: { from: "content.buttonVariant", fallback: "primary" }
28850
29032
  },
29033
+ overlayEnabled: {
29034
+ $bind: {
29035
+ from: "$root.eventRegistrationOverlayEnabled",
29036
+ fallback: false
29037
+ }
29038
+ },
28851
29039
  // Event data from loader
28852
29040
  events: { $bind: { from: "data.events" } },
28853
29041
  // Stage for preview mode (allows registering for draft events)
@@ -28868,7 +29056,7 @@ var eventRegistrationBlockDefinition = {
28868
29056
  manifest: eventRegistrationManifest,
28869
29057
  runtime: eventRegistrationBlockRuntime,
28870
29058
  dataSchemas: {
28871
- events: z46.array(publicEventSchema).optional(),
29059
+ events: z47.array(publicEventSchema).optional(),
28872
29060
  occurrenceContext: occurrenceContextSchema.optional()
28873
29061
  },
28874
29062
  dataLoaders: {
@@ -28892,73 +29080,73 @@ var eventRegistrationBlockDefinition = {
28892
29080
  };
28893
29081
 
28894
29082
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
28895
- import { z as z47 } from "zod";
28896
- var contentEntrySchema2 = z47.object({
28897
- id: z47.string(),
28898
- slug: z47.string(),
28899
- contentTypeSlug: z47.string()
28900
- });
28901
- var courseEntrySubrouteContextSchema = z47.union([
28902
- z47.object({
28903
- kind: z47.literal("course-run"),
28904
- run: z47.object({
28905
- courseId: z47.string(),
28906
- seriesId: z47.string(),
28907
- runSlug: z47.string(),
28908
- runName: z47.string().nullable()
29083
+ import { z as z48 } from "zod";
29084
+ var contentEntrySchema2 = z48.object({
29085
+ id: z48.string(),
29086
+ slug: z48.string(),
29087
+ contentTypeSlug: z48.string()
29088
+ });
29089
+ var courseEntrySubrouteContextSchema = z48.union([
29090
+ z48.object({
29091
+ kind: z48.literal("course-run"),
29092
+ run: z48.object({
29093
+ courseId: z48.string(),
29094
+ seriesId: z48.string(),
29095
+ runSlug: z48.string(),
29096
+ runName: z48.string().nullable()
28909
29097
  })
28910
29098
  }),
28911
- z47.object({
28912
- kind: z47.literal("event-occurrence"),
29099
+ z48.object({
29100
+ kind: z48.literal("event-occurrence"),
28913
29101
  occurrence: occurrenceContextSchema
28914
29102
  })
28915
29103
  ]);
28916
- var courseRegistrationSourceSchema = z47.object({
28917
- siteId: z47.string().optional(),
28918
- apiBaseUrl: z47.string().optional(),
28919
- portalToken: z47.string().nullable().optional(),
29104
+ var courseRegistrationSourceSchema = z48.object({
29105
+ siteId: z48.string().optional(),
29106
+ apiBaseUrl: z48.string().optional(),
29107
+ portalToken: z48.string().nullable().optional(),
28920
29108
  contentEntry: contentEntrySchema2.nullable().optional(),
28921
29109
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
28922
- courses: z47.array(publicCourseSchema).nullable().optional(),
28923
- className: z47.string().nullable().optional(),
28924
- showSessions: z47.boolean().optional(),
28925
- showPrice: z47.boolean().optional(),
28926
- showCapacity: z47.boolean().optional(),
28927
- showVenue: z47.boolean().optional(),
28928
- successMessage: z47.string().optional(),
28929
- waitlistMessage: z47.string().optional(),
28930
- membershipMessage: z47.string().optional(),
28931
- buttonText: z47.string().nullable().optional(),
29110
+ courses: z48.array(publicCourseSchema).nullable().optional(),
29111
+ className: z48.string().nullable().optional(),
29112
+ showSessions: z48.boolean().optional(),
29113
+ showPrice: z48.boolean().optional(),
29114
+ showCapacity: z48.boolean().optional(),
29115
+ showVenue: z48.boolean().optional(),
29116
+ successMessage: z48.string().optional(),
29117
+ waitlistMessage: z48.string().optional(),
29118
+ membershipMessage: z48.string().optional(),
29119
+ buttonText: z48.string().nullable().optional(),
28932
29120
  buttonVariant: registrationButtonVariantSchema.optional(),
28933
29121
  stage: previewStageSchema.optional()
28934
29122
  });
28935
- var courseRegistrationDisplaySchema = z47.object({
28936
- kind: z47.literal("course-registration"),
28937
- state: z47.literal("shell"),
28938
- className: z47.string().nullable(),
28939
- summaryButtonText: z47.string()
29123
+ var courseRegistrationDisplaySchema = z48.object({
29124
+ kind: z48.literal("course-registration"),
29125
+ state: z48.literal("shell"),
29126
+ className: z48.string().nullable(),
29127
+ summaryButtonText: z48.string()
28940
29128
  });
28941
- var courseRegistrationHydrationSchema = z47.object({
29129
+ var courseRegistrationHydrationSchema = z48.object({
28942
29130
  contentEntry: contentEntrySchema2.nullable().optional(),
28943
29131
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
28944
- courses: z47.array(publicCourseSchema).nullable().optional(),
28945
- showSessions: z47.boolean().optional(),
28946
- showPrice: z47.boolean().optional(),
28947
- showCapacity: z47.boolean().optional(),
28948
- showVenue: z47.boolean().optional(),
28949
- successMessage: z47.string().optional(),
28950
- waitlistMessage: z47.string().optional(),
28951
- membershipMessage: z47.string().optional(),
29132
+ courses: z48.array(publicCourseSchema).nullable().optional(),
29133
+ showSessions: z48.boolean().optional(),
29134
+ showPrice: z48.boolean().optional(),
29135
+ showCapacity: z48.boolean().optional(),
29136
+ showVenue: z48.boolean().optional(),
29137
+ successMessage: z48.string().optional(),
29138
+ waitlistMessage: z48.string().optional(),
29139
+ membershipMessage: z48.string().optional(),
28952
29140
  buttonVariant: registrationButtonVariantSchema.optional()
28953
29141
  });
28954
- var courseRegistrationRenderSchema = z47.object({
29142
+ var courseRegistrationRenderSchema = z48.object({
28955
29143
  display: courseRegistrationDisplaySchema,
28956
29144
  hydration: courseRegistrationHydrationSchema
28957
29145
  });
28958
- var courseRegistrationIslandMetaCodec = createZodCodec(z47.object({
28959
- siteId: z47.string().optional(),
28960
- apiBaseUrl: z47.string().optional(),
28961
- portalToken: z47.string().nullable().optional(),
29146
+ var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
29147
+ siteId: z48.string().optional(),
29148
+ apiBaseUrl: z48.string().optional(),
29149
+ portalToken: z48.string().nullable().optional(),
28962
29150
  stage: previewStageSchema.optional()
28963
29151
  }));
28964
29152
  var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -29218,32 +29406,32 @@ var courseRegistrationBlockDefinition = {
29218
29406
  };
29219
29407
 
29220
29408
  // ../blocks/src/system/blocks/event-details.ts
29221
- import { z as z49 } from "zod";
29409
+ import { z as z50 } from "zod";
29222
29410
 
29223
29411
  // ../blocks/src/system/blocks/shop.shared.ts
29224
- import { z as z48 } from "zod";
29225
- var publicPassProductSchema = z48.object({
29226
- id: z48.string(),
29227
- productUseCase: z48.enum(["event_pass", "appointment_package"]).default("event_pass"),
29228
- name: z48.string(),
29229
- description: z48.string().nullable(),
29230
- price: z48.number(),
29231
- currency: z48.string(),
29232
- creditsTotal: z48.number(),
29233
- pricePerCredit: z48.number(),
29234
- validDays: z48.number().nullable(),
29235
- eligibleCategoryIds: z48.array(z48.string()),
29236
- eligibleCategoryNames: z48.array(z48.string())
29237
- });
29238
- var publicMembershipProductSchema = z48.object({
29239
- id: z48.string(),
29240
- name: z48.string(),
29241
- description: z48.string().nullable(),
29242
- price: z48.number(),
29243
- currency: z48.string(),
29244
- billingInterval: z48.enum(["month", "year"]),
29245
- eligibleCategoryIds: z48.array(z48.string()),
29246
- eligibleCategoryNames: z48.array(z48.string())
29412
+ import { z as z49 } from "zod";
29413
+ var publicPassProductSchema = z49.object({
29414
+ id: z49.string(),
29415
+ productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
29416
+ name: z49.string(),
29417
+ description: z49.string().nullable(),
29418
+ price: z49.number(),
29419
+ currency: z49.string(),
29420
+ creditsTotal: z49.number(),
29421
+ pricePerCredit: z49.number(),
29422
+ validDays: z49.number().nullable(),
29423
+ eligibleCategoryIds: z49.array(z49.string()),
29424
+ eligibleCategoryNames: z49.array(z49.string())
29425
+ });
29426
+ var publicMembershipProductSchema = z49.object({
29427
+ id: z49.string(),
29428
+ name: z49.string(),
29429
+ description: z49.string().nullable(),
29430
+ price: z49.number(),
29431
+ currency: z49.string(),
29432
+ billingInterval: z49.enum(["month", "year"]),
29433
+ eligibleCategoryIds: z49.array(z49.string()),
29434
+ eligibleCategoryNames: z49.array(z49.string())
29247
29435
  });
29248
29436
 
29249
29437
  // ../blocks/src/system/blocks/event-details.ts
@@ -29378,40 +29566,40 @@ var eventDetailsManifest = createBlockManifest({
29378
29566
  })
29379
29567
  ]
29380
29568
  });
29381
- var occurrenceContextSchema2 = z49.object({
29382
- id: z49.string(),
29383
- seriesId: z49.string(),
29384
- startsAt: z49.string(),
29385
- endsAt: z49.string(),
29386
- timeZone: z49.string(),
29387
- capacityOverride: z49.number().nullable().optional(),
29388
- overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
29569
+ var occurrenceContextSchema2 = z50.object({
29570
+ id: z50.string(),
29571
+ seriesId: z50.string(),
29572
+ startsAt: z50.string(),
29573
+ endsAt: z50.string(),
29574
+ timeZone: z50.string(),
29575
+ capacityOverride: z50.number().nullable().optional(),
29576
+ overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
29389
29577
  }).nullable();
29390
- var eventAutoApplyDiscountPreviewBaseSchema = z49.object({
29391
- id: z49.string(),
29392
- publicLabel: z49.string(),
29393
- description: z49.string().nullable(),
29394
- minTicketsRequired: z49.number().nullable()
29578
+ var eventAutoApplyDiscountPreviewBaseSchema = z50.object({
29579
+ id: z50.string(),
29580
+ publicLabel: z50.string(),
29581
+ description: z50.string().nullable(),
29582
+ minTicketsRequired: z50.number().nullable()
29395
29583
  });
29396
- var eventAutoApplyDiscountPreviewSchema = z49.discriminatedUnion("discountType", [
29584
+ var eventAutoApplyDiscountPreviewSchema = z50.discriminatedUnion("discountType", [
29397
29585
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29398
- discountType: z49.literal("percent"),
29399
- discountPercent: z49.number(),
29400
- discountAmountCents: z49.null()
29586
+ discountType: z50.literal("percent"),
29587
+ discountPercent: z50.number(),
29588
+ discountAmountCents: z50.null()
29401
29589
  }),
29402
29590
  eventAutoApplyDiscountPreviewBaseSchema.extend({
29403
- discountType: z49.literal("fixed"),
29404
- discountPercent: z49.null(),
29405
- discountAmountCents: z49.number()
29591
+ discountType: z50.literal("fixed"),
29592
+ discountPercent: z50.null(),
29593
+ discountAmountCents: z50.number()
29406
29594
  })
29407
29595
  ]);
29408
29596
  var eventDetailsBlockDefinition = {
29409
29597
  manifest: eventDetailsManifest,
29410
29598
  dataSchemas: {
29411
- eventDetailsData: z49.object({
29599
+ eventDetailsData: z50.object({
29412
29600
  events: publicEventsArraySchema,
29413
- sitePasses: z49.object({ passes: z49.array(publicPassProductSchema) }),
29414
- siteMemberships: z49.object({ memberships: z49.array(publicMembershipProductSchema) }),
29601
+ sitePasses: z50.object({ passes: z50.array(publicPassProductSchema) }),
29602
+ siteMemberships: z50.object({ memberships: z50.array(publicMembershipProductSchema) }),
29415
29603
  autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
29416
29604
  }).optional(),
29417
29605
  occurrenceContext: occurrenceContextSchema2.optional()
@@ -29735,7 +29923,7 @@ var eventSpotlightBlockDefinition = {
29735
29923
  };
29736
29924
 
29737
29925
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
29738
- import { z as z51 } from "zod";
29926
+ import { z as z52 } from "zod";
29739
29927
 
29740
29928
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
29741
29929
  var COLUMN_CLASSES = {
@@ -29843,16 +30031,16 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
29843
30031
  }
29844
30032
 
29845
30033
  // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
29846
- import { z as z50 } from "zod";
30034
+ import { z as z51 } from "zod";
29847
30035
  var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
29848
- var eventPageSizeSchema = z50.union([
29849
- z50.literal(3),
29850
- z50.literal(6),
29851
- z50.literal(10),
29852
- z50.literal(12),
29853
- z50.literal(20),
29854
- z50.literal(24),
29855
- z50.literal(30)
30036
+ var eventPageSizeSchema = z51.union([
30037
+ z51.literal(3),
30038
+ z51.literal(6),
30039
+ z51.literal(10),
30040
+ z51.literal(12),
30041
+ z51.literal(20),
30042
+ z51.literal(24),
30043
+ z51.literal(30)
29856
30044
  ]);
29857
30045
  var eventPageSizeSet = new Set(eventPageSizeValues);
29858
30046
  function resolveEventPageSize(value, fallback = 12) {
@@ -29862,15 +30050,15 @@ function resolveEventPageSize(value, fallback = 12) {
29862
30050
  function resolveEventCalendarListPageSize(input) {
29863
30051
  return resolveEventPageSize(input.eventsPerPage);
29864
30052
  }
29865
- var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
29866
- z50.object({
29867
- kind: z50.literal("loadMore"),
29868
- label: z50.string()
30053
+ var eventListPaginationActionSchema = z51.discriminatedUnion("kind", [
30054
+ z51.object({
30055
+ kind: z51.literal("loadMore"),
30056
+ label: z51.string()
29869
30057
  }),
29870
- z50.object({
29871
- kind: z50.literal("seeAllLink"),
29872
- label: z50.string(),
29873
- href: z50.string()
30058
+ z51.object({
30059
+ kind: z51.literal("seeAllLink"),
30060
+ label: z51.string(),
30061
+ href: z51.string()
29874
30062
  })
29875
30063
  ]);
29876
30064
  function resolveEventListPaginationAction(input) {
@@ -29883,89 +30071,89 @@ function resolveEventListPaginationAction(input) {
29883
30071
  }
29884
30072
 
29885
30073
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
29886
- var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
29887
- var eventCardVariantInputSchema = z51.union([
30074
+ var legacyEventCardVariantSchema = z52.enum(["variant1", "variant2"]);
30075
+ var eventCardVariantInputSchema = z52.union([
29888
30076
  cardVariantRoleSchema,
29889
30077
  legacyEventCardVariantSchema
29890
30078
  ]);
29891
- var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
29892
- var eventBlockKindSchema = z51.enum(eventBlockKindValues);
29893
- var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
29894
- var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
29895
- var eventListingSourceSchema = z51.object({
29896
- events: z51.array(publicEventSchema).nullable().optional(),
29897
- siteId: z51.string(),
29898
- apiBaseUrl: z51.string().optional(),
30079
+ var cardOrientationSchema = z52.enum(["vertical", "horizontal"]);
30080
+ var eventBlockKindSchema = z52.enum(eventBlockKindValues);
30081
+ var eventSurfaceScopeSchema = z52.enum(eventSurfaceScopeValues);
30082
+ var eventScheduleScopeSchema2 = z52.enum(eventScheduleScopeValues);
30083
+ var eventListingSourceSchema = z52.object({
30084
+ events: z52.array(publicEventSchema).nullable().optional(),
30085
+ siteId: z52.string(),
30086
+ apiBaseUrl: z52.string().optional(),
29899
30087
  stage: previewStageSchema.optional(),
29900
30088
  layout: eventLayoutSchema.optional(),
29901
30089
  columns: columnOptionSchema.optional(),
29902
- eventsPerPage: z51.string().optional(),
29903
- paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
29904
- seeAllUrl: z51.string().optional(),
29905
- loadMoreText: z51.string().optional(),
30090
+ eventsPerPage: z52.string().optional(),
30091
+ paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30092
+ seeAllUrl: z52.string().optional(),
30093
+ loadMoreText: z52.string().optional(),
29906
30094
  cardVariant: eventCardVariantInputSchema.optional(),
29907
30095
  buttonVariant: eventButtonVariantSchema.optional(),
29908
- buttonText: z51.string().optional(),
29909
- showVenue: z51.boolean().optional(),
29910
- showMap: z51.boolean().optional(),
29911
- showCapacity: z51.boolean().optional(),
29912
- emptyMessage: z51.string().optional(),
29913
- className: z51.string().optional(),
29914
- showFilters: z51.boolean().nullable().optional(),
30096
+ buttonText: z52.string().optional(),
30097
+ showVenue: z52.boolean().optional(),
30098
+ showMap: z52.boolean().optional(),
30099
+ showCapacity: z52.boolean().optional(),
30100
+ emptyMessage: z52.string().optional(),
30101
+ className: z52.string().optional(),
30102
+ showFilters: z52.boolean().nullable().optional(),
29915
30103
  showCategoryFilter: filterAutoShowSchema.optional(),
29916
- showVenueFilter: z51.boolean().nullable().optional(),
29917
- showStaffFilter: z51.boolean().nullable().optional(),
30104
+ showVenueFilter: z52.boolean().nullable().optional(),
30105
+ showStaffFilter: z52.boolean().nullable().optional(),
29918
30106
  eventKind: eventBlockKindSchema.nullable().optional(),
29919
30107
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
29920
- filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
30108
+ filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
29921
30109
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
29922
- filterCategoryIds: z51.string().nullable().optional(),
29923
- filterStaffMemberId: z51.string().nullable().optional(),
29924
- filterVenueId: z51.string().nullable().optional()
30110
+ filterCategoryIds: z52.string().nullable().optional(),
30111
+ filterStaffMemberId: z52.string().nullable().optional(),
30112
+ filterVenueId: z52.string().nullable().optional()
29925
30113
  });
29926
- var eventListingDisplaySchema = z51.object({
29927
- kind: z51.literal("event-listing"),
29928
- state: z51.enum(["loading", "empty", "ready"]),
30114
+ var eventListingDisplaySchema = z52.object({
30115
+ kind: z52.literal("event-listing"),
30116
+ state: z52.enum(["loading", "empty", "ready"]),
29929
30117
  listLayout: eventLayoutSchema,
29930
- className: z51.string().nullable(),
29931
- emptyMessage: z51.string(),
29932
- loadingMessage: z51.string(),
29933
- containerClass: z51.string(),
30118
+ className: z52.string().nullable(),
30119
+ emptyMessage: z52.string(),
30120
+ loadingMessage: z52.string(),
30121
+ containerClass: z52.string(),
29934
30122
  cardVariant: cardVariantRoleSchema,
29935
30123
  buttonVariant: eventButtonVariantSchema,
29936
- buttonText: z51.string(),
29937
- showVenue: z51.boolean(),
29938
- showMap: z51.boolean(),
29939
- showCapacity: z51.boolean(),
30124
+ buttonText: z52.string(),
30125
+ showVenue: z52.boolean(),
30126
+ showMap: z52.boolean(),
30127
+ showCapacity: z52.boolean(),
29940
30128
  orientation: cardOrientationSchema,
29941
- events: z51.array(publicEventSchema)
30129
+ events: z52.array(publicEventSchema)
29942
30130
  });
29943
- var eventListingHydrationSchema = z51.object({
29944
- siteId: z51.string(),
30131
+ var eventListingHydrationSchema = z52.object({
30132
+ siteId: z52.string(),
29945
30133
  stage: previewStageSchema.optional(),
29946
30134
  eventsPerPage: eventPageSizeSchema,
29947
30135
  paginationAction: eventListPaginationActionSchema,
29948
- showFilters: z51.boolean(),
30136
+ showFilters: z52.boolean(),
29949
30137
  showCategoryFilter: filterAutoShowSchema,
29950
- showVenueFilter: z51.boolean(),
29951
- showStaffFilter: z51.boolean(),
30138
+ showVenueFilter: z52.boolean(),
30139
+ showStaffFilter: z52.boolean(),
29952
30140
  eventKind: eventBlockKindSchema,
29953
30141
  eventSurface: eventSurfaceScopeSchema,
29954
- filterEventPresets: z51.string().nullable(),
30142
+ filterEventPresets: z52.string().nullable(),
29955
30143
  scheduleScope: eventScheduleScopeSchema2,
29956
- filterCategoryIds: z51.string().nullable().optional(),
29957
- filterStaffMemberId: z51.string().nullable().optional(),
29958
- filterVenueId: z51.string().nullable().optional(),
29959
- fetchInitialEventsOnMount: z51.boolean()
30144
+ filterCategoryIds: z52.string().nullable().optional(),
30145
+ filterStaffMemberId: z52.string().nullable().optional(),
30146
+ filterVenueId: z52.string().nullable().optional(),
30147
+ fetchInitialEventsOnMount: z52.boolean()
29960
30148
  });
29961
- var eventListingRenderSchema = z51.object({
30149
+ var eventListingRenderSchema = z52.object({
29962
30150
  display: eventListingDisplaySchema,
29963
30151
  hydration: eventListingHydrationSchema
29964
30152
  });
29965
30153
  var eventListingIslandMetaCodec = createZodCodec(
29966
- z51.object({
29967
- siteId: z51.string(),
29968
- apiBaseUrl: z51.string().optional(),
30154
+ z52.object({
30155
+ siteId: z52.string(),
30156
+ apiBaseUrl: z52.string().optional(),
29969
30157
  stage: previewStageSchema.optional()
29970
30158
  })
29971
30159
  );
@@ -30332,15 +30520,15 @@ var eventListingBlockDefinition = {
30332
30520
  };
30333
30521
 
30334
30522
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
30335
- import { z as z52 } from "zod";
30336
- var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
30337
- var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
30338
- var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
30339
- var eventCalendarSourceSchema = z52.object(
30523
+ import { z as z53 } from "zod";
30524
+ var eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
30525
+ var eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
30526
+ var eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
30527
+ var eventCalendarSourceSchema = z53.object(
30340
30528
  {
30341
- events: z52.array(publicEventSchema).nullable().optional(),
30342
- siteId: z52.string(),
30343
- apiBaseUrl: z52.string().optional(),
30529
+ events: z53.array(publicEventSchema).nullable().optional(),
30530
+ siteId: z53.string(),
30531
+ apiBaseUrl: z53.string().optional(),
30344
30532
  stage: previewStageSchema.optional(),
30345
30533
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
30346
30534
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
@@ -30348,78 +30536,78 @@ var eventCalendarSourceSchema = z52.object(
30348
30536
  listColumns: columnOptionSchema.optional(),
30349
30537
  layout: eventLayoutSchema.optional(),
30350
30538
  columns: columnOptionSchema.optional(),
30351
- eventsPerPage: z52.string().optional(),
30352
- paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
30353
- seeAllUrl: z52.string().optional(),
30354
- loadMoreText: z52.string().optional(),
30539
+ eventsPerPage: z53.string().optional(),
30540
+ paginationMode: z53.enum(["loadMore", "seeAllLink"]).optional(),
30541
+ seeAllUrl: z53.string().optional(),
30542
+ loadMoreText: z53.string().optional(),
30355
30543
  startOfWeek: weekStartSchema.optional(),
30356
30544
  calendarTabViews: calendarTabViewsSchema.optional(),
30357
- showFilters: z52.boolean().nullable().optional(),
30545
+ showFilters: z53.boolean().nullable().optional(),
30358
30546
  showCategoryFilter: filterAutoShowSchema.optional(),
30359
- showVenueFilter: z52.boolean().nullable().optional(),
30360
- showStaffFilter: z52.boolean().nullable().optional(),
30547
+ showVenueFilter: z53.boolean().nullable().optional(),
30548
+ showStaffFilter: z53.boolean().nullable().optional(),
30361
30549
  kind: eventBlockKindSchema2.nullable().optional(),
30362
30550
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
30363
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30551
+ filterEventPresets: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30364
30552
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
30365
- filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
30366
- filterStaffMemberId: z52.string().nullable().optional(),
30367
- filterVenueId: z52.string().nullable().optional(),
30553
+ filterCategoryIds: z53.union([z53.string(), z53.array(z53.string())]).nullable().optional(),
30554
+ filterStaffMemberId: z53.string().nullable().optional(),
30555
+ filterVenueId: z53.string().nullable().optional(),
30368
30556
  buttonVariant: eventButtonVariantSchema.optional(),
30369
- buttonText: z52.string().optional(),
30370
- showVenue: z52.boolean().nullable().optional(),
30371
- showMap: z52.boolean().nullable().optional(),
30372
- showCapacity: z52.boolean().nullable().optional(),
30373
- emptyMessage: z52.string().optional(),
30374
- className: z52.string().optional()
30557
+ buttonText: z53.string().optional(),
30558
+ showVenue: z53.boolean().nullable().optional(),
30559
+ showMap: z53.boolean().nullable().optional(),
30560
+ showCapacity: z53.boolean().nullable().optional(),
30561
+ emptyMessage: z53.string().optional(),
30562
+ className: z53.string().optional()
30375
30563
  }
30376
30564
  );
30377
- var eventCalendarDisplaySchema = z52.object({
30378
- kind: z52.literal("event-calendar"),
30565
+ var eventCalendarDisplaySchema = z53.object({
30566
+ kind: z53.literal("event-calendar"),
30379
30567
  displayMode: eventCalendarDisplayModeSchema,
30380
- className: z52.string().nullable(),
30381
- events: z52.array(publicEventSchema),
30568
+ className: z53.string().nullable(),
30569
+ events: z53.array(publicEventSchema),
30382
30570
  listLayout: eventLayoutSchema,
30383
30571
  listColumns: columnOptionSchema,
30384
30572
  eventsPerPage: eventPageSizeSchema,
30385
30573
  paginationAction: eventListPaginationActionSchema,
30386
30574
  startOfWeek: weekStartSchema,
30387
30575
  calendarTabViews: calendarTabViewsSchema,
30388
- showFilters: z52.boolean(),
30576
+ showFilters: z53.boolean(),
30389
30577
  showCategoryFilter: filterAutoShowSchema,
30390
- showVenueFilter: z52.boolean(),
30391
- showStaffFilter: z52.boolean(),
30578
+ showVenueFilter: z53.boolean(),
30579
+ showStaffFilter: z53.boolean(),
30392
30580
  eventKind: eventBlockKindSchema2,
30393
30581
  eventSurface: eventSurfaceScopeSchema2,
30394
- filterEventPresets: z52.string().nullable(),
30582
+ filterEventPresets: z53.string().nullable(),
30395
30583
  scheduleScope: eventScheduleScopeSchema3,
30396
- filterCategoryIds: z52.string().nullable(),
30397
- filterStaffMemberId: z52.string().nullable(),
30398
- filterVenueId: z52.string().nullable(),
30584
+ filterCategoryIds: z53.string().nullable(),
30585
+ filterStaffMemberId: z53.string().nullable(),
30586
+ filterVenueId: z53.string().nullable(),
30399
30587
  buttonVariant: eventButtonVariantSchema,
30400
- buttonText: z52.string(),
30401
- showVenue: z52.boolean(),
30402
- showMap: z52.boolean(),
30403
- showCapacity: z52.boolean(),
30404
- emptyMessage: z52.string()
30405
- });
30406
- var eventCalendarHydrationSchema = z52.object({
30407
- siteId: z52.string(),
30588
+ buttonText: z53.string(),
30589
+ showVenue: z53.boolean(),
30590
+ showMap: z53.boolean(),
30591
+ showCapacity: z53.boolean(),
30592
+ emptyMessage: z53.string()
30593
+ });
30594
+ var eventCalendarHydrationSchema = z53.object({
30595
+ siteId: z53.string(),
30408
30596
  stage: previewStageSchema.optional(),
30409
- prefetchedEvents: z52.boolean(),
30597
+ prefetchedEvents: z53.boolean(),
30410
30598
  eventKind: eventBlockKindSchema2,
30411
30599
  eventSurface: eventSurfaceScopeSchema2,
30412
- filterEventPresets: z52.string().nullable(),
30600
+ filterEventPresets: z53.string().nullable(),
30413
30601
  scheduleScope: eventScheduleScopeSchema3
30414
30602
  });
30415
- var eventCalendarRenderSchema = z52.object({
30603
+ var eventCalendarRenderSchema = z53.object({
30416
30604
  display: eventCalendarDisplaySchema,
30417
30605
  hydration: eventCalendarHydrationSchema
30418
30606
  });
30419
30607
  var eventCalendarIslandMetaCodec = createZodCodec(
30420
- z52.object({
30421
- siteId: z52.string(),
30422
- apiBaseUrl: z52.string().optional(),
30608
+ z53.object({
30609
+ siteId: z53.string(),
30610
+ apiBaseUrl: z53.string().optional(),
30423
30611
  stage: previewStageSchema.optional()
30424
30612
  })
30425
30613
  );
@@ -31128,7 +31316,7 @@ var eventCalendarBlockDefinition = {
31128
31316
  };
31129
31317
 
31130
31318
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31131
- import { z as z53 } from "zod";
31319
+ import { z as z54 } from "zod";
31132
31320
 
31133
31321
  // ../blocks/src/system/blocks/offerings-preview/model.ts
31134
31322
  var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
@@ -31220,13 +31408,13 @@ function isRecord5(value) {
31220
31408
  }
31221
31409
 
31222
31410
  // ../blocks/src/system/blocks/offerings-preview/index.ts
31223
- var publicRouteCandidatesSchema = z53.object({
31224
- routes: z53.array(z53.object({
31225
- entityId: z53.string(),
31226
- path: z53.string(),
31227
- title: z53.string(),
31228
- kind: z53.enum(["page", "content"]),
31229
- contentTypeKey: z53.string().nullable().optional()
31411
+ var publicRouteCandidatesSchema = z54.object({
31412
+ routes: z54.array(z54.object({
31413
+ entityId: z54.string(),
31414
+ path: z54.string(),
31415
+ title: z54.string(),
31416
+ kind: z54.enum(["page", "content"]),
31417
+ contentTypeKey: z54.string().nullable().optional()
31230
31418
  }))
31231
31419
  });
31232
31420
  var groupOverrideFields = [
@@ -31624,7 +31812,7 @@ function isRecord6(value) {
31624
31812
  }
31625
31813
 
31626
31814
  // ../blocks/src/system/blocks/embed.ts
31627
- import { z as z54 } from "zod";
31815
+ import { z as z55 } from "zod";
31628
31816
  var embedFields = [
31629
31817
  // Section heading
31630
31818
  parseFieldDefinition({
@@ -31855,18 +32043,18 @@ var embedManifest = createBlockManifest({
31855
32043
  spacing: "lg"
31856
32044
  }
31857
32045
  });
31858
- var embedEntrySchema = z54.object({
31859
- id: z54.string(),
31860
- identifier: z54.string(),
31861
- title: z54.string(),
31862
- slug: z54.string().nullable().optional(),
31863
- content: z54.record(z54.string(), z54.unknown()).optional(),
31864
- publishedAt: z54.string().nullable().optional()
32046
+ var embedEntrySchema = z55.object({
32047
+ id: z55.string(),
32048
+ identifier: z55.string(),
32049
+ title: z55.string(),
32050
+ slug: z55.string().nullable().optional(),
32051
+ content: z55.record(z55.string(), z55.unknown()).optional(),
32052
+ publishedAt: z55.string().nullable().optional()
31865
32053
  });
31866
32054
  var embedBlockDefinition = {
31867
32055
  manifest: embedManifest,
31868
32056
  dataSchemas: {
31869
- entries: z54.array(embedEntrySchema).optional()
32057
+ entries: z55.array(embedEntrySchema).optional()
31870
32058
  },
31871
32059
  dataLoaders: {
31872
32060
  entries: {
@@ -33050,52 +33238,52 @@ var fileDownloadBlockDefinition = {
33050
33238
  };
33051
33239
 
33052
33240
  // ../blocks/src/system/blocks/shop.ts
33053
- import { z as z58 } from "zod";
33241
+ import { z as z59 } from "zod";
33054
33242
 
33055
33243
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33056
- import { z as z57 } from "zod";
33244
+ import { z as z58 } from "zod";
33057
33245
 
33058
33246
  // ../blocks/src/system/blocks/products/shared.ts
33059
- import { z as z55 } from "zod";
33060
- var publicProductVariantSchema = z55.object({
33061
- id: z55.string(),
33062
- title: z55.string(),
33063
- sku: z55.string().nullable(),
33064
- priceCents: z55.number(),
33065
- stockQuantity: z55.number().nullable(),
33066
- soldOut: z55.boolean()
33067
- });
33068
- var publicProductSchema = z55.object({
33069
- id: z55.string(),
33070
- contentEntryId: z55.string().nullable(),
33071
- title: z55.string(),
33072
- slug: z55.string(),
33073
- path: z55.string().nullable(),
33074
- status: z55.enum(["draft", "active"]),
33075
- priceCents: z55.number(),
33076
- currency: z55.string(),
33077
- productType: z55.enum(["physical", "digital"]),
33078
- requiresShipping: z55.boolean(),
33079
- hasVariants: z55.boolean(),
33080
- trackInventory: z55.boolean(),
33081
- soldOut: z55.boolean(),
33082
- category: z55.object({
33083
- id: z55.string(),
33084
- name: z55.string(),
33085
- slug: z55.string()
33247
+ import { z as z56 } from "zod";
33248
+ var publicProductVariantSchema = z56.object({
33249
+ id: z56.string(),
33250
+ title: z56.string(),
33251
+ sku: z56.string().nullable(),
33252
+ priceCents: z56.number(),
33253
+ stockQuantity: z56.number().nullable(),
33254
+ soldOut: z56.boolean()
33255
+ });
33256
+ var publicProductSchema = z56.object({
33257
+ id: z56.string(),
33258
+ contentEntryId: z56.string().nullable(),
33259
+ title: z56.string(),
33260
+ slug: z56.string(),
33261
+ path: z56.string().nullable(),
33262
+ status: z56.enum(["draft", "active"]),
33263
+ priceCents: z56.number(),
33264
+ currency: z56.string(),
33265
+ productType: z56.enum(["physical", "digital"]),
33266
+ requiresShipping: z56.boolean(),
33267
+ hasVariants: z56.boolean(),
33268
+ trackInventory: z56.boolean(),
33269
+ soldOut: z56.boolean(),
33270
+ category: z56.object({
33271
+ id: z56.string(),
33272
+ name: z56.string(),
33273
+ slug: z56.string()
33086
33274
  }).nullable(),
33087
- summary: z55.string().nullable(),
33088
- body: z55.unknown().nullable(),
33089
- gallery: z55.array(
33090
- z55.object({
33091
- url: z55.string(),
33092
- alt: z55.string().nullable()
33275
+ summary: z56.string().nullable(),
33276
+ body: z56.unknown().nullable(),
33277
+ gallery: z56.array(
33278
+ z56.object({
33279
+ url: z56.string(),
33280
+ alt: z56.string().nullable()
33093
33281
  })
33094
33282
  ),
33095
- variants: z55.array(publicProductVariantSchema)
33283
+ variants: z56.array(publicProductVariantSchema)
33096
33284
  });
33097
- var publicProductsResponseSchema = z55.object({
33098
- products: z55.array(publicProductSchema)
33285
+ var publicProductsResponseSchema = z56.object({
33286
+ products: z56.array(publicProductSchema)
33099
33287
  });
33100
33288
 
33101
33289
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -33159,27 +33347,27 @@ function deriveCreditProductLabels(products, options = {}) {
33159
33347
  }
33160
33348
 
33161
33349
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
33162
- import { z as z56 } from "zod";
33163
- var storedProductCartItemSchema = z56.object({
33164
- kind: z56.literal("product"),
33165
- productId: z56.string().min(1),
33166
- productCategoryId: z56.string().min(1).optional().nullable(),
33167
- variantId: z56.string().min(1).optional().nullable(),
33168
- title: z56.string().min(1),
33169
- variantTitle: z56.string().optional().nullable(),
33170
- quantity: z56.number().finite(),
33171
- unitPriceCents: z56.number().finite(),
33172
- currency: z56.string().min(1),
33173
- imageUrl: z56.string().optional().nullable(),
33174
- soldOut: z56.boolean().optional()
33175
- });
33176
- var storedPassCartItemSchema = z56.object({
33177
- kind: z56.literal("pass"),
33178
- passId: z56.string().min(1),
33179
- title: z56.string().min(1),
33180
- quantity: z56.number().finite().optional(),
33181
- unitPriceCents: z56.number().finite(),
33182
- currency: z56.string().min(1)
33350
+ import { z as z57 } from "zod";
33351
+ var storedProductCartItemSchema = z57.object({
33352
+ kind: z57.literal("product"),
33353
+ productId: z57.string().min(1),
33354
+ productCategoryId: z57.string().min(1).optional().nullable(),
33355
+ variantId: z57.string().min(1).optional().nullable(),
33356
+ title: z57.string().min(1),
33357
+ variantTitle: z57.string().optional().nullable(),
33358
+ quantity: z57.number().finite(),
33359
+ unitPriceCents: z57.number().finite(),
33360
+ currency: z57.string().min(1),
33361
+ imageUrl: z57.string().optional().nullable(),
33362
+ soldOut: z57.boolean().optional()
33363
+ });
33364
+ var storedPassCartItemSchema = z57.object({
33365
+ kind: z57.literal("pass"),
33366
+ passId: z57.string().min(1),
33367
+ title: z57.string().min(1),
33368
+ quantity: z57.number().finite().optional(),
33369
+ unitPriceCents: z57.number().finite(),
33370
+ currency: z57.string().min(1)
33183
33371
  });
33184
33372
  function deriveCommerceCheckoutState(state) {
33185
33373
  if (state.items.length === 0) {
@@ -33218,10 +33406,7 @@ function resolveSelectedProduct(products, contentEntry, productSlug) {
33218
33406
 
33219
33407
  // ../blocks/src/system/runtime/nodes/commerce/shared/display.ts
33220
33408
  function formatCommercePrice(cents, currency) {
33221
- return new Intl.NumberFormat("en-US", {
33222
- style: "currency",
33223
- currency: currency.toUpperCase()
33224
- }).format(cents / 100);
33409
+ return formatCurrencyAmount(cents, currency);
33225
33410
  }
33226
33411
  function getPassesHeading(passes, explicitHeading) {
33227
33412
  if (explicitHeading) return explicitHeading;
@@ -33416,214 +33601,214 @@ function formatValidity(days) {
33416
33601
  }
33417
33602
 
33418
33603
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
33419
- var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33420
- var contentEntrySchema3 = z57.object({
33421
- id: z57.string().nullable().optional(),
33422
- slug: z57.string().nullable().optional()
33604
+ var shopModeSchema = z58.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
33605
+ var contentEntrySchema3 = z58.object({
33606
+ id: z58.string().nullable().optional(),
33607
+ slug: z58.string().nullable().optional()
33423
33608
  }).nullable();
33424
- var shopSourceSchema = z57.object({
33425
- className: z57.string().nullable().optional(),
33609
+ var shopSourceSchema = z58.object({
33610
+ className: z58.string().nullable().optional(),
33426
33611
  mode: shopModeSchema.optional(),
33427
- heading: z57.string().nullable().optional(),
33428
- productSlug: z57.string().nullable().optional(),
33429
- showPasses: z57.boolean().optional(),
33430
- showMemberships: z57.boolean().optional(),
33431
- layout: z57.enum(["grid", "list"]).optional(),
33432
- columns: z57.string().optional(),
33433
- showDescriptions: z57.boolean().optional(),
33434
- showSummary: z57.boolean().optional(),
33435
- showBody: z57.boolean().optional(),
33436
- showPrices: z57.boolean().optional(),
33437
- showValidityPeriod: z57.boolean().optional(),
33438
- showPricePerCredit: z57.boolean().nullable().optional(),
33439
- passesHeading: z57.string().optional(),
33440
- membershipsHeading: z57.string().optional(),
33441
- buyButtonText: z57.string().optional(),
33442
- addButtonText: z57.string().optional(),
33443
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
33444
- subscribeButtonText: z57.string().optional(),
33445
- emptyStateText: z57.string().optional(),
33446
- checkoutButtonText: z57.string().optional(),
33447
- clearButtonText: z57.string().optional(),
33448
- submitButtonText: z57.string().optional(),
33612
+ heading: z58.string().nullable().optional(),
33613
+ productSlug: z58.string().nullable().optional(),
33614
+ showPasses: z58.boolean().optional(),
33615
+ showMemberships: z58.boolean().optional(),
33616
+ layout: z58.enum(["grid", "list"]).optional(),
33617
+ columns: z58.string().optional(),
33618
+ showDescriptions: z58.boolean().optional(),
33619
+ showSummary: z58.boolean().optional(),
33620
+ showBody: z58.boolean().optional(),
33621
+ showPrices: z58.boolean().optional(),
33622
+ showValidityPeriod: z58.boolean().optional(),
33623
+ showPricePerCredit: z58.boolean().nullable().optional(),
33624
+ passesHeading: z58.string().optional(),
33625
+ membershipsHeading: z58.string().optional(),
33626
+ buyButtonText: z58.string().optional(),
33627
+ addButtonText: z58.string().optional(),
33628
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"]).optional(),
33629
+ subscribeButtonText: z58.string().optional(),
33630
+ emptyStateText: z58.string().optional(),
33631
+ checkoutButtonText: z58.string().optional(),
33632
+ clearButtonText: z58.string().optional(),
33633
+ submitButtonText: z58.string().optional(),
33449
33634
  contentEntry: contentEntrySchema3.optional(),
33450
- passes: z57.array(publicPassProductSchema).nullable().optional(),
33451
- memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
33452
- products: z57.array(publicProductSchema).nullable().optional(),
33453
- siteId: z57.string().optional(),
33454
- apiBaseUrl: z57.string().optional(),
33635
+ passes: z58.array(publicPassProductSchema).nullable().optional(),
33636
+ memberships: z58.array(publicMembershipProductSchema).nullable().optional(),
33637
+ products: z58.array(publicProductSchema).nullable().optional(),
33638
+ siteId: z58.string().optional(),
33639
+ apiBaseUrl: z58.string().optional(),
33455
33640
  stage: previewStageSchema.optional()
33456
33641
  });
33457
- var productVariantOptionDisplaySchema = z57.object({
33458
- id: z57.string(),
33459
- label: z57.string(),
33460
- soldOut: z57.boolean()
33461
- });
33462
- var productCardDisplaySchema = z57.object({
33463
- productId: z57.string(),
33464
- title: z57.string(),
33465
- path: z57.string().nullable(),
33466
- summary: z57.string().nullable(),
33467
- priceLabel: z57.string().nullable(),
33468
- image: z57.object({
33469
- url: z57.string(),
33470
- alt: z57.string().nullable()
33642
+ var productVariantOptionDisplaySchema = z58.object({
33643
+ id: z58.string(),
33644
+ label: z58.string(),
33645
+ soldOut: z58.boolean()
33646
+ });
33647
+ var productCardDisplaySchema = z58.object({
33648
+ productId: z58.string(),
33649
+ title: z58.string(),
33650
+ path: z58.string().nullable(),
33651
+ summary: z58.string().nullable(),
33652
+ priceLabel: z58.string().nullable(),
33653
+ image: z58.object({
33654
+ url: z58.string(),
33655
+ alt: z58.string().nullable()
33471
33656
  }).nullable(),
33472
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33473
- selectedVariantId: z57.string().nullable(),
33474
- selectionLabel: z57.string(),
33475
- actionLabel: z57.string(),
33476
- soldOut: z57.boolean()
33477
- });
33478
- var productListDisplaySchema = z57.object({
33479
- kind: z57.literal("product-list"),
33480
- state: z57.enum(["empty", "ready"]),
33481
- heading: z57.string().nullable(),
33482
- className: z57.string().nullable(),
33483
- layout: z57.enum(["grid", "list"]),
33484
- columns: z57.string(),
33485
- emptyMessage: z57.string(),
33486
- cards: z57.array(productCardDisplaySchema)
33487
- });
33488
- var productDetailDisplaySchema = z57.discriminatedUnion("state", [
33489
- z57.object({
33490
- kind: z57.literal("product-detail"),
33491
- state: z57.literal("empty"),
33492
- heading: z57.string().nullable(),
33493
- className: z57.string().nullable(),
33494
- emptyMessage: z57.string()
33657
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
33658
+ selectedVariantId: z58.string().nullable(),
33659
+ selectionLabel: z58.string(),
33660
+ actionLabel: z58.string(),
33661
+ soldOut: z58.boolean()
33662
+ });
33663
+ var productListDisplaySchema = z58.object({
33664
+ kind: z58.literal("product-list"),
33665
+ state: z58.enum(["empty", "ready"]),
33666
+ heading: z58.string().nullable(),
33667
+ className: z58.string().nullable(),
33668
+ layout: z58.enum(["grid", "list"]),
33669
+ columns: z58.string(),
33670
+ emptyMessage: z58.string(),
33671
+ cards: z58.array(productCardDisplaySchema)
33672
+ });
33673
+ var productDetailDisplaySchema = z58.discriminatedUnion("state", [
33674
+ z58.object({
33675
+ kind: z58.literal("product-detail"),
33676
+ state: z58.literal("empty"),
33677
+ heading: z58.string().nullable(),
33678
+ className: z58.string().nullable(),
33679
+ emptyMessage: z58.string()
33495
33680
  }),
33496
- z57.object({
33497
- kind: z57.literal("product-detail"),
33498
- state: z57.literal("ready"),
33499
- heading: z57.string().nullable(),
33500
- className: z57.string().nullable(),
33501
- title: z57.string(),
33502
- priceLabel: z57.string(),
33503
- summary: z57.string().nullable(),
33504
- categoryLabel: z57.string().nullable(),
33505
- gallery: z57.array(z57.object({
33506
- url: z57.string(),
33507
- alt: z57.string().nullable()
33681
+ z58.object({
33682
+ kind: z58.literal("product-detail"),
33683
+ state: z58.literal("ready"),
33684
+ heading: z58.string().nullable(),
33685
+ className: z58.string().nullable(),
33686
+ title: z58.string(),
33687
+ priceLabel: z58.string(),
33688
+ summary: z58.string().nullable(),
33689
+ categoryLabel: z58.string().nullable(),
33690
+ gallery: z58.array(z58.object({
33691
+ url: z58.string(),
33692
+ alt: z58.string().nullable()
33508
33693
  })),
33509
- variantOptions: z57.array(productVariantOptionDisplaySchema),
33510
- selectedVariantId: z57.string().nullable(),
33511
- selectionLabel: z57.string(),
33512
- actionLabel: z57.string(),
33513
- soldOut: z57.boolean(),
33514
- body: z57.unknown().nullable()
33694
+ variantOptions: z58.array(productVariantOptionDisplaySchema),
33695
+ selectedVariantId: z58.string().nullable(),
33696
+ selectionLabel: z58.string(),
33697
+ actionLabel: z58.string(),
33698
+ soldOut: z58.boolean(),
33699
+ body: z58.unknown().nullable()
33515
33700
  })
33516
33701
  ]);
33517
- var passCardDisplaySchema = z57.object({
33518
- id: z57.string(),
33519
- title: z57.string(),
33520
- description: z57.string().nullable(),
33521
- priceLabel: z57.string(),
33522
- creditsLabel: z57.string(),
33523
- perCreditLabel: z57.string().nullable(),
33524
- validityLabel: z57.string().nullable(),
33525
- actionLabel: z57.string()
33526
- });
33527
- var membershipCardDisplaySchema = z57.object({
33528
- id: z57.string(),
33529
- title: z57.string(),
33530
- description: z57.string().nullable(),
33531
- priceLabel: z57.string(),
33532
- intervalLabel: z57.string(),
33533
- actionLabel: z57.string()
33534
- });
33535
- var passesMembershipsDisplaySchema = z57.object({
33536
- kind: z57.literal("passes-memberships"),
33537
- state: z57.enum(["empty", "ready"]),
33538
- className: z57.string().nullable(),
33539
- layout: z57.enum(["grid", "list"]),
33540
- columns: z57.string(),
33541
- emptyMessage: z57.string(),
33542
- passesHeading: z57.string(),
33543
- membershipsHeading: z57.string(),
33544
- passes: z57.array(passCardDisplaySchema),
33545
- memberships: z57.array(membershipCardDisplaySchema)
33546
- });
33547
- var cartLineDisplaySchema = z57.object({
33548
- key: z57.string(),
33549
- title: z57.string(),
33550
- priceLabel: z57.string(),
33551
- quantity: z57.number(),
33552
- quantityEditable: z57.boolean()
33553
- });
33554
- var cartDisplaySchema = z57.object({
33555
- kind: z57.literal("cart"),
33556
- state: z57.enum(["empty", "ready"]),
33557
- heading: z57.string().nullable(),
33558
- className: z57.string().nullable(),
33559
- emptyMessage: z57.string(),
33560
- supportText: z57.string().nullable(),
33561
- items: z57.array(cartLineDisplaySchema),
33562
- subtotalLabel: z57.string().nullable(),
33563
- checkoutButtonText: z57.string(),
33564
- clearButtonText: z57.string()
33565
- });
33566
- var checkoutDisplaySchema = z57.object({
33567
- kind: z57.literal("checkout"),
33568
- state: z57.enum(["empty", "blocked", "ready"]),
33569
- heading: z57.string().nullable(),
33570
- className: z57.string().nullable(),
33571
- message: z57.string().nullable(),
33572
- submitButtonText: z57.string()
33573
- });
33574
- var passesMembershipsHydrationSchema = z57.object({
33575
- passes: z57.array(publicPassProductSchema),
33576
- memberships: z57.array(publicMembershipProductSchema),
33577
- passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
33578
- });
33579
- var productListHydrationSchema = z57.object({
33580
- products: z57.array(publicProductSchema),
33581
- showSummary: z57.boolean(),
33582
- showPrices: z57.boolean(),
33583
- addButtonText: z57.string()
33584
- });
33585
- var productDetailHydrationSchema = z57.object({
33586
- products: z57.array(publicProductSchema),
33587
- productId: z57.string().nullable(),
33588
- showSummary: z57.boolean(),
33589
- showBody: z57.boolean(),
33590
- addButtonText: z57.string()
33591
- });
33592
- var cartHydrationSchema = z57.object({
33593
- emptyStateText: z57.string(),
33594
- checkoutButtonText: z57.string(),
33595
- clearButtonText: z57.string()
33596
- });
33597
- var checkoutHydrationSchema = z57.object({
33598
- emptyStateText: z57.string(),
33599
- submitButtonText: z57.string()
33600
- });
33601
- var passesMembershipsRenderSchema = z57.object({
33702
+ var passCardDisplaySchema = z58.object({
33703
+ id: z58.string(),
33704
+ title: z58.string(),
33705
+ description: z58.string().nullable(),
33706
+ priceLabel: z58.string(),
33707
+ creditsLabel: z58.string(),
33708
+ perCreditLabel: z58.string().nullable(),
33709
+ validityLabel: z58.string().nullable(),
33710
+ actionLabel: z58.string()
33711
+ });
33712
+ var membershipCardDisplaySchema = z58.object({
33713
+ id: z58.string(),
33714
+ title: z58.string(),
33715
+ description: z58.string().nullable(),
33716
+ priceLabel: z58.string(),
33717
+ intervalLabel: z58.string(),
33718
+ actionLabel: z58.string()
33719
+ });
33720
+ var passesMembershipsDisplaySchema = z58.object({
33721
+ kind: z58.literal("passes-memberships"),
33722
+ state: z58.enum(["empty", "ready"]),
33723
+ className: z58.string().nullable(),
33724
+ layout: z58.enum(["grid", "list"]),
33725
+ columns: z58.string(),
33726
+ emptyMessage: z58.string(),
33727
+ passesHeading: z58.string(),
33728
+ membershipsHeading: z58.string(),
33729
+ passes: z58.array(passCardDisplaySchema),
33730
+ memberships: z58.array(membershipCardDisplaySchema)
33731
+ });
33732
+ var cartLineDisplaySchema = z58.object({
33733
+ key: z58.string(),
33734
+ title: z58.string(),
33735
+ priceLabel: z58.string(),
33736
+ quantity: z58.number(),
33737
+ quantityEditable: z58.boolean()
33738
+ });
33739
+ var cartDisplaySchema = z58.object({
33740
+ kind: z58.literal("cart"),
33741
+ state: z58.enum(["empty", "ready"]),
33742
+ heading: z58.string().nullable(),
33743
+ className: z58.string().nullable(),
33744
+ emptyMessage: z58.string(),
33745
+ supportText: z58.string().nullable(),
33746
+ items: z58.array(cartLineDisplaySchema),
33747
+ subtotalLabel: z58.string().nullable(),
33748
+ checkoutButtonText: z58.string(),
33749
+ clearButtonText: z58.string()
33750
+ });
33751
+ var checkoutDisplaySchema = z58.object({
33752
+ kind: z58.literal("checkout"),
33753
+ state: z58.enum(["empty", "blocked", "ready"]),
33754
+ heading: z58.string().nullable(),
33755
+ className: z58.string().nullable(),
33756
+ message: z58.string().nullable(),
33757
+ submitButtonText: z58.string()
33758
+ });
33759
+ var passesMembershipsHydrationSchema = z58.object({
33760
+ passes: z58.array(publicPassProductSchema),
33761
+ memberships: z58.array(publicMembershipProductSchema),
33762
+ passPurchaseMode: z58.enum(["add_to_cart", "buy_now"])
33763
+ });
33764
+ var productListHydrationSchema = z58.object({
33765
+ products: z58.array(publicProductSchema),
33766
+ showSummary: z58.boolean(),
33767
+ showPrices: z58.boolean(),
33768
+ addButtonText: z58.string()
33769
+ });
33770
+ var productDetailHydrationSchema = z58.object({
33771
+ products: z58.array(publicProductSchema),
33772
+ productId: z58.string().nullable(),
33773
+ showSummary: z58.boolean(),
33774
+ showBody: z58.boolean(),
33775
+ addButtonText: z58.string()
33776
+ });
33777
+ var cartHydrationSchema = z58.object({
33778
+ emptyStateText: z58.string(),
33779
+ checkoutButtonText: z58.string(),
33780
+ clearButtonText: z58.string()
33781
+ });
33782
+ var checkoutHydrationSchema = z58.object({
33783
+ emptyStateText: z58.string(),
33784
+ submitButtonText: z58.string()
33785
+ });
33786
+ var passesMembershipsRenderSchema = z58.object({
33602
33787
  display: passesMembershipsDisplaySchema,
33603
33788
  hydration: passesMembershipsHydrationSchema
33604
33789
  });
33605
- var productListRenderSchema = z57.object({
33790
+ var productListRenderSchema = z58.object({
33606
33791
  display: productListDisplaySchema,
33607
33792
  hydration: productListHydrationSchema
33608
33793
  });
33609
- var productDetailRenderSchema = z57.object({
33794
+ var productDetailRenderSchema = z58.object({
33610
33795
  display: productDetailDisplaySchema,
33611
33796
  hydration: productDetailHydrationSchema
33612
33797
  });
33613
- var cartRenderSchema = z57.object({
33798
+ var cartRenderSchema = z58.object({
33614
33799
  display: cartDisplaySchema,
33615
33800
  hydration: cartHydrationSchema
33616
33801
  });
33617
- var checkoutRenderSchema = z57.object({
33802
+ var checkoutRenderSchema = z58.object({
33618
33803
  display: checkoutDisplaySchema,
33619
33804
  hydration: checkoutHydrationSchema
33620
33805
  });
33621
33806
  function resolveShowPricePerCredit(source) {
33622
33807
  return source.showPricePerCredit ?? true;
33623
33808
  }
33624
- var shopIslandMetaCodec = createZodCodec(z57.object({
33625
- siteId: z57.string().optional(),
33626
- apiBaseUrl: z57.string().optional(),
33809
+ var shopIslandMetaCodec = createZodCodec(z58.object({
33810
+ siteId: z58.string().optional(),
33811
+ apiBaseUrl: z58.string().optional(),
33627
33812
  stage: previewStageSchema.optional()
33628
33813
  }));
33629
33814
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -34001,9 +34186,9 @@ var shopBlockDefinition = {
34001
34186
  runtime: shopBlockRuntime,
34002
34187
  dataSchemas: {
34003
34188
  // listPublicPasses returns { passes: [...] }
34004
- passes: z58.object({ passes: z58.array(publicPassProductSchema) }).optional(),
34189
+ passes: z59.object({ passes: z59.array(publicPassProductSchema) }).optional(),
34005
34190
  // listPublicMemberships returns { memberships: [...] }
34006
- memberships: z58.object({ memberships: z58.array(publicMembershipProductSchema) }).optional()
34191
+ memberships: z59.object({ memberships: z59.array(publicMembershipProductSchema) }).optional()
34007
34192
  },
34008
34193
  dataLoaders: {
34009
34194
  // Load passes for display
@@ -34026,7 +34211,7 @@ var shopBlockDefinition = {
34026
34211
  };
34027
34212
 
34028
34213
  // ../blocks/src/system/blocks/product-list.ts
34029
- import { z as z59 } from "zod";
34214
+ import { z as z60 } from "zod";
34030
34215
  var productListManifest = createBlockManifest({
34031
34216
  id: "block.product-list",
34032
34217
  version: "1.0.0",
@@ -34159,7 +34344,7 @@ var productListBlockDefinition = {
34159
34344
  }
34160
34345
  }
34161
34346
  };
34162
- var productListDataSchema = z59.object({
34347
+ var productListDataSchema = z60.object({
34163
34348
  products: publicProductsResponseSchema.optional()
34164
34349
  });
34165
34350
 
@@ -34420,72 +34605,72 @@ var checkoutBlockDefinition = {
34420
34605
  };
34421
34606
 
34422
34607
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
34423
- import { z as z60 } from "zod";
34424
- var publicGiftCardOfferSchema = z60.object({
34425
- id: z60.string(),
34426
- kind: z60.literal("gift_card"),
34427
- title: z60.string(),
34428
- description: z60.string().nullable(),
34429
- sortOrder: z60.number().int(),
34430
- giftCard: z60.object({
34431
- fixedDenominations: z60.array(z60.number().int().positive()),
34432
- customAmountEnabled: z60.boolean(),
34433
- customAmountMinCents: z60.number().int().positive(),
34434
- customAmountMaxCents: z60.number().int().positive()
34608
+ import { z as z61 } from "zod";
34609
+ var publicGiftCardOfferSchema = z61.object({
34610
+ id: z61.string(),
34611
+ kind: z61.literal("gift_card"),
34612
+ title: z61.string(),
34613
+ description: z61.string().nullable(),
34614
+ sortOrder: z61.number().int(),
34615
+ giftCard: z61.object({
34616
+ fixedDenominations: z61.array(z61.number().int().positive()),
34617
+ customAmountEnabled: z61.boolean(),
34618
+ customAmountMinCents: z61.number().int().positive(),
34619
+ customAmountMaxCents: z61.number().int().positive()
34435
34620
  }),
34436
- voucher: z60.null()
34437
- });
34438
- var publicVoucherOfferSchema = z60.object({
34439
- id: z60.string(),
34440
- kind: z60.literal("voucher"),
34441
- title: z60.string(),
34442
- description: z60.string().nullable(),
34443
- sortOrder: z60.number().int(),
34444
- giftCard: z60.null(),
34445
- voucher: z60.object({
34446
- purchaseAmountCents: z60.number().int().positive()
34621
+ voucher: z61.null()
34622
+ });
34623
+ var publicVoucherOfferSchema = z61.object({
34624
+ id: z61.string(),
34625
+ kind: z61.literal("voucher"),
34626
+ title: z61.string(),
34627
+ description: z61.string().nullable(),
34628
+ sortOrder: z61.number().int(),
34629
+ giftCard: z61.null(),
34630
+ voucher: z61.object({
34631
+ purchaseAmountCents: z61.number().int().positive()
34447
34632
  })
34448
34633
  });
34449
- var publicGiftingOffersResponseSchema = z60.object({
34450
- currency: z60.string(),
34451
- giftCards: z60.array(publicGiftCardOfferSchema),
34452
- vouchers: z60.array(publicVoucherOfferSchema)
34634
+ var publicGiftingOffersResponseSchema = z61.object({
34635
+ currency: z61.string(),
34636
+ giftCards: z61.array(publicGiftCardOfferSchema),
34637
+ vouchers: z61.array(publicVoucherOfferSchema)
34453
34638
  });
34454
- var giftingSourceSchema = z60.object({
34455
- siteId: z60.string().optional(),
34456
- apiBaseUrl: z60.string().optional(),
34639
+ var giftingSourceSchema = z61.object({
34640
+ siteId: z61.string().optional(),
34641
+ apiBaseUrl: z61.string().optional(),
34457
34642
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
34458
- className: z60.string().nullable().optional(),
34459
- heading: z60.string().nullable().optional(),
34460
- intro: z60.string().nullable().optional(),
34461
- giftCardsHeading: z60.string().nullable().optional(),
34462
- vouchersHeading: z60.string().nullable().optional(),
34463
- emptyStateText: z60.string().nullable().optional(),
34464
- checkoutButtonText: z60.string().nullable().optional(),
34465
- successMessage: z60.string().nullable().optional()
34466
- });
34467
- var giftingDisplaySchema = z60.object({
34468
- kind: z60.literal("gifting"),
34469
- state: z60.literal("ready"),
34470
- className: z60.string().nullable(),
34471
- heading: z60.string(),
34472
- intro: z60.string().nullable(),
34473
- giftCardsHeading: z60.string(),
34474
- vouchersHeading: z60.string(),
34475
- emptyStateText: z60.string()
34476
- });
34477
- var giftingHydrationSchema = z60.object({
34643
+ className: z61.string().nullable().optional(),
34644
+ heading: z61.string().nullable().optional(),
34645
+ intro: z61.string().nullable().optional(),
34646
+ giftCardsHeading: z61.string().nullable().optional(),
34647
+ vouchersHeading: z61.string().nullable().optional(),
34648
+ emptyStateText: z61.string().nullable().optional(),
34649
+ checkoutButtonText: z61.string().nullable().optional(),
34650
+ successMessage: z61.string().nullable().optional()
34651
+ });
34652
+ var giftingDisplaySchema = z61.object({
34653
+ kind: z61.literal("gifting"),
34654
+ state: z61.literal("ready"),
34655
+ className: z61.string().nullable(),
34656
+ heading: z61.string(),
34657
+ intro: z61.string().nullable(),
34658
+ giftCardsHeading: z61.string(),
34659
+ vouchersHeading: z61.string(),
34660
+ emptyStateText: z61.string()
34661
+ });
34662
+ var giftingHydrationSchema = z61.object({
34478
34663
  offers: publicGiftingOffersResponseSchema.nullable(),
34479
- checkoutButtonText: z60.string(),
34480
- successMessage: z60.string()
34664
+ checkoutButtonText: z61.string(),
34665
+ successMessage: z61.string()
34481
34666
  });
34482
- var giftingRenderSchema = z60.object({
34667
+ var giftingRenderSchema = z61.object({
34483
34668
  display: giftingDisplaySchema,
34484
34669
  hydration: giftingHydrationSchema
34485
34670
  });
34486
- var giftingIslandMetaCodec = createZodCodec(z60.object({
34487
- siteId: z60.string().optional(),
34488
- apiBaseUrl: z60.string().optional()
34671
+ var giftingIslandMetaCodec = createZodCodec(z61.object({
34672
+ siteId: z61.string().optional(),
34673
+ apiBaseUrl: z61.string().optional()
34489
34674
  }));
34490
34675
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
34491
34676
  "siteId",
@@ -34656,7 +34841,61 @@ var giftingBlockDefinition = {
34656
34841
  };
34657
34842
 
34658
34843
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
34659
- import { z as z61 } from "zod";
34844
+ import { z as z62 } from "zod";
34845
+
34846
+ // ../blocks/src/system/blocks/newsletter-signup-destination.ts
34847
+ function parseNewsletterSignupBlockId(value) {
34848
+ const trimmed = parseTrimmedString(value);
34849
+ return trimmed && BLOCK_ID_PATTERN.test(trimmed) ? trimmed : null;
34850
+ }
34851
+ function parseSignedNewsletterDestinationRef(value) {
34852
+ const trimmed = parseTrimmedString(value);
34853
+ return trimmed && SIGNED_DESTINATION_REF_PATTERN.test(trimmed) ? trimmed : null;
34854
+ }
34855
+ function parseNewsletterSignupDestinationProvider(value) {
34856
+ return value === "riverbank" || value === "mailchimp" ? value : null;
34857
+ }
34858
+ function buildNewsletterSignupBlockRef(blockId) {
34859
+ const parsed = parseNewsletterSignupBlockId(blockId);
34860
+ return parsed ? { tag: "block_ref", blockId: parsed } : null;
34861
+ }
34862
+ function normalizeNewsletterSignupEditorValuesForDestination(values) {
34863
+ const destinationProvider = parseNewsletterSignupDestinationProvider(values.destinationProvider) ?? "riverbank";
34864
+ if (destinationProvider === "mailchimp") {
34865
+ return {
34866
+ destinationProvider,
34867
+ mailchimpAudienceId: values.mailchimpAudienceId,
34868
+ mailchimpTags: values.mailchimpTags
34869
+ };
34870
+ }
34871
+ return {
34872
+ destinationProvider,
34873
+ listId: values.listId,
34874
+ tags: values.tags
34875
+ };
34876
+ }
34877
+ function deriveNewsletterSignupRuntimeSource(values) {
34878
+ const normalized = normalizeNewsletterSignupEditorValuesForDestination(values);
34879
+ if (normalized.destinationProvider === "mailchimp") {
34880
+ return {
34881
+ destinationProvider: "mailchimp",
34882
+ listId: null,
34883
+ tags: null
34884
+ };
34885
+ }
34886
+ return {
34887
+ destinationProvider: "riverbank",
34888
+ listId: parseTrimmedString(normalized.listId),
34889
+ tags: parseTrimmedString(normalized.tags)
34890
+ };
34891
+ }
34892
+ var BLOCK_ID_PATTERN = /^[A-Za-z0-9._:-]{1,200}$/;
34893
+ var SIGNED_DESTINATION_REF_PATTERN = /^[A-Za-z0-9._~-]{16,1000}$/;
34894
+ function parseTrimmedString(value) {
34895
+ if (typeof value !== "string") return null;
34896
+ const trimmed = value.trim();
34897
+ return trimmed.length > 0 ? trimmed : null;
34898
+ }
34660
34899
 
34661
34900
  // ../blocks/src/system/runtime/nodes/newsletter-form.types.ts
34662
34901
  function getPresetFields(preset2, options) {
@@ -34709,49 +34948,65 @@ function withOptionalPhone(fields3, includePhone) {
34709
34948
  }
34710
34949
 
34711
34950
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
34712
- var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
34713
- var newsletterFieldSchema = z61.object({
34714
- id: z61.string(),
34715
- type: z61.enum(["email", "text"]),
34716
- label: z61.string(),
34717
- required: z61.boolean(),
34718
- placeholder: z61.string().optional()
34719
- });
34720
- var newsletterSourceSchema = z61.object({
34721
- siteId: z61.string().optional(),
34722
- apiBaseUrl: z61.string().optional(),
34723
- listId: z61.string().nullable().optional(),
34951
+ var newsletterPresetSchema = z62.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
34952
+ var newsletterDestinationProviderSchema = z62.enum(["riverbank", "mailchimp"]);
34953
+ var newsletterFieldSchema = z62.object({
34954
+ id: z62.string(),
34955
+ type: z62.enum(["email", "text"]),
34956
+ label: z62.string(),
34957
+ required: z62.boolean(),
34958
+ placeholder: z62.string().optional()
34959
+ });
34960
+ var newsletterSignupBlockIdSchema = z62.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
34961
+ var signedNewsletterDestinationRefSchema = z62.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
34962
+ var newsletterPublicDestinationRefSchema = z62.discriminatedUnion("tag", [
34963
+ z62.object({
34964
+ tag: z62.literal("block_ref"),
34965
+ blockId: newsletterSignupBlockIdSchema
34966
+ }),
34967
+ z62.object({
34968
+ tag: z62.literal("signed_destination_ref"),
34969
+ token: signedNewsletterDestinationRefSchema
34970
+ })
34971
+ ]);
34972
+ var newsletterSourceSchema = z62.object({
34973
+ blockId: z62.string().nullable().optional(),
34974
+ siteId: z62.string().optional(),
34975
+ apiBaseUrl: z62.string().optional(),
34976
+ listId: z62.string().nullable().optional(),
34977
+ destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
34724
34978
  preset: newsletterPresetSchema.optional(),
34725
- includePhone: z61.boolean().optional(),
34726
- buttonLabel: z61.string().nullable().optional(),
34727
- successMessage: z61.string().nullable().optional(),
34728
- privacyNote: z61.string().nullable().optional(),
34729
- tags: z61.string().nullable().optional(),
34730
- spamProtectionEnabled: z61.boolean().optional(),
34731
- className: z61.string().nullable().optional()
34732
- });
34733
- var newsletterDisplaySchema = z61.object({
34734
- kind: z61.literal("newsletter-form"),
34735
- className: z61.string().nullable(),
34736
- buttonLabel: z61.string(),
34737
- successMessage: z61.string().nullable(),
34738
- privacyNote: z61.string().nullable(),
34739
- fields: z61.array(newsletterFieldSchema)
34740
- });
34741
- var newsletterHydrationSchema = z61.object({
34742
- listId: z61.string().nullable().optional(),
34979
+ includePhone: z62.boolean().optional(),
34980
+ buttonLabel: z62.string().nullable().optional(),
34981
+ successMessage: z62.string().nullable().optional(),
34982
+ privacyNote: z62.string().nullable().optional(),
34983
+ tags: z62.string().nullable().optional(),
34984
+ spamProtectionEnabled: z62.boolean().optional(),
34985
+ className: z62.string().nullable().optional()
34986
+ });
34987
+ var newsletterDisplaySchema = z62.object({
34988
+ kind: z62.literal("newsletter-form"),
34989
+ className: z62.string().nullable(),
34990
+ buttonLabel: z62.string(),
34991
+ successMessage: z62.string().nullable(),
34992
+ privacyNote: z62.string().nullable(),
34993
+ fields: z62.array(newsletterFieldSchema)
34994
+ });
34995
+ var newsletterHydrationSchema = z62.object({
34996
+ destinationRef: newsletterPublicDestinationRefSchema.nullable().optional(),
34997
+ listId: z62.string().nullable().optional(),
34743
34998
  preset: newsletterPresetSchema,
34744
- includePhone: z61.boolean(),
34745
- tags: z61.string().nullable().optional(),
34746
- spamProtectionEnabled: z61.boolean().optional()
34999
+ includePhone: z62.boolean(),
35000
+ tags: z62.string().nullable().optional(),
35001
+ spamProtectionEnabled: z62.boolean().optional()
34747
35002
  });
34748
- var newsletterRenderSchema = z61.object({
35003
+ var newsletterRenderSchema = z62.object({
34749
35004
  display: newsletterDisplaySchema,
34750
35005
  hydration: newsletterHydrationSchema
34751
35006
  });
34752
- var newsletterIslandMetaCodec = createZodCodec(z61.object({
34753
- siteId: z61.string().optional(),
34754
- apiBaseUrl: z61.string().optional()
35007
+ var newsletterIslandMetaCodec = createZodCodec(z62.object({
35008
+ siteId: z62.string().optional(),
35009
+ apiBaseUrl: z62.string().optional()
34755
35010
  }));
34756
35011
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
34757
35012
  function buildNewsletterDisplay(source) {
@@ -34772,16 +35027,20 @@ var newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
34772
35027
  source: createZodCodec(newsletterSourceSchema),
34773
35028
  render: createZodCodec(newsletterRenderSchema)
34774
35029
  },
34775
- buildRender: (source) => ({
34776
- display: buildNewsletterDisplay(source),
34777
- hydration: {
34778
- listId: source.listId,
34779
- preset: source.preset ?? "emailOnly",
34780
- includePhone: source.includePhone ?? false,
34781
- tags: source.tags ?? null,
34782
- spamProtectionEnabled: source.spamProtectionEnabled
34783
- }
34784
- })
35030
+ buildRender: (source) => {
35031
+ const runtimeSource = deriveNewsletterSignupRuntimeSource(source);
35032
+ return {
35033
+ display: buildNewsletterDisplay(source),
35034
+ hydration: {
35035
+ destinationRef: buildNewsletterSignupBlockRef(source.blockId),
35036
+ listId: runtimeSource.listId,
35037
+ preset: source.preset ?? "emailOnly",
35038
+ includePhone: source.includePhone ?? false,
35039
+ tags: runtimeSource.tags,
35040
+ spamProtectionEnabled: source.spamProtectionEnabled
35041
+ }
35042
+ };
35043
+ }
34785
35044
  });
34786
35045
  var newsletterFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
34787
35046
  runtime: newsletterFormBlockRuntime,
@@ -34793,6 +35052,20 @@ var newsletterFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
34793
35052
  apiBaseUrl: value.apiBaseUrl
34794
35053
  })
34795
35054
  });
35055
+ function parseRequiredNewsletterSignupBlockId(value) {
35056
+ const parsed = parseNewsletterSignupBlockId(value);
35057
+ if (!parsed) {
35058
+ throw new Error("Newsletter signup block destination ref requires blockId");
35059
+ }
35060
+ return parsed;
35061
+ }
35062
+ function parseRequiredSignedNewsletterDestinationRef(value) {
35063
+ const parsed = parseSignedNewsletterDestinationRef(value);
35064
+ if (!parsed) {
35065
+ throw new Error("Newsletter signup signed destination ref requires token");
35066
+ }
35067
+ return parsed;
35068
+ }
34796
35069
 
34797
35070
  // ../blocks/src/system/blocks/newsletter-signup.ts
34798
35071
  var stackedComposition = composeFragments([
@@ -34872,23 +35145,23 @@ var newsletterSignupBlockDefinition = {
34872
35145
  };
34873
35146
 
34874
35147
  // ../blocks/src/system/blocks/team-members.ts
34875
- import { z as z62 } from "zod";
35148
+ import { z as z63 } from "zod";
34876
35149
  var ITEM_NAME2 = "member";
34877
35150
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
34878
35151
  message: "Team member photos must be image media"
34879
35152
  }).nullable();
34880
- var teamMemberDataSchema = z62.object({
34881
- _type: z62.literal("teamMember"),
34882
- id: z62.string(),
34883
- name: z62.string(),
34884
- role: z62.string().nullable(),
34885
- roleLabel: z62.string().nullable(),
34886
- bio: z62.string().nullable(),
34887
- summary: z62.string().nullable(),
35153
+ var teamMemberDataSchema = z63.object({
35154
+ _type: z63.literal("teamMember"),
35155
+ id: z63.string(),
35156
+ name: z63.string(),
35157
+ role: z63.string().nullable(),
35158
+ roleLabel: z63.string().nullable(),
35159
+ bio: z63.string().nullable(),
35160
+ summary: z63.string().nullable(),
34888
35161
  photo: teamMemberPhotoSchema,
34889
- profilePath: z62.string().nullable()
35162
+ profilePath: z63.string().nullable()
34890
35163
  });
34891
- var teamMembersDataSchema = z62.array(teamMemberDataSchema);
35164
+ var teamMembersDataSchema = z63.array(teamMemberDataSchema);
34892
35165
  var dynamicSourceWhen = { equals: "site_staff" };
34893
35166
  var manualSourceWhen = { equals: "site_staff", not: true };
34894
35167
  var headingNode = text(
@@ -37692,34 +37965,34 @@ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
37692
37965
  var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
37693
37966
 
37694
37967
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
37695
- import { z as z63 } from "zod";
37696
- var themeBridgeConfigSchema = z63.object({
37697
- tokens: z63.record(z63.string(), z63.string()),
37698
- typography: z63.object({
37699
- headingFamily: z63.string().optional(),
37700
- bodyFamily: z63.string().optional(),
37701
- headingWeight: z63.number().optional(),
37702
- bodyWeight: z63.number().optional()
37968
+ import { z as z64 } from "zod";
37969
+ var themeBridgeConfigSchema = z64.object({
37970
+ tokens: z64.record(z64.string(), z64.string()),
37971
+ typography: z64.object({
37972
+ headingFamily: z64.string().optional(),
37973
+ bodyFamily: z64.string().optional(),
37974
+ headingWeight: z64.number().optional(),
37975
+ bodyWeight: z64.number().optional()
37703
37976
  }).optional(),
37704
- spacing: z63.enum(["comfortable", "standard", "dense"]).optional(),
37705
- corners: z63.enum(["square", "soft", "rounded", "pill"]).optional(),
37706
- shadows: z63.enum(["none", "low", "medium", "high"]).optional(),
37707
- components: z63.object({
37708
- buttons: z63.union([
37709
- z63.boolean(),
37710
- z63.object({
37711
- variants: z63.array(z63.enum(["primary", "secondary", "outline", "ghost"])).optional()
37977
+ spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
37978
+ corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
37979
+ shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
37980
+ components: z64.object({
37981
+ buttons: z64.union([
37982
+ z64.boolean(),
37983
+ z64.object({
37984
+ variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
37712
37985
  })
37713
37986
  ]).optional(),
37714
- cards: z63.union([
37715
- z63.boolean(),
37716
- z63.object({
37717
- variants: z63.array(z63.enum(["default", "elevated", "outlined"])).optional()
37987
+ cards: z64.union([
37988
+ z64.boolean(),
37989
+ z64.object({
37990
+ variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
37718
37991
  })
37719
37992
  ]).optional(),
37720
- inputs: z63.boolean().optional()
37993
+ inputs: z64.boolean().optional()
37721
37994
  }).optional(),
37722
- overrides: z63.record(z63.string(), z63.string()).optional()
37995
+ overrides: z64.record(z64.string(), z64.string()).optional()
37723
37996
  }).passthrough();
37724
37997
 
37725
37998
  // ../theme-core/src/siteChrome.tsx
@@ -38088,17 +38361,17 @@ function normalizeLoaderParams(endpoint, params, context) {
38088
38361
  function unsafeRetypeZodSchema(schema) {
38089
38362
  return schema;
38090
38363
  }
38091
- var navIdListSchema = z64.preprocess((value) => {
38364
+ var navIdListSchema = z65.preprocess((value) => {
38092
38365
  if (!Array.isArray(value)) return void 0;
38093
38366
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
38094
38367
  return filtered.length > 0 ? filtered : void 0;
38095
- }, z64.array(z64.string()).max(200).optional());
38096
- var dashboardNavVisibilityBaseSchema = z64.object({
38097
- mode: z64.enum(["augment", "restrict"]).optional(),
38368
+ }, z65.array(z65.string()).max(200).optional());
38369
+ var dashboardNavVisibilityBaseSchema = z65.object({
38370
+ mode: z65.enum(["augment", "restrict"]).optional(),
38098
38371
  allowIds: navIdListSchema,
38099
38372
  denyIds: navIdListSchema
38100
38373
  }).strip();
38101
- var dashboardNavVisibilityRolesSchema = z64.object({
38374
+ var dashboardNavVisibilityRolesSchema = z65.object({
38102
38375
  administrator: dashboardNavVisibilityBaseSchema.optional(),
38103
38376
  editor: dashboardNavVisibilityBaseSchema.optional(),
38104
38377
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -38106,63 +38379,63 @@ var dashboardNavVisibilityRolesSchema = z64.object({
38106
38379
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
38107
38380
  roles: dashboardNavVisibilityRolesSchema
38108
38381
  }).strip();
38109
- var dashboardNavigationConfigSchema = z64.object({
38382
+ var dashboardNavigationConfigSchema = z65.object({
38110
38383
  siteNav: dashboardNavVisibilitySchema.optional(),
38111
38384
  settingsNav: dashboardNavVisibilitySchema.optional()
38112
38385
  }).strip();
38113
- var dashboardConfigSchema = z64.object({
38114
- previewEditingEnabled: z64.boolean().optional(),
38386
+ var dashboardConfigSchema = z65.object({
38387
+ previewEditingEnabled: z65.boolean().optional(),
38115
38388
  navigation: dashboardNavigationConfigSchema.optional()
38116
38389
  }).strip();
38117
38390
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
38118
38391
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
38119
- var sdkLoaderEndpointSchema = z64.enum(SUPPORTED_LOADER_ENDPOINTS);
38120
- var loaderFallbackScalarSchema = z64.union([
38121
- z64.string(),
38122
- z64.number(),
38123
- z64.boolean(),
38124
- z64.null()
38392
+ var sdkLoaderEndpointSchema = z65.enum(SUPPORTED_LOADER_ENDPOINTS);
38393
+ var loaderFallbackScalarSchema = z65.union([
38394
+ z65.string(),
38395
+ z65.number(),
38396
+ z65.boolean(),
38397
+ z65.null()
38125
38398
  ]);
38126
- var loaderParamBindingSchema = z64.object({
38127
- $bind: z64.object({
38128
- from: z64.string().min(1, "Binding path is required"),
38399
+ var loaderParamBindingSchema = z65.object({
38400
+ $bind: z65.object({
38401
+ from: z65.string().min(1, "Binding path is required"),
38129
38402
  fallback: loaderFallbackScalarSchema.optional()
38130
38403
  })
38131
38404
  });
38132
- var loaderParamValueSchema = z64.union([
38133
- z64.string(),
38134
- z64.number(),
38135
- z64.boolean(),
38405
+ var loaderParamValueSchema = z65.union([
38406
+ z65.string(),
38407
+ z65.number(),
38408
+ z65.boolean(),
38136
38409
  loaderParamBindingSchema
38137
38410
  ]);
38138
- var sdkConfigLoaderSchema = z64.object({
38411
+ var sdkConfigLoaderSchema = z65.object({
38139
38412
  endpoint: sdkLoaderEndpointSchema,
38140
- params: z64.record(z64.string(), loaderParamValueSchema),
38141
- mode: z64.enum(["server", "client"]).default("server")
38413
+ params: z65.record(z65.string(), loaderParamValueSchema),
38414
+ mode: z65.enum(["server", "client"]).default("server")
38142
38415
  });
38143
- var sdkDataLoadersSchema = z64.record(z64.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38144
- var sdkCustomBlockIdSchema = z64.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38416
+ var sdkDataLoadersSchema = z65.record(z65.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
38417
+ var sdkCustomBlockIdSchema = z65.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
38145
38418
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
38146
38419
  }).transform((value) => value);
38147
- var sdkCustomBlockInputSchema = z64.object({
38420
+ var sdkCustomBlockInputSchema = z65.object({
38148
38421
  id: sdkCustomBlockIdSchema,
38149
- title: z64.string().min(1),
38150
- titleSource: z64.union([z64.string().min(1), z64.array(z64.string().min(1)).min(1)]).optional(),
38151
- description: z64.string().optional(),
38422
+ title: z65.string().min(1),
38423
+ titleSource: z65.union([z65.string().min(1), z65.array(z65.string().min(1)).min(1)]).optional(),
38424
+ description: z65.string().optional(),
38152
38425
  category: blockCategoryEnum,
38153
- icon: z64.string().optional(),
38154
- tags: z64.array(z64.string()).optional(),
38426
+ icon: z65.string().optional(),
38427
+ tags: z65.array(z65.string()).optional(),
38155
38428
  fields: fieldDefinitionInputSchema.array().min(1),
38156
38429
  dataLoaders: sdkDataLoadersSchema,
38157
38430
  layout: NodeSchema.optional(),
38158
- variants: z64.record(z64.string().min(1), NodeSchema).optional(),
38159
- defaultVariant: z64.string().min(1).optional(),
38160
- variantOptions: z64.record(
38161
- z64.string().min(1),
38162
- z64.object({
38163
- label: z64.string().min(1).optional(),
38164
- description: z64.string().min(1).optional(),
38165
- icon: z64.string().min(1).optional()
38431
+ variants: z65.record(z65.string().min(1), NodeSchema).optional(),
38432
+ defaultVariant: z65.string().min(1).optional(),
38433
+ variantOptions: z65.record(
38434
+ z65.string().min(1),
38435
+ z65.object({
38436
+ label: z65.string().min(1).optional(),
38437
+ description: z65.string().min(1).optional(),
38438
+ icon: z65.string().min(1).optional()
38166
38439
  })
38167
38440
  ).optional(),
38168
38441
  previewCustomize: previewCustomizeManifestCurationSchema.optional()
@@ -38173,7 +38446,7 @@ var sdkCustomBlockInputSchema = z64.object({
38173
38446
  const exists = data.fields.some((field) => field.id === source);
38174
38447
  if (!exists) {
38175
38448
  ctx.addIssue({
38176
- code: z64.ZodIssueCode.custom,
38449
+ code: z65.ZodIssueCode.custom,
38177
38450
  message: `titleSource must reference a valid field ID (got "${source}")`,
38178
38451
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
38179
38452
  });
@@ -38182,7 +38455,7 @@ var sdkCustomBlockInputSchema = z64.object({
38182
38455
  }
38183
38456
  if (data.layout && data.variants) {
38184
38457
  ctx.addIssue({
38185
- code: z64.ZodIssueCode.custom,
38458
+ code: z65.ZodIssueCode.custom,
38186
38459
  message: "Custom block must define either `layout` or `variants`, not both",
38187
38460
  path: ["variants"]
38188
38461
  });
@@ -38191,14 +38464,14 @@ var sdkCustomBlockInputSchema = z64.object({
38191
38464
  const keys = Object.keys(data.variants);
38192
38465
  if (keys.length === 0) {
38193
38466
  ctx.addIssue({
38194
- code: z64.ZodIssueCode.custom,
38467
+ code: z65.ZodIssueCode.custom,
38195
38468
  message: "`variants` must contain at least one variant key",
38196
38469
  path: ["variants"]
38197
38470
  });
38198
38471
  }
38199
38472
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
38200
38473
  ctx.addIssue({
38201
- code: z64.ZodIssueCode.custom,
38474
+ code: z65.ZodIssueCode.custom,
38202
38475
  message: "`defaultVariant` must be a key present in `variants`",
38203
38476
  path: ["defaultVariant"]
38204
38477
  });
@@ -38207,7 +38480,7 @@ var sdkCustomBlockInputSchema = z64.object({
38207
38480
  for (const key of Object.keys(data.variantOptions)) {
38208
38481
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
38209
38482
  ctx.addIssue({
38210
- code: z64.ZodIssueCode.custom,
38483
+ code: z65.ZodIssueCode.custom,
38211
38484
  message: "`variantOptions` key must exist in `variants`",
38212
38485
  path: ["variantOptions", key]
38213
38486
  });
@@ -38216,78 +38489,78 @@ var sdkCustomBlockInputSchema = z64.object({
38216
38489
  }
38217
38490
  }
38218
38491
  });
38219
- var sdkBlockFieldExtensionInputSchema = z64.object({
38492
+ var sdkBlockFieldExtensionInputSchema = z65.object({
38220
38493
  fields: fieldDefinitionInputSchema.array().min(1)
38221
38494
  });
38222
- var sdkBlockFieldExtensionsInputSchema = z64.record(
38223
- z64.string().min(1),
38495
+ var sdkBlockFieldExtensionsInputSchema = z65.record(
38496
+ z65.string().min(1),
38224
38497
  sdkBlockFieldExtensionInputSchema
38225
38498
  );
38226
- var sdkThemePaletteSchema = z64.record(z64.string(), z64.string());
38227
- var sdkThemeConfigSchema = z64.object({
38499
+ var sdkThemePaletteSchema = z65.record(z65.string(), z65.string());
38500
+ var sdkThemeConfigSchema = z65.object({
38228
38501
  palette: sdkThemePaletteSchema
38229
38502
  });
38230
- var sdkSectionBackgroundSchema = z64.object({
38231
- id: z64.string().min(1),
38232
- label: z64.string().min(1),
38233
- token: z64.string().min(1)
38503
+ var sdkSectionBackgroundSchema = z65.object({
38504
+ id: z65.string().min(1),
38505
+ label: z65.string().min(1),
38506
+ token: z65.string().min(1)
38234
38507
  });
38235
- var sdkSectionOptionsConfigSchema = z64.object({
38236
- backgroundColor: z64.boolean().optional(),
38237
- backgroundImage: z64.boolean().optional(),
38238
- backgroundGradient: z64.boolean().optional(),
38239
- spacing: z64.union([z64.array(z64.enum(["compact", "default", "spacious"])), z64.boolean()]).optional(),
38240
- textColor: z64.boolean().optional()
38508
+ var sdkSectionOptionsConfigSchema = z65.object({
38509
+ backgroundColor: z65.boolean().optional(),
38510
+ backgroundImage: z65.boolean().optional(),
38511
+ backgroundGradient: z65.boolean().optional(),
38512
+ spacing: z65.union([z65.array(z65.enum(["compact", "default", "spacious"])), z65.boolean()]).optional(),
38513
+ textColor: z65.boolean().optional()
38241
38514
  });
38242
- var sdkContainerOptionsConfigSchema = z64.object({
38243
- maxWidth: z64.union([z64.array(z64.enum(["narrow", "default", "wide", "full"])), z64.boolean()]).optional(),
38244
- alignment: z64.union([z64.array(z64.enum(["left", "center", "right"])), z64.boolean()]).optional()
38515
+ var sdkContainerOptionsConfigSchema = z65.object({
38516
+ maxWidth: z65.union([z65.array(z65.enum(["narrow", "default", "wide", "full"])), z65.boolean()]).optional(),
38517
+ alignment: z65.union([z65.array(z65.enum(["left", "center", "right"])), z65.boolean()]).optional()
38245
38518
  });
38246
- var sdkSiteStyleConfigSchema = z64.object({
38247
- sectionBackgrounds: z64.array(sdkSectionBackgroundSchema).optional(),
38519
+ var sdkSiteStyleConfigSchema = z65.object({
38520
+ sectionBackgrounds: z65.array(sdkSectionBackgroundSchema).optional(),
38248
38521
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
38249
38522
  containerOptions: sdkContainerOptionsConfigSchema.optional()
38250
38523
  });
38251
- var sdkSiteLayoutConfigSchema = z64.object({
38252
- footerBlocks: z64.array(
38253
- z64.object({
38254
- id: z64.string().min(1).optional(),
38255
- kind: z64.string().min(1),
38256
- content: z64.record(z64.string(), z64.unknown()).optional()
38524
+ var sdkSiteLayoutConfigSchema = z65.object({
38525
+ footerBlocks: z65.array(
38526
+ z65.object({
38527
+ id: z65.string().min(1).optional(),
38528
+ kind: z65.string().min(1),
38529
+ content: z65.record(z65.string(), z65.unknown()).optional()
38257
38530
  })
38258
38531
  ).optional()
38259
38532
  });
38260
- var sdkFieldSelectOptionSchema = z64.object({
38261
- value: z64.string(),
38262
- label: z64.string()
38533
+ var sdkFieldSelectOptionSchema = z65.object({
38534
+ value: z65.string(),
38535
+ label: z65.string()
38263
38536
  });
38264
- var sdkBlockFieldConfigSchema = z64.object({
38265
- options: z64.array(sdkFieldSelectOptionSchema).optional()
38537
+ var sdkBlockFieldConfigSchema = z65.object({
38538
+ options: z65.array(sdkFieldSelectOptionSchema).optional()
38266
38539
  });
38267
- var sdkBlockFieldOptionsMapSchema = z64.record(
38268
- z64.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38540
+ var sdkBlockFieldOptionsMapSchema = z65.record(
38541
+ z65.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
38269
38542
  message: "Block ID must be 'block.*' or 'custom.*' format"
38270
38543
  }),
38271
- z64.record(z64.string().min(1), sdkBlockFieldConfigSchema)
38544
+ z65.record(z65.string().min(1), sdkBlockFieldConfigSchema)
38272
38545
  ).optional();
38273
- var sdkContentTypeTemplateConfigSchema = z64.object({
38274
- blocks: z64.array(z64.unknown())
38546
+ var sdkContentTypeTemplateConfigSchema = z65.object({
38547
+ blocks: z65.array(z65.unknown())
38275
38548
  }).passthrough();
38276
- var sdkContentTypeOrderingConfigSchema = z64.object({
38277
- mode: z64.enum(["default", "manual"]).optional()
38549
+ var sdkContentTypeOrderingConfigSchema = z65.object({
38550
+ mode: z65.enum(["default", "manual"]).optional()
38278
38551
  }).optional();
38279
- var sdkContentTypeConfigSchema = z64.object({
38280
- key: z64.string().min(1),
38281
- fields: z64.array(z64.unknown()),
38552
+ var sdkContentTypeConfigSchema = z65.object({
38553
+ key: z65.string().min(1),
38554
+ fields: z65.array(z65.unknown()),
38282
38555
  ordering: sdkContentTypeOrderingConfigSchema,
38283
38556
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
38284
38557
  }).passthrough();
38285
- var sdkContentConfigSchema = z64.object({
38286
- contentTypes: z64.array(sdkContentTypeConfigSchema).optional(),
38287
- pages: z64.array(z64.unknown()).optional(),
38288
- entries: z64.array(z64.unknown()).optional(),
38289
- navigationMenus: z64.array(z64.unknown()).optional(),
38290
- settings: z64.unknown().optional()
38558
+ var sdkContentConfigSchema = z65.object({
38559
+ contentTypes: z65.array(sdkContentTypeConfigSchema).optional(),
38560
+ pages: z65.array(z65.unknown()).optional(),
38561
+ entries: z65.array(z65.unknown()).optional(),
38562
+ navigationMenus: z65.array(z65.unknown()).optional(),
38563
+ settings: z65.unknown().optional()
38291
38564
  }).passthrough();
38292
38565
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
38293
38566
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -38302,62 +38575,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
38302
38575
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
38303
38576
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
38304
38577
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
38305
- var sdkWorkflowIdSchema = z64.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38578
+ var sdkWorkflowIdSchema = z65.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
38306
38579
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
38307
38580
  });
38308
- 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 "/"' });
38309
- var sdkWorkflowManualTriggerSchema = z64.object({
38310
- type: z64.literal("manual")
38581
+ 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 "/"' });
38582
+ var sdkWorkflowManualTriggerSchema = z65.object({
38583
+ type: z65.literal("manual")
38311
38584
  }).strict();
38312
- var sdkWorkflowTriggerFieldSchema = z64.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38585
+ var sdkWorkflowTriggerFieldSchema = z65.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
38313
38586
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
38314
38587
  });
38315
- var sdkWorkflowFieldChangedConditionSchema = z64.object({
38588
+ var sdkWorkflowFieldChangedConditionSchema = z65.object({
38316
38589
  field: sdkWorkflowTriggerFieldSchema,
38317
- changed: z64.literal(true)
38590
+ changed: z65.literal(true)
38318
38591
  }).strict();
38319
- var sdkWorkflowFieldEmptyConditionSchema = z64.object({
38592
+ var sdkWorkflowFieldEmptyConditionSchema = z65.object({
38320
38593
  field: sdkWorkflowTriggerFieldSchema,
38321
- isEmpty: z64.boolean()
38594
+ isEmpty: z65.boolean()
38322
38595
  }).strict();
38323
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z64.object({
38324
- type: z64.literal("entry.draft.updated"),
38325
- when: z64.array(
38326
- z64.union([
38596
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z65.object({
38597
+ type: z65.literal("entry.draft.updated"),
38598
+ when: z65.array(
38599
+ z65.union([
38327
38600
  sdkWorkflowFieldChangedConditionSchema,
38328
38601
  sdkWorkflowFieldEmptyConditionSchema
38329
38602
  ])
38330
38603
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
38331
38604
  }).strict();
38332
- var sdkWorkflowTriggerSchema = z64.discriminatedUnion("type", [
38605
+ var sdkWorkflowTriggerSchema = z65.discriminatedUnion("type", [
38333
38606
  sdkWorkflowManualTriggerSchema,
38334
38607
  sdkWorkflowEntryDraftUpdatedTriggerSchema
38335
38608
  ]);
38336
- var sdkWorkflowConfirmationSchema = z64.object({
38337
- title: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38338
- body: z64.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38609
+ var sdkWorkflowConfirmationSchema = z65.object({
38610
+ title: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
38611
+ body: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
38339
38612
  }).strict();
38340
- var sdkWorkflowConfigSchema = z64.object({
38613
+ var sdkWorkflowConfigSchema = z65.object({
38341
38614
  id: sdkWorkflowIdSchema,
38342
- title: z64.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38343
- description: z64.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38344
- contentType: z64.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38615
+ title: z65.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
38616
+ description: z65.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
38617
+ contentType: z65.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
38345
38618
  endpoint: sdkWorkflowEndpointSchema,
38346
- triggers: z64.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38619
+ triggers: z65.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
38347
38620
  confirmation: sdkWorkflowConfirmationSchema.optional()
38348
38621
  }).strict();
38349
- var sdkWorkflowsSchema = z64.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38622
+ var sdkWorkflowsSchema = z65.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
38350
38623
  const ids = workflows.map((workflow) => workflow.id);
38351
38624
  return ids.length === new Set(ids).size;
38352
38625
  }, { message: "Workflow IDs must be unique" }).optional();
38353
- var riverbankSiteConfigInputSchema = z64.object({
38354
- siteId: z64.string().uuid(),
38355
- previewUrl: z64.string().url().optional(),
38356
- liveUrl: z64.string().url().optional(),
38626
+ var riverbankSiteConfigInputSchema = z65.object({
38627
+ siteId: z65.string().uuid(),
38628
+ previewUrl: z65.string().url().optional(),
38629
+ liveUrl: z65.string().url().optional(),
38357
38630
  theme: sdkThemeConfigSchema.optional(),
38358
38631
  styles: sdkSiteStyleConfigSchema.optional(),
38359
38632
  layout: sdkSiteLayoutConfigSchema.optional(),
38360
- customBlocks: z64.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38633
+ customBlocks: z65.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
38361
38634
  const ids = blocks.map((b) => b.id);
38362
38635
  return ids.length === new Set(ids).size;
38363
38636
  }, { message: "Block IDs must be unique" }).optional(),
@@ -38365,50 +38638,50 @@ var riverbankSiteConfigInputSchema = z64.object({
38365
38638
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
38366
38639
  workflows: sdkWorkflowsSchema,
38367
38640
  content: sdkContentConfigSchema.optional(),
38368
- contentDir: z64.string().optional(),
38369
- sync: z64.object({
38370
- existingEntries: z64.enum(["skip", "update"]).optional()
38641
+ contentDir: z65.string().optional(),
38642
+ sync: z65.object({
38643
+ existingEntries: z65.enum(["skip", "update"]).optional()
38371
38644
  }).optional(),
38372
- deploy: z64.object({
38373
- verifyCommand: z64.string().optional(),
38374
- prebuildOutput: z64.string().optional()
38645
+ deploy: z65.object({
38646
+ verifyCommand: z65.string().optional(),
38647
+ prebuildOutput: z65.string().optional()
38375
38648
  }).optional(),
38376
- themeSource: z64.enum(["local", "cms"]).optional(),
38377
- activeTheme: z64.string().optional(),
38378
- enablePortal: z64.boolean().optional(),
38649
+ themeSource: z65.enum(["local", "cms"]).optional(),
38650
+ activeTheme: z65.string().optional(),
38651
+ enablePortal: z65.boolean().optional(),
38379
38652
  dashboard: dashboardConfigSchema.optional()
38380
38653
  }).strict();
38381
- var pushSdkConfigBodySchema = z64.object({
38654
+ var pushSdkConfigBodySchema = z65.object({
38382
38655
  config: riverbankSiteConfigInputSchema,
38383
- forceContentTypes: z64.boolean().optional()
38656
+ forceContentTypes: z65.boolean().optional()
38384
38657
  }).strict();
38385
38658
 
38386
38659
  // ../api/src/siteOnboarding.ts
38387
- import { z as z65 } from "zod";
38660
+ import { z as z66 } from "zod";
38388
38661
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
38389
38662
  configure_appointments: {
38390
38663
  requirementId: "configure_appointments",
38391
38664
  reason: "launch_anyway"
38392
38665
  }
38393
38666
  };
38394
- var acknowledgeLaunchRequirementRequestSchema = z65.discriminatedUnion(
38667
+ var acknowledgeLaunchRequirementRequestSchema = z66.discriminatedUnion(
38395
38668
  "requirementId",
38396
38669
  [
38397
- z65.object({
38398
- requirementId: z65.literal("review_generated_site")
38670
+ z66.object({
38671
+ requirementId: z66.literal("review_generated_site")
38399
38672
  }),
38400
- z65.object({
38401
- requirementId: z65.literal(
38673
+ z66.object({
38674
+ requirementId: z66.literal(
38402
38675
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
38403
38676
  ),
38404
- overrideReason: z65.literal(
38677
+ overrideReason: z66.literal(
38405
38678
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
38406
38679
  )
38407
38680
  })
38408
38681
  ]
38409
38682
  );
38410
- var goLiveSiteRequestSchema = z65.object({
38411
- acceptExtraSiteCharge: z65.boolean().optional()
38683
+ var goLiveSiteRequestSchema = z66.object({
38684
+ acceptExtraSiteCharge: z66.boolean().optional()
38412
38685
  });
38413
38686
 
38414
38687
  // ../surfaces/src/index.ts
@@ -38492,7 +38765,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
38492
38765
  ];
38493
38766
 
38494
38767
  // ../api/src/bookingVerticals.ts
38495
- import { z as z66 } from "zod";
38768
+ import { z as z67 } from "zod";
38496
38769
  var VERTICAL_IDS = [
38497
38770
  "yoga_wellness",
38498
38771
  "fitness_pt",
@@ -38657,39 +38930,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
38657
38930
  }
38658
38931
  return [...issues];
38659
38932
  }
38660
- var VerticalIdSchema = z66.string().trim().transform((value, ctx) => {
38933
+ var VerticalIdSchema = z67.string().trim().transform((value, ctx) => {
38661
38934
  const parsed = parseVerticalId(value);
38662
38935
  if (!parsed) {
38663
38936
  ctx.addIssue({
38664
- code: z66.ZodIssueCode.custom,
38937
+ code: z67.ZodIssueCode.custom,
38665
38938
  message: "Unknown booking vertical"
38666
38939
  });
38667
- return z66.NEVER;
38940
+ return z67.NEVER;
38668
38941
  }
38669
38942
  return parsed;
38670
38943
  });
38671
- var VerticalPresetIdSchema = z66.string().trim().transform((value, ctx) => {
38944
+ var VerticalPresetIdSchema = z67.string().trim().transform((value, ctx) => {
38672
38945
  const parsed = parseVerticalPresetId(value);
38673
38946
  if (!parsed) {
38674
38947
  ctx.addIssue({
38675
- code: z66.ZodIssueCode.custom,
38948
+ code: z67.ZodIssueCode.custom,
38676
38949
  message: "Unknown booking preset"
38677
38950
  });
38678
- return z66.NEVER;
38951
+ return z67.NEVER;
38679
38952
  }
38680
38953
  return parsed;
38681
38954
  });
38682
- var BookingVerticalConfigSchema = z66.object({
38955
+ var BookingVerticalConfigSchema = z67.object({
38683
38956
  verticalId: VerticalIdSchema.nullable(),
38684
- selectedPresetIds: z66.array(VerticalPresetIdSchema).max(20)
38957
+ selectedPresetIds: z67.array(VerticalPresetIdSchema).max(20)
38685
38958
  }).transform((value, ctx) => {
38686
38959
  const resolved = resolveSiteVerticalBookingConfig(value);
38687
38960
  if (resolved.kind === "invalid") {
38688
38961
  ctx.addIssue({
38689
- code: z66.ZodIssueCode.custom,
38962
+ code: z67.ZodIssueCode.custom,
38690
38963
  message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
38691
38964
  });
38692
- return z66.NEVER;
38965
+ return z67.NEVER;
38693
38966
  }
38694
38967
  return resolved.config;
38695
38968
  });
@@ -38716,51 +38989,51 @@ function isRecord8(value) {
38716
38989
  }
38717
38990
 
38718
38991
  // ../api/src/appointmentSetup.ts
38719
- import { z as z67 } from "zod";
38992
+ import { z as z68 } from "zod";
38720
38993
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
38721
- var appointmentSetupRefSchema = z67.discriminatedUnion("kind", [
38722
- z67.object({ kind: z67.literal("existing"), id: z67.string().min(1) }),
38723
- z67.object({ kind: z67.literal("new"), draftId: z67.string().min(1) })
38994
+ var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
38995
+ z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
38996
+ z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
38724
38997
  ]);
38725
- var appointmentSetupVenueChoiceSchema = z67.discriminatedUnion("kind", [
38726
- z67.object({ kind: z67.literal("none") }),
38727
- z67.object({ kind: z67.literal("existing"), venueId: z67.string().min(1) }),
38728
- z67.object({
38729
- kind: z67.literal("create"),
38730
- draftId: z67.string().min(1),
38731
- title: z67.string().trim().min(1),
38732
- description: z67.string().nullable(),
38733
- timezone: z67.string().trim().min(1).nullable(),
38734
- addressJson: z67.record(z67.string(), z67.unknown()),
38735
- locationJson: z67.object({ lat: z67.number(), lng: z67.number() }).nullable()
38998
+ var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
38999
+ z68.object({ kind: z68.literal("none") }),
39000
+ z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
39001
+ z68.object({
39002
+ kind: z68.literal("create"),
39003
+ draftId: z68.string().min(1),
39004
+ title: z68.string().trim().min(1),
39005
+ description: z68.string().nullable(),
39006
+ timezone: z68.string().trim().min(1).nullable(),
39007
+ addressJson: z68.record(z68.string(), z68.unknown()),
39008
+ locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
38736
39009
  })
38737
39010
  ]);
38738
- var appointmentSetupPaymentDraftSchema = z67.object({
38739
- priceType: z67.union([z67.literal("free"), z67.literal("paid")])
38740
- });
38741
- var appointmentSetupServiceAssignmentDraftSchema = z67.discriminatedUnion("kind", [
38742
- z67.object({ kind: z67.literal("all_practitioners") }),
38743
- z67.object({
38744
- kind: z67.literal("selected_practitioners"),
38745
- resourceRefs: z67.array(appointmentSetupRefSchema)
39011
+ var appointmentSetupPaymentDraftSchema = z68.object({
39012
+ priceType: z68.union([z68.literal("free"), z68.literal("paid")])
39013
+ });
39014
+ var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
39015
+ z68.object({ kind: z68.literal("all_practitioners") }),
39016
+ z68.object({
39017
+ kind: z68.literal("selected_practitioners"),
39018
+ resourceRefs: z68.array(appointmentSetupRefSchema)
38746
39019
  })
38747
39020
  ]);
38748
- var appointmentSetupServiceDraftSchema = z67.object({
39021
+ var appointmentSetupServiceDraftSchema = z68.object({
38749
39022
  ref: appointmentSetupRefSchema,
38750
- title: z67.string().trim().min(1),
38751
- description: z67.string().nullable(),
38752
- durationMinutes: z67.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
38753
- prepMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
38754
- cleanupMinutes: z67.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
38755
- priceAmount: z67.number().int().nonnegative().nullable(),
38756
- isActive: z67.boolean(),
38757
- locationType: z67.union([
38758
- z67.literal("virtual"),
38759
- z67.literal("in_person"),
38760
- z67.literal("hybrid")
39023
+ title: z68.string().trim().min(1),
39024
+ description: z68.string().nullable(),
39025
+ durationMinutes: z68.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
39026
+ prepMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39027
+ cleanupMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
39028
+ priceAmount: z68.number().int().nonnegative().nullable(),
39029
+ isActive: z68.boolean(),
39030
+ locationType: z68.union([
39031
+ z68.literal("virtual"),
39032
+ z68.literal("in_person"),
39033
+ z68.literal("hybrid")
38761
39034
  ]),
38762
39035
  venue: appointmentSetupVenueChoiceSchema,
38763
- timezone: z67.string().trim().min(1).nullable(),
39036
+ timezone: z68.string().trim().min(1).nullable(),
38764
39037
  payment: appointmentSetupPaymentDraftSchema,
38765
39038
  assignment: appointmentSetupServiceAssignmentDraftSchema
38766
39039
  }).superRefine((service, ctx) => {
@@ -38779,49 +39052,49 @@ var appointmentSetupServiceDraftSchema = z67.object({
38779
39052
  });
38780
39053
  }
38781
39054
  });
38782
- var appointmentSetupPractitionerDraftSchema = z67.object({
39055
+ var appointmentSetupPractitionerDraftSchema = z68.object({
38783
39056
  ref: appointmentSetupRefSchema,
38784
- displayName: z67.string().trim().min(1),
38785
- bio: z67.string().nullable(),
38786
- timezone: z67.string().trim().min(1),
38787
- colorHex: z67.string().nullable()
38788
- });
38789
- var appointmentSetupWeeklyWindowDraftSchema = z67.object({
38790
- weekday: z67.number().int().min(0).max(6),
38791
- startTime: z67.string(),
38792
- endTime: z67.string()
38793
- });
38794
- var appointmentSetupStartTimePolicyDraftSchema = z67.discriminatedUnion("kind", [
38795
- z67.object({ kind: z67.literal("automatic_spacing") }),
38796
- z67.object({
38797
- kind: z67.literal("regular_interval"),
38798
- intervalMinutes: z67.union([
38799
- z67.literal(10),
38800
- z67.literal(15),
38801
- z67.literal(20),
38802
- z67.literal(30),
38803
- z67.literal(45),
38804
- z67.literal(60)
39057
+ displayName: z68.string().trim().min(1),
39058
+ bio: z68.string().nullable(),
39059
+ timezone: z68.string().trim().min(1),
39060
+ colorHex: z68.string().nullable()
39061
+ });
39062
+ var appointmentSetupWeeklyWindowDraftSchema = z68.object({
39063
+ weekday: z68.number().int().min(0).max(6),
39064
+ startTime: z68.string(),
39065
+ endTime: z68.string()
39066
+ });
39067
+ var appointmentSetupStartTimePolicyDraftSchema = z68.discriminatedUnion("kind", [
39068
+ z68.object({ kind: z68.literal("automatic_spacing") }),
39069
+ z68.object({
39070
+ kind: z68.literal("regular_interval"),
39071
+ intervalMinutes: z68.union([
39072
+ z68.literal(10),
39073
+ z68.literal(15),
39074
+ z68.literal(20),
39075
+ z68.literal(30),
39076
+ z68.literal(45),
39077
+ z68.literal(60)
38805
39078
  ])
38806
39079
  })
38807
39080
  ]);
38808
- var appointmentSetupAvailabilityDraftSchema = z67.object({
38809
- kind: z67.literal("weekly_windows"),
39081
+ var appointmentSetupAvailabilityDraftSchema = z68.object({
39082
+ kind: z68.literal("weekly_windows"),
38810
39083
  resourceRef: appointmentSetupRefSchema,
38811
39084
  serviceRef: appointmentSetupRefSchema.nullable(),
38812
- windows: z67.array(appointmentSetupWeeklyWindowDraftSchema),
39085
+ windows: z68.array(appointmentSetupWeeklyWindowDraftSchema),
38813
39086
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
38814
39087
  });
38815
39088
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
38816
39089
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
38817
- var appointmentSetupBookingNoticeSchema = z67.object({
38818
- minLeadMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
38819
- maxBookingNoticeMinutes: z67.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
38820
- });
38821
- var applyAppointmentSetupRequestSchema = z67.object({
38822
- services: z67.array(appointmentSetupServiceDraftSchema),
38823
- practitioners: z67.array(appointmentSetupPractitionerDraftSchema),
38824
- availability: z67.array(appointmentSetupAvailabilityDraftSchema),
39090
+ var appointmentSetupBookingNoticeSchema = z68.object({
39091
+ minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
39092
+ maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
39093
+ });
39094
+ var applyAppointmentSetupRequestSchema = z68.object({
39095
+ services: z68.array(appointmentSetupServiceDraftSchema),
39096
+ practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
39097
+ availability: z68.array(appointmentSetupAvailabilityDraftSchema),
38825
39098
  bookingNotice: appointmentSetupBookingNoticeSchema
38826
39099
  });
38827
39100
 
@@ -38854,24 +39127,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
38854
39127
  ];
38855
39128
 
38856
39129
  // ../api/src/siteBanner.ts
38857
- import { z as z68 } from "zod";
39130
+ import { z as z69 } from "zod";
38858
39131
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
38859
39132
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
38860
39133
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
38861
39134
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
38862
- var siteBannerScopeSchema = z68.enum(SITE_BANNER_SCOPE_VALUES);
38863
- var siteBannerToneSchema = z68.enum(SITE_BANNER_TONE_VALUES);
38864
- var siteBannerBodySchema = z68.unknown().transform(unwrapRichTextValue);
38865
- var siteBannerCtaSchema = z68.object({
38866
- label: z68.string().trim().min(1),
39135
+ var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
39136
+ var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
39137
+ var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
39138
+ var siteBannerCtaSchema = z69.object({
39139
+ label: z69.string().trim().min(1),
38867
39140
  link: linkPayloadSchema
38868
39141
  });
38869
- var siteBannerSettingsSchema = z68.discriminatedUnion("enabled", [
38870
- z68.object({
38871
- enabled: z68.literal(false)
39142
+ var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
39143
+ z69.object({
39144
+ enabled: z69.literal(false)
38872
39145
  }),
38873
- z68.object({
38874
- enabled: z68.literal(true),
39146
+ z69.object({
39147
+ enabled: z69.literal(true),
38875
39148
  scope: siteBannerScopeSchema,
38876
39149
  tone: siteBannerToneSchema,
38877
39150
  body: siteBannerBodySchema,
@@ -38885,7 +39158,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
38885
39158
  const analysis = analyzeSiteBannerBody(value.body);
38886
39159
  for (const issue of analysis.issues) {
38887
39160
  ctx.addIssue({
38888
- code: z68.ZodIssueCode.custom,
39161
+ code: z69.ZodIssueCode.custom,
38889
39162
  path: ["body"],
38890
39163
  message: siteBannerBodyIssueMessage(issue)
38891
39164
  });
@@ -39147,89 +39420,76 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
39147
39420
  var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
39148
39421
 
39149
39422
  // ../api/src/aiPlayground.ts
39150
- import { z as z69 } from "zod";
39151
- var Rfc6902PatchOp = z69.discriminatedUnion("op", [
39423
+ import { z as z70 } from "zod";
39424
+ var Rfc6902PatchOp = z70.discriminatedUnion("op", [
39152
39425
  // Standard RFC-6902 operations
39153
- z69.object({
39154
- op: z69.literal("add"),
39155
- path: z69.string(),
39156
- value: z69.unknown()
39426
+ z70.object({
39427
+ op: z70.literal("add"),
39428
+ path: z70.string(),
39429
+ value: z70.unknown()
39157
39430
  }),
39158
- z69.object({
39159
- op: z69.literal("remove"),
39160
- path: z69.string()
39431
+ z70.object({
39432
+ op: z70.literal("remove"),
39433
+ path: z70.string()
39161
39434
  }),
39162
- z69.object({
39163
- op: z69.literal("replace"),
39164
- path: z69.string(),
39165
- value: z69.unknown()
39435
+ z70.object({
39436
+ op: z70.literal("replace"),
39437
+ path: z70.string(),
39438
+ value: z70.unknown()
39166
39439
  }),
39167
- z69.object({
39168
- op: z69.literal("move"),
39169
- from: z69.string(),
39170
- path: z69.string()
39440
+ z70.object({
39441
+ op: z70.literal("move"),
39442
+ from: z70.string(),
39443
+ path: z70.string()
39171
39444
  }),
39172
- z69.object({
39173
- op: z69.literal("copy"),
39174
- from: z69.string(),
39175
- path: z69.string()
39445
+ z70.object({
39446
+ op: z70.literal("copy"),
39447
+ from: z70.string(),
39448
+ path: z70.string()
39176
39449
  }),
39177
39450
  // Block-level operations (Phase 2)
39178
- z69.object({
39179
- op: z69.literal("add_block"),
39180
- blockKind: z69.string(),
39181
- afterBlockId: z69.string().nullable(),
39182
- content: z69.record(z69.string(), z69.unknown()),
39183
- rationale: z69.string()
39451
+ z70.object({
39452
+ op: z70.literal("add_block"),
39453
+ blockKind: z70.string(),
39454
+ afterBlockId: z70.string().nullable(),
39455
+ content: z70.record(z70.string(), z70.unknown()),
39456
+ rationale: z70.string()
39184
39457
  }),
39185
- z69.object({
39186
- op: z69.literal("delete_block"),
39187
- blockId: z69.string(),
39188
- rationale: z69.string()
39458
+ z70.object({
39459
+ op: z70.literal("delete_block"),
39460
+ blockId: z70.string(),
39461
+ rationale: z70.string()
39189
39462
  }),
39190
- z69.object({
39191
- op: z69.literal("reorder_block"),
39192
- blockId: z69.string(),
39193
- afterBlockId: z69.string().nullable(),
39194
- rationale: z69.string()
39463
+ z70.object({
39464
+ op: z70.literal("reorder_block"),
39465
+ blockId: z70.string(),
39466
+ afterBlockId: z70.string().nullable(),
39467
+ rationale: z70.string()
39195
39468
  })
39196
39469
  ]);
39197
- var PlaygroundProposeRequest = z69.object({
39198
- request: z69.string().min(1).max(2e3)
39470
+ var PlaygroundProposeRequest = z70.object({
39471
+ request: z70.string().min(1).max(2e3)
39199
39472
  });
39200
- var MultiPagePatchEnvelope = z69.object({
39201
- pageId: z69.string(),
39202
- blockId: z69.string().optional(),
39473
+ var MultiPagePatchEnvelope = z70.object({
39474
+ pageId: z70.string(),
39475
+ blockId: z70.string().optional(),
39203
39476
  // Not present for page-level ops
39204
- blockKind: z69.string().optional(),
39205
- blockPurpose: z69.string().optional().nullable(),
39206
- ops: z69.array(Rfc6902PatchOp),
39207
- rationale: z69.string(),
39208
- currentContent: z69.record(z69.string(), z69.unknown()).optional()
39477
+ blockKind: z70.string().optional(),
39478
+ blockPurpose: z70.string().optional().nullable(),
39479
+ ops: z70.array(Rfc6902PatchOp),
39480
+ rationale: z70.string(),
39481
+ currentContent: z70.record(z70.string(), z70.unknown()).optional()
39209
39482
  });
39210
- var MultiPageUpdateResponse = z69.object({
39211
- patches: z69.array(MultiPagePatchEnvelope),
39212
- assistantMessage: z69.string(),
39213
- pagesModified: z69.number(),
39214
- toolCallsUsed: z69.number()
39483
+ var MultiPageUpdateResponse = z70.object({
39484
+ patches: z70.array(MultiPagePatchEnvelope),
39485
+ assistantMessage: z70.string(),
39486
+ pagesModified: z70.number(),
39487
+ toolCallsUsed: z70.number()
39215
39488
  });
39216
39489
 
39217
39490
  // src/data/prefetchBlockData.ts
39218
- var SUPPORTED_LOADER_ENDPOINTS2 = [
39219
- "listPublishedEntries",
39220
- "getPublishedEntryPreview",
39221
- "listPublicEvents",
39222
- "listPublicCourses",
39223
- "listPublicTeamMembers",
39224
- "listPublicProducts",
39225
- "listPublicPasses",
39226
- "listPublicMemberships",
39227
- "getPublicFormById",
39228
- "getPublicBookingServices",
39229
- "getPublicEventDetails"
39230
- ];
39231
39491
  function isSupportedLoaderEndpoint2(endpoint) {
39232
- return SUPPORTED_LOADER_ENDPOINTS2.includes(endpoint);
39492
+ return SUPPORTED_LOADER_ENDPOINTS.includes(endpoint);
39233
39493
  }
39234
39494
  var ENTRY_REF_KEYS = [
39235
39495
  "identifier",
@@ -39294,6 +39554,194 @@ function parseManualEntryRefs(...values) {
39294
39554
  }
39295
39555
  return void 0;
39296
39556
  }
39557
+ var loaderAdapters = {
39558
+ listPublishedEntries: listPublishedEntries2,
39559
+ getPublishedEntryPreview,
39560
+ listPublicEvents,
39561
+ getPublicEventDetails,
39562
+ listPublicCourses,
39563
+ listPublicRouteCandidates,
39564
+ listPublicTeamMembers,
39565
+ listPublicProducts,
39566
+ listPublicPasses,
39567
+ listPublicMemberships,
39568
+ getPublicFormById,
39569
+ getPublicBookingServices
39570
+ };
39571
+ function readStringParam(params, key) {
39572
+ const value = params[key];
39573
+ return value && value.length > 0 ? value : void 0;
39574
+ }
39575
+ function requireStringParam(params, key, endpoint) {
39576
+ const value = readStringParam(params, key);
39577
+ if (!value) {
39578
+ throw new Error(`${endpoint} requires ${key} param`);
39579
+ }
39580
+ return value;
39581
+ }
39582
+ function parsePositiveIntegerParam(params, key) {
39583
+ const value = params[key];
39584
+ const parsed = value === void 0 ? void 0 : Number.parseInt(value, 10);
39585
+ return typeof parsed === "number" && Number.isInteger(parsed) && parsed > 0 ? parsed : void 0;
39586
+ }
39587
+ function parseEntryOrder(value) {
39588
+ if (value === void 0) return void 0;
39589
+ switch (value) {
39590
+ case "order":
39591
+ return "manual";
39592
+ case "newest":
39593
+ case "oldest":
39594
+ case "title":
39595
+ return value;
39596
+ default:
39597
+ return void 0;
39598
+ }
39599
+ }
39600
+ function parsePublicEventKind(value) {
39601
+ if (value === void 0) return void 0;
39602
+ switch (value) {
39603
+ case "all":
39604
+ case "courses":
39605
+ case "events":
39606
+ return value;
39607
+ default:
39608
+ return void 0;
39609
+ }
39610
+ }
39611
+ async function listPublishedEntries2({ client, params }) {
39612
+ const siteId = requireStringParam(params, "siteId", "listPublishedEntries");
39613
+ const type = requireStringParam(params, "type", "listPublishedEntries");
39614
+ const stage = readStringParam(params, "stage");
39615
+ const mode = readStringParam(params, "mode");
39616
+ const parsedEntryRefs = mode === "manual" ? parseManualEntryRefs(params.identifiers, params.entryRefs, params.entryIds) : void 0;
39617
+ if (mode === "manual" && (!parsedEntryRefs || parsedEntryRefs.length === 0)) {
39618
+ return { entries: [] };
39619
+ }
39620
+ if (mode === "manual" && parsedEntryRefs) {
39621
+ return await client.getEntriesByIdentifiers({
39622
+ siteId,
39623
+ contentType: type,
39624
+ identifiers: parsedEntryRefs,
39625
+ preview: stage === "preview"
39626
+ });
39627
+ }
39628
+ return await client.getEntries({
39629
+ siteId,
39630
+ contentType: type,
39631
+ limit: parsePositiveIntegerParam(params, "limit"),
39632
+ order: parseEntryOrder(readStringParam(params, "orderBy")),
39633
+ preview: stage === "preview"
39634
+ });
39635
+ }
39636
+ async function getPublishedEntryPreview({ client, params }) {
39637
+ return await client.getEntry({
39638
+ siteId: requireStringParam(params, "siteId", "getPublishedEntryPreview"),
39639
+ contentType: requireStringParam(params, "type", "getPublishedEntryPreview"),
39640
+ slug: requireStringParam(params, "slug", "getPublishedEntryPreview")
39641
+ });
39642
+ }
39643
+ async function listPublicEvents({ client, params }) {
39644
+ return await client.listPublicEvents({
39645
+ siteId: requireStringParam(params, "siteId", "listPublicEvents"),
39646
+ limit: parsePositiveIntegerParam(params, "limit"),
39647
+ from: readStringParam(params, "from"),
39648
+ to: readStringParam(params, "to"),
39649
+ afterStartsAt: readStringParam(params, "afterStartsAt"),
39650
+ afterId: readStringParam(params, "afterId"),
39651
+ stage: readStringParam(params, "stage"),
39652
+ categoryIds: readStringParam(params, "categoryIds"),
39653
+ venueId: readStringParam(params, "venueId"),
39654
+ staffMemberId: readStringParam(params, "staffMemberId"),
39655
+ kind: parsePublicEventKind(readStringParam(params, "kind")),
39656
+ eventSurface: readStringParam(params, "eventSurface"),
39657
+ eventPresets: readStringParam(params, "eventPresets"),
39658
+ scheduleScope: readStringParam(params, "scheduleScope"),
39659
+ entryId: readStringParam(params, "entryId"),
39660
+ seriesId: readStringParam(params, "seriesId"),
39661
+ includeOccurrenceId: readStringParam(params, "includeOccurrenceId")
39662
+ });
39663
+ }
39664
+ async function getPublicEventDetails({ client, params }) {
39665
+ return await client.getPublicEventDetails({
39666
+ siteId: requireStringParam(params, "siteId", "getPublicEventDetails"),
39667
+ limit: parsePositiveIntegerParam(params, "limit"),
39668
+ from: readStringParam(params, "from"),
39669
+ to: readStringParam(params, "to"),
39670
+ afterStartsAt: readStringParam(params, "afterStartsAt"),
39671
+ afterId: readStringParam(params, "afterId"),
39672
+ stage: readStringParam(params, "stage"),
39673
+ categoryIds: readStringParam(params, "categoryIds"),
39674
+ venueId: readStringParam(params, "venueId"),
39675
+ staffMemberId: readStringParam(params, "staffMemberId"),
39676
+ kind: readStringParam(params, "kind"),
39677
+ eventSurface: readStringParam(params, "eventSurface"),
39678
+ eventPresets: readStringParam(params, "eventPresets"),
39679
+ scheduleScope: readStringParam(params, "scheduleScope"),
39680
+ entryId: readStringParam(params, "entryId"),
39681
+ seriesId: readStringParam(params, "seriesId"),
39682
+ includeOccurrenceId: readStringParam(params, "includeOccurrenceId")
39683
+ });
39684
+ }
39685
+ async function listPublicCourses({ client, params }) {
39686
+ return await client.listPublicCourses({
39687
+ siteId: requireStringParam(params, "siteId", "listPublicCourses"),
39688
+ limit: parsePositiveIntegerParam(params, "limit"),
39689
+ stage: readStringParam(params, "stage")
39690
+ });
39691
+ }
39692
+ async function listPublicRouteCandidates({ client, params }) {
39693
+ const siteId = requireStringParam(params, "siteId", "listPublicRouteCandidates");
39694
+ const response = await client.getAllPublishedRoutes({ siteId });
39695
+ return {
39696
+ routes: response.items.flatMap((item) => {
39697
+ if (!item.path) return [];
39698
+ return [{
39699
+ entityId: item.entityId,
39700
+ path: item.path,
39701
+ title: item.title,
39702
+ kind: item.entityType,
39703
+ contentTypeKey: item.contentTypeKey ?? null
39704
+ }];
39705
+ })
39706
+ };
39707
+ }
39708
+ async function listPublicTeamMembers({ client, params }) {
39709
+ return await client.listPublicTeamMembers({
39710
+ siteId: requireStringParam(params, "siteId", "listPublicTeamMembers"),
39711
+ stage: readStringParam(params, "stage")
39712
+ });
39713
+ }
39714
+ async function listPublicProducts({ client, params }) {
39715
+ return await client.listPublicProducts({
39716
+ siteId: requireStringParam(params, "siteId", "listPublicProducts"),
39717
+ stage: readStringParam(params, "stage") === "preview" ? "preview" : "published",
39718
+ categorySelector: parsePublicProductCategorySelector(params.categorySelector)
39719
+ });
39720
+ }
39721
+ async function listPublicPasses({ client, params }) {
39722
+ return await client.listPublicPasses({
39723
+ siteId: requireStringParam(params, "siteId", "listPublicPasses"),
39724
+ categories: readStringParam(params, "categories")
39725
+ });
39726
+ }
39727
+ async function listPublicMemberships({ client, params }) {
39728
+ return await client.listPublicMemberships({
39729
+ siteId: requireStringParam(params, "siteId", "listPublicMemberships"),
39730
+ categories: readStringParam(params, "categories")
39731
+ });
39732
+ }
39733
+ async function getPublicFormById({ client, params }) {
39734
+ return await client.getPublicFormById({
39735
+ formId: requireStringParam(params, "formId", "getPublicFormById"),
39736
+ siteId: requireStringParam(params, "siteId", "getPublicFormById")
39737
+ });
39738
+ }
39739
+ async function getPublicBookingServices({ client, params }) {
39740
+ return await client.getPublicBookingServices({
39741
+ siteId: requireStringParam(params, "siteId", "getPublicBookingServices"),
39742
+ ids: readStringParam(params, "ids")
39743
+ });
39744
+ }
39297
39745
  async function prefetchBlockData2(page, context, client, options) {
39298
39746
  const { customBlocks } = options ?? {};
39299
39747
  const customBlockMap = new Map(
@@ -39303,189 +39751,11 @@ async function prefetchBlockData2(page, context, client, options) {
39303
39751
  apiClient: async ({ endpoint, params }) => {
39304
39752
  if (!isSupportedLoaderEndpoint2(endpoint)) {
39305
39753
  throw new Error(
39306
- `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS2.join(", ")}`
39754
+ `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS.join(", ")}`
39307
39755
  );
39308
39756
  }
39309
39757
  const resolvedParams = normalizeLoaderParams(endpoint, params, context);
39310
- switch (endpoint) {
39311
- case "listPublishedEntries": {
39312
- const {
39313
- siteId,
39314
- type,
39315
- orderBy,
39316
- limit,
39317
- stage,
39318
- mode,
39319
- entryIds,
39320
- identifiers,
39321
- entryRefs
39322
- } = resolvedParams ?? {};
39323
- if (!siteId || !type) {
39324
- throw new Error("listPublishedEntries requires siteId and type params");
39325
- }
39326
- const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
39327
- const order = orderBy === "order" ? "manual" : orderBy === "newest" || orderBy === "oldest" || orderBy === "title" ? orderBy : void 0;
39328
- const parsedEntryRefs = mode === "manual" ? parseManualEntryRefs(identifiers, entryRefs, entryIds) : void 0;
39329
- if (mode === "manual" && (!parsedEntryRefs || parsedEntryRefs.length === 0)) {
39330
- return { entries: [] };
39331
- }
39332
- if (mode === "manual" && parsedEntryRefs) {
39333
- return await client.getEntriesByIdentifiers({
39334
- siteId,
39335
- contentType: type,
39336
- identifiers: parsedEntryRefs,
39337
- preview: stage === "preview"
39338
- });
39339
- }
39340
- return await client.getEntries({
39341
- siteId,
39342
- contentType: type,
39343
- limit: parsedLimit,
39344
- order,
39345
- preview: stage === "preview"
39346
- });
39347
- }
39348
- case "getPublishedEntryPreview": {
39349
- const { siteId, type, slug } = resolvedParams ?? {};
39350
- if (!siteId || !type || !slug) {
39351
- throw new Error("getPublishedEntryPreview requires siteId, type, and slug params");
39352
- }
39353
- return await client.getEntry({ siteId, contentType: type, slug });
39354
- }
39355
- case "listPublicEvents": {
39356
- const {
39357
- siteId,
39358
- limit,
39359
- from,
39360
- to,
39361
- stage,
39362
- categoryIds,
39363
- venueId,
39364
- kind,
39365
- entryId,
39366
- seriesId,
39367
- includeOccurrenceId
39368
- } = resolvedParams ?? {};
39369
- if (!siteId) {
39370
- throw new Error("listPublicEvents requires siteId param");
39371
- }
39372
- const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
39373
- return await client.listPublicEvents({
39374
- siteId,
39375
- limit: parsedLimit,
39376
- from,
39377
- to,
39378
- stage,
39379
- categoryIds: typeof categoryIds === "string" ? categoryIds : void 0,
39380
- venueId: typeof venueId === "string" ? venueId : void 0,
39381
- kind: kind === "all" || kind === "courses" || kind === "events" ? kind : void 0,
39382
- entryId: typeof entryId === "string" ? entryId : void 0,
39383
- seriesId: typeof seriesId === "string" ? seriesId : void 0,
39384
- includeOccurrenceId: typeof includeOccurrenceId === "string" ? includeOccurrenceId : void 0
39385
- });
39386
- }
39387
- case "getPublicEventDetails": {
39388
- const {
39389
- siteId,
39390
- limit,
39391
- from,
39392
- to,
39393
- afterStartsAt,
39394
- afterId,
39395
- stage,
39396
- categoryIds,
39397
- venueId,
39398
- staffMemberId,
39399
- kind,
39400
- entryId,
39401
- seriesId,
39402
- includeOccurrenceId
39403
- } = resolvedParams ?? {};
39404
- if (!siteId) {
39405
- throw new Error("getPublicEventDetails requires siteId param");
39406
- }
39407
- const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
39408
- return await client.getPublicEventDetails({
39409
- siteId,
39410
- limit: parsedLimit,
39411
- from: typeof from === "string" ? from : void 0,
39412
- to: typeof to === "string" ? to : void 0,
39413
- afterStartsAt: typeof afterStartsAt === "string" ? afterStartsAt : void 0,
39414
- afterId: typeof afterId === "string" ? afterId : void 0,
39415
- stage: typeof stage === "string" ? stage : void 0,
39416
- categoryIds: typeof categoryIds === "string" ? categoryIds : void 0,
39417
- venueId: typeof venueId === "string" ? venueId : void 0,
39418
- staffMemberId: typeof staffMemberId === "string" ? staffMemberId : void 0,
39419
- kind: typeof kind === "string" ? kind : void 0,
39420
- entryId: typeof entryId === "string" ? entryId : void 0,
39421
- seriesId: typeof seriesId === "string" ? seriesId : void 0,
39422
- includeOccurrenceId: typeof includeOccurrenceId === "string" ? includeOccurrenceId : void 0
39423
- });
39424
- }
39425
- case "listPublicCourses": {
39426
- const { siteId, limit, stage } = resolvedParams ?? {};
39427
- if (!siteId) {
39428
- throw new Error("listPublicCourses requires siteId param");
39429
- }
39430
- const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
39431
- return await client.listPublicCourses({ siteId, limit: parsedLimit, stage });
39432
- }
39433
- case "listPublicTeamMembers": {
39434
- const { siteId, stage } = resolvedParams ?? {};
39435
- if (!siteId) {
39436
- throw new Error("listPublicTeamMembers requires siteId param");
39437
- }
39438
- return await client.listPublicTeamMembers({
39439
- siteId,
39440
- stage: typeof stage === "string" ? stage : void 0
39441
- });
39442
- }
39443
- case "listPublicProducts": {
39444
- const { siteId, stage, categorySelector } = resolvedParams ?? {};
39445
- if (!siteId) {
39446
- throw new Error("listPublicProducts requires siteId param");
39447
- }
39448
- return await client.listPublicProducts({
39449
- siteId,
39450
- stage: stage === "preview" ? "preview" : "published",
39451
- categorySelector: parsePublicProductCategorySelector(categorySelector)
39452
- });
39453
- }
39454
- case "getPublicFormById": {
39455
- const { formId, siteId } = resolvedParams ?? {};
39456
- if (!formId) {
39457
- throw new Error("getPublicFormById requires formId param");
39458
- }
39459
- if (!siteId) {
39460
- throw new Error("getPublicFormById requires siteId param");
39461
- }
39462
- return await client.getPublicFormById({ formId, siteId });
39463
- }
39464
- case "getPublicBookingServices": {
39465
- const { siteId, ids } = resolvedParams ?? {};
39466
- if (!siteId) {
39467
- throw new Error("getPublicBookingServices requires siteId param");
39468
- }
39469
- return await client.getPublicBookingServices({ siteId, ids });
39470
- }
39471
- case "listPublicPasses": {
39472
- const { siteId, categories } = resolvedParams ?? {};
39473
- if (!siteId) {
39474
- throw new Error("listPublicPasses requires siteId param");
39475
- }
39476
- return await client.listPublicPasses({ siteId, categories });
39477
- }
39478
- case "listPublicMemberships": {
39479
- const { siteId, categories } = resolvedParams ?? {};
39480
- if (!siteId) {
39481
- throw new Error("listPublicMemberships requires siteId param");
39482
- }
39483
- return await client.listPublicMemberships({ siteId, categories });
39484
- }
39485
- default: {
39486
- throw new Error("Unhandled endpoint");
39487
- }
39488
- }
39758
+ return await loaderAdapters[endpoint]({ client, params: resolvedParams });
39489
39759
  },
39490
39760
  isValidEndpoint: isSupportedLoaderEndpoint2,
39491
39761
  onError: (error, { block, loader }) => {
@@ -39564,7 +39834,7 @@ function mergeLoaderResults(configResults, codeResults) {
39564
39834
  return merged;
39565
39835
  }
39566
39836
  export {
39567
- SUPPORTED_LOADER_ENDPOINTS2 as SUPPORTED_LOADER_ENDPOINTS,
39837
+ SUPPORTED_LOADER_ENDPOINTS,
39568
39838
  executeCodeLoaders,
39569
39839
  mergeLoaderResults,
39570
39840
  prefetchBlockData2 as prefetchBlockData