@riverbankcms/sdk 0.60.7 → 0.60.9

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 (33) hide show
  1. package/dist/_dts/api/src/navigation/linkValue.d.ts +1 -1
  2. package/dist/_dts/blocks/src/index.d.ts +2 -1
  3. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +185 -0
  4. package/dist/_dts/blocks/src/system/manifest/index.d.ts +1 -0
  5. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -84
  6. package/dist/_dts/blocks/src/system/types/link.d.ts +93 -1
  7. package/dist/_dts/db/src/schemas/forms.d.ts +24 -3
  8. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
  9. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -1
  10. package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +1 -1
  11. package/dist/_dts/sdk/src/config/typed-entries.d.ts +36 -1
  12. package/dist/_dts/sdk/src/contracts/content.d.ts +6 -1
  13. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  14. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -0
  15. package/dist/_dts/sdk/src/version.d.ts +1 -1
  16. package/dist/cli/index.mjs +676 -428
  17. package/dist/client/client.mjs +39991 -39754
  18. package/dist/client/hooks.mjs +1737 -1735
  19. package/dist/client/rendering.mjs +1463 -1226
  20. package/dist/preview-next/client/runtime.mjs +1052 -799
  21. package/dist/server/components.mjs +2983 -2745
  22. package/dist/server/config-validation.mjs +1727 -1725
  23. package/dist/server/config.mjs +1727 -1725
  24. package/dist/server/data.mjs +1737 -1735
  25. package/dist/server/index.mjs +1 -1
  26. package/dist/server/next.mjs +3026 -2788
  27. package/dist/server/page-converter.mjs +10 -10
  28. package/dist/server/prebuild.mjs +1 -1
  29. package/dist/server/rendering/server.mjs +2996 -2758
  30. package/dist/server/rendering.mjs +2996 -2758
  31. package/dist/server/routing.mjs +256 -285
  32. package/dist/server/server.mjs +1738 -1736
  33. package/package.json +1 -1
@@ -7531,74 +7531,6 @@ function isNavigationMenuValidationItem(value) {
7531
7531
  return typeof value.label === "string";
7532
7532
  }
7533
7533
 
7534
- // ../api/src/aiPlayground.ts
7535
- import { z as z8 } from "zod";
7536
- var Rfc6902PatchOp = z8.discriminatedUnion("op", [
7537
- // Standard RFC-6902 operations
7538
- z8.object({
7539
- op: z8.literal("add"),
7540
- path: z8.string(),
7541
- value: z8.unknown()
7542
- }),
7543
- z8.object({
7544
- op: z8.literal("remove"),
7545
- path: z8.string()
7546
- }),
7547
- z8.object({
7548
- op: z8.literal("replace"),
7549
- path: z8.string(),
7550
- value: z8.unknown()
7551
- }),
7552
- z8.object({
7553
- op: z8.literal("move"),
7554
- from: z8.string(),
7555
- path: z8.string()
7556
- }),
7557
- z8.object({
7558
- op: z8.literal("copy"),
7559
- from: z8.string(),
7560
- path: z8.string()
7561
- }),
7562
- // Block-level operations (Phase 2)
7563
- z8.object({
7564
- op: z8.literal("add_block"),
7565
- blockKind: z8.string(),
7566
- afterBlockId: z8.string().nullable(),
7567
- content: z8.record(z8.string(), z8.unknown()),
7568
- rationale: z8.string()
7569
- }),
7570
- z8.object({
7571
- op: z8.literal("delete_block"),
7572
- blockId: z8.string(),
7573
- rationale: z8.string()
7574
- }),
7575
- z8.object({
7576
- op: z8.literal("reorder_block"),
7577
- blockId: z8.string(),
7578
- afterBlockId: z8.string().nullable(),
7579
- rationale: z8.string()
7580
- })
7581
- ]);
7582
- var PlaygroundProposeRequest = z8.object({
7583
- request: z8.string().min(1).max(2e3)
7584
- });
7585
- var MultiPagePatchEnvelope = z8.object({
7586
- pageId: z8.string(),
7587
- blockId: z8.string().optional(),
7588
- // Not present for page-level ops
7589
- blockKind: z8.string().optional(),
7590
- blockPurpose: z8.string().optional().nullable(),
7591
- ops: z8.array(Rfc6902PatchOp),
7592
- rationale: z8.string(),
7593
- currentContent: z8.record(z8.string(), z8.unknown()).optional()
7594
- });
7595
- var MultiPageUpdateResponse = z8.object({
7596
- patches: z8.array(MultiPagePatchEnvelope),
7597
- assistantMessage: z8.string(),
7598
- pagesModified: z8.number(),
7599
- toolCallsUsed: z8.number()
7600
- });
7601
-
7602
7534
  // ../blocks/src/system/manifest/augmentManifest.ts
7603
7535
  function augmentManifest(manifest) {
7604
7536
  let augmentedFields = manifest.fields ?? [];
@@ -7656,11 +7588,6 @@ function registerManifest(manifest) {
7656
7588
  return manifest;
7657
7589
  }
7658
7590
 
7659
- // ../blocks/src/lib/typeGuards.ts
7660
- function isRecord2(value) {
7661
- return typeof value === "object" && value !== null && !Array.isArray(value);
7662
- }
7663
-
7664
7591
  // ../theme-core/src/site-styles/types.ts
7665
7592
  function asDesignBlockId(value) {
7666
7593
  return brandNonEmptyString(value, "DesignBlockId");
@@ -7968,10 +7895,10 @@ function assertUniqueLayoutProfileKeys(profiles) {
7968
7895
  }
7969
7896
 
7970
7897
  // ../theme-core/src/buttons/personalities/types.ts
7971
- import { z as z11 } from "zod";
7898
+ import { z as z10 } from "zod";
7972
7899
 
7973
7900
  // ../theme-core/src/buttons/types.ts
7974
- import { z as z9 } from "zod";
7901
+ import { z as z8 } from "zod";
7975
7902
  var VARIANT_ROLES = [
7976
7903
  "primary",
7977
7904
  "secondary",
@@ -7981,22 +7908,22 @@ var VARIANT_ROLES = [
7981
7908
  "tertiary",
7982
7909
  "accent"
7983
7910
  ];
7984
- var cornerStyleSchema = z9.enum(["square", "rounded", "pill"]);
7985
- var shadowSizeSchema = z9.enum(["none", "low", "medium", "high"]);
7986
- var textTransformSchema = z9.enum(["none", "uppercase", "lowercase", "capitalize"]);
7987
- var fontWeightSchema = z9.union([z9.literal(500), z9.literal(600), z9.literal(700)]);
7988
- var buttonTypographySchema = z9.enum(["body", "heading"]);
7989
- var letterSpacingSchema = z9.enum(["tight", "normal", "loose"]);
7990
- var hoverTransformSchema = z9.enum(["none", "lift", "scale", "press"]);
7991
- var hoverColorSchema = z9.enum(["none", "brighten", "darken", "saturate", "token"]);
7992
- var buttonPaddingPresetSchema = z9.enum(["compact", "default", "spacious"]);
7993
- var gradientStyleSchema = z9.enum(["linear", "radial", "conic"]);
7994
- var gradientSharpnessSchema = z9.enum(["smooth", "medium", "hard"]);
7995
- var prioritySchema = z9.union([z9.literal(1), z9.literal(2), z9.literal(3)]);
7996
- var variantRoleSchema = z9.enum(VARIANT_ROLES);
7997
- var buttonSizeNameSchema = z9.enum(["sm", "md", "lg", "xl"]);
7911
+ var cornerStyleSchema = z8.enum(["square", "rounded", "pill"]);
7912
+ var shadowSizeSchema = z8.enum(["none", "low", "medium", "high"]);
7913
+ var textTransformSchema = z8.enum(["none", "uppercase", "lowercase", "capitalize"]);
7914
+ var fontWeightSchema = z8.union([z8.literal(500), z8.literal(600), z8.literal(700)]);
7915
+ var buttonTypographySchema = z8.enum(["body", "heading"]);
7916
+ var letterSpacingSchema = z8.enum(["tight", "normal", "loose"]);
7917
+ var hoverTransformSchema = z8.enum(["none", "lift", "scale", "press"]);
7918
+ var hoverColorSchema = z8.enum(["none", "brighten", "darken", "saturate", "token"]);
7919
+ var buttonPaddingPresetSchema = z8.enum(["compact", "default", "spacious"]);
7920
+ var gradientStyleSchema = z8.enum(["linear", "radial", "conic"]);
7921
+ var gradientSharpnessSchema = z8.enum(["smooth", "medium", "hard"]);
7922
+ var prioritySchema = z8.union([z8.literal(1), z8.literal(2), z8.literal(3)]);
7923
+ var variantRoleSchema = z8.enum(VARIANT_ROLES);
7924
+ var buttonSizeNameSchema = z8.enum(["sm", "md", "lg", "xl"]);
7998
7925
  var PADDING_TOKEN_PATTERN = /^(?:0|\d+(?:\.\d+)?(?:rem|em|px|%))$/;
7999
- var paddingShorthandSchema = z9.string().refine(
7926
+ var paddingShorthandSchema = z8.string().refine(
8000
7927
  (value) => {
8001
7928
  const parts = value.split(/\s+/).filter(Boolean);
8002
7929
  return parts.length === 2 && parts.every((token) => PADDING_TOKEN_PATTERN.test(token));
@@ -8005,11 +7932,11 @@ var paddingShorthandSchema = z9.string().refine(
8005
7932
  message: 'Padding must be two space-separated CSS length tokens (e.g. "0.5rem 1rem"). Use `0` for zero.'
8006
7933
  }
8007
7934
  );
8008
- var buttonSizeConfigSchema = z9.object({
7935
+ var buttonSizeConfigSchema = z8.object({
8009
7936
  padding: paddingShorthandSchema,
8010
- fontSize: z9.string().optional()
7937
+ fontSize: z8.string().optional()
8011
7938
  });
8012
- var buttonSizesSchema = z9.object({
7939
+ var buttonSizesSchema = z8.object({
8013
7940
  sm: buttonSizeConfigSchema,
8014
7941
  md: buttonSizeConfigSchema,
8015
7942
  lg: buttonSizeConfigSchema,
@@ -8020,9 +7947,9 @@ var buttonSizesSchema = z9.object({
8020
7947
  lg,
8021
7948
  xl: xl ?? lg
8022
7949
  }));
8023
- var buttonGlobalSettingsSchema = z9.object({
7950
+ var buttonGlobalSettingsSchema = z8.object({
8024
7951
  cornerStyle: cornerStyleSchema,
8025
- cornerRadius: z9.number().min(0).max(24).optional(),
7952
+ cornerRadius: z8.number().min(0).max(24).optional(),
8026
7953
  shadow: shadowSizeSchema,
8027
7954
  textTransform: textTransformSchema,
8028
7955
  fontWeight: fontWeightSchema,
@@ -8032,104 +7959,104 @@ var buttonGlobalSettingsSchema = z9.object({
8032
7959
  * by the current generator and will be removed once the legacy
8033
7960
  * `primitives/content/components/Button.tsx` slot exports are deleted.
8034
7961
  */
8035
- borderWidth: z9.union([z9.literal(1), z9.literal(2), z9.literal(3)]),
7962
+ borderWidth: z8.union([z8.literal(1), z8.literal(2), z8.literal(3)]),
8036
7963
  // === Family-level typography ===
8037
7964
  // Typography source (body or heading) — selects which theme typography pool to inherit
8038
7965
  typography: buttonTypographySchema.optional(),
8039
7966
  // Font size for all variants in the family (Tailwind token, e.g. "text-xs", "text-sm")
8040
7967
  // Sized variants get this as default; fixed variants inherit unless they override.
8041
7968
  // Size class CSS may still override at run time for sized variants.
8042
- fontSize: z9.string().optional(),
7969
+ fontSize: z8.string().optional(),
8043
7970
  // Letter spacing applied to all variants
8044
7971
  letterSpacing: letterSpacingSchema.optional(),
8045
7972
  // Italic style
8046
- italic: z9.boolean().optional(),
7973
+ italic: z8.boolean().optional(),
8047
7974
  // Padding preset (applies to sized variants without a sizes config)
8048
7975
  paddingPreset: buttonPaddingPresetSchema.optional(),
8049
7976
  hoverTransform: hoverTransformSchema,
8050
7977
  hoverColor: hoverColorSchema,
8051
7978
  // When hoverColor is 'token', this specifies which token to use
8052
- hoverColorToken: z9.string().optional(),
7979
+ hoverColorToken: z8.string().optional(),
8053
7980
  // Gradient settings (if any variant uses gradients)
8054
7981
  gradientStyle: gradientStyleSchema.optional(),
8055
- gradientAngle: z9.number().min(0).max(360).optional(),
7982
+ gradientAngle: z8.number().min(0).max(360).optional(),
8056
7983
  gradientSharpness: gradientSharpnessSchema.optional()
8057
7984
  });
8058
- var gradientDirectionSchema = z9.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
8059
- var buttonBackgroundSchema = z9.discriminatedUnion("type", [
8060
- z9.object({ type: z9.literal("solid"), colorToken: z9.string() }),
8061
- z9.object({
8062
- type: z9.literal("gradient"),
8063
- stops: z9.array(z9.string()).min(2),
7985
+ var gradientDirectionSchema = z8.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
7986
+ var buttonBackgroundSchema = z8.discriminatedUnion("type", [
7987
+ z8.object({ type: z8.literal("solid"), colorToken: z8.string() }),
7988
+ z8.object({
7989
+ type: z8.literal("gradient"),
7990
+ stops: z8.array(z8.string()).min(2),
8064
7991
  direction: gradientDirectionSchema
8065
7992
  }),
8066
- z9.object({ type: z9.literal("transparent") })
7993
+ z8.object({ type: z8.literal("transparent") })
8067
7994
  ]);
8068
- var effectApplicationSchema = z9.object({
8069
- effectId: z9.string(),
8070
- options: z9.record(z9.string(), z9.any()).optional()
8071
- });
8072
- var buttonBorderSchema = z9.object({
8073
- widthClass: z9.string(),
8074
- colorToken: z9.string()
8075
- });
8076
- var variantShadowSchema = z9.object({
8077
- elevation: z9.enum(["none", "low", "medium", "high"]),
8078
- softness: z9.enum(["crisp", "soft", "hard"]).nullable(),
8079
- position: z9.enum(["bottom", "bottom-right"]).default("bottom")
8080
- });
8081
- var variantEffectsSchema = z9.object({
8082
- base: z9.array(effectApplicationSchema).optional(),
8083
- hover: z9.array(effectApplicationSchema).optional(),
8084
- active: z9.array(effectApplicationSchema).optional(),
8085
- focus: z9.array(effectApplicationSchema).optional()
8086
- });
8087
- var variantSizeOverridesSchema = z9.object({
7995
+ var effectApplicationSchema = z8.object({
7996
+ effectId: z8.string(),
7997
+ options: z8.record(z8.string(), z8.any()).optional()
7998
+ });
7999
+ var buttonBorderSchema = z8.object({
8000
+ widthClass: z8.string(),
8001
+ colorToken: z8.string()
8002
+ });
8003
+ var variantShadowSchema = z8.object({
8004
+ elevation: z8.enum(["none", "low", "medium", "high"]),
8005
+ softness: z8.enum(["crisp", "soft", "hard"]).nullable(),
8006
+ position: z8.enum(["bottom", "bottom-right"]).default("bottom")
8007
+ });
8008
+ var variantEffectsSchema = z8.object({
8009
+ base: z8.array(effectApplicationSchema).optional(),
8010
+ hover: z8.array(effectApplicationSchema).optional(),
8011
+ active: z8.array(effectApplicationSchema).optional(),
8012
+ focus: z8.array(effectApplicationSchema).optional()
8013
+ });
8014
+ var variantSizeOverridesSchema = z8.object({
8088
8015
  sm: buttonSizeConfigSchema.optional(),
8089
8016
  md: buttonSizeConfigSchema.optional(),
8090
8017
  lg: buttonSizeConfigSchema.optional(),
8091
8018
  xl: buttonSizeConfigSchema.optional()
8092
8019
  });
8093
- var buttonVariantSchema = z9.object({
8094
- id: z9.string(),
8095
- name: z9.string().min(1).max(20),
8096
- enabled: z9.boolean(),
8020
+ var buttonVariantSchema = z8.object({
8021
+ id: z8.string(),
8022
+ name: z8.string().min(1).max(20),
8023
+ enabled: z8.boolean(),
8097
8024
  priority: prioritySchema,
8098
8025
  // Base appearance (token-based)
8099
8026
  background: buttonBackgroundSchema,
8100
- textColorToken: z9.string(),
8027
+ textColorToken: z8.string(),
8101
8028
  /** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
8102
- borderRadius: z9.string().optional(),
8029
+ borderRadius: z8.string().optional(),
8103
8030
  // Optional shadow override (uses theme.shadow if not specified)
8104
8031
  shadow: variantShadowSchema.optional(),
8105
8032
  // Border (optional)
8106
8033
  border: buttonBorderSchema.optional(),
8107
8034
  // Hover background token (per-variant override, takes precedence over global hoverColorToken)
8108
- hoverBackgroundToken: z9.string().optional(),
8035
+ hoverBackgroundToken: z8.string().optional(),
8109
8036
  // Effect composition
8110
8037
  effects: variantEffectsSchema.optional(),
8111
8038
  // Per-variant size overrides — see VariantSizeOverrides
8112
8039
  sizes: variantSizeOverridesSchema.optional()
8113
8040
  });
8114
- var buttonSystemSchema = z9.object({
8041
+ var buttonSystemSchema = z8.object({
8115
8042
  global: buttonGlobalSettingsSchema,
8116
- variants: z9.array(buttonVariantSchema).min(1).max(6),
8043
+ variants: z8.array(buttonVariantSchema).min(1).max(6),
8117
8044
  sizes: buttonSizesSchema.optional()
8118
8045
  });
8119
8046
 
8120
8047
  // ../theme-core/src/site-styles/styleTags.ts
8121
- import { z as z10 } from "zod";
8048
+ import { z as z9 } from "zod";
8122
8049
  var STYLE_AXIS_VALUES = {
8123
8050
  tone: ["minimal", "classic", "bold"],
8124
8051
  energy: ["calm", "vibrant"],
8125
8052
  motion: ["subtle", "standard", "expressive"],
8126
8053
  era: ["editorial", "modern", "organic", "technical", "retro"]
8127
8054
  };
8128
- var styleTagsSchema = z10.object({
8129
- tone: z10.enum(STYLE_AXIS_VALUES.tone).optional(),
8130
- energy: z10.enum(STYLE_AXIS_VALUES.energy).optional(),
8131
- motion: z10.enum(STYLE_AXIS_VALUES.motion).optional(),
8132
- era: z10.enum(STYLE_AXIS_VALUES.era).optional()
8055
+ var styleTagsSchema = z9.object({
8056
+ tone: z9.enum(STYLE_AXIS_VALUES.tone).optional(),
8057
+ energy: z9.enum(STYLE_AXIS_VALUES.energy).optional(),
8058
+ motion: z9.enum(STYLE_AXIS_VALUES.motion).optional(),
8059
+ era: z9.enum(STYLE_AXIS_VALUES.era).optional()
8133
8060
  });
8134
8061
 
8135
8062
  // ../theme-core/src/buttons/personalities/types.ts
@@ -8139,11 +8066,11 @@ function asButtonPersonalityId(value) {
8139
8066
  }
8140
8067
  return value;
8141
8068
  }
8142
- var buttonPersonalityIdSchema = z11.string().min(1).transform((value) => asButtonPersonalityId(value));
8143
- var buttonPersonalitySchema = z11.object({
8069
+ var buttonPersonalityIdSchema = z10.string().min(1).transform((value) => asButtonPersonalityId(value));
8070
+ var buttonPersonalitySchema = z10.object({
8144
8071
  id: buttonPersonalityIdSchema,
8145
- name: z11.string().min(1),
8146
- description: z11.string().min(1),
8072
+ name: z10.string().min(1),
8073
+ description: z10.string().min(1),
8147
8074
  tags: styleTagsSchema,
8148
8075
  buttonSystem: buttonSystemSchema
8149
8076
  });
@@ -8682,51 +8609,51 @@ var personalitiesById = new Map(
8682
8609
  );
8683
8610
 
8684
8611
  // ../theme-core/src/palette/variants/types.ts
8685
- import { z as z23 } from "zod";
8612
+ import { z as z22 } from "zod";
8686
8613
 
8687
8614
  // ../theme-core/src/schema.ts
8688
- import { z as z22 } from "zod";
8615
+ import { z as z21 } from "zod";
8689
8616
 
8690
8617
  // ../theme-core/src/lib/media.ts
8691
- import z12 from "zod";
8692
- var hotspotSchema = z12.object({
8693
- x: z12.number().min(0).max(1),
8694
- y: z12.number().min(0).max(1),
8695
- radius: z12.number().optional()
8696
- });
8697
- var rotationSchema = z12.union([z12.literal(0), z12.literal(90), z12.literal(180), z12.literal(270)]);
8698
- var rectSchema = z12.tuple([z12.number(), z12.number(), z12.number(), z12.number()]);
8699
- var aspectCropSchema = z12.object({
8700
- aspect: z12.preprocess((value) => value == null ? void 0 : value, z12.string().optional()),
8701
- rect: z12.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
8702
- hotspot: z12.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
8703
- rotation: z12.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
8704
- });
8705
- var transformSchema = z12.object({
8706
- aspectCrops: z12.preprocess((value) => {
8618
+ import z11 from "zod";
8619
+ var hotspotSchema = z11.object({
8620
+ x: z11.number().min(0).max(1),
8621
+ y: z11.number().min(0).max(1),
8622
+ radius: z11.number().optional()
8623
+ });
8624
+ var rotationSchema = z11.union([z11.literal(0), z11.literal(90), z11.literal(180), z11.literal(270)]);
8625
+ var rectSchema = z11.tuple([z11.number(), z11.number(), z11.number(), z11.number()]);
8626
+ var aspectCropSchema = z11.object({
8627
+ aspect: z11.preprocess((value) => value == null ? void 0 : value, z11.string().optional()),
8628
+ rect: z11.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
8629
+ hotspot: z11.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
8630
+ rotation: z11.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
8631
+ });
8632
+ var transformSchema = z11.object({
8633
+ aspectCrops: z11.preprocess((value) => {
8707
8634
  if (!value || typeof value !== "object" || Array.isArray(value)) {
8708
8635
  return void 0;
8709
8636
  }
8710
8637
  return value;
8711
- }, z12.record(z12.string(), aspectCropSchema.catch({}))).optional(),
8638
+ }, z11.record(z11.string(), aspectCropSchema.catch({}))).optional(),
8712
8639
  rect: rectSchema.optional(),
8713
8640
  hotspot: hotspotSchema.optional(),
8714
8641
  rotation: rotationSchema.optional()
8715
8642
  });
8716
- var mediaSchema = z12.object({
8717
- type: z12.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
8718
- purpose: z12.string().optional(),
8719
- placeholder: z12.boolean().default(true).optional(),
8720
- assetId: z12.string().optional(),
8721
- identifier: z12.string().optional(),
8722
- src: z12.string().optional(),
8723
- alt: z12.string().optional(),
8724
- filename: z12.string().optional(),
8725
- mimeType: z12.string().optional(),
8726
- width: z12.number().optional(),
8727
- height: z12.number().optional(),
8728
- storageBucket: z12.string().optional(),
8729
- storagePath: z12.string().optional(),
8643
+ var mediaSchema = z11.object({
8644
+ type: z11.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
8645
+ purpose: z11.string().optional(),
8646
+ placeholder: z11.boolean().default(true).optional(),
8647
+ assetId: z11.string().optional(),
8648
+ identifier: z11.string().optional(),
8649
+ src: z11.string().optional(),
8650
+ alt: z11.string().optional(),
8651
+ filename: z11.string().optional(),
8652
+ mimeType: z11.string().optional(),
8653
+ width: z11.number().optional(),
8654
+ height: z11.number().optional(),
8655
+ storageBucket: z11.string().optional(),
8656
+ storagePath: z11.string().optional(),
8730
8657
  transform: transformSchema.optional()
8731
8658
  });
8732
8659
 
@@ -8734,48 +8661,48 @@ var mediaSchema = z12.object({
8734
8661
  var BUTTON_SIZE_NAMES = buttonSizeNameSchema.options;
8735
8662
 
8736
8663
  // ../theme-core/src/cards/types.ts
8737
- import { z as z13 } from "zod";
8738
- var cardSpacingSchema = z13.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
8739
- var gradientDirectionSchema2 = z13.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
8740
- var cardBackgroundSchema = z13.discriminatedUnion("type", [
8741
- z13.object({ type: z13.literal("solid"), colorToken: z13.string() }),
8742
- z13.object({
8743
- type: z13.literal("gradient"),
8744
- fromToken: z13.string(),
8745
- toToken: z13.string(),
8664
+ import { z as z12 } from "zod";
8665
+ var cardSpacingSchema = z12.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
8666
+ var gradientDirectionSchema2 = z12.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
8667
+ var cardBackgroundSchema = z12.discriminatedUnion("type", [
8668
+ z12.object({ type: z12.literal("solid"), colorToken: z12.string() }),
8669
+ z12.object({
8670
+ type: z12.literal("gradient"),
8671
+ fromToken: z12.string(),
8672
+ toToken: z12.string(),
8746
8673
  direction: gradientDirectionSchema2
8747
8674
  }),
8748
- z13.object({ type: z13.literal("transparent") })
8675
+ z12.object({ type: z12.literal("transparent") })
8749
8676
  ]);
8750
- var cardBorderSchema = z13.object({
8751
- widthClass: z13.string(),
8752
- colorToken: z13.string()
8753
- });
8754
- var cardVariantSchema = z13.object({
8755
- id: z13.string(),
8756
- name: z13.string().min(1).max(20),
8757
- enabled: z13.boolean(),
8758
- priority: z13.union([z13.literal(1), z13.literal(2), z13.literal(3)]),
8677
+ var cardBorderSchema = z12.object({
8678
+ widthClass: z12.string(),
8679
+ colorToken: z12.string()
8680
+ });
8681
+ var cardVariantSchema = z12.object({
8682
+ id: z12.string(),
8683
+ name: z12.string().min(1).max(20),
8684
+ enabled: z12.boolean(),
8685
+ priority: z12.union([z12.literal(1), z12.literal(2), z12.literal(3)]),
8759
8686
  // Appearance (token-based)
8760
8687
  background: cardBackgroundSchema,
8761
8688
  spacing: cardSpacingSchema,
8762
8689
  // Optional overrides (uses theme defaults if not specified)
8763
- shadow: z13.object({
8764
- elevation: z13.enum(["none", "low", "medium", "high"]),
8765
- softness: z13.enum(["crisp", "soft", "hard"]).nullable(),
8766
- position: z13.enum(["bottom", "bottom-right"]).default("bottom")
8690
+ shadow: z12.object({
8691
+ elevation: z12.enum(["none", "low", "medium", "high"]),
8692
+ softness: z12.enum(["crisp", "soft", "hard"]).nullable(),
8693
+ position: z12.enum(["bottom", "bottom-right"]).default("bottom")
8767
8694
  }).optional(),
8768
- corners: z13.enum(["square", "soft", "rounded", "pill"]).optional(),
8695
+ corners: z12.enum(["square", "soft", "rounded", "pill"]).optional(),
8769
8696
  // Border (optional)
8770
8697
  border: cardBorderSchema.optional()
8771
8698
  });
8772
- var cardSystemSchema = z13.object({
8773
- variants: z13.array(cardVariantSchema).min(1).max(3)
8699
+ var cardSystemSchema = z12.object({
8700
+ variants: z12.array(cardVariantSchema).min(1).max(3)
8774
8701
  });
8775
8702
 
8776
8703
  // ../theme-core/src/accordions/types.ts
8777
- import { z as z14 } from "zod";
8778
- var accordionIconSchema = z14.enum([
8704
+ import { z as z13 } from "zod";
8705
+ var accordionIconSchema = z13.enum([
8779
8706
  "plus-minus",
8780
8707
  // + becomes - (swap or rotate 90°)
8781
8708
  "chevron",
@@ -8787,180 +8714,180 @@ var accordionIconSchema = z14.enum([
8787
8714
  "circle-plus-minus"
8788
8715
  // ⊕ becomes ⊖ (swap with fade)
8789
8716
  ]);
8790
- var accordionSystemSchema = z14.object({
8717
+ var accordionSystemSchema = z13.object({
8791
8718
  // Visual styling (solid color only - gradients can be added later if needed)
8792
- background: z14.object({
8793
- type: z14.literal("solid"),
8794
- colorToken: z14.string()
8719
+ background: z13.object({
8720
+ type: z13.literal("solid"),
8721
+ colorToken: z13.string()
8795
8722
  }),
8796
8723
  // Spacing (padding inside items)
8797
- spacing: z14.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]),
8724
+ spacing: z13.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]),
8798
8725
  // Border radius (null = inherit from theme.corners)
8799
- corners: z14.enum(["square", "soft", "rounded", "pill"]).nullable(),
8726
+ corners: z13.enum(["square", "soft", "rounded", "pill"]).nullable(),
8800
8727
  // Border styling (null = inherit from theme.border)
8801
- border: z14.object({
8802
- widthClass: z14.string(),
8728
+ border: z13.object({
8729
+ widthClass: z13.string(),
8803
8730
  // e.g., 'border', 'border-2', 'border-0'
8804
- colorToken: z14.string()
8731
+ colorToken: z13.string()
8805
8732
  }).nullable(),
8806
8733
  // Shadow (null = inherit from theme.shadow)
8807
- shadow: z14.object({
8808
- elevation: z14.enum(["none", "low", "medium", "high"]),
8809
- softness: z14.enum(["soft", "crisp", "hard"]).nullable(),
8810
- position: z14.enum(["bottom", "bottom-right"])
8734
+ shadow: z13.object({
8735
+ elevation: z13.enum(["none", "low", "medium", "high"]),
8736
+ softness: z13.enum(["soft", "crisp", "hard"]).nullable(),
8737
+ position: z13.enum(["bottom", "bottom-right"])
8811
8738
  }).nullable(),
8812
8739
  // Icon style and animation
8813
- icon: z14.object({
8740
+ icon: z13.object({
8814
8741
  style: accordionIconSchema,
8815
- position: z14.enum(["left", "right"]),
8816
- size: z14.enum(["sm", "md", "lg"])
8742
+ position: z13.enum(["left", "right"]),
8743
+ size: z13.enum(["sm", "md", "lg"])
8817
8744
  }),
8818
8745
  // Trigger (question) styling
8819
- trigger: z14.object({
8820
- textColorToken: z14.string(),
8821
- fontWeight: z14.enum(["regular", "medium", "semibold", "bold"]).nullable()
8746
+ trigger: z13.object({
8747
+ textColorToken: z13.string(),
8748
+ fontWeight: z13.enum(["regular", "medium", "semibold", "bold"]).nullable()
8822
8749
  // null = inherit from theme
8823
8750
  }),
8824
8751
  // Hover state styling
8825
- hover: z14.object({
8826
- backgroundColorToken: z14.string().optional(),
8827
- textColorToken: z14.string().optional(),
8828
- borderColorToken: z14.string().optional()
8752
+ hover: z13.object({
8753
+ backgroundColorToken: z13.string().optional(),
8754
+ textColorToken: z13.string().optional(),
8755
+ borderColorToken: z13.string().optional()
8829
8756
  }),
8830
8757
  // Content (answer) styling
8831
- content: z14.object({
8832
- textColorToken: z14.string()
8758
+ content: z13.object({
8759
+ textColorToken: z13.string()
8833
8760
  })
8834
8761
  });
8835
8762
 
8836
8763
  // ../theme-core/src/inputs/types.ts
8837
- import { z as z15 } from "zod";
8838
- var inputSystemSchema = z15.object({
8764
+ import { z as z14 } from "zod";
8765
+ var inputSystemSchema = z14.object({
8839
8766
  // Base styling (applied to all inputs)
8840
- base: z15.object({
8841
- background: z15.union([
8842
- z15.object({
8843
- type: z15.literal("solid"),
8844
- colorToken: z15.string()
8767
+ base: z14.object({
8768
+ background: z14.union([
8769
+ z14.object({
8770
+ type: z14.literal("solid"),
8771
+ colorToken: z14.string()
8845
8772
  }),
8846
- z15.object({
8847
- type: z15.literal("transparent")
8773
+ z14.object({
8774
+ type: z14.literal("transparent")
8848
8775
  })
8849
8776
  ]),
8850
- textColorToken: z15.string(),
8851
- border: z15.object({
8852
- widthClass: z15.string(),
8777
+ textColorToken: z14.string(),
8778
+ border: z14.object({
8779
+ widthClass: z14.string(),
8853
8780
  // e.g., 'border', 'border-2'
8854
- colorToken: z15.string(),
8855
- style: z15.enum(["all", "underline"]).optional()
8781
+ colorToken: z14.string(),
8782
+ style: z14.enum(["all", "underline"]).optional()
8856
8783
  }),
8857
- corners: z15.enum(["square", "soft", "rounded", "pill"]).nullable(),
8784
+ corners: z14.enum(["square", "soft", "rounded", "pill"]).nullable(),
8858
8785
  // null = inherit from theme.corners
8859
- shadow: z15.object({
8860
- elevation: z15.enum(["none", "low", "medium"]),
8861
- softness: z15.enum(["soft", "crisp", "hard"]).nullable()
8786
+ shadow: z14.object({
8787
+ elevation: z14.enum(["none", "low", "medium"]),
8788
+ softness: z14.enum(["soft", "crisp", "hard"]).nullable()
8862
8789
  }).nullable(),
8863
- spacing: z15.enum(["compact", "cozy", "medium", "comfortable"]),
8790
+ spacing: z14.enum(["compact", "cozy", "medium", "comfortable"]),
8864
8791
  // padding inside inputs
8865
- fontSize: z15.enum(["sm", "base", "lg"])
8792
+ fontSize: z14.enum(["sm", "base", "lg"])
8866
8793
  }),
8867
8794
  // Label styling
8868
- label: z15.object({
8869
- textColorToken: z15.string(),
8870
- fontWeight: z15.enum(["regular", "medium", "semibold", "bold", "black"]),
8871
- fontSize: z15.enum(["2xs", "xs", "sm", "base"]),
8872
- textTransform: z15.enum(["none", "uppercase", "lowercase", "capitalize"]).optional(),
8873
- letterSpacing: z15.enum(["normal", "wide", "wider", "widest"]).optional(),
8874
- opacity: z15.number().min(0.2).max(1).optional()
8795
+ label: z14.object({
8796
+ textColorToken: z14.string(),
8797
+ fontWeight: z14.enum(["regular", "medium", "semibold", "bold", "black"]),
8798
+ fontSize: z14.enum(["2xs", "xs", "sm", "base"]),
8799
+ textTransform: z14.enum(["none", "uppercase", "lowercase", "capitalize"]).optional(),
8800
+ letterSpacing: z14.enum(["normal", "wide", "wider", "widest"]).optional(),
8801
+ opacity: z14.number().min(0.2).max(1).optional()
8875
8802
  }),
8876
8803
  // Focus state
8877
- focus: z15.object({
8878
- ringColorToken: z15.string(),
8879
- ringWidth: z15.enum(["0", "1", "2", "3"]),
8880
- borderColorToken: z15.string().optional()
8804
+ focus: z14.object({
8805
+ ringColorToken: z14.string(),
8806
+ ringWidth: z14.enum(["0", "1", "2", "3"]),
8807
+ borderColorToken: z14.string().optional()
8881
8808
  // Change border color on focus
8882
8809
  }),
8883
8810
  // Error state (for validation feedback)
8884
- error: z15.object({
8885
- borderColorToken: z15.string(),
8886
- textColorToken: z15.string()
8811
+ error: z14.object({
8812
+ borderColorToken: z14.string(),
8813
+ textColorToken: z14.string()
8887
8814
  }),
8888
8815
  // Disabled state
8889
- disabled: z15.object({
8890
- backgroundColorToken: z15.string(),
8891
- textColorToken: z15.string(),
8892
- opacity: z15.number().min(0.3).max(0.7)
8816
+ disabled: z14.object({
8817
+ backgroundColorToken: z14.string(),
8818
+ textColorToken: z14.string(),
8819
+ opacity: z14.number().min(0.3).max(0.7)
8893
8820
  })
8894
8821
  });
8895
8822
 
8896
8823
  // ../theme-core/src/gradients/types.ts
8897
- import { z as z16 } from "zod";
8898
- var gradientStopSchema = z16.object({
8899
- color: z16.string(),
8824
+ import { z as z15 } from "zod";
8825
+ var gradientStopSchema = z15.object({
8826
+ color: z15.string(),
8900
8827
  // Theme color token name (e.g., 'primary-500')
8901
- position: z16.number().min(0).max(100)
8828
+ position: z15.number().min(0).max(100)
8902
8829
  // Percentage 0-100
8903
8830
  });
8904
- var gradientConfigSchema = z16.object({
8905
- type: z16.enum(["linear", "radial"]),
8906
- angle: z16.number().min(0).max(360).optional(),
8831
+ var gradientConfigSchema = z15.object({
8832
+ type: z15.enum(["linear", "radial"]),
8833
+ angle: z15.number().min(0).max(360).optional(),
8907
8834
  // For linear gradients (degrees)
8908
- position: z16.string().optional(),
8835
+ position: z15.string().optional(),
8909
8836
  // For radial gradients ('center', 'top left', etc.)
8910
- stops: z16.array(gradientStopSchema).min(2)
8837
+ stops: z15.array(gradientStopSchema).min(2)
8911
8838
  });
8912
8839
 
8913
8840
  // ../theme-core/src/navigation/types.ts
8914
- import { z as z18 } from "zod";
8841
+ import { z as z17 } from "zod";
8915
8842
 
8916
8843
  // ../theme-core/src/interactive/baseSchema.ts
8917
- import { z as z17 } from "zod";
8918
- var interactiveTypographySchema = z17.object({
8844
+ import { z as z16 } from "zod";
8845
+ var interactiveTypographySchema = z16.object({
8919
8846
  /** Font family source */
8920
- typography: z17.enum(["body", "heading"]).default("body"),
8847
+ typography: z16.enum(["body", "heading"]).default("body"),
8921
8848
  /** Font weight */
8922
- fontWeight: z17.enum(["regular", "medium", "semibold", "bold"]).default("medium"),
8849
+ fontWeight: z16.enum(["regular", "medium", "semibold", "bold"]).default("medium"),
8923
8850
  /** Text transform */
8924
- textTransform: z17.enum(["none", "uppercase", "capitalize"]).default("none"),
8851
+ textTransform: z16.enum(["none", "uppercase", "capitalize"]).default("none"),
8925
8852
  /** Italic style */
8926
- italic: z17.boolean().default(false)
8853
+ italic: z16.boolean().default(false)
8927
8854
  });
8928
- var effectApplicationSchema2 = z17.object({
8855
+ var effectApplicationSchema2 = z16.object({
8929
8856
  /** Effect preset ID */
8930
- effectId: z17.string(),
8857
+ effectId: z16.string(),
8931
8858
  /** User-provided customization options */
8932
- options: z17.record(z17.string(), z17.any()).optional()
8859
+ options: z16.record(z16.string(), z16.any()).optional()
8933
8860
  });
8934
- var effectCompositionSchema = z17.object({
8861
+ var effectCompositionSchema = z16.object({
8935
8862
  /** Effects always applied */
8936
- base: z17.array(effectApplicationSchema2).optional(),
8863
+ base: z16.array(effectApplicationSchema2).optional(),
8937
8864
  /** Effects applied on hover */
8938
- hover: z17.array(effectApplicationSchema2).optional(),
8865
+ hover: z16.array(effectApplicationSchema2).optional(),
8939
8866
  /** Effects applied on active/pressed */
8940
- active: z17.array(effectApplicationSchema2).optional(),
8867
+ active: z16.array(effectApplicationSchema2).optional(),
8941
8868
  /** Effects applied on focus */
8942
- focus: z17.array(effectApplicationSchema2).optional()
8869
+ focus: z16.array(effectApplicationSchema2).optional()
8943
8870
  });
8944
8871
 
8945
8872
  // ../theme-core/src/navigation/types.ts
8946
- var navLinkPaddingSchema = z18.enum(["none", "compact", "default"]);
8947
- var navLinkPaddingXSchema = z18.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
8948
- var navLinkBorderRadiusSchema = z18.enum(["none", "sm", "md", "full"]);
8949
- var navLinkTextSizeSchema = z18.enum(["xs", "sm", "base", "lg"]);
8950
- var navLinkLetterSpacingSchema = z18.enum(["normal", "wide", "wider", "widest"]);
8951
- var navLinkStyleSchema = z18.object({
8873
+ var navLinkPaddingSchema = z17.enum(["none", "compact", "default"]);
8874
+ var navLinkPaddingXSchema = z17.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
8875
+ var navLinkBorderRadiusSchema = z17.enum(["none", "sm", "md", "full"]);
8876
+ var navLinkTextSizeSchema = z17.enum(["xs", "sm", "base", "lg"]);
8877
+ var navLinkLetterSpacingSchema = z17.enum(["normal", "wide", "wider", "widest"]);
8878
+ var navLinkStyleSchema = z17.object({
8952
8879
  /** Display name for the style */
8953
- name: z18.string().min(1).max(30).optional(),
8880
+ name: z17.string().min(1).max(30).optional(),
8954
8881
  /** Typography settings (inherited from interactive base) */
8955
8882
  ...interactiveTypographySchema.shape,
8956
8883
  /** Text color token */
8957
- colorToken: z18.string().default("text"),
8884
+ colorToken: z17.string().default("text"),
8958
8885
  /** Optional text size override */
8959
8886
  textSize: navLinkTextSizeSchema.optional(),
8960
8887
  /** Optional letter spacing override */
8961
8888
  letterSpacing: navLinkLetterSpacingSchema.optional(),
8962
8889
  /** Hover/active color token (for color-change effects) */
8963
- hoverColorToken: z18.string().nullable().optional(),
8890
+ hoverColorToken: z17.string().nullable().optional(),
8964
8891
  /** Padding preset */
8965
8892
  padding: navLinkPaddingSchema.default("compact"),
8966
8893
  /** Horizontal padding override (overrides horizontal component of padding preset) */
@@ -8972,7 +8899,7 @@ var navLinkStyleSchema = z18.object({
8972
8899
  });
8973
8900
 
8974
8901
  // ../theme-core/src/customCss/validation.ts
8975
- import { z as z19 } from "zod";
8902
+ import { z as z18 } from "zod";
8976
8903
  var FORBIDDEN_SELECTORS = [":root", "html", "body"];
8977
8904
  var UNIVERSAL_SELECTOR = "*";
8978
8905
  var REMOTE_URL_PATTERN = /url\s*\(\s*['"]?(https?:|\/\/)/i;
@@ -9014,7 +8941,7 @@ function containsForbiddenSelector(selector) {
9014
8941
  }
9015
8942
  return false;
9016
8943
  }
9017
- var selectorSchema = z19.string().min(1, "Selector cannot be empty").max(200, "Selector too long (max 200 characters)").refine(
8944
+ var selectorSchema = z18.string().min(1, "Selector cannot be empty").max(200, "Selector too long (max 200 characters)").refine(
9018
8945
  (s) => !containsForbiddenSelector(s),
9019
8946
  { message: "Global selectors (:root, html, body, *) are not allowed" }
9020
8947
  );
@@ -9024,38 +8951,38 @@ function containsRemoteUrl(value) {
9024
8951
  function containsJavascriptUrl(value) {
9025
8952
  return JAVASCRIPT_URL_PATTERN.test(value);
9026
8953
  }
9027
- var declarationValueSchema = z19.string().max(500, "Declaration value too long (max 500 characters)").refine(
8954
+ var declarationValueSchema = z18.string().max(500, "Declaration value too long (max 500 characters)").refine(
9028
8955
  (v) => !containsRemoteUrl(v),
9029
8956
  { message: "Remote url() references are not allowed. Use local paths, data URIs, or fragment IDs." }
9030
8957
  ).refine(
9031
8958
  (v) => !containsJavascriptUrl(v),
9032
8959
  { message: "javascript: URLs are not allowed" }
9033
8960
  );
9034
- var declarationsSchema = z19.record(
9035
- z19.string().min(1).max(100),
8961
+ var declarationsSchema = z18.record(
8962
+ z18.string().min(1).max(100),
9036
8963
  // property name
9037
8964
  declarationValueSchema
9038
8965
  // property value
9039
8966
  );
9040
- var customCssRuleSchema = z19.object({
9041
- id: z19.string().min(1, "Rule ID is required").max(50, "Rule ID too long"),
8967
+ var customCssRuleSchema = z18.object({
8968
+ id: z18.string().min(1, "Rule ID is required").max(50, "Rule ID too long"),
9042
8969
  selector: selectorSchema,
9043
8970
  declarations: declarationsSchema
9044
8971
  });
9045
8972
  var blockCustomCssRuleSchema = customCssRuleSchema.extend({
9046
- blockKind: z19.string().min(1, "Block kind is required").max(50, "Block kind too long")
8973
+ blockKind: z18.string().min(1, "Block kind is required").max(50, "Block kind too long")
9047
8974
  });
9048
- var customCssRulesSchema = z19.array(customCssRuleSchema).optional();
9049
- var blockCustomCssRulesSchema = z19.array(blockCustomCssRuleSchema).optional();
8975
+ var customCssRulesSchema = z18.array(customCssRuleSchema).optional();
8976
+ var blockCustomCssRulesSchema = z18.array(blockCustomCssRuleSchema).optional();
9050
8977
 
9051
8978
  // ../theme-core/src/customCss/atRuleValidation.ts
9052
- import { z as z20 } from "zod";
8979
+ import { z as z19 } from "zod";
9053
8980
  var KEYFRAME_OFFSET_PATTERN = /^(from|to|\d{1,3}%)$/i;
9054
8981
  var ANIMATION_NAME_PATTERN = /^[a-zA-Z_-][a-zA-Z0-9_-]*$/;
9055
8982
  var BLOCKED_AT_RULES = ["@import", "@charset"];
9056
8983
  var BLOCKED_AT_RULE_PATTERN = /@(?:import|charset)\b/i;
9057
- var ruleIdSchema = z20.string().min(1, "Rule ID is required").max(50, "Rule ID too long");
9058
- var nestedRuleSchema = z20.object({
8984
+ var ruleIdSchema = z19.string().min(1, "Rule ID is required").max(50, "Rule ID too long");
8985
+ var nestedRuleSchema = z19.object({
9059
8986
  selector: selectorSchema,
9060
8987
  declarations: declarationsSchema
9061
8988
  });
@@ -9067,146 +8994,146 @@ function isValidKeyframeOffset(offset) {
9067
8994
  const value = parseInt(match[1], 10);
9068
8995
  return value >= 0 && value <= 100;
9069
8996
  }
9070
- var keyframeOffsetSchema = z20.string().transform((offset) => offset.trim()).refine(
8997
+ var keyframeOffsetSchema = z19.string().transform((offset) => offset.trim()).refine(
9071
8998
  (offset) => KEYFRAME_OFFSET_PATTERN.test(offset),
9072
8999
  { message: 'Invalid keyframe offset. Use percentages (0%, 50%, 100%) or "from"/"to"' }
9073
9000
  ).refine(
9074
9001
  isValidKeyframeOffset,
9075
9002
  { message: "Keyframe offset must be between 0% and 100%" }
9076
9003
  );
9077
- var animationNameSchema = z20.string().min(1, "Animation name is required").max(50, "Animation name too long").refine(
9004
+ var animationNameSchema = z19.string().min(1, "Animation name is required").max(50, "Animation name too long").refine(
9078
9005
  (name) => ANIMATION_NAME_PATTERN.test(name),
9079
9006
  { message: "Invalid animation name. Use letters, numbers, dashes, underscores (start with letter, dash, or underscore)" }
9080
9007
  );
9081
- var keyframeSchema = z20.object({
9008
+ var keyframeSchema = z19.object({
9082
9009
  offset: keyframeOffsetSchema,
9083
9010
  declarations: declarationsSchema
9084
9011
  });
9085
- var keyframesAtRuleSchema = z20.object({
9012
+ var keyframesAtRuleSchema = z19.object({
9086
9013
  id: ruleIdSchema,
9087
- type: z20.literal("keyframes"),
9014
+ type: z19.literal("keyframes"),
9088
9015
  name: animationNameSchema,
9089
- frames: z20.array(keyframeSchema).min(1, "At least one keyframe is required")
9016
+ frames: z19.array(keyframeSchema).min(1, "At least one keyframe is required")
9090
9017
  });
9091
- var fontFaceDeclarationsSchema = z20.record(z20.string().min(1).max(100), declarationValueSchema).refine(
9018
+ var fontFaceDeclarationsSchema = z19.record(z19.string().min(1).max(100), declarationValueSchema).refine(
9092
9019
  (decls) => "fontFamily" in decls || "font-family" in decls,
9093
9020
  { message: "font-family is required in @font-face" }
9094
9021
  );
9095
- var fontFaceAtRuleSchema = z20.object({
9022
+ var fontFaceAtRuleSchema = z19.object({
9096
9023
  id: ruleIdSchema,
9097
- type: z20.literal("font-face"),
9024
+ type: z19.literal("font-face"),
9098
9025
  declarations: fontFaceDeclarationsSchema
9099
9026
  });
9100
- var mediaQuerySchema = z20.string().min(1, "Media query is required").max(200, "Media query too long");
9101
- var mediaAtRuleSchema = z20.object({
9027
+ var mediaQuerySchema = z19.string().min(1, "Media query is required").max(200, "Media query too long");
9028
+ var mediaAtRuleSchema = z19.object({
9102
9029
  id: ruleIdSchema,
9103
- type: z20.literal("media"),
9030
+ type: z19.literal("media"),
9104
9031
  query: mediaQuerySchema,
9105
- rules: z20.array(nestedRuleSchema).min(1, "At least one rule is required")
9032
+ rules: z19.array(nestedRuleSchema).min(1, "At least one rule is required")
9106
9033
  });
9107
- var supportsConditionSchema = z20.string().min(1, "Supports condition is required").max(200, "Supports condition too long");
9108
- var supportsAtRuleSchema = z20.object({
9034
+ var supportsConditionSchema = z19.string().min(1, "Supports condition is required").max(200, "Supports condition too long");
9035
+ var supportsAtRuleSchema = z19.object({
9109
9036
  id: ruleIdSchema,
9110
- type: z20.literal("supports"),
9037
+ type: z19.literal("supports"),
9111
9038
  condition: supportsConditionSchema,
9112
- rules: z20.array(nestedRuleSchema).min(1, "At least one rule is required")
9039
+ rules: z19.array(nestedRuleSchema).min(1, "At least one rule is required")
9113
9040
  });
9114
9041
  function containsBlockedAtRule(css) {
9115
9042
  return BLOCKED_AT_RULE_PATTERN.test(css);
9116
9043
  }
9117
- var rawCssSchema = z20.string().min(1, "CSS is required").max(5e3, "Raw CSS too long (max 5000 characters)").refine(
9044
+ var rawCssSchema = z19.string().min(1, "CSS is required").max(5e3, "Raw CSS too long (max 5000 characters)").refine(
9118
9045
  (css) => css.trim().startsWith("@"),
9119
9046
  { message: "Raw at-rule must start with @" }
9120
9047
  ).refine(
9121
9048
  (css) => !containsBlockedAtRule(css),
9122
9049
  { message: `Blocked at-rules: ${BLOCKED_AT_RULES.join(", ")}. Use typed at-rules or local assets instead.` }
9123
9050
  );
9124
- var rawAtRuleSchema = z20.object({
9051
+ var rawAtRuleSchema = z19.object({
9125
9052
  id: ruleIdSchema,
9126
- type: z20.literal("raw"),
9053
+ type: z19.literal("raw"),
9127
9054
  css: rawCssSchema
9128
9055
  });
9129
- var customCssAtRuleSchema = z20.discriminatedUnion("type", [
9056
+ var customCssAtRuleSchema = z19.discriminatedUnion("type", [
9130
9057
  keyframesAtRuleSchema,
9131
9058
  fontFaceAtRuleSchema,
9132
9059
  mediaAtRuleSchema,
9133
9060
  supportsAtRuleSchema,
9134
9061
  rawAtRuleSchema
9135
9062
  ]);
9136
- var customCssAtRulesSchema = z20.array(customCssAtRuleSchema).optional();
9063
+ var customCssAtRulesSchema = z19.array(customCssAtRuleSchema).optional();
9137
9064
 
9138
9065
  // ../theme-core/src/shared/componentStyles.ts
9139
- import { z as z21 } from "zod";
9140
- var componentBorderSchema = z21.object({
9141
- width: z21.enum(["none", "hairline", "thin", "medium", "thick"]).default("none"),
9142
- style: z21.enum(["solid", "dashed"]).default("solid"),
9143
- colorToken: z21.string().optional()
9066
+ import { z as z20 } from "zod";
9067
+ var componentBorderSchema = z20.object({
9068
+ width: z20.enum(["none", "hairline", "thin", "medium", "thick"]).default("none"),
9069
+ style: z20.enum(["solid", "dashed"]).default("solid"),
9070
+ colorToken: z20.string().optional()
9144
9071
  // defaults to "border" if not set
9145
9072
  });
9146
- var componentShadowSchema = z21.object({
9147
- elevation: z21.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("sm")
9073
+ var componentShadowSchema = z20.object({
9074
+ elevation: z20.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("sm")
9148
9075
  });
9149
9076
 
9150
9077
  // ../theme-core/src/schema.ts
9151
- var axesSchema = z22.object({
9152
- tone: z22.enum(["minimal", "classic", "bold"]),
9153
- energy: z22.enum(["calm", "vibrant"]),
9154
- density: z22.enum(["airy", "regular", "compact"]),
9155
- mediaBias: z22.enum(["text", "media", "mixed"]),
9156
- conversionBias: z22.enum(["low", "med", "high"]),
9157
- motion: z22.enum(["subtle", "standard", "expressive"])
9158
- });
9159
- var colourHexString = z22.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
9160
- var paletteColorSchema = z22.object({
9161
- name: z22.string().min(1),
9078
+ var axesSchema = z21.object({
9079
+ tone: z21.enum(["minimal", "classic", "bold"]),
9080
+ energy: z21.enum(["calm", "vibrant"]),
9081
+ density: z21.enum(["airy", "regular", "compact"]),
9082
+ mediaBias: z21.enum(["text", "media", "mixed"]),
9083
+ conversionBias: z21.enum(["low", "med", "high"]),
9084
+ motion: z21.enum(["subtle", "standard", "expressive"])
9085
+ });
9086
+ var colourHexString = z21.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
9087
+ var paletteColorSchema = z21.object({
9088
+ name: z21.string().min(1),
9162
9089
  hex: colourHexString
9163
9090
  });
9164
- var paletteMetaSchema = z22.object({
9165
- mode: z22.enum(["light", "dark"])
9091
+ var paletteMetaSchema = z21.object({
9092
+ mode: z21.enum(["light", "dark"])
9166
9093
  });
9167
- var paletteSchema = z22.object({
9168
- colors: z22.array(paletteColorSchema),
9094
+ var paletteSchema = z21.object({
9095
+ colors: z21.array(paletteColorSchema),
9169
9096
  meta: paletteMetaSchema
9170
9097
  });
9171
- var typographyStyleSchema = z22.object({
9172
- family: z22.string().min(1),
9173
- weight: z22.enum(["light", "regular", "medium", "semibold", "bold"]),
9174
- letterSpacing: z22.enum(["tight", "normal", "loose"]),
9175
- lineHeight: z22.enum(["normal", "relaxed", "loose"])
9098
+ var typographyStyleSchema = z21.object({
9099
+ family: z21.string().min(1),
9100
+ weight: z21.enum(["light", "regular", "medium", "semibold", "bold"]),
9101
+ letterSpacing: z21.enum(["tight", "normal", "loose"]),
9102
+ lineHeight: z21.enum(["normal", "relaxed", "loose"])
9176
9103
  });
9177
9104
  var bodyTypographyStyleSchema = typographyStyleSchema.extend({
9178
- size: z22.enum(["md", "lg", "xl"])
9105
+ size: z21.enum(["md", "lg", "xl"])
9179
9106
  });
9180
- var headingSizeSchema = z22.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
9181
- var headingTypographyOverridesSchema = z22.object({
9182
- weight: z22.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
9183
- letterSpacing: z22.enum(["tight", "normal", "loose"]).nullable().optional(),
9107
+ var headingSizeSchema = z21.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
9108
+ var headingTypographyOverridesSchema = z21.object({
9109
+ weight: z21.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
9110
+ letterSpacing: z21.enum(["tight", "normal", "loose"]).nullable().optional(),
9184
9111
  size: headingSizeSchema.nullable().optional(),
9185
- lineHeight: z22.enum(["normal", "relaxed", "loose"]).nullable().optional(),
9186
- italic: z22.boolean().nullable().optional(),
9187
- colorToken: z22.string().min(1).nullable().optional()
9112
+ lineHeight: z21.enum(["normal", "relaxed", "loose"]).nullable().optional(),
9113
+ italic: z21.boolean().nullable().optional(),
9114
+ colorToken: z21.string().min(1).nullable().optional()
9188
9115
  // Palette token name for heading color
9189
9116
  });
9190
9117
  var headingTypographyStyleSchema = typographyStyleSchema.extend({
9191
- case: z22.enum(["uppercase", "normal", "smallCaps"]).nullable(),
9192
- italic: z22.boolean().nullable(),
9193
- colorToken: z22.string().min(1).nullable().optional()
9118
+ case: z21.enum(["uppercase", "normal", "smallCaps"]).nullable(),
9119
+ italic: z21.boolean().nullable(),
9120
+ colorToken: z21.string().min(1).nullable().optional()
9194
9121
  // Palette token name for heading color
9195
9122
  });
9196
- var proseLinkUnderlineStyleSchema = z22.enum(["solid", "dotted", "dashed"]);
9197
- var proseLinkUnderlineThicknessSchema = z22.enum(["auto", "fromFont", "thin", "medium", "thick"]);
9198
- var proseLinkUnderlineOffsetSchema = z22.enum(["auto", "tight", "normal", "loose"]);
9199
- var proseLinkStyleSchema = z22.object({
9200
- colorToken: z22.string().min(1).optional(),
9201
- hoverColorToken: z22.string().min(1).optional(),
9202
- underline: z22.boolean().optional(),
9203
- decorationColorToken: z22.string().min(1).optional(),
9204
- hoverDecorationColorToken: z22.string().min(1).optional(),
9123
+ var proseLinkUnderlineStyleSchema = z21.enum(["solid", "dotted", "dashed"]);
9124
+ var proseLinkUnderlineThicknessSchema = z21.enum(["auto", "fromFont", "thin", "medium", "thick"]);
9125
+ var proseLinkUnderlineOffsetSchema = z21.enum(["auto", "tight", "normal", "loose"]);
9126
+ var proseLinkStyleSchema = z21.object({
9127
+ colorToken: z21.string().min(1).optional(),
9128
+ hoverColorToken: z21.string().min(1).optional(),
9129
+ underline: z21.boolean().optional(),
9130
+ decorationColorToken: z21.string().min(1).optional(),
9131
+ hoverDecorationColorToken: z21.string().min(1).optional(),
9205
9132
  underlineStyle: proseLinkUnderlineStyleSchema.optional(),
9206
9133
  underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
9207
9134
  underlineOffset: proseLinkUnderlineOffsetSchema.optional()
9208
9135
  });
9209
- var semanticSpacingSchema = z22.enum([
9136
+ var semanticSpacingSchema = z21.enum([
9210
9137
  "none",
9211
9138
  "compact",
9212
9139
  "cozy",
@@ -9214,62 +9141,62 @@ var semanticSpacingSchema = z22.enum([
9214
9141
  "comfortable",
9215
9142
  "spacious"
9216
9143
  ]);
9217
- var boxRoundedSchema = z22.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
9218
- var boxBackgroundOverlaySchema = z22.object({
9219
- type: z22.enum(["none", "color", "gradient"]).nullable().optional(),
9220
- color: z22.string().nullable().optional(),
9221
- gradient: z22.string().nullable().optional(),
9222
- opacity: z22.number().min(0).max(1).nullable().optional()
9223
- });
9224
- var boxBackgroundSchema = z22.object({
9225
- type: z22.enum(["color", "gradient", "image"]).optional(),
9226
- color: z22.string().nullable().optional(),
9227
- gradient: z22.string().nullable().optional(),
9144
+ var boxRoundedSchema = z21.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
9145
+ var boxBackgroundOverlaySchema = z21.object({
9146
+ type: z21.enum(["none", "color", "gradient"]).nullable().optional(),
9147
+ color: z21.string().nullable().optional(),
9148
+ gradient: z21.string().nullable().optional(),
9149
+ opacity: z21.number().min(0).max(1).nullable().optional()
9150
+ });
9151
+ var boxBackgroundSchema = z21.object({
9152
+ type: z21.enum(["color", "gradient", "image"]).optional(),
9153
+ color: z21.string().nullable().optional(),
9154
+ gradient: z21.string().nullable().optional(),
9228
9155
  image: mediaSchema.nullable().optional(),
9229
- objectFit: z22.enum(["fill", "fit", "original", "custom"]).nullable().optional(),
9230
- scale: z22.string().nullable().optional(),
9231
- position: z22.string().nullable().optional(),
9232
- opacity: z22.number().min(0).max(1).nullable().optional(),
9156
+ objectFit: z21.enum(["fill", "fit", "original", "custom"]).nullable().optional(),
9157
+ scale: z21.string().nullable().optional(),
9158
+ position: z21.string().nullable().optional(),
9159
+ opacity: z21.number().min(0).max(1).nullable().optional(),
9233
9160
  overlay: boxBackgroundOverlaySchema.nullable().optional(),
9234
- textColor: z22.string().nullable().optional(),
9235
- headingColor: z22.string().nullable().optional()
9161
+ textColor: z21.string().nullable().optional(),
9162
+ headingColor: z21.string().nullable().optional()
9236
9163
  });
9237
- var sectionStylesOverrideSchema = z22.object({
9164
+ var sectionStylesOverrideSchema = z21.object({
9238
9165
  background: boxBackgroundSchema.nullable().optional(),
9239
9166
  spacing: semanticSpacingSchema.nullable().optional(),
9240
- minHeight: z22.enum(["none", "hero", "immersive"]).nullable().optional()
9167
+ minHeight: z21.enum(["none", "hero", "immersive"]).nullable().optional()
9241
9168
  });
9242
- var containerStylesOverrideSchema = z22.object({
9169
+ var containerStylesOverrideSchema = z21.object({
9243
9170
  background: boxBackgroundSchema.nullable().optional(),
9244
9171
  spacing: semanticSpacingSchema.nullable().optional(),
9245
- raised: z22.boolean().nullable().optional(),
9172
+ raised: z21.boolean().nullable().optional(),
9246
9173
  rounded: boxRoundedSchema.nullable().optional(),
9247
- fullWidth: z22.boolean().nullable().optional()
9174
+ fullWidth: z21.boolean().nullable().optional()
9248
9175
  });
9249
- var cardBorderOverrideSchema = z22.object({
9250
- enabled: z22.boolean().nullable().optional(),
9251
- width: z22.enum(["none", "1", "2", "3"]).nullable().optional(),
9252
- colorToken: z22.string().nullable().optional()
9176
+ var cardBorderOverrideSchema = z21.object({
9177
+ enabled: z21.boolean().nullable().optional(),
9178
+ width: z21.enum(["none", "1", "2", "3"]).nullable().optional(),
9179
+ colorToken: z21.string().nullable().optional()
9253
9180
  });
9254
- var cardStylesOverrideSchema = z22.object({
9181
+ var cardStylesOverrideSchema = z21.object({
9255
9182
  background: boxBackgroundSchema.nullable().optional(),
9256
9183
  border: cardBorderOverrideSchema.nullable().optional(),
9257
9184
  spacing: semanticSpacingSchema.nullable().optional(),
9258
- raised: z22.boolean().nullable().optional(),
9185
+ raised: z21.boolean().nullable().optional(),
9259
9186
  rounded: boxRoundedSchema.nullable().optional()
9260
9187
  });
9261
- var blockStyleOverridesSchema = z22.object({
9188
+ var blockStyleOverridesSchema = z21.object({
9262
9189
  sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
9263
9190
  containerStyles: containerStylesOverrideSchema.nullable().optional(),
9264
9191
  cardStyles: cardStylesOverrideSchema.nullable().optional()
9265
9192
  });
9266
- var blockThemeOverrideSchema = z22.object({
9267
- typography: z22.object({
9193
+ var blockThemeOverrideSchema = z21.object({
9194
+ typography: z21.object({
9268
9195
  proseLinkStyle: proseLinkStyleSchema.optional()
9269
9196
  }).optional(),
9270
9197
  styles: blockStyleOverridesSchema.optional()
9271
9198
  });
9272
- var typographyScaleSchema = z22.enum([
9199
+ var typographyScaleSchema = z21.enum([
9273
9200
  // New intuitive names
9274
9201
  "compact",
9275
9202
  // ratio 1.2 (was minorThird)
@@ -9282,9 +9209,9 @@ var typographyScaleSchema = z22.enum([
9282
9209
  "majorThird",
9283
9210
  "perfectFourth"
9284
9211
  ]);
9285
- var typographySchema = z22.object({
9212
+ var typographySchema = z21.object({
9286
9213
  body: bodyTypographyStyleSchema,
9287
- headings: z22.object({
9214
+ headings: z21.object({
9288
9215
  default: headingTypographyStyleSchema,
9289
9216
  h1: headingTypographyOverridesSchema,
9290
9217
  h2: headingTypographyOverridesSchema,
@@ -9297,41 +9224,41 @@ var typographySchema = z22.object({
9297
9224
  scale: typographyScaleSchema,
9298
9225
  proseLinkStyle: proseLinkStyleSchema.optional()
9299
9226
  });
9300
- var spaceSchema = z22.enum(["comfortable", "standard", "dense"]);
9301
- var corners = z22.enum(["square", "soft", "rounded", "pill"]);
9302
- var shadow = z22.object({
9303
- elevation: z22.enum(["none", "low", "medium", "high"]),
9304
- softness: z22.enum(["crisp", "soft", "hard"]).nullable(),
9305
- position: z22.enum(["bottom", "bottom-right"]).default("bottom")
9227
+ var spaceSchema = z21.enum(["comfortable", "standard", "dense"]);
9228
+ var corners = z21.enum(["square", "soft", "rounded", "pill"]);
9229
+ var shadow = z21.object({
9230
+ elevation: z21.enum(["none", "low", "medium", "high"]),
9231
+ softness: z21.enum(["crisp", "soft", "hard"]).nullable(),
9232
+ position: z21.enum(["bottom", "bottom-right"]).default("bottom")
9306
9233
  });
9307
- var border = z22.object({
9308
- width: z22.enum(["none", "hairline", "thin", "thick"]),
9309
- style: z22.enum(["solid", "dashed"])
9234
+ var border = z21.object({
9235
+ width: z21.enum(["none", "hairline", "thin", "thick"]),
9236
+ style: z21.enum(["solid", "dashed"])
9310
9237
  });
9311
- var motion = z22.object({
9312
- level: z22.enum(["off", "low", "medium", "high"]),
9313
- easing: z22.enum(["standard", "snappy", "gentle"]).nullable()
9238
+ var motion = z21.object({
9239
+ level: z21.enum(["off", "low", "medium", "high"]),
9240
+ easing: z21.enum(["standard", "snappy", "gentle"]).nullable()
9314
9241
  });
9315
- var buttonStyle = z22.object({
9242
+ var buttonStyle = z21.object({
9316
9243
  shape: corners
9317
9244
  // Used for --radius-control CSS variable
9318
9245
  });
9319
- var cardStyle = z22.object({
9320
- elevation: z22.enum(["none", "low", "medium", "high"]),
9321
- border: z22.enum(["none", "subtle", "defined"]),
9246
+ var cardStyle = z21.object({
9247
+ elevation: z21.enum(["none", "low", "medium", "high"]),
9248
+ border: z21.enum(["none", "subtle", "defined"]),
9322
9249
  shape: corners,
9323
- headerStyle: z22.enum(["plain", "accentBar", "subtleBg"]).nullable(),
9324
- mediaTreatment: z22.enum(["square", "rounded", "bleed"]).nullable()
9250
+ headerStyle: z21.enum(["plain", "accentBar", "subtleBg"]).nullable(),
9251
+ mediaTreatment: z21.enum(["square", "rounded", "bleed"]).nullable()
9325
9252
  });
9326
- var inputStyle = z22.object({
9253
+ var inputStyle = z21.object({
9327
9254
  shape: corners,
9328
- border: z22.enum(["subtle", "defined", "underline"]),
9329
- focus: z22.enum(["glow", "ring", "underline"]),
9330
- label: z22.enum(["inside", "above"])
9255
+ border: z21.enum(["subtle", "defined", "underline"]),
9256
+ focus: z21.enum(["glow", "ring", "underline"]),
9257
+ label: z21.enum(["inside", "above"])
9331
9258
  });
9332
- var headerVariant = z22.enum(["classic", "centered", "transparent", "floating", "editorial"]);
9333
- var headerPositioning = z22.enum(["static", "sticky", "fixed"]);
9334
- var headerNavStyle = z22.enum([
9259
+ var headerVariant = z21.enum(["classic", "centered", "transparent", "floating", "editorial"]);
9260
+ var headerPositioning = z21.enum(["static", "sticky", "fixed"]);
9261
+ var headerNavStyle = z21.enum([
9335
9262
  "minimal",
9336
9263
  "underline",
9337
9264
  "underline-grow",
@@ -9340,82 +9267,82 @@ var headerNavStyle = z22.enum([
9340
9267
  "frosted",
9341
9268
  "solid"
9342
9269
  ]);
9343
- var navFontWeight = z22.enum(["regular", "medium", "semibold", "bold"]);
9344
- var headerMaxWidth = z22.enum(["container", "full"]);
9345
- var headerContainerSchema = z22.object({
9346
- rounded: z22.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("xl"),
9347
- border: z22.boolean().default(true),
9348
- shadow: z22.boolean().default(true),
9349
- padding: z22.enum(["sm", "md", "lg"]).default("md"),
9350
- tint: z22.string().nullable().optional(),
9351
- opacity: z22.number().min(0).max(1).default(0.12)
9270
+ var navFontWeight = z21.enum(["regular", "medium", "semibold", "bold"]);
9271
+ var headerMaxWidth = z21.enum(["container", "full"]);
9272
+ var headerContainerSchema = z21.object({
9273
+ rounded: z21.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("xl"),
9274
+ border: z21.boolean().default(true),
9275
+ shadow: z21.boolean().default(true),
9276
+ padding: z21.enum(["sm", "md", "lg"]).default("md"),
9277
+ tint: z21.string().nullable().optional(),
9278
+ opacity: z21.number().min(0).max(1).default(0.12)
9352
9279
  }).optional();
9353
9280
  var headerBorderSchema = componentBorderSchema.extend({
9354
- position: z22.enum(["bottom", "top", "both", "none"]).default("bottom")
9281
+ position: z21.enum(["bottom", "top", "both", "none"]).default("bottom")
9355
9282
  }).optional();
9356
- var logoStyleSchema = z22.object({
9357
- fontFamily: z22.enum(["heading", "body"]).default("heading"),
9358
- letterSpacing: z22.enum(["normal", "wide", "wider", "widest"]).default("normal"),
9359
- gradient: z22.boolean().default(false)
9283
+ var logoStyleSchema = z21.object({
9284
+ fontFamily: z21.enum(["heading", "body"]).default("heading"),
9285
+ letterSpacing: z21.enum(["normal", "wide", "wider", "widest"]).default("normal"),
9286
+ gradient: z21.boolean().default(false)
9360
9287
  }).optional();
9361
- var headerLogoTextSchema = z22.object({
9362
- mobileWrapLines: z22.union([z22.literal(1), z22.literal(2)]).optional(),
9363
- mobileMaxWidth: z22.enum(["xs", "sm", "md"]).optional(),
9364
- hideOnShrink: z22.boolean().optional()
9288
+ var headerLogoTextSchema = z21.object({
9289
+ mobileWrapLines: z21.union([z21.literal(1), z21.literal(2)]).optional(),
9290
+ mobileMaxWidth: z21.enum(["xs", "sm", "md"]).optional(),
9291
+ hideOnShrink: z21.boolean().optional()
9365
9292
  }).optional();
9366
- var navEffectsSchema = z22.object({
9367
- underlineGradient: z22.boolean().default(false),
9368
- glow: z22.boolean().default(false),
9369
- glowColor: z22.string().optional(),
9370
- neumorphic: z22.boolean().default(false)
9293
+ var navEffectsSchema = z21.object({
9294
+ underlineGradient: z21.boolean().default(false),
9295
+ glow: z21.boolean().default(false),
9296
+ glowColor: z21.string().optional(),
9297
+ neumorphic: z21.boolean().default(false)
9371
9298
  }).optional();
9372
- var dropdownStyleSchema = z22.object({
9299
+ var dropdownStyleSchema = z21.object({
9373
9300
  // Container styling
9374
- background: z22.string().default("surface"),
9301
+ background: z21.string().default("surface"),
9375
9302
  // color token
9376
- textColor: z22.string().default("text"),
9303
+ textColor: z21.string().default("text"),
9377
9304
  // color token
9378
- borderColor: z22.string().nullable().default("border"),
9305
+ borderColor: z21.string().nullable().default("border"),
9379
9306
  // null = no border
9380
- shadow: z22.enum(["none", "sm", "md", "lg"]).default("md"),
9381
- borderRadius: z22.enum(["none", "sm", "md", "lg"]).default("md"),
9307
+ shadow: z21.enum(["none", "sm", "md", "lg"]).default("md"),
9308
+ borderRadius: z21.enum(["none", "sm", "md", "lg"]).default("md"),
9382
9309
  // Link hover states (explicit control)
9383
- hoverBackground: z22.string().nullable().optional(),
9310
+ hoverBackground: z21.string().nullable().optional(),
9384
9311
  // color token, null = transparent
9385
- hoverTextColor: z22.string().nullable().optional(),
9312
+ hoverTextColor: z21.string().nullable().optional(),
9386
9313
  // color token, null = inherit
9387
9314
  // Typography
9388
- textTransform: z22.enum(["none", "uppercase", "capitalize"]).default("none"),
9389
- letterSpacing: z22.enum(["normal", "wide", "wider"]).default("normal"),
9390
- fontWeight: z22.enum(["regular", "medium", "semibold", "bold"]).optional(),
9315
+ textTransform: z21.enum(["none", "uppercase", "capitalize"]).default("none"),
9316
+ letterSpacing: z21.enum(["normal", "wide", "wider"]).default("normal"),
9317
+ fontWeight: z21.enum(["regular", "medium", "semibold", "bold"]).optional(),
9391
9318
  // optional = inherit from navWeight
9392
- textSize: z22.enum(["xs", "sm", "base", "lg"]).optional()
9319
+ textSize: z21.enum(["xs", "sm", "base", "lg"]).optional()
9393
9320
  // optional = no override (browser default)
9394
9321
  }).optional();
9395
- var headerCtaGapSchema = z22.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
9396
- var navContainerSchema = z22.object({
9397
- type: z22.enum(["none", "pill", "glass"]).default("none"),
9398
- tint: z22.string().nullable().optional(),
9399
- opacity: z22.number().min(0).max(1).default(0.15)
9322
+ var headerCtaGapSchema = z21.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
9323
+ var navContainerSchema = z21.object({
9324
+ type: z21.enum(["none", "pill", "glass"]).default("none"),
9325
+ tint: z21.string().nullable().optional(),
9326
+ opacity: z21.number().min(0).max(1).default(0.15)
9400
9327
  }).default({ type: "none", tint: null, opacity: 0.15 });
9401
- var headerBackgroundSchema = z22.object({
9402
- type: z22.enum(["color", "gradient", "image"]),
9403
- color: z22.string().nullable().optional(),
9328
+ var headerBackgroundSchema = z21.object({
9329
+ type: z21.enum(["color", "gradient", "image"]),
9330
+ color: z21.string().nullable().optional(),
9404
9331
  gradient: gradientConfigSchema.nullable().optional(),
9405
9332
  image: mediaSchema.nullable().optional(),
9406
- textColor: z22.string().nullable().optional()
9333
+ textColor: z21.string().nullable().optional()
9407
9334
  });
9408
- var headerSchema = z22.object({
9335
+ var headerSchema = z21.object({
9409
9336
  variant: headerVariant,
9410
9337
  positioning: headerPositioning,
9411
- shrinkOnScroll: z22.boolean(),
9338
+ shrinkOnScroll: z21.boolean(),
9412
9339
  maxWidth: headerMaxWidth,
9413
9340
  logoOverride: mediaSchema.nullable().optional(),
9414
9341
  background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
9415
- textColor: z22.string().nullable().optional(),
9342
+ textColor: z21.string().nullable().optional(),
9416
9343
  // Site title and general header text
9417
9344
  navStyle: headerNavStyle,
9418
- navColor: z22.string().nullable().optional(),
9345
+ navColor: z21.string().nullable().optional(),
9419
9346
  // Nav links (inherits textColor if not set)
9420
9347
  navWeight: navFontWeight.default("medium"),
9421
9348
  // New fields for header system enhancement
@@ -9434,50 +9361,50 @@ var headerSchema = z22.object({
9434
9361
  // Dropdown menu styling (nav dropdowns and mobile drawer)
9435
9362
  dropdownStyle: dropdownStyleSchema
9436
9363
  });
9437
- var footerVariant = z22.enum(["simple", "columns", "split"]);
9438
- var footerMaxWidth = z22.enum(["container", "full"]);
9439
- var footerMode = z22.enum(["default", "blocks", "default+blocks", "none"]);
9440
- var footerNavLayoutMode = z22.enum(["stack", "inline", "inline-wrap"]);
9441
- var footerNavLayoutAlign = z22.enum(["start", "center", "end", "space-between"]);
9442
- var footerSpacing = z22.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
9443
- var footerLogoPlacement = z22.enum(["left", "right", "above", "below"]);
9444
- var footerLogoSize = z22.enum(["sm", "md", "lg", "xl"]);
9445
- var footerLogoMaxHeight = z22.enum(["sm", "md", "lg", "xl"]);
9446
- var footerBottomTextLinkStyleSchema = z22.object({
9447
- colorToken: z22.string().optional(),
9448
- hoverColorToken: z22.string().nullable().optional(),
9449
- decorationColorToken: z22.string().nullable().optional(),
9450
- underline: z22.boolean().optional()
9451
- });
9452
- var footerBottomBarSchema = z22.object({
9453
- enabled: z22.boolean().optional(),
9454
- fullBleed: z22.boolean().optional(),
9364
+ var footerVariant = z21.enum(["simple", "columns", "split"]);
9365
+ var footerMaxWidth = z21.enum(["container", "full"]);
9366
+ var footerMode = z21.enum(["default", "blocks", "default+blocks", "none"]);
9367
+ var footerNavLayoutMode = z21.enum(["stack", "inline", "inline-wrap"]);
9368
+ var footerNavLayoutAlign = z21.enum(["start", "center", "end", "space-between"]);
9369
+ var footerSpacing = z21.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
9370
+ var footerLogoPlacement = z21.enum(["left", "right", "above", "below"]);
9371
+ var footerLogoSize = z21.enum(["sm", "md", "lg", "xl"]);
9372
+ var footerLogoMaxHeight = z21.enum(["sm", "md", "lg", "xl"]);
9373
+ var footerBottomTextLinkStyleSchema = z21.object({
9374
+ colorToken: z21.string().optional(),
9375
+ hoverColorToken: z21.string().nullable().optional(),
9376
+ decorationColorToken: z21.string().nullable().optional(),
9377
+ underline: z21.boolean().optional()
9378
+ });
9379
+ var footerBottomBarSchema = z21.object({
9380
+ enabled: z21.boolean().optional(),
9381
+ fullBleed: z21.boolean().optional(),
9455
9382
  background: headerBackgroundSchema.optional(),
9456
- textColor: z22.string().nullable().optional(),
9457
- textAlign: z22.enum(["left", "center", "right"]).optional(),
9383
+ textColor: z21.string().nullable().optional(),
9384
+ textAlign: z21.enum(["left", "center", "right"]).optional(),
9458
9385
  paddingY: footerSpacing.optional(),
9459
9386
  paddingX: footerSpacing.optional(),
9460
- borderTop: z22.object({
9461
- colorToken: z22.string().nullable().optional(),
9462
- width: z22.enum(["none", "thin", "medium", "thick"]).optional()
9387
+ borderTop: z21.object({
9388
+ colorToken: z21.string().nullable().optional(),
9389
+ width: z21.enum(["none", "thin", "medium", "thick"]).optional()
9463
9390
  }).optional()
9464
9391
  });
9465
- var footerNavLayoutSchema = z22.object({
9392
+ var footerNavLayoutSchema = z21.object({
9466
9393
  layout: footerNavLayoutMode.optional(),
9467
9394
  align: footerNavLayoutAlign.optional(),
9468
9395
  gapX: footerSpacing.optional(),
9469
9396
  gapY: footerSpacing.optional(),
9470
- columns: z22.number().int().min(1).max(6).optional()
9397
+ columns: z21.number().int().min(1).max(6).optional()
9471
9398
  });
9472
- var footerLogoSchema = z22.object({
9473
- showLogo: z22.boolean().default(true),
9474
- showLogoText: z22.boolean().optional(),
9399
+ var footerLogoSchema = z21.object({
9400
+ showLogo: z21.boolean().default(true),
9401
+ showLogoText: z21.boolean().optional(),
9475
9402
  placement: footerLogoPlacement.optional(),
9476
9403
  size: footerLogoSize.optional(),
9477
9404
  maxHeight: footerLogoMaxHeight.optional(),
9478
- align: z22.enum(["start", "center", "end"]).optional()
9405
+ align: z21.enum(["start", "center", "end"]).optional()
9479
9406
  });
9480
- var footerSchema = z22.object({
9407
+ var footerSchema = z21.object({
9481
9408
  /**
9482
9409
  * SDK-only footer rendering mode.
9483
9410
  *
@@ -9486,11 +9413,11 @@ var footerSchema = z22.object({
9486
9413
  mode: footerMode.optional(),
9487
9414
  variant: footerVariant,
9488
9415
  maxWidth: footerMaxWidth,
9489
- showLogoText: z22.boolean().optional(),
9416
+ showLogoText: z21.boolean().optional(),
9490
9417
  background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
9491
9418
  // Footer nav styling (independent from header)
9492
9419
  navStyle: headerNavStyle.default("minimal"),
9493
- navColor: z22.string().nullable().optional(),
9420
+ navColor: z21.string().nullable().optional(),
9494
9421
  navWeight: navFontWeight.default("medium"),
9495
9422
  // Full nav link customization (overrides navStyle if set)
9496
9423
  navLinkStyle: navLinkStyleSchema.optional(),
@@ -9501,15 +9428,15 @@ var footerSchema = z22.object({
9501
9428
  logo: footerLogoSchema.optional(),
9502
9429
  bottomBar: footerBottomBarSchema.optional()
9503
9430
  });
9504
- var containerPaddingPresetSchema = z22.enum(["tight", "compact", "default", "relaxed"]);
9505
- var layoutSchema = z22.object({
9506
- containerPadding: z22.object({
9431
+ var containerPaddingPresetSchema = z21.enum(["tight", "compact", "default", "relaxed"]);
9432
+ var layoutSchema = z21.object({
9433
+ containerPadding: z21.object({
9507
9434
  mobile: containerPaddingPresetSchema.optional(),
9508
9435
  tablet: containerPaddingPresetSchema.optional(),
9509
9436
  desktop: containerPaddingPresetSchema.optional()
9510
9437
  }).optional()
9511
9438
  }).optional();
9512
- var heroTypographySizeSchema = z22.enum([
9439
+ var heroTypographySizeSchema = z21.enum([
9513
9440
  "sm",
9514
9441
  "base",
9515
9442
  "lg",
@@ -9520,14 +9447,14 @@ var heroTypographySizeSchema = z22.enum([
9520
9447
  "5xl",
9521
9448
  "6xl"
9522
9449
  ]);
9523
- var heroTypographyLineHeightSchema = z22.enum(["tight", "snug", "normal", "relaxed"]);
9524
- var heroResponsiveTypographySchema = z22.object({
9450
+ var heroTypographyLineHeightSchema = z21.enum(["tight", "snug", "normal", "relaxed"]);
9451
+ var heroResponsiveTypographySchema = z21.object({
9525
9452
  headlineSize: heroTypographySizeSchema.optional(),
9526
9453
  headlineLineHeight: heroTypographyLineHeightSchema.optional(),
9527
9454
  subheadlineSize: heroTypographySizeSchema.optional(),
9528
9455
  subheadlineLineHeight: heroTypographyLineHeightSchema.optional()
9529
9456
  });
9530
- var heroTypographySchema = z22.object({
9457
+ var heroTypographySchema = z21.object({
9531
9458
  headlineSize: heroTypographySizeSchema.optional(),
9532
9459
  headlineLineHeight: heroTypographyLineHeightSchema.optional(),
9533
9460
  subheadlineSize: heroTypographySizeSchema.optional(),
@@ -9536,24 +9463,24 @@ var heroTypographySchema = z22.object({
9536
9463
  microHeadlineLineHeight: heroTypographyLineHeightSchema.optional(),
9537
9464
  microSubheadlineSize: heroTypographySizeSchema.optional(),
9538
9465
  microSubheadlineLineHeight: heroTypographyLineHeightSchema.optional(),
9539
- responsive: z22.object({
9466
+ responsive: z21.object({
9540
9467
  tablet: heroResponsiveTypographySchema.optional(),
9541
9468
  mobile: heroResponsiveTypographySchema.optional()
9542
9469
  }).optional()
9543
9470
  });
9544
- var heroSchema = z22.object({
9471
+ var heroSchema = z21.object({
9545
9472
  typography: heroTypographySchema.optional()
9546
9473
  }).optional();
9547
- var gradientsSchema = z22.object({
9548
- button: z22.string().min(1).nullable().optional(),
9549
- hero: z22.string().min(1).nullable().optional(),
9550
- background: z22.string().min(1).nullable().optional()
9551
- });
9552
- var themeSchema = z22.object({
9553
- name: z22.string().min(1).max(30),
9554
- description: z22.string().min(1).max(400),
9555
- rationale: z22.string().min(1).max(400),
9556
- siteStyleId: z22.string().min(1).transform((value) => asSiteStyleId(value)).optional(),
9474
+ var gradientsSchema = z21.object({
9475
+ button: z21.string().min(1).nullable().optional(),
9476
+ hero: z21.string().min(1).nullable().optional(),
9477
+ background: z21.string().min(1).nullable().optional()
9478
+ });
9479
+ var themeSchema = z21.object({
9480
+ name: z21.string().min(1).max(30),
9481
+ description: z21.string().min(1).max(400),
9482
+ rationale: z21.string().min(1).max(400),
9483
+ siteStyleId: z21.string().min(1).transform((value) => asSiteStyleId(value)).optional(),
9557
9484
  axes: axesSchema,
9558
9485
  palette: paletteSchema,
9559
9486
  typography: typographySchema,
@@ -9580,16 +9507,16 @@ var themeSchema = z22.object({
9580
9507
  // Block-specific customization (Tier 3)
9581
9508
  // blockCustomVars: Per-block CSS variable overrides as bare values
9582
9509
  // Example: { "event-registration": { "--step-color": "#6d28d9" } }
9583
- blockCustomVars: z22.record(
9584
- z22.string(),
9510
+ blockCustomVars: z21.record(
9511
+ z21.string(),
9585
9512
  // block kind (matches data-block attribute)
9586
- z22.record(z22.string(), z22.string())
9513
+ z21.record(z21.string(), z21.string())
9587
9514
  // { '--var-name': 'value' }
9588
9515
  ).optional(),
9589
9516
  // Structured block-kind theme overrides (v1: typography prose-link style only)
9590
9517
  // Keyed by block kind (usually data-block value like "hero"; "block.hero" also accepted)
9591
- blockOverrides: z22.record(
9592
- z22.string(),
9518
+ blockOverrides: z21.record(
9519
+ z21.string(),
9593
9520
  blockThemeOverrideSchema
9594
9521
  ).optional(),
9595
9522
  // Structured custom CSS rules
@@ -9625,11 +9552,11 @@ var themeSchema = z22.object({
9625
9552
  * }
9626
9553
  * ```
9627
9554
  */
9628
- styleGroups: z22.record(z22.string(), z22.array(z22.string())).optional()
9555
+ styleGroups: z21.record(z21.string(), z21.array(z21.string())).optional()
9629
9556
  });
9630
- var themesTurnSchema = z22.object({
9631
- message: z22.string().min(1),
9632
- themes: z22.array(themeSchema).length(3)
9557
+ var themesTurnSchema = z21.object({
9558
+ message: z21.string().min(1),
9559
+ themes: z21.array(themeSchema).length(3)
9633
9560
  });
9634
9561
 
9635
9562
  // ../theme-core/src/palette/variants/types.ts
@@ -9639,7 +9566,7 @@ function asPaletteVariantId(value) {
9639
9566
  }
9640
9567
  return value;
9641
9568
  }
9642
- var paletteVariantIdSchema = z23.string().min(1).transform((value) => asPaletteVariantId(value));
9569
+ var paletteVariantIdSchema = z22.string().min(1).transform((value) => asPaletteVariantId(value));
9643
9570
  var PALETTE_TOKEN_NAMES = [
9644
9571
  "primary",
9645
9572
  "primaryForeground",
@@ -9655,19 +9582,19 @@ var PALETTE_TOKEN_NAMES = [
9655
9582
  "text",
9656
9583
  "border"
9657
9584
  ];
9658
- var paletteTokenNameSchema = z23.enum(PALETTE_TOKEN_NAMES);
9585
+ var paletteTokenNameSchema = z22.enum(PALETTE_TOKEN_NAMES);
9659
9586
  var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
9660
- var hexColorSchema = z23.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
9587
+ var hexColorSchema = z22.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
9661
9588
  var variantPaletteColorSchema = paletteColorSchema.extend({
9662
9589
  name: paletteTokenNameSchema
9663
9590
  });
9664
- var paletteVariantSchema = z23.object({
9591
+ var paletteVariantSchema = z22.object({
9665
9592
  id: paletteVariantIdSchema,
9666
- name: z23.string().min(1),
9667
- description: z23.string().min(1),
9593
+ name: z22.string().min(1),
9594
+ description: z22.string().min(1),
9668
9595
  tags: styleTagsSchema,
9669
- mode: z23.enum(["light", "dark"]),
9670
- colors: z23.array(variantPaletteColorSchema).min(1)
9596
+ mode: z22.enum(["light", "dark"]),
9597
+ colors: z22.array(variantPaletteColorSchema).min(1)
9671
9598
  });
9672
9599
  function definePaletteVariant(input) {
9673
9600
  return {
@@ -9679,7 +9606,7 @@ function definePaletteVariant(input) {
9679
9606
  colors: input.colors
9680
9607
  };
9681
9608
  }
9682
- var paletteOverridesSchema = z23.object({
9609
+ var paletteOverridesSchema = z22.object({
9683
9610
  primary: hexColorSchema.optional(),
9684
9611
  primaryForeground: hexColorSchema.optional(),
9685
9612
  secondary: hexColorSchema.optional(),
@@ -10356,7 +10283,7 @@ var curatedSiteStylesById = new Map(
10356
10283
  );
10357
10284
 
10358
10285
  // ../theme-core/src/site-styles/designState.ts
10359
- import { z as z24 } from "zod";
10286
+ import { z as z23 } from "zod";
10360
10287
 
10361
10288
  // ../theme-core/src/site-styles/rawStyleFields.ts
10362
10289
  var themeV2RuntimeStyleFieldNames = [
@@ -10382,13 +10309,13 @@ var themeV2NormalEditorRawStyleFieldNameSet = new Set(
10382
10309
 
10383
10310
  // ../theme-core/src/site-styles/designState.ts
10384
10311
  var themeV2DesignStateSchemaVersion = 1;
10385
- var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
10386
- var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
10387
- var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
10312
+ var designResolutionPolicySchema = z23.enum(["generated", "user", "admin", "sdk"]);
10313
+ var runtimeStyleFieldNameSchema = z23.enum(themeV2RuntimeStyleFieldNames);
10314
+ var nonEmptyRuntimeStyleFieldNamesSchema = z23.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
10388
10315
  fields3[0],
10389
10316
  ...fields3.slice(1)
10390
10317
  ]);
10391
- var heroLegibilityStrategySchema = z24.enum([
10318
+ var heroLegibilityStrategySchema = z23.enum([
10392
10319
  "none",
10393
10320
  "scrim-gradient",
10394
10321
  "solid-panel"
@@ -10410,66 +10337,66 @@ var userFlushTreatments = uniqueNonEmpty(
10410
10337
  var userFlushBleeds = uniqueNonEmpty(
10411
10338
  userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
10412
10339
  );
10413
- var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
10414
- z24.object({ kind: z24.literal("plain") }).strict(),
10415
- z24.object({
10416
- kind: z24.literal("panel"),
10417
- treatment: z24.enum(userPanelTreatments)
10340
+ var contentFrameIntentSchema = z23.discriminatedUnion("kind", [
10341
+ z23.object({ kind: z23.literal("plain") }).strict(),
10342
+ z23.object({
10343
+ kind: z23.literal("panel"),
10344
+ treatment: z23.enum(userPanelTreatments)
10418
10345
  }).strict(),
10419
- z24.object({
10420
- kind: z24.literal("flush-panel"),
10421
- treatment: z24.enum(userFlushTreatments),
10422
- bleed: z24.enum(userFlushBleeds)
10346
+ z23.object({
10347
+ kind: z23.literal("flush-panel"),
10348
+ treatment: z23.enum(userFlushTreatments),
10349
+ bleed: z23.enum(userFlushBleeds)
10423
10350
  }).strict()
10424
10351
  ]);
10425
- var blockDesignPlanSchema = z24.object({
10426
- blockId: z24.string().min(1).transform(asDesignBlockId),
10427
- blockKind: z24.string().min(1),
10428
- purpose: z24.string().min(1),
10429
- sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
10352
+ var blockDesignPlanSchema = z23.object({
10353
+ blockId: z23.string().min(1).transform(asDesignBlockId),
10354
+ blockKind: z23.string().min(1),
10355
+ purpose: z23.string().min(1),
10356
+ sectionSurface: z23.enum(userDesignOptionCatalog.sectionSurfaces),
10430
10357
  contentFrame: contentFrameIntentSchema,
10431
- itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
10432
- transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
10433
- emphasis: z24.enum(userDesignOptionCatalog.emphases),
10358
+ itemSurface: z23.enum(userDesignOptionCatalog.itemSurfaces),
10359
+ transitionAfter: z23.enum(userDesignOptionCatalog.transitions),
10360
+ emphasis: z23.enum(userDesignOptionCatalog.emphases),
10434
10361
  heroLegibility: heroLegibilityStrategySchema.optional()
10435
10362
  }).strict();
10436
- var styleAuthoritySchema = z24.discriminatedUnion("kind", [
10437
- z24.object({
10438
- kind: z24.literal("theme-v2"),
10363
+ var styleAuthoritySchema = z23.discriminatedUnion("kind", [
10364
+ z23.object({
10365
+ kind: z23.literal("theme-v2"),
10439
10366
  source: designResolutionPolicySchema,
10440
- siteStyleId: z24.string().min(1).transform(asSiteStyleId),
10441
- templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
10442
- templateVersion: z24.number().int().nonnegative(),
10443
- resolverVersion: z24.number().int().nonnegative()
10367
+ siteStyleId: z23.string().min(1).transform(asSiteStyleId),
10368
+ templateId: z23.string().min(1).transform(asDesignSystemTemplateId),
10369
+ templateVersion: z23.number().int().nonnegative(),
10370
+ resolverVersion: z23.number().int().nonnegative()
10444
10371
  }).strict(),
10445
- z24.object({
10446
- kind: z24.literal("legacy-raw"),
10447
- reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
10372
+ z23.object({
10373
+ kind: z23.literal("legacy-raw"),
10374
+ reason: z23.enum(["pre-theme-v2", "manual-runtime-fields"])
10448
10375
  }).strict(),
10449
- z24.object({
10450
- kind: z24.literal("advanced-detached"),
10451
- reason: z24.literal("detached-custom-runtime-fields")
10376
+ z23.object({
10377
+ kind: z23.literal("advanced-detached"),
10378
+ reason: z23.literal("detached-custom-runtime-fields")
10452
10379
  }).strict()
10453
10380
  ]);
10454
- var blockRuntimeStyleAuthoritySchema = z24.object({
10455
- unit: z24.literal("block-runtime-fields"),
10456
- blockId: z24.string().min(1).transform(asDesignBlockId),
10381
+ var blockRuntimeStyleAuthoritySchema = z23.object({
10382
+ unit: z23.literal("block-runtime-fields"),
10383
+ blockId: z23.string().min(1).transform(asDesignBlockId),
10457
10384
  fields: nonEmptyRuntimeStyleFieldNamesSchema,
10458
10385
  authority: styleAuthoritySchema
10459
10386
  }).strict();
10460
- var persistedPageDesignStateV1Schema = z24.object({
10461
- schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
10462
- siteStyleId: z24.string().min(1).transform(asSiteStyleId),
10463
- templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
10464
- templateVersion: z24.number().int().nonnegative(),
10465
- resolverVersion: z24.number().int().nonnegative(),
10466
- rhythmPresetId: z24.string().min(1),
10467
- blocks: z24.array(blockDesignPlanSchema),
10468
- styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
10387
+ var persistedPageDesignStateV1Schema = z23.object({
10388
+ schemaVersion: z23.literal(themeV2DesignStateSchemaVersion),
10389
+ siteStyleId: z23.string().min(1).transform(asSiteStyleId),
10390
+ templateId: z23.string().min(1).transform(asDesignSystemTemplateId),
10391
+ templateVersion: z23.number().int().nonnegative(),
10392
+ resolverVersion: z23.number().int().nonnegative(),
10393
+ rhythmPresetId: z23.string().min(1),
10394
+ blocks: z23.array(blockDesignPlanSchema),
10395
+ styleAuthorities: z23.array(blockRuntimeStyleAuthoritySchema)
10469
10396
  }).strict();
10470
10397
 
10471
10398
  // ../theme-core/src/site-styles/generatedSchemas.ts
10472
- import { z as z25 } from "zod";
10399
+ import { z as z24 } from "zod";
10473
10400
  function uniqueNonEmpty2(values) {
10474
10401
  const uniqueValues = [...new Set(values)];
10475
10402
  const firstValue = uniqueValues[0];
@@ -10487,105 +10414,105 @@ var generatedFlushTreatments = uniqueNonEmpty2(
10487
10414
  var generatedFlushBleeds = uniqueNonEmpty2(
10488
10415
  generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
10489
10416
  );
10490
- var generatedPanelFrameSchema = z25.object({
10491
- kind: z25.literal("panel"),
10492
- treatment: z25.enum(generatedPanelTreatments)
10417
+ var generatedPanelFrameSchema = z24.object({
10418
+ kind: z24.literal("panel"),
10419
+ treatment: z24.enum(generatedPanelTreatments)
10493
10420
  }).strict();
10494
- var generatedFlushPanelFrameSchema = z25.object({
10495
- kind: z25.literal("flush-panel"),
10496
- treatment: z25.enum(generatedFlushTreatments),
10497
- bleed: z25.enum(generatedFlushBleeds)
10421
+ var generatedFlushPanelFrameSchema = z24.object({
10422
+ kind: z24.literal("flush-panel"),
10423
+ treatment: z24.enum(generatedFlushTreatments),
10424
+ bleed: z24.enum(generatedFlushBleeds)
10498
10425
  }).strict();
10499
- var generatedContentFrameIntentSchema = z25.discriminatedUnion("kind", [
10500
- z25.object({ kind: z25.literal("plain") }).strict(),
10426
+ var generatedContentFrameIntentSchema = z24.discriminatedUnion("kind", [
10427
+ z24.object({ kind: z24.literal("plain") }).strict(),
10501
10428
  generatedPanelFrameSchema,
10502
10429
  generatedFlushPanelFrameSchema
10503
10430
  ]);
10504
- var generatedSiteStyleIdSchema = z25.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
10431
+ var generatedSiteStyleIdSchema = z24.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
10505
10432
  function generatedChoiceSchema(valueSchema) {
10506
- return z25.discriminatedUnion("kind", [
10507
- z25.object({
10508
- source: z25.literal("generated"),
10509
- kind: z25.literal("auto")
10433
+ return z24.discriminatedUnion("kind", [
10434
+ z24.object({
10435
+ source: z24.literal("generated"),
10436
+ kind: z24.literal("auto")
10510
10437
  }).strict(),
10511
- z25.object({
10512
- source: z25.literal("generated"),
10513
- kind: z25.literal("explicit"),
10438
+ z24.object({
10439
+ source: z24.literal("generated"),
10440
+ kind: z24.literal("explicit"),
10514
10441
  value: valueSchema
10515
10442
  }).strict()
10516
10443
  ]);
10517
10444
  }
10518
- var generatedBlockDesignIntentSchema = z25.object({
10445
+ var generatedBlockDesignIntentSchema = z24.object({
10519
10446
  sectionSurface: generatedChoiceSchema(
10520
- z25.enum(generatedDesignOptionCatalog.sectionSurfaces)
10447
+ z24.enum(generatedDesignOptionCatalog.sectionSurfaces)
10521
10448
  ),
10522
10449
  contentFrame: generatedChoiceSchema(generatedContentFrameIntentSchema),
10523
10450
  itemSurface: generatedChoiceSchema(
10524
- z25.enum(generatedDesignOptionCatalog.itemSurfaces)
10451
+ z24.enum(generatedDesignOptionCatalog.itemSurfaces)
10525
10452
  ),
10526
10453
  transitionAfter: generatedChoiceSchema(
10527
- z25.enum(generatedDesignOptionCatalog.transitions)
10454
+ z24.enum(generatedDesignOptionCatalog.transitions)
10528
10455
  ),
10529
10456
  emphasis: generatedChoiceSchema(
10530
- z25.enum(generatedDesignOptionCatalog.emphases)
10457
+ z24.enum(generatedDesignOptionCatalog.emphases)
10531
10458
  )
10532
10459
  }).strict();
10533
- var generatedMediaCompositionIntentSchema = z25.enum([
10460
+ var generatedMediaCompositionIntentSchema = z24.enum([
10534
10461
  "none",
10535
10462
  "supporting",
10536
10463
  "dominant"
10537
10464
  ]);
10538
- var generatedDecorativeCompositionIntentSchema = z25.enum([
10465
+ var generatedDecorativeCompositionIntentSchema = z24.enum([
10539
10466
  "none",
10540
10467
  "supporting"
10541
10468
  ]);
10542
- var generatedHeroLegibilityStrategySchema = z25.enum([
10469
+ var generatedHeroLegibilityStrategySchema = z24.enum([
10543
10470
  "none",
10544
10471
  "scrim-gradient"
10545
10472
  ]);
10546
- var generatedBlockMediaIntentSchema = z25.object({
10473
+ var generatedBlockMediaIntentSchema = z24.object({
10547
10474
  media: generatedMediaCompositionIntentSchema,
10548
10475
  decorative: generatedDecorativeCompositionIntentSchema,
10549
10476
  heroLegibility: generatedChoiceSchema(generatedHeroLegibilityStrategySchema)
10550
10477
  }).strict();
10551
- var generatedBoundaryIntentSchema = z25.object({
10478
+ var generatedBoundaryIntentSchema = z24.object({
10552
10479
  transitionAfter: generatedChoiceSchema(
10553
- z25.enum(generatedDesignOptionCatalog.transitions)
10480
+ z24.enum(generatedDesignOptionCatalog.transitions)
10554
10481
  )
10555
10482
  }).strict();
10556
- var generatedPageDesignBlockIntentSchema = z25.object({
10557
- blockId: z25.string().min(1),
10558
- blockKind: z25.string().min(1),
10559
- purpose: z25.string().min(1),
10483
+ var generatedPageDesignBlockIntentSchema = z24.object({
10484
+ blockId: z24.string().min(1),
10485
+ blockKind: z24.string().min(1),
10486
+ purpose: z24.string().min(1),
10560
10487
  design: generatedBlockDesignIntentSchema,
10561
10488
  mediaIntent: generatedBlockMediaIntentSchema,
10562
10489
  boundaryIntent: generatedBoundaryIntentSchema
10563
10490
  }).strict();
10564
- var generatedPageDesignIntentSchema = z25.object({
10491
+ var generatedPageDesignIntentSchema = z24.object({
10565
10492
  siteStyleId: generatedSiteStyleIdSchema,
10566
- blocks: z25.array(generatedPageDesignBlockIntentSchema)
10493
+ blocks: z24.array(generatedPageDesignBlockIntentSchema)
10567
10494
  }).strict();
10568
10495
 
10569
10496
  // ../theme-core/src/site-styles/pageDesignIntent.ts
10570
- import { z as z26 } from "zod";
10497
+ import { z as z25 } from "zod";
10571
10498
  var pageDesignIntentSchemaVersion = 1;
10572
- var pageDesignUserPinnedAppearanceChoiceSchema = z26.object({
10573
- kind: z26.literal("user-pinned"),
10574
- value: z26.string().min(1).transform(asAppearancePresetId)
10499
+ var pageDesignUserPinnedAppearanceChoiceSchema = z25.object({
10500
+ kind: z25.literal("user-pinned"),
10501
+ value: z25.string().min(1).transform(asAppearancePresetId)
10575
10502
  }).strict();
10576
- var pageDesignUserPinnedBoundaryChoiceSchema = z26.object({
10577
- kind: z26.literal("user-pinned"),
10578
- value: z26.string().min(1).transform(asBoundaryOptionId)
10503
+ var pageDesignUserPinnedBoundaryChoiceSchema = z25.object({
10504
+ kind: z25.literal("user-pinned"),
10505
+ value: z25.string().min(1).transform(asBoundaryOptionId)
10579
10506
  }).strict();
10580
- var pageDesignBlockLookPinSchema = z26.object({
10581
- blockId: z26.string().min(1).transform(asDesignBlockId),
10582
- blockKind: z26.string().min(1),
10507
+ var pageDesignBlockLookPinSchema = z25.object({
10508
+ blockId: z25.string().min(1).transform(asDesignBlockId),
10509
+ blockKind: z25.string().min(1),
10583
10510
  choice: pageDesignUserPinnedAppearanceChoiceSchema
10584
10511
  }).strict();
10585
- var pageDesignBoundaryPinSchema = z26.object({
10586
- boundaryId: z26.string().min(1).transform(asDesignBoundaryId),
10587
- previousBlockId: z26.string().min(1).transform(asDesignBlockId),
10588
- nextBlockId: z26.string().min(1).transform(asDesignBlockId),
10512
+ var pageDesignBoundaryPinSchema = z25.object({
10513
+ boundaryId: z25.string().min(1).transform(asDesignBoundaryId),
10514
+ previousBlockId: z25.string().min(1).transform(asDesignBlockId),
10515
+ nextBlockId: z25.string().min(1).transform(asDesignBlockId),
10589
10516
  choice: pageDesignUserPinnedBoundaryChoiceSchema
10590
10517
  }).strict().superRefine((pin, ctx) => {
10591
10518
  const expectedBoundaryId = makeBoundaryId(
@@ -10594,18 +10521,18 @@ var pageDesignBoundaryPinSchema = z26.object({
10594
10521
  );
10595
10522
  if (pin.boundaryId !== expectedBoundaryId) {
10596
10523
  ctx.addIssue({
10597
- code: z26.ZodIssueCode.custom,
10524
+ code: z25.ZodIssueCode.custom,
10598
10525
  path: ["boundaryId"],
10599
10526
  message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
10600
10527
  });
10601
10528
  }
10602
10529
  });
10603
- var pageDesignIntentV1Schema = z26.object({
10604
- schemaVersion: z26.literal(pageDesignIntentSchemaVersion),
10605
- siteStyleId: z26.string().min(1).transform(asSiteStyleId),
10606
- pageFlowPresetId: z26.string().min(1).transform(asPageFlowPresetId),
10607
- blockLookPins: z26.array(pageDesignBlockLookPinSchema),
10608
- boundaryPins: z26.array(pageDesignBoundaryPinSchema)
10530
+ var pageDesignIntentV1Schema = z25.object({
10531
+ schemaVersion: z25.literal(pageDesignIntentSchemaVersion),
10532
+ siteStyleId: z25.string().min(1).transform(asSiteStyleId),
10533
+ pageFlowPresetId: z25.string().min(1).transform(asPageFlowPresetId),
10534
+ blockLookPins: z25.array(pageDesignBlockLookPinSchema),
10535
+ boundaryPins: z25.array(pageDesignBoundaryPinSchema)
10609
10536
  }).strict().superRefine((intent, ctx) => {
10610
10537
  addDuplicateStringIssues(ctx, {
10611
10538
  values: intent.blockLookPins.map((pin) => pin.blockId),
@@ -10631,7 +10558,7 @@ function addDuplicateStringIssues(ctx, input) {
10631
10558
  }
10632
10559
  for (const duplicate of duplicates) {
10633
10560
  ctx.addIssue({
10634
- code: z26.ZodIssueCode.custom,
10561
+ code: z25.ZodIssueCode.custom,
10635
10562
  path: [...input.path],
10636
10563
  message: `Duplicate ${input.label}: ${duplicate}.`
10637
10564
  });
@@ -10783,75 +10710,75 @@ var defaultComponentRuntimeRules = defineComponentRuntimeRules({
10783
10710
  });
10784
10711
 
10785
10712
  // ../theme-core/src/site-styles/pageDesignAuthority.ts
10786
- import { z as z27 } from "zod";
10787
- var nonEmptyStringSchema = z27.string().min(1);
10713
+ import { z as z26 } from "zod";
10714
+ var nonEmptyStringSchema = z26.string().min(1);
10788
10715
  var blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
10789
10716
  var designBlockIdSchema = nonEmptyStringSchema.transform(asDesignBlockId);
10790
10717
  var designPageIdSchema = nonEmptyStringSchema.transform(asDesignPageId);
10791
10718
  var designEntryIdSchema = nonEmptyStringSchema.transform(asDesignEntryId);
10792
- var blockOrderIndexSchema = z27.number().int().nonnegative().transform(asBlockOrderIndex);
10793
- var publishedPageBlockSnapshotSchema = z27.object({
10794
- kind: z27.literal("published-block-content"),
10719
+ var blockOrderIndexSchema = z26.number().int().nonnegative().transform(asBlockOrderIndex);
10720
+ var publishedPageBlockSnapshotSchema = z26.object({
10721
+ kind: z26.literal("published-block-content"),
10795
10722
  blockId: designBlockIdSchema,
10796
10723
  contentVersionId: blockContentVersionIdSchema,
10797
- identifier: z27.string().nullable(),
10724
+ identifier: z26.string().nullable(),
10798
10725
  blockKind: nonEmptyStringSchema,
10799
10726
  orderIndex: blockOrderIndexSchema
10800
10727
  }).strict();
10801
- var draftPageBlockSnapshotSchema = z27.object({
10802
- kind: z27.literal("draft-block-content"),
10728
+ var draftPageBlockSnapshotSchema = z26.object({
10729
+ kind: z26.literal("draft-block-content"),
10803
10730
  blockId: designBlockIdSchema,
10804
10731
  contentVersionId: blockContentVersionIdSchema.nullable(),
10805
- identifier: z27.string().nullable(),
10732
+ identifier: z26.string().nullable(),
10806
10733
  blockKind: nonEmptyStringSchema,
10807
10734
  orderIndex: blockOrderIndexSchema
10808
10735
  }).strict();
10809
- var missingPageBlockSnapshotSchema = z27.object({
10810
- kind: z27.literal("missing-block-content"),
10736
+ var missingPageBlockSnapshotSchema = z26.object({
10737
+ kind: z26.literal("missing-block-content"),
10811
10738
  blockId: designBlockIdSchema,
10812
- identifier: z27.string().nullable(),
10739
+ identifier: z26.string().nullable(),
10813
10740
  blockKind: nonEmptyStringSchema,
10814
10741
  orderIndex: blockOrderIndexSchema,
10815
- reason: z27.enum([
10742
+ reason: z26.enum([
10816
10743
  "new-block",
10817
10744
  "deleted-content-version",
10818
10745
  "unpublished-block"
10819
10746
  ])
10820
10747
  }).strict();
10821
- var pageBlockSnapshotSchema = z27.discriminatedUnion("kind", [
10748
+ var pageBlockSnapshotSchema = z26.discriminatedUnion("kind", [
10822
10749
  publishedPageBlockSnapshotSchema,
10823
10750
  draftPageBlockSnapshotSchema,
10824
10751
  missingPageBlockSnapshotSchema
10825
10752
  ]);
10826
- var publishedPageBlockSequenceSchema = z27.array(publishedPageBlockSnapshotSchema).superRefine(validateBlockSequence);
10827
- var draftPageBlockSequenceSchema = z27.array(pageBlockSnapshotSchema).superRefine(validateBlockSequence);
10828
- var publishedPageDesignVersionDataV1Schema = z27.object({
10829
- schemaVersion: z27.literal(1),
10830
- stage: z27.literal("published"),
10753
+ var publishedPageBlockSequenceSchema = z26.array(publishedPageBlockSnapshotSchema).superRefine(validateBlockSequence);
10754
+ var draftPageBlockSequenceSchema = z26.array(pageBlockSnapshotSchema).superRefine(validateBlockSequence);
10755
+ var publishedPageDesignVersionDataV1Schema = z26.object({
10756
+ schemaVersion: z26.literal(1),
10757
+ stage: z26.literal("published"),
10831
10758
  pageId: designPageIdSchema,
10832
10759
  blockSequence: publishedPageBlockSequenceSchema
10833
10760
  }).strict();
10834
- var draftPageDesignVersionDataV1Schema = z27.object({
10835
- schemaVersion: z27.literal(1),
10836
- stage: z27.literal("draft"),
10761
+ var draftPageDesignVersionDataV1Schema = z26.object({
10762
+ schemaVersion: z26.literal(1),
10763
+ stage: z26.literal("draft"),
10837
10764
  pageId: designPageIdSchema,
10838
10765
  blockSequence: draftPageBlockSequenceSchema
10839
10766
  }).strict();
10840
- var pageDesignVersionDataV1Schema = z27.discriminatedUnion("stage", [
10767
+ var pageDesignVersionDataV1Schema = z26.discriminatedUnion("stage", [
10841
10768
  publishedPageDesignVersionDataV1Schema,
10842
10769
  draftPageDesignVersionDataV1Schema
10843
10770
  ]);
10844
- var contentVersionOwnerSchema = z27.discriminatedUnion("kind", [
10845
- z27.object({
10846
- kind: z27.literal("block"),
10771
+ var contentVersionOwnerSchema = z26.discriminatedUnion("kind", [
10772
+ z26.object({
10773
+ kind: z26.literal("block"),
10847
10774
  blockId: designBlockIdSchema
10848
10775
  }).strict(),
10849
- z27.object({
10850
- kind: z27.literal("entry"),
10776
+ z26.object({
10777
+ kind: z26.literal("entry"),
10851
10778
  entryId: designEntryIdSchema
10852
10779
  }).strict(),
10853
- z27.object({
10854
- kind: z27.literal("page"),
10780
+ z26.object({
10781
+ kind: z26.literal("page"),
10855
10782
  pageId: designPageIdSchema
10856
10783
  }).strict()
10857
10784
  ]);
@@ -10868,7 +10795,7 @@ function collectBlockSequenceIssues(snapshots) {
10868
10795
  snapshots.forEach((snapshot, index) => {
10869
10796
  if (seenBlockIds.has(snapshot.blockId)) {
10870
10797
  issues.push({
10871
- code: z27.ZodIssueCode.custom,
10798
+ code: z26.ZodIssueCode.custom,
10872
10799
  message: `Duplicate blockId in page design blockSequence: ${snapshot.blockId}`,
10873
10800
  path: [index, "blockId"]
10874
10801
  });
@@ -10877,7 +10804,7 @@ function collectBlockSequenceIssues(snapshots) {
10877
10804
  const orderIndex = snapshot.orderIndex;
10878
10805
  if (seenOrderIndexes.has(orderIndex)) {
10879
10806
  issues.push({
10880
- code: z27.ZodIssueCode.custom,
10807
+ code: z26.ZodIssueCode.custom,
10881
10808
  message: `Duplicate orderIndex in page design blockSequence: ${String(orderIndex)}`,
10882
10809
  path: [index, "orderIndex"]
10883
10810
  });
@@ -10885,7 +10812,7 @@ function collectBlockSequenceIssues(snapshots) {
10885
10812
  seenOrderIndexes.add(orderIndex);
10886
10813
  if (previousOrderIndex !== null && orderIndex <= previousOrderIndex) {
10887
10814
  issues.push({
10888
- code: z27.ZodIssueCode.custom,
10815
+ code: z26.ZodIssueCode.custom,
10889
10816
  message: `Expected orderIndex greater than ${String(previousOrderIndex)} for blockSequence position ${String(index)}; received ${String(orderIndex)}.`,
10890
10817
  path: [index, "orderIndex"]
10891
10818
  });
@@ -10938,7 +10865,7 @@ var pageFlowPresets = [
10938
10865
  ];
10939
10866
 
10940
10867
  // ../theme-core/src/site-styles/tokenRecipes.ts
10941
- import { z as z28 } from "zod";
10868
+ import { z as z27 } from "zod";
10942
10869
  var themeTokenRecipeOptions = {
10943
10870
  palette: ["brand-led", "warm-neutral", "high-contrast", "soft-natural"],
10944
10871
  contrast: ["standard", "strong", "maximum"],
@@ -10953,14 +10880,14 @@ var themeTokenRecipeOptions = {
10953
10880
  spacing: ["compact", "regular", "airy"],
10954
10881
  motion: ["none", "subtle", "expressive"]
10955
10882
  };
10956
- var themeTokenRecipesSchema = z28.object({
10957
- palette: z28.enum(themeTokenRecipeOptions.palette),
10958
- contrast: z28.enum(themeTokenRecipeOptions.contrast),
10959
- radius: z28.enum(themeTokenRecipeOptions.radius),
10960
- shadow: z28.enum(themeTokenRecipeOptions.shadow),
10961
- typography: z28.enum(themeTokenRecipeOptions.typography),
10962
- spacing: z28.enum(themeTokenRecipeOptions.spacing),
10963
- motion: z28.enum(themeTokenRecipeOptions.motion)
10883
+ var themeTokenRecipesSchema = z27.object({
10884
+ palette: z27.enum(themeTokenRecipeOptions.palette),
10885
+ contrast: z27.enum(themeTokenRecipeOptions.contrast),
10886
+ radius: z27.enum(themeTokenRecipeOptions.radius),
10887
+ shadow: z27.enum(themeTokenRecipeOptions.shadow),
10888
+ typography: z27.enum(themeTokenRecipeOptions.typography),
10889
+ spacing: z27.enum(themeTokenRecipeOptions.spacing),
10890
+ motion: z27.enum(themeTokenRecipeOptions.motion)
10964
10891
  });
10965
10892
 
10966
10893
  // ../blocks/src/system/designCapabilities.ts
@@ -13226,26 +13153,26 @@ function sectionState(opts) {
13226
13153
  }
13227
13154
 
13228
13155
  // ../blocks/src/system/fragments/types.ts
13229
- import { z as z29 } from "zod";
13156
+ import { z as z28 } from "zod";
13230
13157
  var FRAGMENT_ID_PATTERN = /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/i;
13231
13158
  var FIELD_ID_PATTERN = /^[a-z][a-zA-Z0-9_-]*$/;
13232
- var dataLoaderSchema = z29.object({
13233
- endpoint: z29.string().min(1, "Fragment data loader requires an endpoint"),
13234
- params: z29.record(z29.string(), z29.unknown()).default({}),
13235
- mode: z29.enum(["server", "client"]).default("server")
13159
+ var dataLoaderSchema = z28.object({
13160
+ endpoint: z28.string().min(1, "Fragment data loader requires an endpoint"),
13161
+ params: z28.record(z28.string(), z28.unknown()).default({}),
13162
+ mode: z28.enum(["server", "client"]).default("server")
13236
13163
  });
13237
- var fragmentDataSchema = z29.object({
13238
- key: z29.string().min(1, "Fragment data key is required"),
13164
+ var fragmentDataSchema = z28.object({
13165
+ key: z28.string().min(1, "Fragment data key is required"),
13239
13166
  loader: dataLoaderSchema.optional()
13240
13167
  });
13241
- var fragmentConfigSchema = z29.object({
13242
- id: z29.string().min(1, "Fragment id is required").regex(FRAGMENT_ID_PATTERN, "Fragment id must be alphanumeric with optional . _ - separators"),
13243
- title: z29.string().optional(),
13244
- description: z29.string().optional(),
13245
- category: z29.enum(["content", "media", "interactive", "layout"]).optional(),
13246
- icon: z29.string().optional(),
13168
+ var fragmentConfigSchema = z28.object({
13169
+ id: z28.string().min(1, "Fragment id is required").regex(FRAGMENT_ID_PATTERN, "Fragment id must be alphanumeric with optional . _ - separators"),
13170
+ title: z28.string().optional(),
13171
+ description: z28.string().optional(),
13172
+ category: z28.enum(["content", "media", "interactive", "layout"]).optional(),
13173
+ icon: z28.string().optional(),
13247
13174
  fields: fieldSchema.array().default([]),
13248
- layout: z29.union([NodeSchema, NodeSchema.array()]).transform((value) => Array.isArray(value) ? value : [value]),
13175
+ layout: z28.union([NodeSchema, NodeSchema.array()]).transform((value) => Array.isArray(value) ? value : [value]),
13249
13176
  data: fragmentDataSchema.optional()
13250
13177
  });
13251
13178
  var FragmentConfigError = class extends Error {
@@ -15895,7 +15822,7 @@ var bodyTextBlockDefinition = {
15895
15822
  };
15896
15823
 
15897
15824
  // ../blocks/src/system/blocks/blog-post.tsx
15898
- import { z as z30 } from "zod";
15825
+ import { z as z29 } from "zod";
15899
15826
  var composition = composeFragments([{ fragment: blogFeaturedPostFragment }]);
15900
15827
  var blogPostLayout = section(
15901
15828
  { background: "background", className: "rb-px-6 rb-py-12" },
@@ -15924,17 +15851,17 @@ var blogPostManifest = createBlockManifest({
15924
15851
  additionalFields: composition.fields,
15925
15852
  layout: blogPostLayout
15926
15853
  });
15927
- var blogPostDataSchema = z30.object({
15928
- id: z30.string(),
15929
- title: z30.string(),
15930
- slug: z30.string(),
15931
- path: z30.string(),
15932
- excerpt: z30.string().nullable().optional(),
15933
- image: z30.object({
15934
- url: z30.string().optional().nullable(),
15935
- alt: z30.string().optional().nullable()
15854
+ var blogPostDataSchema = z29.object({
15855
+ id: z29.string(),
15856
+ title: z29.string(),
15857
+ slug: z29.string(),
15858
+ path: z29.string(),
15859
+ excerpt: z29.string().nullable().optional(),
15860
+ image: z29.object({
15861
+ url: z29.string().optional().nullable(),
15862
+ alt: z29.string().optional().nullable()
15936
15863
  }).nullable().optional(),
15937
- publishedAt: z30.string().nullable().optional()
15864
+ publishedAt: z29.string().nullable().optional()
15938
15865
  });
15939
15866
  var blogPostBlockDefinition = {
15940
15867
  manifest: blogPostManifest,
@@ -15943,7 +15870,7 @@ var blogPostBlockDefinition = {
15943
15870
  };
15944
15871
 
15945
15872
  // ../blocks/src/system/blocks/blog-listing.ts
15946
- import { z as z31 } from "zod";
15873
+ import { z as z30 } from "zod";
15947
15874
  var blogListingDataLoader = {
15948
15875
  endpoint: "listPublishedEntries",
15949
15876
  params: {
@@ -16261,24 +16188,24 @@ var blogListingManifest = createBlockManifest({
16261
16188
  spacing: "lg"
16262
16189
  }
16263
16190
  });
16264
- var blogPostListEntrySchema = z31.object({
16265
- id: z31.string(),
16266
- slug: z31.string(),
16267
- path: z31.string(),
16268
- title: z31.string(),
16269
- excerpt: z31.string().nullable().optional(),
16270
- publishedAt: z31.string().nullable().optional(),
16271
- updatedAt: z31.string(),
16272
- status: z31.string(),
16273
- image: z31.object({
16274
- url: z31.string(),
16275
- alt: z31.string().nullable().optional()
16191
+ var blogPostListEntrySchema = z30.object({
16192
+ id: z30.string(),
16193
+ slug: z30.string(),
16194
+ path: z30.string(),
16195
+ title: z30.string(),
16196
+ excerpt: z30.string().nullable().optional(),
16197
+ publishedAt: z30.string().nullable().optional(),
16198
+ updatedAt: z30.string(),
16199
+ status: z30.string(),
16200
+ image: z30.object({
16201
+ url: z30.string(),
16202
+ alt: z30.string().nullable().optional()
16276
16203
  }).nullable().optional()
16277
16204
  });
16278
16205
  var blogListingBlockDefinition = {
16279
16206
  manifest: blogListingManifest,
16280
16207
  dataSchemas: {
16281
- posts: z31.array(blogPostListEntrySchema).optional()
16208
+ posts: z30.array(blogPostListEntrySchema).optional()
16282
16209
  },
16283
16210
  dataLoaders: {
16284
16211
  posts: blogListingDataLoader
@@ -16342,10 +16269,10 @@ var singleButtonBlockDefinition = {
16342
16269
  };
16343
16270
 
16344
16271
  // ../blocks/src/system/blocks/form.tsx
16345
- import { z as z33 } from "zod";
16272
+ import { z as z32 } from "zod";
16346
16273
 
16347
16274
  // ../blocks/src/system/runtime/nodes/form.interactive.ts
16348
- import { z as z32 } from "zod";
16275
+ import { z as z31 } from "zod";
16349
16276
 
16350
16277
  // ../blocks/src/contracts/runtime.ts
16351
16278
  function decodeSuccess(value) {
@@ -16510,75 +16437,75 @@ function groupFormFields(fields3) {
16510
16437
  }
16511
16438
 
16512
16439
  // ../blocks/src/system/runtime/nodes/form.interactive.ts
16513
- var formFieldSchema = z32.object({
16514
- id: z32.string(),
16515
- label: z32.string().optional(),
16516
- type: z32.string().optional(),
16517
- required: z32.boolean().optional(),
16518
- placeholder: z32.string().optional(),
16519
- helpText: z32.string().optional(),
16520
- layout: z32.object({
16521
- width: z32.enum(["full", "half"]).optional()
16440
+ var formFieldSchema = z31.object({
16441
+ id: z31.string(),
16442
+ label: z31.string().optional(),
16443
+ type: z31.string().optional(),
16444
+ required: z31.boolean().optional(),
16445
+ placeholder: z31.string().optional(),
16446
+ helpText: z31.string().optional(),
16447
+ layout: z31.object({
16448
+ width: z31.enum(["full", "half"]).optional()
16522
16449
  }).optional(),
16523
- rows: z32.number().optional(),
16524
- options: z32.array(z32.object({
16525
- value: z32.string(),
16526
- label: z32.string()
16450
+ rows: z31.number().optional(),
16451
+ options: z31.array(z31.object({
16452
+ value: z31.string(),
16453
+ label: z31.string()
16527
16454
  })).optional(),
16528
- multiple: z32.boolean().optional(),
16529
- minLength: z32.number().optional(),
16530
- maxLength: z32.number().optional(),
16531
- pattern: z32.string().optional(),
16532
- min: z32.number().optional(),
16533
- max: z32.number().optional()
16534
- });
16535
- var formRecordSchema = z32.object({
16536
- id: z32.string(),
16537
- schemaJson: z32.object({
16538
- fields: z32.array(formFieldSchema).optional()
16455
+ multiple: z31.boolean().optional(),
16456
+ minLength: z31.number().optional(),
16457
+ maxLength: z31.number().optional(),
16458
+ pattern: z31.string().optional(),
16459
+ min: z31.number().optional(),
16460
+ max: z31.number().optional()
16461
+ });
16462
+ var formRecordSchema = z31.object({
16463
+ id: z31.string(),
16464
+ schemaJson: z31.object({
16465
+ fields: z31.array(formFieldSchema).optional()
16539
16466
  }).optional()
16540
16467
  });
16541
- var formFieldGroupSchema = z32.discriminatedUnion("type", [
16542
- z32.object({
16543
- type: z32.literal("single"),
16544
- key: z32.string(),
16468
+ var formFieldGroupSchema = z31.discriminatedUnion("type", [
16469
+ z31.object({
16470
+ type: z31.literal("single"),
16471
+ key: z31.string(),
16545
16472
  field: formFieldSchema
16546
16473
  }),
16547
- z32.object({
16548
- type: z32.literal("row"),
16549
- key: z32.string(),
16550
- fields: z32.tuple([formFieldSchema, formFieldSchema])
16474
+ z31.object({
16475
+ type: z31.literal("row"),
16476
+ key: z31.string(),
16477
+ fields: z31.tuple([formFieldSchema, formFieldSchema])
16551
16478
  })
16552
16479
  ]);
16553
- var formSourceSchema = z32.object({
16480
+ var formSourceSchema = z31.object({
16554
16481
  value: formRecordSchema.optional(),
16555
- siteId: z32.string().optional(),
16556
- apiBaseUrl: z32.string().optional(),
16557
- submitLabel: z32.string().optional(),
16558
- successMessage: z32.string().nullable().optional(),
16559
- className: z32.string().optional(),
16560
- spamProtectionEnabled: z32.boolean().optional()
16561
- });
16562
- var formDisplaySchema = z32.object({
16563
- kind: z32.literal("form"),
16564
- state: z32.enum(["missing", "ready"]),
16565
- className: z32.string().nullable(),
16566
- formId: z32.string().nullable(),
16567
- submitLabel: z32.string(),
16568
- successMessage: z32.string().nullable(),
16482
+ siteId: z31.string().optional(),
16483
+ apiBaseUrl: z31.string().optional(),
16484
+ submitLabel: z31.string().optional(),
16485
+ successMessage: z31.string().nullable().optional(),
16486
+ className: z31.string().optional(),
16487
+ spamProtectionEnabled: z31.boolean().optional()
16488
+ });
16489
+ var formDisplaySchema = z31.object({
16490
+ kind: z31.literal("form"),
16491
+ state: z31.enum(["missing", "ready"]),
16492
+ className: z31.string().nullable(),
16493
+ formId: z31.string().nullable(),
16494
+ submitLabel: z31.string(),
16495
+ successMessage: z31.string().nullable(),
16569
16496
  form: formRecordSchema.nullable(),
16570
- groups: z32.array(formFieldGroupSchema)
16497
+ groups: z31.array(formFieldGroupSchema)
16571
16498
  });
16572
- var formHydrationSchema = z32.object({
16573
- spamProtectionEnabled: z32.boolean().optional()
16499
+ var formHydrationSchema = z31.object({
16500
+ spamProtectionEnabled: z31.boolean().optional()
16574
16501
  });
16575
- var formRenderSchema = z32.object({
16502
+ var formRenderSchema = z31.object({
16576
16503
  display: formDisplaySchema,
16577
16504
  hydration: formHydrationSchema
16578
16505
  });
16579
- var formIslandMetaCodec = createZodCodec(z32.object({
16580
- siteId: z32.string().optional(),
16581
- apiBaseUrl: z32.string().optional()
16506
+ var formIslandMetaCodec = createZodCodec(z31.object({
16507
+ siteId: z31.string().optional(),
16508
+ apiBaseUrl: z31.string().optional()
16582
16509
  }));
16583
16510
  var formIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
16584
16511
  function buildFormDisplay(source) {
@@ -16653,16 +16580,16 @@ var formManifest = createBlockManifest({
16653
16580
  tags: ["form", "contact", "input", "submit", "fields", "signup", "lead-capture"],
16654
16581
  icon: "FormInput"
16655
16582
  });
16656
- var formDataSchema = z33.object({
16657
- id: z33.string(),
16658
- siteId: z33.string(),
16659
- userId: z33.string(),
16660
- name: z33.string(),
16661
- slug: z33.string(),
16662
- schemaJson: z33.any(),
16663
- settingsJson: z33.any().optional(),
16664
- createdAt: z33.string(),
16665
- updatedAt: z33.string()
16583
+ var formDataSchema = z32.object({
16584
+ id: z32.string(),
16585
+ siteId: z32.string(),
16586
+ userId: z32.string(),
16587
+ name: z32.string(),
16588
+ slug: z32.string(),
16589
+ schemaJson: z32.any(),
16590
+ settingsJson: z32.any().optional(),
16591
+ createdAt: z32.string(),
16592
+ updatedAt: z32.string()
16666
16593
  });
16667
16594
  var formBlockDefinition = {
16668
16595
  manifest: formManifest,
@@ -16708,7 +16635,7 @@ var faqBlockDefinition = {
16708
16635
  };
16709
16636
 
16710
16637
  // ../blocks/src/system/transforms/registry/formatting.ts
16711
- import { z as z34 } from "zod";
16638
+ import { z as z33 } from "zod";
16712
16639
  var uppercaseTransform = {
16713
16640
  id: "string.uppercase",
16714
16641
  kind: "string",
@@ -16719,7 +16646,7 @@ var fallbackTransform = {
16719
16646
  id: "value.fallback",
16720
16647
  kind: "formatter",
16721
16648
  summary: "Provide fallback when value is null or undefined",
16722
- schema: z34.object({ fallback: z34.unknown() }),
16649
+ schema: z33.object({ fallback: z33.unknown() }),
16723
16650
  run: (value, options) => value === null || value === void 0 || value === "" ? options.fallback : value
16724
16651
  };
16725
16652
  var dateFormatShort = {
@@ -16766,8 +16693,8 @@ var jsonArrayTransform = {
16766
16693
  return "";
16767
16694
  }
16768
16695
  };
16769
- var marqueeLoopOptionsSchema = z34.object({
16770
- minItems: z34.number().int().min(1).default(10)
16696
+ var marqueeLoopOptionsSchema = z33.object({
16697
+ minItems: z33.number().int().min(1).default(10)
16771
16698
  });
16772
16699
  var marqueeLoopTransform = {
16773
16700
  id: "array.marqueeLoop",
@@ -16795,7 +16722,7 @@ var formattingTransforms = [
16795
16722
  ];
16796
16723
 
16797
16724
  // ../blocks/src/system/transforms/registry/ui.ts
16798
- import { z as z35 } from "zod";
16725
+ import { z as z34 } from "zod";
16799
16726
  var joinClasses3 = (parts) => parts.filter(
16800
16727
  (part) => typeof part === "string" && part.trim().length > 0
16801
16728
  ).join(" ").replace(/\s+/g, " ").trim();
@@ -16855,8 +16782,8 @@ function getNavStyleClasses(navStyle) {
16855
16782
  return baseClasses;
16856
16783
  }
16857
16784
  }
16858
- var headerNavClassOptionsSchema = z35.object({
16859
- base: z35.string().optional()
16785
+ var headerNavClassOptionsSchema = z34.object({
16786
+ base: z34.string().optional()
16860
16787
  });
16861
16788
  var headerNavLinkClassTransform = {
16862
16789
  id: "ui.headerNavLinkClass",
@@ -16939,8 +16866,8 @@ function resolveHeroContentMaxWidth(content) {
16939
16866
  return raw;
16940
16867
  return "default";
16941
16868
  }
16942
- var heroContentWrapperClassSchema = z35.object({
16943
- base: z35.string().optional()
16869
+ var heroContentWrapperClassSchema = z34.object({
16870
+ base: z34.string().optional()
16944
16871
  });
16945
16872
  var heroContentWrapperClassTransform = {
16946
16873
  id: "ui.heroContentWrapperClass",
@@ -16982,8 +16909,8 @@ var heroStackJustifyFromVerticalAlignmentTransform = {
16982
16909
  return vertical === "top" ? "start" : vertical === "bottom" ? "end" : "center";
16983
16910
  }
16984
16911
  };
16985
- var heroGridClassFromVerticalAlignmentSchema = z35.object({
16986
- base: z35.string()
16912
+ var heroGridClassFromVerticalAlignmentSchema = z34.object({
16913
+ base: z34.string()
16987
16914
  });
16988
16915
  var heroGridClassFromVerticalAlignmentTransform = {
16989
16916
  id: "ui.heroGridClassFromVerticalAlignment",
@@ -16997,10 +16924,10 @@ var heroGridClassFromVerticalAlignmentTransform = {
16997
16924
  return joinClasses3([options.base, itemsClass]);
16998
16925
  }
16999
16926
  };
17000
- var imageFragmentClassOptionsSchema = z35.object({
17001
- base: z35.string(),
17002
- whenAuto: z35.string(),
17003
- whenFixed: z35.string()
16927
+ var imageFragmentClassOptionsSchema = z34.object({
16928
+ base: z34.string(),
16929
+ whenAuto: z34.string(),
16930
+ whenFixed: z34.string()
17004
16931
  });
17005
16932
  var imageFragmentClassTransform = {
17006
16933
  id: "ui.imageFragmentClass",
@@ -17016,9 +16943,9 @@ var imageFragmentClassTransform = {
17016
16943
  ]);
17017
16944
  }
17018
16945
  };
17019
- var imageFragmentSizeOptionsSchema = z35.object({
17020
- max: z35.number().int().positive().default(1920),
17021
- quality: z35.number().int().min(1).max(100).default(85)
16946
+ var imageFragmentSizeOptionsSchema = z34.object({
16947
+ max: z34.number().int().positive().default(1920),
16948
+ quality: z34.number().int().min(1).max(100).default(85)
17022
16949
  });
17023
16950
  var imageFragmentSizeTransform = {
17024
16951
  id: "ui.imageFragmentSize",
@@ -17038,9 +16965,9 @@ var imageFragmentSizeTransform = {
17038
16965
  return { width, height, quality, resize: "cover" };
17039
16966
  }
17040
16967
  };
17041
- var conditionalClassOptionsSchema = z35.object({
17042
- whenTrue: z35.string(),
17043
- whenFalse: z35.string()
16968
+ var conditionalClassOptionsSchema = z34.object({
16969
+ whenTrue: z34.string(),
16970
+ whenFalse: z34.string()
17044
16971
  });
17045
16972
  var conditionalClassTransform = {
17046
16973
  id: "ui.conditionalClass",
@@ -17052,9 +16979,9 @@ var conditionalClassTransform = {
17052
16979
  return isTrue ? options.whenTrue : options.whenFalse;
17053
16980
  }
17054
16981
  };
17055
- var twoColumnContainerClassOptionsSchema = z35.object({
17056
- base: z35.string(),
17057
- reverseClass: z35.string()
16982
+ var twoColumnContainerClassOptionsSchema = z34.object({
16983
+ base: z34.string(),
16984
+ reverseClass: z34.string()
17058
16985
  });
17059
16986
  var twoColumnContainerClassTransform = {
17060
16987
  id: "ui.twoColumnContainerClass",
@@ -17069,8 +16996,8 @@ var twoColumnContainerClassTransform = {
17069
16996
  ]);
17070
16997
  }
17071
16998
  };
17072
- var twoColumnFlexBasisOptionsSchema = z35.object({
17073
- side: z35.enum(["image", "text"])
16999
+ var twoColumnFlexBasisOptionsSchema = z34.object({
17000
+ side: z34.enum(["image", "text"])
17074
17001
  });
17075
17002
  var twoColumnFlexBasisTransform = {
17076
17003
  id: "ui.twoColumnFlexBasis",
@@ -17084,8 +17011,8 @@ var twoColumnFlexBasisTransform = {
17084
17011
  return `${percent}%`;
17085
17012
  }
17086
17013
  };
17087
- var columnsDesktopSpanClassOptionsSchema = z35.object({
17088
- base: z35.string().optional()
17014
+ var columnsDesktopSpanClassOptionsSchema = z34.object({
17015
+ base: z34.string().optional()
17089
17016
  });
17090
17017
  var columnsDesktopSpanClassTransform = {
17091
17018
  id: "ui.columnsDesktopSpanClass",
@@ -17127,8 +17054,8 @@ var columnsColsAtTransform = {
17127
17054
  id: "ui.columnsColsAt",
17128
17055
  kind: "formatter",
17129
17056
  summary: "Resolve columns count for a specific breakpoint",
17130
- schema: z35.object({
17131
- breakpoint: z35.enum(["mobile", "md", "lg", "xl"])
17057
+ schema: z34.object({
17058
+ breakpoint: z34.enum(["mobile", "md", "lg", "xl"])
17132
17059
  }),
17133
17060
  run: (value, options) => {
17134
17061
  const content = asPartialObject(value) ?? {};
@@ -17252,7 +17179,7 @@ var uiTransforms = [
17252
17179
  ];
17253
17180
 
17254
17181
  // ../blocks/src/system/transforms/registry/layout.ts
17255
- import { z as z36 } from "zod";
17182
+ import { z as z35 } from "zod";
17256
17183
 
17257
17184
  // ../theme-core/src/palette/utils/colorConversion.ts
17258
17185
  var mod = (a, n) => (a % n + n) % n;
@@ -17323,10 +17250,10 @@ function featuresFromHex(hex) {
17323
17250
  var joinClasses4 = (parts) => parts.filter(
17324
17251
  (part) => typeof part === "string" && part.trim().length > 0
17325
17252
  ).join(" ").replace(/\s+/g, " ").trim();
17326
- var maxWidthClassSchema = z36.object({
17327
- base: z36.string().optional(),
17328
- container: z36.string().optional(),
17329
- full: z36.string().optional()
17253
+ var maxWidthClassSchema = z35.object({
17254
+ base: z35.string().optional(),
17255
+ container: z35.string().optional(),
17256
+ full: z35.string().optional()
17330
17257
  });
17331
17258
  var maxWidthClassTransform = {
17332
17259
  id: "layout.maxWidthClass",
@@ -17342,11 +17269,11 @@ var maxWidthClassTransform = {
17342
17269
  return joinClasses4([base, chosen]);
17343
17270
  }
17344
17271
  };
17345
- var headerRootClassSchema = z36.object({
17346
- base: z36.string().optional(),
17347
- sticky: z36.string().optional(),
17348
- stickyTransparent: z36.string().optional(),
17349
- invert: z36.string().optional()
17272
+ var headerRootClassSchema = z35.object({
17273
+ base: z35.string().optional(),
17274
+ sticky: z35.string().optional(),
17275
+ stickyTransparent: z35.string().optional(),
17276
+ invert: z35.string().optional()
17350
17277
  });
17351
17278
  function resolveBackgroundVisualStyles(backgroundColor, tokens, defaultToken = "surface") {
17352
17279
  const backgroundToken = typeof backgroundColor === "string" && backgroundColor.trim().length > 0 ? backgroundColor : defaultToken;
@@ -17467,11 +17394,11 @@ var headerRootClassTransform = {
17467
17394
  return joinClasses4(classes);
17468
17395
  }
17469
17396
  };
17470
- var footerRootClassSchema = z36.object({
17471
- base: z36.string().optional(),
17472
- surface: z36.string().optional(),
17473
- tokenPrefix: z36.string().optional(),
17474
- transparent: z36.string().optional()
17397
+ var footerRootClassSchema = z35.object({
17398
+ base: z35.string().optional(),
17399
+ surface: z35.string().optional(),
17400
+ tokenPrefix: z35.string().optional(),
17401
+ transparent: z35.string().optional()
17475
17402
  });
17476
17403
  var footerRootClassTransform = {
17477
17404
  id: "layout.footerRootClass",
@@ -17575,8 +17502,8 @@ var footerAlignClassMap = {
17575
17502
  end: "rb-justify-end",
17576
17503
  "space-between": "rb-justify-between"
17577
17504
  };
17578
- var footerBottomBarClassSchema = z36.object({
17579
- base: z36.string().optional()
17505
+ var footerBottomBarClassSchema = z35.object({
17506
+ base: z35.string().optional()
17580
17507
  });
17581
17508
  var footerBottomBarClassTransform = {
17582
17509
  id: "layout.footerBottomBarClass",
@@ -17598,10 +17525,10 @@ var footerBottomBarClassTransform = {
17598
17525
  ]);
17599
17526
  }
17600
17527
  };
17601
- var footerBottomBarContainerClassSchema = z36.object({
17602
- base: z36.string().optional(),
17603
- fullBleed: z36.string().optional(),
17604
- contained: z36.string().optional()
17528
+ var footerBottomBarContainerClassSchema = z35.object({
17529
+ base: z35.string().optional(),
17530
+ fullBleed: z35.string().optional(),
17531
+ contained: z35.string().optional()
17605
17532
  });
17606
17533
  var footerBottomBarContainerClassTransform = {
17607
17534
  id: "layout.footerBottomBarContainerClass",
@@ -17686,8 +17613,8 @@ var footerSplitNavSingleClassTransform = {
17686
17613
  ]);
17687
17614
  }
17688
17615
  };
17689
- var footerLogoClassSchema = z36.object({
17690
- base: z36.string().optional()
17616
+ var footerLogoClassSchema = z35.object({
17617
+ base: z35.string().optional()
17691
17618
  });
17692
17619
  var footerLogoClassTransform = {
17693
17620
  id: "layout.footerLogoClass",
@@ -17709,8 +17636,8 @@ var footerLogoClassTransform = {
17709
17636
  ]);
17710
17637
  }
17711
17638
  };
17712
- var footerLogoMediaClassSchema = z36.object({
17713
- base: z36.string().optional()
17639
+ var footerLogoMediaClassSchema = z35.object({
17640
+ base: z35.string().optional()
17714
17641
  });
17715
17642
  var footerLogoMediaClassTransform = {
17716
17643
  id: "layout.footerLogoMediaClass",
@@ -17764,12 +17691,12 @@ var layoutTransforms = [
17764
17691
  ];
17765
17692
 
17766
17693
  // ../blocks/src/system/transforms/registry/media.ts
17767
- import { z as z37 } from "zod";
17768
- var mediaFromUrlOptionsSchema = z37.object({
17769
- width: z37.number().int().positive().optional(),
17770
- height: z37.number().int().positive().optional(),
17771
- quality: z37.number().int().min(1).max(100).optional(),
17772
- resize: z37.enum(["cover", "contain", "fill"]).optional()
17694
+ import { z as z36 } from "zod";
17695
+ var mediaFromUrlOptionsSchema = z36.object({
17696
+ width: z36.number().int().positive().optional(),
17697
+ height: z36.number().int().positive().optional(),
17698
+ quality: z36.number().int().min(1).max(100).optional(),
17699
+ resize: z36.enum(["cover", "contain", "fill"]).optional()
17773
17700
  });
17774
17701
  function maybeBuildSupabaseTransformUrl(inputUrl, options) {
17775
17702
  const width = options.width;
@@ -17817,10 +17744,17 @@ var mediaFromUrl = {
17817
17744
  var mediaTransforms = [mediaFromUrl];
17818
17745
 
17819
17746
  // ../blocks/src/system/transforms/registry/content.ts
17820
- import { z as z38 } from "zod";
17821
- var supportedRichTextTokenSchema = z38.enum(["year", "site_name"]);
17822
- var interpolateRichTextTokensOptionsSchema = z38.object({
17823
- tokens: z38.array(supportedRichTextTokenSchema).default(["year", "site_name"])
17747
+ import { z as z37 } from "zod";
17748
+
17749
+ // ../blocks/src/lib/typeGuards.ts
17750
+ function isRecord2(value) {
17751
+ return typeof value === "object" && value !== null && !Array.isArray(value);
17752
+ }
17753
+
17754
+ // ../blocks/src/system/transforms/registry/content.ts
17755
+ var supportedRichTextTokenSchema = z37.enum(["year", "site_name"]);
17756
+ var interpolateRichTextTokensOptionsSchema = z37.object({
17757
+ tokens: z37.array(supportedRichTextTokenSchema).default(["year", "site_name"])
17824
17758
  });
17825
17759
  var richTextTokenPattern = /\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g;
17826
17760
  function getSiteName(context) {
@@ -19630,7 +19564,7 @@ var mediaTextBlockDefinition = {
19630
19564
  };
19631
19565
 
19632
19566
  // ../blocks/src/system/blocks/appointment-booking.tsx
19633
- import { z as z39 } from "zod";
19567
+ import { z as z38 } from "zod";
19634
19568
  var appointmentBookingManifest = createBlockManifest({
19635
19569
  id: "block.appointment-booking",
19636
19570
  version: "2.0.0",
@@ -19706,11 +19640,11 @@ var appointmentBookingManifest = createBlockManifest({
19706
19640
  })
19707
19641
  ]
19708
19642
  });
19709
- var availabilityDataSchema = z39.object({
19710
- slots: z39.array(z39.object({
19711
- startAt: z39.string(),
19712
- endAt: z39.string(),
19713
- resourceId: z39.string()
19643
+ var availabilityDataSchema = z38.object({
19644
+ slots: z38.array(z38.object({
19645
+ startAt: z38.string(),
19646
+ endAt: z38.string(),
19647
+ resourceId: z38.string()
19714
19648
  }))
19715
19649
  });
19716
19650
  var appointmentBookingBlockDefinition = {
@@ -19735,13 +19669,13 @@ var appointmentBookingBlockDefinition = {
19735
19669
  };
19736
19670
 
19737
19671
  // ../blocks/src/system/blocks/event-registration.ts
19738
- import { z as z47 } from "zod";
19672
+ import { z as z46 } from "zod";
19739
19673
 
19740
19674
  // ../blocks/src/system/blocks/events/shared/schemas.ts
19741
- import { z as z43 } from "zod";
19675
+ import { z as z42 } from "zod";
19742
19676
 
19743
19677
  // ../blocks/src/lib/media.ts
19744
- import z40 from "zod";
19678
+ import z39 from "zod";
19745
19679
  var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
19746
19680
  "document",
19747
19681
  "spreadsheet",
@@ -19749,52 +19683,52 @@ var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
19749
19683
  "audio",
19750
19684
  "video"
19751
19685
  ];
19752
- var hotspotSchema2 = z40.object({
19753
- x: z40.number().min(0).max(1),
19754
- y: z40.number().min(0).max(1),
19755
- radius: z40.number().optional()
19756
- });
19757
- var rotationSchema2 = z40.union([z40.literal(0), z40.literal(90), z40.literal(180), z40.literal(270)]);
19758
- var rectSchema2 = z40.tuple([z40.number(), z40.number(), z40.number(), z40.number()]);
19759
- var aspectCropSchema2 = z40.object({
19760
- aspect: z40.preprocess((value) => value == null ? void 0 : value, z40.string().optional()),
19761
- rect: z40.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
19762
- hotspot: z40.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
19763
- rotation: z40.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
19764
- });
19765
- var transformSchema2 = z40.object({
19766
- aspectCrops: z40.preprocess((value) => {
19686
+ var hotspotSchema2 = z39.object({
19687
+ x: z39.number().min(0).max(1),
19688
+ y: z39.number().min(0).max(1),
19689
+ radius: z39.number().optional()
19690
+ });
19691
+ var rotationSchema2 = z39.union([z39.literal(0), z39.literal(90), z39.literal(180), z39.literal(270)]);
19692
+ var rectSchema2 = z39.tuple([z39.number(), z39.number(), z39.number(), z39.number()]);
19693
+ var aspectCropSchema2 = z39.object({
19694
+ aspect: z39.preprocess((value) => value == null ? void 0 : value, z39.string().optional()),
19695
+ rect: z39.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
19696
+ hotspot: z39.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
19697
+ rotation: z39.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
19698
+ });
19699
+ var transformSchema2 = z39.object({
19700
+ aspectCrops: z39.preprocess((value) => {
19767
19701
  if (!value || typeof value !== "object" || Array.isArray(value)) {
19768
19702
  return void 0;
19769
19703
  }
19770
19704
  return value;
19771
- }, z40.record(z40.string(), aspectCropSchema2.catch({}))).optional(),
19705
+ }, z39.record(z39.string(), aspectCropSchema2.catch({}))).optional(),
19772
19706
  rect: rectSchema2.optional(),
19773
19707
  hotspot: hotspotSchema2.optional(),
19774
19708
  rotation: rotationSchema2.optional()
19775
19709
  });
19776
- var mediaBaseSchema = z40.object({
19777
- purpose: z40.string().optional(),
19778
- placeholder: z40.boolean().default(true).optional(),
19779
- assetId: z40.string().optional(),
19780
- identifier: z40.string().optional(),
19781
- src: z40.string().optional(),
19782
- alt: z40.string().optional(),
19783
- filename: z40.string().optional(),
19784
- mimeType: z40.string().optional(),
19785
- width: z40.number().optional(),
19786
- height: z40.number().optional(),
19787
- storageBucket: z40.string().optional(),
19788
- storagePath: z40.string().optional(),
19710
+ var mediaBaseSchema = z39.object({
19711
+ purpose: z39.string().optional(),
19712
+ placeholder: z39.boolean().default(true).optional(),
19713
+ assetId: z39.string().optional(),
19714
+ identifier: z39.string().optional(),
19715
+ src: z39.string().optional(),
19716
+ alt: z39.string().optional(),
19717
+ filename: z39.string().optional(),
19718
+ mimeType: z39.string().optional(),
19719
+ width: z39.number().optional(),
19720
+ height: z39.number().optional(),
19721
+ storageBucket: z39.string().optional(),
19722
+ storagePath: z39.string().optional(),
19789
19723
  transform: transformSchema2.optional()
19790
19724
  });
19791
- var imageMediaSchema = mediaBaseSchema.extend({ type: z40.literal("image") });
19792
- var videoMediaSchema = mediaBaseSchema.extend({ type: z40.literal("video") });
19793
- var audioMediaSchema = mediaBaseSchema.extend({ type: z40.literal("audio") });
19794
- var documentMediaSchema = mediaBaseSchema.extend({ type: z40.literal("document") });
19795
- var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z40.literal("spreadsheet") });
19796
- var archiveMediaSchema = mediaBaseSchema.extend({ type: z40.literal("archive") });
19797
- var mediaSchema2 = z40.discriminatedUnion("type", [
19725
+ var imageMediaSchema = mediaBaseSchema.extend({ type: z39.literal("image") });
19726
+ var videoMediaSchema = mediaBaseSchema.extend({ type: z39.literal("video") });
19727
+ var audioMediaSchema = mediaBaseSchema.extend({ type: z39.literal("audio") });
19728
+ var documentMediaSchema = mediaBaseSchema.extend({ type: z39.literal("document") });
19729
+ var spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z39.literal("spreadsheet") });
19730
+ var archiveMediaSchema = mediaBaseSchema.extend({ type: z39.literal("archive") });
19731
+ var mediaSchema2 = z39.discriminatedUnion("type", [
19798
19732
  imageMediaSchema,
19799
19733
  videoMediaSchema,
19800
19734
  audioMediaSchema,
@@ -19804,252 +19738,252 @@ var mediaSchema2 = z40.discriminatedUnion("type", [
19804
19738
  ]);
19805
19739
 
19806
19740
  // ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
19807
- import { z as z41 } from "zod";
19808
- var bookingDepositRefundPolicySchema = z41.enum([
19741
+ import { z as z40 } from "zod";
19742
+ var bookingDepositRefundPolicySchema = z40.enum([
19809
19743
  "refundable",
19810
19744
  "non_refundable"
19811
19745
  ]);
19812
- var bookingInstalmentPlanSchema = z41.union([
19813
- z41.object({
19814
- kind: z41.literal("deposit_plus_one_remainder"),
19815
- depositAmountCents: z41.number().int().min(0),
19746
+ var bookingInstalmentPlanSchema = z40.union([
19747
+ z40.object({
19748
+ kind: z40.literal("deposit_plus_one_remainder"),
19749
+ depositAmountCents: z40.number().int().min(0),
19816
19750
  depositRefundability: bookingDepositRefundPolicySchema,
19817
- remainderDueCount: z41.number().int().positive(),
19818
- intervalUnit: z41.enum(["day", "week", "month"])
19751
+ remainderDueCount: z40.number().int().positive(),
19752
+ intervalUnit: z40.enum(["day", "week", "month"])
19819
19753
  }),
19820
- z41.object({
19821
- kind: z41.literal("deposit_plus_scheduled_instalments"),
19822
- depositAmountCents: z41.number().int().min(0),
19754
+ z40.object({
19755
+ kind: z40.literal("deposit_plus_scheduled_instalments"),
19756
+ depositAmountCents: z40.number().int().min(0),
19823
19757
  depositRefundability: bookingDepositRefundPolicySchema,
19824
- instalmentCount: z41.number().int().positive(),
19825
- intervalCount: z41.number().int().positive(),
19826
- intervalUnit: z41.enum(["day", "week", "month"])
19758
+ instalmentCount: z40.number().int().positive(),
19759
+ intervalCount: z40.number().int().positive(),
19760
+ intervalUnit: z40.enum(["day", "week", "month"])
19827
19761
  }),
19828
- z41.object({
19829
- kind: z41.literal("equal_scheduled_instalments"),
19830
- instalmentCount: z41.number().int().positive(),
19831
- intervalCount: z41.number().int().positive(),
19832
- intervalUnit: z41.enum(["day", "week", "month"])
19762
+ z40.object({
19763
+ kind: z40.literal("equal_scheduled_instalments"),
19764
+ instalmentCount: z40.number().int().positive(),
19765
+ intervalCount: z40.number().int().positive(),
19766
+ intervalUnit: z40.enum(["day", "week", "month"])
19833
19767
  })
19834
19768
  ]);
19835
- var bookingFlexibleBalanceDueDateRuleSchema = z41.union([
19836
- z41.object({
19837
- kind: z41.literal("relative_to_start_date"),
19838
- daysBeforeStart: z41.number().int().positive()
19769
+ var bookingFlexibleBalanceDueDateRuleSchema = z40.union([
19770
+ z40.object({
19771
+ kind: z40.literal("relative_to_start_date"),
19772
+ daysBeforeStart: z40.number().int().positive()
19839
19773
  }),
19840
- z41.object({
19841
- kind: z41.literal("fixed_calendar_date"),
19842
- dueAt: z41.string().datetime()
19774
+ z40.object({
19775
+ kind: z40.literal("fixed_calendar_date"),
19776
+ dueAt: z40.string().datetime()
19843
19777
  })
19844
19778
  ]);
19845
- var bookingFlexibleBalanceConfigSchema = z41.object({
19846
- upfrontAmountCents: z41.number().int().min(0),
19779
+ var bookingFlexibleBalanceConfigSchema = z40.object({
19780
+ upfrontAmountCents: z40.number().int().min(0),
19847
19781
  dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
19848
19782
  depositRefundability: bookingDepositRefundPolicySchema
19849
19783
  });
19850
- var blockBookingPaymentCollectionOptionSchema = z41.union([
19851
- z41.object({
19852
- kind: z41.literal("upfront")
19784
+ var blockBookingPaymentCollectionOptionSchema = z40.union([
19785
+ z40.object({
19786
+ kind: z40.literal("upfront")
19853
19787
  }),
19854
- z41.object({
19855
- kind: z41.literal("deferred_manual")
19788
+ z40.object({
19789
+ kind: z40.literal("deferred_manual")
19856
19790
  }),
19857
- z41.object({
19858
- kind: z41.literal("instalment_plan"),
19791
+ z40.object({
19792
+ kind: z40.literal("instalment_plan"),
19859
19793
  plan: bookingInstalmentPlanSchema
19860
19794
  }),
19861
- z41.object({
19862
- kind: z41.literal("flexible_balance"),
19795
+ z40.object({
19796
+ kind: z40.literal("flexible_balance"),
19863
19797
  config: bookingFlexibleBalanceConfigSchema
19864
19798
  })
19865
19799
  ]);
19866
- var blockBookingPaymentTermsSchema = z41.object({
19867
- allowedOptions: z41.array(blockBookingPaymentCollectionOptionSchema).min(1)
19800
+ var blockBookingPaymentTermsSchema = z40.object({
19801
+ allowedOptions: z40.array(blockBookingPaymentCollectionOptionSchema).min(1)
19868
19802
  });
19869
19803
 
19870
19804
  // ../blocks/src/system/blocks/courses/shared/schemas.ts
19871
- import { z as z42 } from "zod";
19872
- var courseVenueSchema = z42.object({
19873
- id: z42.string(),
19874
- name: z42.string(),
19875
- address: z42.string().nullable()
19805
+ import { z as z41 } from "zod";
19806
+ var courseVenueSchema = z41.object({
19807
+ id: z41.string(),
19808
+ name: z41.string(),
19809
+ address: z41.string().nullable()
19810
+ });
19811
+ var courseSessionSchema = z41.object({
19812
+ id: z41.string(),
19813
+ startsAt: z41.string(),
19814
+ endsAt: z41.string(),
19815
+ timeZone: z41.string(),
19816
+ capacityOverride: z41.number().nullable().optional(),
19817
+ overrides: z41.record(z41.string(), z41.unknown()).nullable().optional()
19818
+ });
19819
+ var courseTeamMemberSummarySchema = z41.object({
19820
+ id: z41.string(),
19821
+ name: z41.string(),
19822
+ roleLabel: z41.string().nullable(),
19823
+ summary: z41.string().nullable(),
19824
+ profilePath: z41.string().nullable()
19825
+ });
19826
+ var coursePricingOptionSchema = z41.object({
19827
+ id: z41.string(),
19828
+ name: z41.string(),
19829
+ description: z41.string().nullable(),
19830
+ priceAmount: z41.number(),
19831
+ isActive: z41.boolean(),
19832
+ sortOrder: z41.number(),
19833
+ capacityLimit: z41.number().nullable(),
19834
+ saleStartsAt: z41.string().nullable(),
19835
+ saleEndsAt: z41.string().nullable(),
19836
+ attendanceScope: z41.enum(["in_person", "online", "both"]).nullable().optional()
19837
+ });
19838
+ var coursePricingSchema = z41.object({
19839
+ bookingRequirement: z41.enum(["none", "required"]),
19840
+ pricingStrategy: z41.enum(["free", "single", "tiered"]),
19841
+ currency: z41.string(),
19842
+ singlePriceAmount: z41.number().nullable(),
19843
+ paymentTerms: blockBookingPaymentTermsSchema,
19844
+ options: z41.array(coursePricingOptionSchema)
19845
+ });
19846
+ var publicCourseSchema = z41.object({
19847
+ id: z41.string(),
19848
+ title: z41.string(),
19849
+ slug: z41.string(),
19850
+ description: z41.unknown().nullable(),
19851
+ teamMembers: z41.array(courseTeamMemberSummarySchema).optional(),
19852
+ enrollmentOpen: z41.boolean(),
19853
+ pricing: coursePricingSchema.optional(),
19854
+ priceCents: z41.number().nullable(),
19855
+ currency: z41.string(),
19856
+ paymentTerms: blockBookingPaymentTermsSchema,
19857
+ enrollmentCapacity: z41.number().nullable(),
19858
+ acceptsMemberships: z41.boolean(),
19859
+ status: z41.enum(["active", "draft", "cancelled"]),
19860
+ sessionsCount: z41.number(),
19861
+ enrolledCount: z41.number(),
19862
+ availableSpots: z41.number().nullable(),
19863
+ sessions: z41.array(courseSessionSchema),
19864
+ venue: courseVenueSchema.nullable(),
19865
+ contentEntryId: z41.string().nullable()
19876
19866
  });
19877
- var courseSessionSchema = z42.object({
19867
+ var publicCoursesArraySchema = z41.array(publicCourseSchema);
19868
+
19869
+ // ../blocks/src/system/blocks/events/shared/schemas.ts
19870
+ var eventPresetSchema = z42.enum(["event", "class", "workshop", "retreat", "performance"]);
19871
+ var eventScheduleScopeSchema = z42.enum(["recurring", "oneOff"]);
19872
+ var eventVenueSchema = z42.object({
19878
19873
  id: z42.string(),
19879
- startsAt: z42.string(),
19880
- endsAt: z42.string(),
19881
- timeZone: z42.string(),
19882
- capacityOverride: z42.number().nullable().optional(),
19883
- overrides: z42.record(z42.string(), z42.unknown()).nullable().optional()
19874
+ name: z42.string(),
19875
+ address: z42.string().nullable(),
19876
+ location: z42.object({
19877
+ lat: z42.number(),
19878
+ lng: z42.number()
19879
+ }).nullable()
19884
19880
  });
19885
- var courseTeamMemberSummarySchema = z42.object({
19881
+ var eventCategorySchema = z42.object({
19886
19882
  id: z42.string(),
19887
19883
  name: z42.string(),
19888
- roleLabel: z42.string().nullable(),
19889
- summary: z42.string().nullable(),
19890
- profilePath: z42.string().nullable()
19884
+ color: z42.string().nullable()
19891
19885
  });
19892
- var coursePricingOptionSchema = z42.object({
19886
+ var pricingTypeSchema = z42.enum(["free", "paid", "pass_only", "membership_only"]);
19887
+ var accessRestrictionSchema = z42.enum(["none", "category"]);
19888
+ var eventPricingModeSchema = z42.enum(["single", "ticket_types"]);
19889
+ var publicEventAttendanceModeSchema = z42.enum(["in_person", "online"]);
19890
+ var publicEventAttendanceModeAvailabilitySchema = z42.object({
19891
+ mode: publicEventAttendanceModeSchema,
19892
+ capacity: z42.number().nullable(),
19893
+ registeredCount: z42.number(),
19894
+ availableSpots: z42.number().nullable(),
19895
+ waitlistEnabled: z42.boolean()
19896
+ });
19897
+ var publicEventTicketTypeAvailabilitySchema = z42.union([
19898
+ z42.object({
19899
+ kind: z42.literal("available"),
19900
+ remainingCapacity: z42.number().nullable()
19901
+ }),
19902
+ z42.object({
19903
+ kind: z42.literal("unavailable"),
19904
+ reason: z42.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
19905
+ remainingCapacity: z42.number().nullable()
19906
+ })
19907
+ ]);
19908
+ var publicEventTicketTypeSchema = z42.object({
19893
19909
  id: z42.string(),
19910
+ siteId: z42.string(),
19911
+ eventSeriesId: z42.string(),
19894
19912
  name: z42.string(),
19895
19913
  description: z42.string().nullable(),
19896
19914
  priceAmount: z42.number(),
19897
19915
  isActive: z42.boolean(),
19898
19916
  sortOrder: z42.number(),
19917
+ capacityMode: z42.enum(["limited", "unlimited"]),
19899
19918
  capacityLimit: z42.number().nullable(),
19919
+ attendanceScope: z42.enum(["in_person", "online", "both"]).optional(),
19900
19920
  saleStartsAt: z42.string().nullable(),
19901
19921
  saleEndsAt: z42.string().nullable(),
19902
- attendanceScope: z42.enum(["in_person", "online", "both"]).nullable().optional()
19903
- });
19904
- var coursePricingSchema = z42.object({
19905
- bookingRequirement: z42.enum(["none", "required"]),
19906
- pricingStrategy: z42.enum(["free", "single", "tiered"]),
19907
- currency: z42.string(),
19908
- singlePriceAmount: z42.number().nullable(),
19909
- paymentTerms: blockBookingPaymentTermsSchema,
19910
- options: z42.array(coursePricingOptionSchema)
19911
- });
19912
- var publicCourseSchema = z42.object({
19913
- id: z42.string(),
19914
- title: z42.string(),
19915
- slug: z42.string(),
19916
- description: z42.unknown().nullable(),
19917
- teamMembers: z42.array(courseTeamMemberSummarySchema).optional(),
19918
- enrollmentOpen: z42.boolean(),
19919
- pricing: coursePricingSchema.optional(),
19920
- priceCents: z42.number().nullable(),
19921
- currency: z42.string(),
19922
- paymentTerms: blockBookingPaymentTermsSchema,
19923
- enrollmentCapacity: z42.number().nullable(),
19924
- acceptsMemberships: z42.boolean(),
19925
- status: z42.enum(["active", "draft", "cancelled"]),
19926
- sessionsCount: z42.number(),
19927
- enrolledCount: z42.number(),
19928
- availableSpots: z42.number().nullable(),
19929
- sessions: z42.array(courseSessionSchema),
19930
- venue: courseVenueSchema.nullable(),
19931
- contentEntryId: z42.string().nullable()
19932
- });
19933
- var publicCoursesArraySchema = z42.array(publicCourseSchema);
19934
-
19935
- // ../blocks/src/system/blocks/events/shared/schemas.ts
19936
- var eventPresetSchema = z43.enum(["event", "class", "workshop", "retreat", "performance"]);
19937
- var eventScheduleScopeSchema = z43.enum(["recurring", "oneOff"]);
19938
- var eventVenueSchema = z43.object({
19939
- id: z43.string(),
19940
- name: z43.string(),
19941
- address: z43.string().nullable(),
19942
- location: z43.object({
19943
- lat: z43.number(),
19944
- lng: z43.number()
19945
- }).nullable()
19946
- });
19947
- var eventCategorySchema = z43.object({
19948
- id: z43.string(),
19949
- name: z43.string(),
19950
- color: z43.string().nullable()
19951
- });
19952
- var pricingTypeSchema = z43.enum(["free", "paid", "pass_only", "membership_only"]);
19953
- var accessRestrictionSchema = z43.enum(["none", "category"]);
19954
- var eventPricingModeSchema = z43.enum(["single", "ticket_types"]);
19955
- var publicEventAttendanceModeSchema = z43.enum(["in_person", "online"]);
19956
- var publicEventAttendanceModeAvailabilitySchema = z43.object({
19957
- mode: publicEventAttendanceModeSchema,
19958
- capacity: z43.number().nullable(),
19959
- registeredCount: z43.number(),
19960
- availableSpots: z43.number().nullable(),
19961
- waitlistEnabled: z43.boolean()
19962
- });
19963
- var publicEventTicketTypeAvailabilitySchema = z43.union([
19964
- z43.object({
19965
- kind: z43.literal("available"),
19966
- remainingCapacity: z43.number().nullable()
19967
- }),
19968
- z43.object({
19969
- kind: z43.literal("unavailable"),
19970
- reason: z43.enum(["inactive", "not_on_sale_yet", "sale_ended", "sold_out", "event_sold_out"]),
19971
- remainingCapacity: z43.number().nullable()
19972
- })
19973
- ]);
19974
- var publicEventTicketTypeSchema = z43.object({
19975
- id: z43.string(),
19976
- siteId: z43.string(),
19977
- eventSeriesId: z43.string(),
19978
- name: z43.string(),
19979
- description: z43.string().nullable(),
19980
- priceAmount: z43.number(),
19981
- isActive: z43.boolean(),
19982
- sortOrder: z43.number(),
19983
- capacityMode: z43.enum(["limited", "unlimited"]),
19984
- capacityLimit: z43.number().nullable(),
19985
- attendanceScope: z43.enum(["in_person", "online", "both"]).optional(),
19986
- saleStartsAt: z43.string().nullable(),
19987
- saleEndsAt: z43.string().nullable(),
19988
19922
  availability: publicEventTicketTypeAvailabilitySchema,
19989
- createdAt: z43.string(),
19990
- updatedAt: z43.string()
19923
+ createdAt: z42.string(),
19924
+ updatedAt: z42.string()
19991
19925
  });
19992
- var publicTeamMemberSummarySchema = z43.object({
19993
- id: z43.string(),
19994
- name: z43.string(),
19995
- roleLabel: z43.string().nullable(),
19996
- summary: z43.string().nullable(),
19997
- profilePath: z43.string().nullable()
19926
+ var publicTeamMemberSummarySchema = z42.object({
19927
+ id: z42.string(),
19928
+ name: z42.string(),
19929
+ roleLabel: z42.string().nullable(),
19930
+ summary: z42.string().nullable(),
19931
+ profilePath: z42.string().nullable()
19998
19932
  });
19999
- var publicEventSchema = z43.object({
20000
- kind: z43.enum(["event", "course_session"]).optional(),
19933
+ var publicEventSchema = z42.object({
19934
+ kind: z42.enum(["event", "course_session"]).optional(),
20001
19935
  eventPreset: eventPresetSchema.optional(),
20002
19936
  scheduleScope: eventScheduleScopeSchema.optional(),
20003
- id: z43.string(),
20004
- occurrenceId: z43.string(),
20005
- seriesId: z43.string(),
20006
- title: z43.string(),
20007
- description: z43.string().nullable(),
20008
- presentation: z43.object({
20009
- cardTitleOverride: z43.string().nullable().optional(),
20010
- summary: z43.string().nullable().optional(),
19937
+ id: z42.string(),
19938
+ occurrenceId: z42.string(),
19939
+ seriesId: z42.string(),
19940
+ title: z42.string(),
19941
+ description: z42.string().nullable(),
19942
+ presentation: z42.object({
19943
+ cardTitleOverride: z42.string().nullable().optional(),
19944
+ summary: z42.string().nullable().optional(),
20011
19945
  image: mediaSchema2.nullable().optional(),
20012
- tags: z43.array(z43.string()).optional(),
20013
- ctaLabel: z43.string().nullable().optional(),
20014
- badges: z43.array(z43.string()).optional()
19946
+ tags: z42.array(z42.string()).optional(),
19947
+ ctaLabel: z42.string().nullable().optional(),
19948
+ badges: z42.array(z42.string()).optional()
20015
19949
  }).optional(),
20016
- slug: z43.string(),
20017
- path: z43.string(),
20018
- requiresRegistration: z43.boolean(),
20019
- deliveryMode: z43.enum(["in_person", "online", "hybrid"]),
20020
- attendanceModes: z43.array(publicEventAttendanceModeAvailabilitySchema),
20021
- startsAt: z43.string(),
20022
- endsAt: z43.string(),
20023
- capacity: z43.number().nullable(),
20024
- registeredCount: z43.number(),
20025
- availableSpots: z43.number().nullable(),
20026
- waitlistEnabled: z43.boolean(),
19950
+ slug: z42.string(),
19951
+ path: z42.string(),
19952
+ requiresRegistration: z42.boolean(),
19953
+ deliveryMode: z42.enum(["in_person", "online", "hybrid"]),
19954
+ attendanceModes: z42.array(publicEventAttendanceModeAvailabilitySchema),
19955
+ startsAt: z42.string(),
19956
+ endsAt: z42.string(),
19957
+ capacity: z42.number().nullable(),
19958
+ registeredCount: z42.number(),
19959
+ availableSpots: z42.number().nullable(),
19960
+ waitlistEnabled: z42.boolean(),
20027
19961
  venue: eventVenueSchema.nullable(),
20028
19962
  eventCategory: eventCategorySchema.nullable(),
20029
- teamMembers: z43.array(publicTeamMemberSummarySchema).optional(),
20030
- status: z43.enum(["active", "draft", "archived"]).optional(),
20031
- timeZone: z43.string(),
19963
+ teamMembers: z42.array(publicTeamMemberSummarySchema).optional(),
19964
+ status: z42.enum(["active", "draft", "archived"]).optional(),
19965
+ timeZone: z42.string(),
20032
19966
  // Pricing & access fields
20033
19967
  pricingType: pricingTypeSchema,
20034
- price: z43.number().nullable(),
20035
- currency: z43.string(),
19968
+ price: z42.number().nullable(),
19969
+ currency: z42.string(),
20036
19970
  paymentTerms: blockBookingPaymentTermsSchema,
20037
19971
  pricingMode: eventPricingModeSchema.optional(),
20038
- ticketTypes: z43.array(publicEventTicketTypeSchema).optional(),
19972
+ ticketTypes: z42.array(publicEventTicketTypeSchema).optional(),
20039
19973
  accessRestriction: accessRestrictionSchema,
20040
- allowedCategoryIds: z43.array(z43.string()),
20041
- requireGuestDetails: z43.boolean().optional(),
20042
- acceptsPasses: z43.boolean().optional(),
20043
- acceptsMemberships: z43.boolean().optional(),
20044
- course: z43.object({
20045
- id: z43.string(),
19974
+ allowedCategoryIds: z42.array(z42.string()),
19975
+ requireGuestDetails: z42.boolean().optional(),
19976
+ acceptsPasses: z42.boolean().optional(),
19977
+ acceptsMemberships: z42.boolean().optional(),
19978
+ course: z42.object({
19979
+ id: z42.string(),
20046
19980
  pricing: coursePricingSchema.optional(),
20047
- priceCents: z43.number().nullable(),
20048
- currency: z43.string(),
20049
- enrollmentOpen: z43.boolean()
19981
+ priceCents: z42.number().nullable(),
19982
+ currency: z42.string(),
19983
+ enrollmentOpen: z42.boolean()
20050
19984
  }).nullable().optional()
20051
19985
  });
20052
- var publicEventsArraySchema = z43.array(publicEventSchema);
19986
+ var publicEventsArraySchema = z42.array(publicEventSchema);
20053
19987
 
20054
19988
  // ../blocks/src/system/blocks/events/shared/fields.ts
20055
19989
  var cardStylingFields = [
@@ -20253,83 +20187,83 @@ function normalizeEventStaffMemberId(value) {
20253
20187
  }
20254
20188
 
20255
20189
  // ../blocks/src/system/blocks/event-registration.shared.ts
20256
- import { z as z44 } from "zod";
20257
- var occurrenceContextSchema = z44.object({
20258
- id: z44.string(),
20259
- seriesId: z44.string(),
20260
- startsAt: z44.string(),
20261
- endsAt: z44.string(),
20262
- timeZone: z44.string(),
20263
- capacityOverride: z44.number().nullable().optional(),
20264
- overrides: z44.record(z44.string(), z44.unknown()).nullable().optional()
20190
+ import { z as z43 } from "zod";
20191
+ var occurrenceContextSchema = z43.object({
20192
+ id: z43.string(),
20193
+ seriesId: z43.string(),
20194
+ startsAt: z43.string(),
20195
+ endsAt: z43.string(),
20196
+ timeZone: z43.string(),
20197
+ capacityOverride: z43.number().nullable().optional(),
20198
+ overrides: z43.record(z43.string(), z43.unknown()).nullable().optional()
20265
20199
  }).nullable();
20266
20200
 
20267
20201
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
20268
- import { z as z46 } from "zod";
20202
+ import { z as z45 } from "zod";
20269
20203
 
20270
20204
  // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
20271
- import { z as z45 } from "zod";
20272
- var previewStageSchema = z45.enum(["preview", "published"]);
20273
- var registrationButtonVariantSchema = z45.enum(["primary", "secondary", "outline"]);
20274
- var eventButtonVariantSchema = z45.enum(["primary", "secondary", "outline", "link"]);
20275
- var eventLayoutSchema = z45.enum(["grid", "stack", "compact"]);
20276
- var columnOptionSchema = z45.enum(["2", "3", "4"]);
20277
- var weekStartSchema = z45.enum(["sunday", "monday"]);
20278
- var filterAutoShowSchema = z45.enum(["auto", "always", "never"]);
20279
- var calendarTabViewsSchema = z45.enum(["both", "month", "week"]);
20205
+ import { z as z44 } from "zod";
20206
+ var previewStageSchema = z44.enum(["preview", "published"]);
20207
+ var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
20208
+ var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
20209
+ var eventLayoutSchema = z44.enum(["grid", "stack", "compact"]);
20210
+ var columnOptionSchema = z44.enum(["2", "3", "4"]);
20211
+ var weekStartSchema = z44.enum(["sunday", "monday"]);
20212
+ var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
20213
+ var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
20280
20214
 
20281
20215
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
20282
- var contentEntrySchema = z46.object({
20283
- id: z46.string(),
20284
- slug: z46.string(),
20285
- contentTypeSlug: z46.string()
20286
- });
20287
- var eventRegistrationSourceSchema = z46.object({
20288
- siteId: z46.string().optional(),
20289
- apiBaseUrl: z46.string().optional(),
20290
- portalToken: z46.string().nullable().optional(),
20216
+ var contentEntrySchema = z45.object({
20217
+ id: z45.string(),
20218
+ slug: z45.string(),
20219
+ contentTypeSlug: z45.string()
20220
+ });
20221
+ var eventRegistrationSourceSchema = z45.object({
20222
+ siteId: z45.string().optional(),
20223
+ apiBaseUrl: z45.string().optional(),
20224
+ portalToken: z45.string().nullable().optional(),
20291
20225
  occurrenceContext: occurrenceContextSchema.optional(),
20292
20226
  contentEntry: contentEntrySchema.nullable().optional(),
20293
- events: z46.array(publicEventSchema).nullable().optional(),
20294
- className: z46.string().nullable().optional(),
20295
- buttonText: z46.string().nullable().optional(),
20296
- maxTickets: z46.string().nullable().optional(),
20297
- showVenue: z46.boolean().optional(),
20298
- showCapacity: z46.boolean().optional(),
20299
- successMessage: z46.string().optional(),
20300
- waitlistMessage: z46.string().optional(),
20227
+ events: z45.array(publicEventSchema).nullable().optional(),
20228
+ className: z45.string().nullable().optional(),
20229
+ buttonText: z45.string().nullable().optional(),
20230
+ maxTickets: z45.string().nullable().optional(),
20231
+ showVenue: z45.boolean().optional(),
20232
+ showCapacity: z45.boolean().optional(),
20233
+ successMessage: z45.string().optional(),
20234
+ waitlistMessage: z45.string().optional(),
20301
20235
  buttonVariant: registrationButtonVariantSchema.optional(),
20302
- spamProtectionEnabled: z46.boolean().optional(),
20236
+ spamProtectionEnabled: z45.boolean().optional(),
20303
20237
  stage: previewStageSchema.optional(),
20304
- supportEmail: z46.string().optional()
20238
+ supportEmail: z45.string().optional()
20305
20239
  });
20306
- var eventRegistrationDisplaySchema = z46.object({
20307
- kind: z46.literal("event-registration"),
20308
- state: z46.literal("shell"),
20309
- className: z46.string().nullable(),
20310
- summaryButtonText: z46.string()
20240
+ var eventRegistrationDisplaySchema = z45.object({
20241
+ kind: z45.literal("event-registration"),
20242
+ state: z45.literal("shell"),
20243
+ className: z45.string().nullable(),
20244
+ summaryButtonText: z45.string()
20311
20245
  });
20312
- var eventRegistrationHydrationSchema = z46.object({
20246
+ var eventRegistrationHydrationSchema = z45.object({
20313
20247
  occurrenceContext: occurrenceContextSchema.optional(),
20314
20248
  contentEntry: contentEntrySchema.nullable().optional(),
20315
- events: z46.array(publicEventSchema).nullable().optional(),
20316
- maxTickets: z46.string().optional(),
20317
- showVenue: z46.boolean().optional(),
20318
- showCapacity: z46.boolean().optional(),
20319
- successMessage: z46.string().optional(),
20320
- waitlistMessage: z46.string().optional(),
20249
+ events: z45.array(publicEventSchema).nullable().optional(),
20250
+ maxTickets: z45.string().optional(),
20251
+ showVenue: z45.boolean().optional(),
20252
+ showCapacity: z45.boolean().optional(),
20253
+ successMessage: z45.string().optional(),
20254
+ waitlistMessage: z45.string().optional(),
20321
20255
  buttonVariant: registrationButtonVariantSchema.optional(),
20322
- spamProtectionEnabled: z46.boolean().optional(),
20323
- supportEmail: z46.string().optional()
20256
+ spamProtectionEnabled: z45.boolean().optional(),
20257
+ supportEmail: z45.string().optional()
20324
20258
  });
20325
- var eventRegistrationRenderSchema = z46.object({
20259
+ var eventRegistrationRenderSchema = z45.object({
20326
20260
  display: eventRegistrationDisplaySchema,
20327
20261
  hydration: eventRegistrationHydrationSchema
20328
20262
  });
20329
- var eventRegistrationIslandMetaCodec = createZodCodec(z46.object({
20330
- siteId: z46.string().optional(),
20331
- apiBaseUrl: z46.string().optional(),
20332
- portalToken: z46.string().nullable().optional(),
20263
+ var eventRegistrationIslandMetaCodec = createZodCodec(z45.object({
20264
+ siteId: z45.string().optional(),
20265
+ apiBaseUrl: z45.string().optional(),
20266
+ portalToken: z45.string().nullable().optional(),
20333
20267
  stage: previewStageSchema.optional()
20334
20268
  }));
20335
20269
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -20546,7 +20480,7 @@ var eventRegistrationBlockDefinition = {
20546
20480
  manifest: eventRegistrationManifest,
20547
20481
  runtime: eventRegistrationBlockRuntime,
20548
20482
  dataSchemas: {
20549
- events: z47.array(publicEventSchema).optional(),
20483
+ events: z46.array(publicEventSchema).optional(),
20550
20484
  occurrenceContext: occurrenceContextSchema.optional()
20551
20485
  },
20552
20486
  dataLoaders: {
@@ -20569,72 +20503,72 @@ var eventRegistrationBlockDefinition = {
20569
20503
  };
20570
20504
 
20571
20505
  // ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
20572
- import { z as z48 } from "zod";
20573
- var contentEntrySchema2 = z48.object({
20574
- id: z48.string(),
20575
- slug: z48.string(),
20576
- contentTypeSlug: z48.string()
20577
- });
20578
- var courseEntrySubrouteContextSchema = z48.union([
20579
- z48.object({
20580
- kind: z48.literal("course-run"),
20581
- run: z48.object({
20582
- courseId: z48.string(),
20583
- seriesId: z48.string(),
20584
- runSlug: z48.string()
20506
+ import { z as z47 } from "zod";
20507
+ var contentEntrySchema2 = z47.object({
20508
+ id: z47.string(),
20509
+ slug: z47.string(),
20510
+ contentTypeSlug: z47.string()
20511
+ });
20512
+ var courseEntrySubrouteContextSchema = z47.union([
20513
+ z47.object({
20514
+ kind: z47.literal("course-run"),
20515
+ run: z47.object({
20516
+ courseId: z47.string(),
20517
+ seriesId: z47.string(),
20518
+ runSlug: z47.string()
20585
20519
  })
20586
20520
  }),
20587
- z48.object({
20588
- kind: z48.literal("event-occurrence"),
20521
+ z47.object({
20522
+ kind: z47.literal("event-occurrence"),
20589
20523
  occurrence: occurrenceContextSchema
20590
20524
  })
20591
20525
  ]);
20592
- var courseRegistrationSourceSchema = z48.object({
20593
- siteId: z48.string().optional(),
20594
- apiBaseUrl: z48.string().optional(),
20595
- portalToken: z48.string().nullable().optional(),
20526
+ var courseRegistrationSourceSchema = z47.object({
20527
+ siteId: z47.string().optional(),
20528
+ apiBaseUrl: z47.string().optional(),
20529
+ portalToken: z47.string().nullable().optional(),
20596
20530
  contentEntry: contentEntrySchema2.nullable().optional(),
20597
20531
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
20598
- courses: z48.array(publicCourseSchema).nullable().optional(),
20599
- className: z48.string().nullable().optional(),
20600
- showSessions: z48.boolean().optional(),
20601
- showPrice: z48.boolean().optional(),
20602
- showCapacity: z48.boolean().optional(),
20603
- showVenue: z48.boolean().optional(),
20604
- successMessage: z48.string().optional(),
20605
- waitlistMessage: z48.string().optional(),
20606
- membershipMessage: z48.string().optional(),
20607
- buttonText: z48.string().nullable().optional(),
20532
+ courses: z47.array(publicCourseSchema).nullable().optional(),
20533
+ className: z47.string().nullable().optional(),
20534
+ showSessions: z47.boolean().optional(),
20535
+ showPrice: z47.boolean().optional(),
20536
+ showCapacity: z47.boolean().optional(),
20537
+ showVenue: z47.boolean().optional(),
20538
+ successMessage: z47.string().optional(),
20539
+ waitlistMessage: z47.string().optional(),
20540
+ membershipMessage: z47.string().optional(),
20541
+ buttonText: z47.string().nullable().optional(),
20608
20542
  buttonVariant: registrationButtonVariantSchema.optional(),
20609
20543
  stage: previewStageSchema.optional()
20610
20544
  });
20611
- var courseRegistrationDisplaySchema = z48.object({
20612
- kind: z48.literal("course-registration"),
20613
- state: z48.literal("shell"),
20614
- className: z48.string().nullable(),
20615
- summaryButtonText: z48.string()
20545
+ var courseRegistrationDisplaySchema = z47.object({
20546
+ kind: z47.literal("course-registration"),
20547
+ state: z47.literal("shell"),
20548
+ className: z47.string().nullable(),
20549
+ summaryButtonText: z47.string()
20616
20550
  });
20617
- var courseRegistrationHydrationSchema = z48.object({
20551
+ var courseRegistrationHydrationSchema = z47.object({
20618
20552
  contentEntry: contentEntrySchema2.nullable().optional(),
20619
20553
  entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
20620
- courses: z48.array(publicCourseSchema).nullable().optional(),
20621
- showSessions: z48.boolean().optional(),
20622
- showPrice: z48.boolean().optional(),
20623
- showCapacity: z48.boolean().optional(),
20624
- showVenue: z48.boolean().optional(),
20625
- successMessage: z48.string().optional(),
20626
- waitlistMessage: z48.string().optional(),
20627
- membershipMessage: z48.string().optional(),
20554
+ courses: z47.array(publicCourseSchema).nullable().optional(),
20555
+ showSessions: z47.boolean().optional(),
20556
+ showPrice: z47.boolean().optional(),
20557
+ showCapacity: z47.boolean().optional(),
20558
+ showVenue: z47.boolean().optional(),
20559
+ successMessage: z47.string().optional(),
20560
+ waitlistMessage: z47.string().optional(),
20561
+ membershipMessage: z47.string().optional(),
20628
20562
  buttonVariant: registrationButtonVariantSchema.optional()
20629
20563
  });
20630
- var courseRegistrationRenderSchema = z48.object({
20564
+ var courseRegistrationRenderSchema = z47.object({
20631
20565
  display: courseRegistrationDisplaySchema,
20632
20566
  hydration: courseRegistrationHydrationSchema
20633
20567
  });
20634
- var courseRegistrationIslandMetaCodec = createZodCodec(z48.object({
20635
- siteId: z48.string().optional(),
20636
- apiBaseUrl: z48.string().optional(),
20637
- portalToken: z48.string().nullable().optional(),
20568
+ var courseRegistrationIslandMetaCodec = createZodCodec(z47.object({
20569
+ siteId: z47.string().optional(),
20570
+ apiBaseUrl: z47.string().optional(),
20571
+ portalToken: z47.string().nullable().optional(),
20638
20572
  stage: previewStageSchema.optional()
20639
20573
  }));
20640
20574
  var courseRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -20894,32 +20828,32 @@ var courseRegistrationBlockDefinition = {
20894
20828
  };
20895
20829
 
20896
20830
  // ../blocks/src/system/blocks/event-details.ts
20897
- import { z as z50 } from "zod";
20831
+ import { z as z49 } from "zod";
20898
20832
 
20899
20833
  // ../blocks/src/system/blocks/shop.shared.ts
20900
- import { z as z49 } from "zod";
20901
- var publicPassProductSchema = z49.object({
20902
- id: z49.string(),
20903
- productUseCase: z49.enum(["event_pass", "appointment_package"]).default("event_pass"),
20904
- name: z49.string(),
20905
- description: z49.string().nullable(),
20906
- price: z49.number(),
20907
- currency: z49.string(),
20908
- creditsTotal: z49.number(),
20909
- pricePerCredit: z49.number(),
20910
- validDays: z49.number().nullable(),
20911
- eligibleCategoryIds: z49.array(z49.string()),
20912
- eligibleCategoryNames: z49.array(z49.string())
20913
- });
20914
- var publicMembershipProductSchema = z49.object({
20915
- id: z49.string(),
20916
- name: z49.string(),
20917
- description: z49.string().nullable(),
20918
- price: z49.number(),
20919
- currency: z49.string(),
20920
- billingInterval: z49.enum(["month", "year"]),
20921
- eligibleCategoryIds: z49.array(z49.string()),
20922
- eligibleCategoryNames: z49.array(z49.string())
20834
+ import { z as z48 } from "zod";
20835
+ var publicPassProductSchema = z48.object({
20836
+ id: z48.string(),
20837
+ productUseCase: z48.enum(["event_pass", "appointment_package"]).default("event_pass"),
20838
+ name: z48.string(),
20839
+ description: z48.string().nullable(),
20840
+ price: z48.number(),
20841
+ currency: z48.string(),
20842
+ creditsTotal: z48.number(),
20843
+ pricePerCredit: z48.number(),
20844
+ validDays: z48.number().nullable(),
20845
+ eligibleCategoryIds: z48.array(z48.string()),
20846
+ eligibleCategoryNames: z48.array(z48.string())
20847
+ });
20848
+ var publicMembershipProductSchema = z48.object({
20849
+ id: z48.string(),
20850
+ name: z48.string(),
20851
+ description: z48.string().nullable(),
20852
+ price: z48.number(),
20853
+ currency: z48.string(),
20854
+ billingInterval: z48.enum(["month", "year"]),
20855
+ eligibleCategoryIds: z48.array(z48.string()),
20856
+ eligibleCategoryNames: z48.array(z48.string())
20923
20857
  });
20924
20858
 
20925
20859
  // ../blocks/src/system/blocks/event-details.ts
@@ -21051,22 +20985,22 @@ var eventDetailsManifest = createBlockManifest({
21051
20985
  })
21052
20986
  ]
21053
20987
  });
21054
- var occurrenceContextSchema2 = z50.object({
21055
- id: z50.string(),
21056
- seriesId: z50.string(),
21057
- startsAt: z50.string(),
21058
- endsAt: z50.string(),
21059
- timeZone: z50.string(),
21060
- capacityOverride: z50.number().nullable().optional(),
21061
- overrides: z50.record(z50.string(), z50.unknown()).nullable().optional()
20988
+ var occurrenceContextSchema2 = z49.object({
20989
+ id: z49.string(),
20990
+ seriesId: z49.string(),
20991
+ startsAt: z49.string(),
20992
+ endsAt: z49.string(),
20993
+ timeZone: z49.string(),
20994
+ capacityOverride: z49.number().nullable().optional(),
20995
+ overrides: z49.record(z49.string(), z49.unknown()).nullable().optional()
21062
20996
  }).nullable();
21063
20997
  var eventDetailsBlockDefinition = {
21064
20998
  manifest: eventDetailsManifest,
21065
20999
  dataSchemas: {
21066
- eventDetailsData: z50.object({
21000
+ eventDetailsData: z49.object({
21067
21001
  events: publicEventsArraySchema,
21068
- sitePasses: z50.object({ passes: z50.array(publicPassProductSchema) }),
21069
- siteMemberships: z50.object({ memberships: z50.array(publicMembershipProductSchema) })
21002
+ sitePasses: z49.object({ passes: z49.array(publicPassProductSchema) }),
21003
+ siteMemberships: z49.object({ memberships: z49.array(publicMembershipProductSchema) })
21070
21004
  }).optional(),
21071
21005
  occurrenceContext: occurrenceContextSchema2.optional()
21072
21006
  },
@@ -21385,7 +21319,7 @@ var eventSpotlightBlockDefinition = {
21385
21319
  };
21386
21320
 
21387
21321
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
21388
- import { z as z51 } from "zod";
21322
+ import { z as z50 } from "zod";
21389
21323
 
21390
21324
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
21391
21325
  var COLUMN_CLASSES = {
@@ -21492,87 +21426,87 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
21492
21426
  }
21493
21427
 
21494
21428
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
21495
- var cardVariantSchema2 = z51.enum(["default", "variant1", "variant2"]);
21496
- var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
21497
- var eventBlockKindSchema = z51.enum(eventBlockKindValues);
21498
- var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
21499
- var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
21500
- var eventListingSourceSchema = z51.object({
21501
- events: z51.array(publicEventSchema).nullable().optional(),
21502
- siteId: z51.string(),
21503
- apiBaseUrl: z51.string().optional(),
21429
+ var cardVariantSchema2 = z50.enum(["default", "variant1", "variant2"]);
21430
+ var cardOrientationSchema = z50.enum(["vertical", "horizontal"]);
21431
+ var eventBlockKindSchema = z50.enum(eventBlockKindValues);
21432
+ var eventSurfaceScopeSchema = z50.enum(eventSurfaceScopeValues);
21433
+ var eventScheduleScopeSchema2 = z50.enum(eventScheduleScopeValues);
21434
+ var eventListingSourceSchema = z50.object({
21435
+ events: z50.array(publicEventSchema).nullable().optional(),
21436
+ siteId: z50.string(),
21437
+ apiBaseUrl: z50.string().optional(),
21504
21438
  stage: previewStageSchema.optional(),
21505
21439
  layout: eventLayoutSchema.optional(),
21506
21440
  columns: columnOptionSchema.optional(),
21507
- eventsPerPage: z51.string().optional(),
21508
- paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
21509
- seeAllUrl: z51.string().optional(),
21510
- loadMoreText: z51.string().optional(),
21441
+ eventsPerPage: z50.string().optional(),
21442
+ paginationMode: z50.enum(["loadMore", "seeAllLink"]).optional(),
21443
+ seeAllUrl: z50.string().optional(),
21444
+ loadMoreText: z50.string().optional(),
21511
21445
  cardVariant: cardVariantSchema2.optional(),
21512
21446
  buttonVariant: eventButtonVariantSchema.optional(),
21513
- buttonText: z51.string().optional(),
21514
- showVenue: z51.boolean().optional(),
21515
- showMap: z51.boolean().optional(),
21516
- showCapacity: z51.boolean().optional(),
21517
- emptyMessage: z51.string().optional(),
21518
- className: z51.string().optional(),
21519
- showFilters: z51.boolean().nullable().optional(),
21447
+ buttonText: z50.string().optional(),
21448
+ showVenue: z50.boolean().optional(),
21449
+ showMap: z50.boolean().optional(),
21450
+ showCapacity: z50.boolean().optional(),
21451
+ emptyMessage: z50.string().optional(),
21452
+ className: z50.string().optional(),
21453
+ showFilters: z50.boolean().nullable().optional(),
21520
21454
  showCategoryFilter: filterAutoShowSchema.optional(),
21521
- showVenueFilter: z51.boolean().nullable().optional(),
21522
- showStaffFilter: z51.boolean().nullable().optional(),
21455
+ showVenueFilter: z50.boolean().nullable().optional(),
21456
+ showStaffFilter: z50.boolean().nullable().optional(),
21523
21457
  eventKind: eventBlockKindSchema.nullable().optional(),
21524
21458
  eventSurface: eventSurfaceScopeSchema.nullable().optional(),
21525
- filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
21459
+ filterEventPresets: z50.union([z50.string(), z50.array(z50.string())]).nullable().optional(),
21526
21460
  scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
21527
- filterCategoryIds: z51.string().nullable().optional(),
21528
- filterStaffMemberId: z51.string().nullable().optional(),
21529
- filterVenueId: z51.string().nullable().optional()
21461
+ filterCategoryIds: z50.string().nullable().optional(),
21462
+ filterStaffMemberId: z50.string().nullable().optional(),
21463
+ filterVenueId: z50.string().nullable().optional()
21530
21464
  });
21531
- var eventListingDisplaySchema = z51.object({
21532
- kind: z51.literal("event-listing"),
21533
- state: z51.enum(["loading", "empty", "ready"]),
21465
+ var eventListingDisplaySchema = z50.object({
21466
+ kind: z50.literal("event-listing"),
21467
+ state: z50.enum(["loading", "empty", "ready"]),
21534
21468
  listLayout: eventLayoutSchema,
21535
- className: z51.string().nullable(),
21536
- emptyMessage: z51.string(),
21537
- loadingMessage: z51.string(),
21538
- containerClass: z51.string(),
21469
+ className: z50.string().nullable(),
21470
+ emptyMessage: z50.string(),
21471
+ loadingMessage: z50.string(),
21472
+ containerClass: z50.string(),
21539
21473
  cardVariant: cardVariantSchema2,
21540
21474
  buttonVariant: eventButtonVariantSchema,
21541
- buttonText: z51.string(),
21542
- showVenue: z51.boolean(),
21543
- showMap: z51.boolean(),
21544
- showCapacity: z51.boolean(),
21475
+ buttonText: z50.string(),
21476
+ showVenue: z50.boolean(),
21477
+ showMap: z50.boolean(),
21478
+ showCapacity: z50.boolean(),
21545
21479
  orientation: cardOrientationSchema,
21546
- events: z51.array(publicEventSchema)
21480
+ events: z50.array(publicEventSchema)
21547
21481
  });
21548
- var eventListingHydrationSchema = z51.object({
21549
- siteId: z51.string(),
21482
+ var eventListingHydrationSchema = z50.object({
21483
+ siteId: z50.string(),
21550
21484
  stage: previewStageSchema.optional(),
21551
- eventsPerPage: z51.string(),
21552
- paginationMode: z51.enum(["loadMore", "seeAllLink"]),
21553
- seeAllUrl: z51.string().optional(),
21554
- loadMoreText: z51.string(),
21555
- showFilters: z51.boolean(),
21485
+ eventsPerPage: z50.string(),
21486
+ paginationMode: z50.enum(["loadMore", "seeAllLink"]),
21487
+ seeAllUrl: z50.string().optional(),
21488
+ loadMoreText: z50.string(),
21489
+ showFilters: z50.boolean(),
21556
21490
  showCategoryFilter: filterAutoShowSchema,
21557
- showVenueFilter: z51.boolean(),
21558
- showStaffFilter: z51.boolean(),
21491
+ showVenueFilter: z50.boolean(),
21492
+ showStaffFilter: z50.boolean(),
21559
21493
  eventKind: eventBlockKindSchema,
21560
21494
  eventSurface: eventSurfaceScopeSchema,
21561
- filterEventPresets: z51.string().nullable(),
21495
+ filterEventPresets: z50.string().nullable(),
21562
21496
  scheduleScope: eventScheduleScopeSchema2,
21563
- filterCategoryIds: z51.string().nullable().optional(),
21564
- filterStaffMemberId: z51.string().nullable().optional(),
21565
- filterVenueId: z51.string().nullable().optional(),
21566
- fetchInitialEventsOnMount: z51.boolean()
21497
+ filterCategoryIds: z50.string().nullable().optional(),
21498
+ filterStaffMemberId: z50.string().nullable().optional(),
21499
+ filterVenueId: z50.string().nullable().optional(),
21500
+ fetchInitialEventsOnMount: z50.boolean()
21567
21501
  });
21568
- var eventListingRenderSchema = z51.object({
21502
+ var eventListingRenderSchema = z50.object({
21569
21503
  display: eventListingDisplaySchema,
21570
21504
  hydration: eventListingHydrationSchema
21571
21505
  });
21572
21506
  var eventListingIslandMetaCodec = createZodCodec(
21573
- z51.object({
21574
- siteId: z51.string(),
21575
- apiBaseUrl: z51.string().optional(),
21507
+ z50.object({
21508
+ siteId: z50.string(),
21509
+ apiBaseUrl: z50.string().optional(),
21576
21510
  stage: previewStageSchema.optional()
21577
21511
  })
21578
21512
  );
@@ -21891,93 +21825,93 @@ var eventListingBlockDefinition = {
21891
21825
  };
21892
21826
 
21893
21827
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
21894
- import { z as z52 } from "zod";
21895
- var displayModeSchema = z52.enum(["combined", "month", "week", "list", "timetable"]);
21896
- var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
21897
- var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
21898
- var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
21899
- var eventCalendarSourceSchema = z52.object(
21828
+ import { z as z51 } from "zod";
21829
+ var displayModeSchema = z51.enum(["combined", "month", "week", "list", "timetable"]);
21830
+ var eventBlockKindSchema2 = z51.enum(eventBlockKindValues);
21831
+ var eventSurfaceScopeSchema2 = z51.enum(eventSurfaceScopeValues);
21832
+ var eventScheduleScopeSchema3 = z51.enum(eventScheduleScopeValues);
21833
+ var eventCalendarSourceSchema = z51.object(
21900
21834
  {
21901
- events: z52.array(publicEventSchema).nullable().optional(),
21902
- siteId: z52.string(),
21903
- apiBaseUrl: z52.string().optional(),
21835
+ events: z51.array(publicEventSchema).nullable().optional(),
21836
+ siteId: z51.string(),
21837
+ apiBaseUrl: z51.string().optional(),
21904
21838
  stage: previewStageSchema.optional(),
21905
21839
  displayMode: displayModeSchema.nullable().optional(),
21906
21840
  listLayout: eventLayoutSchema.optional(),
21907
21841
  listColumns: columnOptionSchema.optional(),
21908
21842
  layout: eventLayoutSchema.optional(),
21909
21843
  columns: columnOptionSchema.optional(),
21910
- eventsPerPage: z52.string().optional(),
21911
- compactEventsPerPage: z52.string().optional(),
21912
- loadMoreText: z52.string().optional(),
21844
+ eventsPerPage: z51.string().optional(),
21845
+ compactEventsPerPage: z51.string().optional(),
21846
+ loadMoreText: z51.string().optional(),
21913
21847
  startOfWeek: weekStartSchema.optional(),
21914
21848
  calendarTabViews: calendarTabViewsSchema.optional(),
21915
- showFilters: z52.boolean().nullable().optional(),
21849
+ showFilters: z51.boolean().nullable().optional(),
21916
21850
  showCategoryFilter: filterAutoShowSchema.optional(),
21917
- showVenueFilter: z52.boolean().nullable().optional(),
21918
- showStaffFilter: z52.boolean().nullable().optional(),
21851
+ showVenueFilter: z51.boolean().nullable().optional(),
21852
+ showStaffFilter: z51.boolean().nullable().optional(),
21919
21853
  kind: eventBlockKindSchema2.nullable().optional(),
21920
21854
  eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
21921
- filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
21855
+ filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
21922
21856
  scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
21923
- filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
21924
- filterStaffMemberId: z52.string().nullable().optional(),
21925
- filterVenueId: z52.string().nullable().optional(),
21857
+ filterCategoryIds: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
21858
+ filterStaffMemberId: z51.string().nullable().optional(),
21859
+ filterVenueId: z51.string().nullable().optional(),
21926
21860
  buttonVariant: eventButtonVariantSchema.optional(),
21927
- buttonText: z52.string().optional(),
21928
- showVenue: z52.boolean().nullable().optional(),
21929
- showMap: z52.boolean().nullable().optional(),
21930
- showCapacity: z52.boolean().nullable().optional(),
21931
- emptyMessage: z52.string().optional(),
21932
- className: z52.string().optional()
21861
+ buttonText: z51.string().optional(),
21862
+ showVenue: z51.boolean().nullable().optional(),
21863
+ showMap: z51.boolean().nullable().optional(),
21864
+ showCapacity: z51.boolean().nullable().optional(),
21865
+ emptyMessage: z51.string().optional(),
21866
+ className: z51.string().optional()
21933
21867
  }
21934
21868
  );
21935
- var eventCalendarDisplaySchema = z52.object({
21936
- kind: z52.literal("event-calendar"),
21869
+ var eventCalendarDisplaySchema = z51.object({
21870
+ kind: z51.literal("event-calendar"),
21937
21871
  displayMode: displayModeSchema,
21938
- className: z52.string().nullable(),
21939
- events: z52.array(publicEventSchema),
21872
+ className: z51.string().nullable(),
21873
+ events: z51.array(publicEventSchema),
21940
21874
  listLayout: eventLayoutSchema,
21941
21875
  listColumns: columnOptionSchema,
21942
- eventsPerPage: z52.string(),
21943
- loadMoreText: z52.string(),
21876
+ eventsPerPage: z51.string(),
21877
+ loadMoreText: z51.string(),
21944
21878
  startOfWeek: weekStartSchema,
21945
21879
  calendarTabViews: calendarTabViewsSchema,
21946
- showFilters: z52.boolean(),
21880
+ showFilters: z51.boolean(),
21947
21881
  showCategoryFilter: filterAutoShowSchema,
21948
- showVenueFilter: z52.boolean(),
21949
- showStaffFilter: z52.boolean(),
21882
+ showVenueFilter: z51.boolean(),
21883
+ showStaffFilter: z51.boolean(),
21950
21884
  eventKind: eventBlockKindSchema2,
21951
21885
  eventSurface: eventSurfaceScopeSchema2,
21952
- filterEventPresets: z52.string().nullable(),
21886
+ filterEventPresets: z51.string().nullable(),
21953
21887
  scheduleScope: eventScheduleScopeSchema3,
21954
- filterCategoryIds: z52.string().nullable(),
21955
- filterStaffMemberId: z52.string().nullable(),
21956
- filterVenueId: z52.string().nullable(),
21888
+ filterCategoryIds: z51.string().nullable(),
21889
+ filterStaffMemberId: z51.string().nullable(),
21890
+ filterVenueId: z51.string().nullable(),
21957
21891
  buttonVariant: eventButtonVariantSchema,
21958
- buttonText: z52.string(),
21959
- showVenue: z52.boolean(),
21960
- showMap: z52.boolean(),
21961
- showCapacity: z52.boolean(),
21962
- emptyMessage: z52.string()
21963
- });
21964
- var eventCalendarHydrationSchema = z52.object({
21965
- siteId: z52.string(),
21892
+ buttonText: z51.string(),
21893
+ showVenue: z51.boolean(),
21894
+ showMap: z51.boolean(),
21895
+ showCapacity: z51.boolean(),
21896
+ emptyMessage: z51.string()
21897
+ });
21898
+ var eventCalendarHydrationSchema = z51.object({
21899
+ siteId: z51.string(),
21966
21900
  stage: previewStageSchema.optional(),
21967
- prefetchedEvents: z52.boolean(),
21901
+ prefetchedEvents: z51.boolean(),
21968
21902
  eventKind: eventBlockKindSchema2,
21969
21903
  eventSurface: eventSurfaceScopeSchema2,
21970
- filterEventPresets: z52.string().nullable(),
21904
+ filterEventPresets: z51.string().nullable(),
21971
21905
  scheduleScope: eventScheduleScopeSchema3
21972
21906
  });
21973
- var eventCalendarRenderSchema = z52.object({
21907
+ var eventCalendarRenderSchema = z51.object({
21974
21908
  display: eventCalendarDisplaySchema,
21975
21909
  hydration: eventCalendarHydrationSchema
21976
21910
  });
21977
21911
  var eventCalendarIslandMetaCodec = createZodCodec(
21978
- z52.object({
21979
- siteId: z52.string(),
21980
- apiBaseUrl: z52.string().optional(),
21912
+ z51.object({
21913
+ siteId: z51.string(),
21914
+ apiBaseUrl: z51.string().optional(),
21981
21915
  stage: previewStageSchema.optional()
21982
21916
  })
21983
21917
  );
@@ -22571,7 +22505,7 @@ var eventCalendarBlockDefinition = {
22571
22505
  };
22572
22506
 
22573
22507
  // ../blocks/src/system/blocks/embed.ts
22574
- import { z as z53 } from "zod";
22508
+ import { z as z52 } from "zod";
22575
22509
  var embedFields = [
22576
22510
  // Section heading
22577
22511
  parseFieldDefinition({
@@ -22802,18 +22736,18 @@ var embedManifest = createBlockManifest({
22802
22736
  spacing: "lg"
22803
22737
  }
22804
22738
  });
22805
- var embedEntrySchema = z53.object({
22806
- id: z53.string(),
22807
- identifier: z53.string(),
22808
- title: z53.string(),
22809
- slug: z53.string().nullable().optional(),
22810
- content: z53.record(z53.string(), z53.unknown()).optional(),
22811
- publishedAt: z53.string().nullable().optional()
22739
+ var embedEntrySchema = z52.object({
22740
+ id: z52.string(),
22741
+ identifier: z52.string(),
22742
+ title: z52.string(),
22743
+ slug: z52.string().nullable().optional(),
22744
+ content: z52.record(z52.string(), z52.unknown()).optional(),
22745
+ publishedAt: z52.string().nullable().optional()
22812
22746
  });
22813
22747
  var embedBlockDefinition = {
22814
22748
  manifest: embedManifest,
22815
22749
  dataSchemas: {
22816
- entries: z53.array(embedEntrySchema).optional()
22750
+ entries: z52.array(embedEntrySchema).optional()
22817
22751
  },
22818
22752
  dataLoaders: {
22819
22753
  entries: {
@@ -23988,54 +23922,54 @@ var fileDownloadBlockDefinition = {
23988
23922
  };
23989
23923
 
23990
23924
  // ../blocks/src/system/blocks/shop.ts
23991
- import { z as z57 } from "zod";
23925
+ import { z as z56 } from "zod";
23992
23926
 
23993
23927
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
23994
- import { z as z56 } from "zod";
23928
+ import { z as z55 } from "zod";
23995
23929
 
23996
23930
  // ../blocks/src/system/blocks/products/shared.ts
23997
- import { z as z54 } from "zod";
23998
- var publicProductVariantSchema = z54.object({
23999
- id: z54.string(),
24000
- title: z54.string(),
24001
- sku: z54.string().nullable(),
24002
- priceCents: z54.number(),
24003
- stockQuantity: z54.number().nullable(),
24004
- soldOut: z54.boolean()
24005
- });
24006
- var publicProductSchema = z54.object({
24007
- id: z54.string(),
24008
- contentEntryId: z54.string().nullable(),
24009
- title: z54.string(),
24010
- slug: z54.string(),
24011
- path: z54.string().nullable(),
24012
- status: z54.enum(["draft", "active"]),
24013
- priceCents: z54.number(),
24014
- currency: z54.string(),
24015
- productType: z54.enum(["physical", "digital"]),
24016
- requiresShipping: z54.boolean(),
24017
- hasVariants: z54.boolean(),
24018
- trackInventory: z54.boolean(),
24019
- soldOut: z54.boolean(),
24020
- category: z54.object({
24021
- id: z54.string(),
24022
- name: z54.string(),
24023
- slug: z54.string()
23931
+ import { z as z53 } from "zod";
23932
+ var publicProductVariantSchema = z53.object({
23933
+ id: z53.string(),
23934
+ title: z53.string(),
23935
+ sku: z53.string().nullable(),
23936
+ priceCents: z53.number(),
23937
+ stockQuantity: z53.number().nullable(),
23938
+ soldOut: z53.boolean()
23939
+ });
23940
+ var publicProductSchema = z53.object({
23941
+ id: z53.string(),
23942
+ contentEntryId: z53.string().nullable(),
23943
+ title: z53.string(),
23944
+ slug: z53.string(),
23945
+ path: z53.string().nullable(),
23946
+ status: z53.enum(["draft", "active"]),
23947
+ priceCents: z53.number(),
23948
+ currency: z53.string(),
23949
+ productType: z53.enum(["physical", "digital"]),
23950
+ requiresShipping: z53.boolean(),
23951
+ hasVariants: z53.boolean(),
23952
+ trackInventory: z53.boolean(),
23953
+ soldOut: z53.boolean(),
23954
+ category: z53.object({
23955
+ id: z53.string(),
23956
+ name: z53.string(),
23957
+ slug: z53.string()
24024
23958
  }).nullable(),
24025
- summary: z54.string().nullable(),
24026
- badges: z54.array(z54.string()),
24027
- ctaLabel: z54.string().nullable(),
24028
- body: z54.unknown().nullable(),
24029
- gallery: z54.array(
24030
- z54.object({
24031
- url: z54.string(),
24032
- alt: z54.string().nullable()
23959
+ summary: z53.string().nullable(),
23960
+ badges: z53.array(z53.string()),
23961
+ ctaLabel: z53.string().nullable(),
23962
+ body: z53.unknown().nullable(),
23963
+ gallery: z53.array(
23964
+ z53.object({
23965
+ url: z53.string(),
23966
+ alt: z53.string().nullable()
24033
23967
  })
24034
23968
  ),
24035
- variants: z54.array(publicProductVariantSchema)
23969
+ variants: z53.array(publicProductVariantSchema)
24036
23970
  });
24037
- var publicProductsResponseSchema = z54.object({
24038
- products: z54.array(publicProductSchema)
23971
+ var publicProductsResponseSchema = z53.object({
23972
+ products: z53.array(publicProductSchema)
24039
23973
  });
24040
23974
 
24041
23975
  // ../blocks/src/system/runtime/api/creditProducts.ts
@@ -24099,26 +24033,26 @@ function deriveCreditProductLabels(products, options = {}) {
24099
24033
  }
24100
24034
 
24101
24035
  // ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
24102
- import { z as z55 } from "zod";
24103
- var storedProductCartItemSchema = z55.object({
24104
- kind: z55.literal("product"),
24105
- productId: z55.string().min(1),
24106
- variantId: z55.string().min(1).optional().nullable(),
24107
- title: z55.string().min(1),
24108
- variantTitle: z55.string().optional().nullable(),
24109
- quantity: z55.number().finite(),
24110
- unitPriceCents: z55.number().finite(),
24111
- currency: z55.string().min(1),
24112
- imageUrl: z55.string().optional().nullable(),
24113
- soldOut: z55.boolean().optional()
24114
- });
24115
- var storedPassCartItemSchema = z55.object({
24116
- kind: z55.literal("pass"),
24117
- passId: z55.string().min(1),
24118
- title: z55.string().min(1),
24119
- quantity: z55.number().finite().optional(),
24120
- unitPriceCents: z55.number().finite(),
24121
- currency: z55.string().min(1)
24036
+ import { z as z54 } from "zod";
24037
+ var storedProductCartItemSchema = z54.object({
24038
+ kind: z54.literal("product"),
24039
+ productId: z54.string().min(1),
24040
+ variantId: z54.string().min(1).optional().nullable(),
24041
+ title: z54.string().min(1),
24042
+ variantTitle: z54.string().optional().nullable(),
24043
+ quantity: z54.number().finite(),
24044
+ unitPriceCents: z54.number().finite(),
24045
+ currency: z54.string().min(1),
24046
+ imageUrl: z54.string().optional().nullable(),
24047
+ soldOut: z54.boolean().optional()
24048
+ });
24049
+ var storedPassCartItemSchema = z54.object({
24050
+ kind: z54.literal("pass"),
24051
+ passId: z54.string().min(1),
24052
+ title: z54.string().min(1),
24053
+ quantity: z54.number().finite().optional(),
24054
+ unitPriceCents: z54.number().finite(),
24055
+ currency: z54.string().min(1)
24122
24056
  });
24123
24057
  function deriveCommerceCheckoutState(state) {
24124
24058
  if (state.items.length === 0) {
@@ -24357,219 +24291,219 @@ function formatValidity(days) {
24357
24291
  }
24358
24292
 
24359
24293
  // ../blocks/src/system/runtime/nodes/shop.interactive.ts
24360
- var shopModeSchema = z56.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
24361
- var contentEntrySchema3 = z56.object({
24362
- id: z56.string().nullable().optional(),
24363
- slug: z56.string().nullable().optional()
24294
+ var shopModeSchema = z55.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
24295
+ var contentEntrySchema3 = z55.object({
24296
+ id: z55.string().nullable().optional(),
24297
+ slug: z55.string().nullable().optional()
24364
24298
  }).nullable();
24365
- var shopSourceSchema = z56.object({
24366
- className: z56.string().nullable().optional(),
24299
+ var shopSourceSchema = z55.object({
24300
+ className: z55.string().nullable().optional(),
24367
24301
  mode: shopModeSchema.optional(),
24368
- heading: z56.string().nullable().optional(),
24369
- productSlug: z56.string().nullable().optional(),
24370
- showPasses: z56.boolean().optional(),
24371
- showMemberships: z56.boolean().optional(),
24372
- layout: z56.enum(["grid", "list"]).optional(),
24373
- columns: z56.string().optional(),
24374
- showDescriptions: z56.boolean().optional(),
24375
- showSummary: z56.boolean().optional(),
24376
- showBody: z56.boolean().optional(),
24377
- showBadges: z56.boolean().optional(),
24378
- showPrices: z56.boolean().optional(),
24379
- showValidityPeriod: z56.boolean().optional(),
24380
- showPricePerCredit: z56.boolean().nullable().optional(),
24381
- passesHeading: z56.string().optional(),
24382
- membershipsHeading: z56.string().optional(),
24383
- buyButtonText: z56.string().optional(),
24384
- addButtonText: z56.string().optional(),
24385
- passPurchaseMode: z56.enum(["add_to_cart", "buy_now"]).optional(),
24386
- subscribeButtonText: z56.string().optional(),
24387
- emptyStateText: z56.string().optional(),
24388
- checkoutButtonText: z56.string().optional(),
24389
- clearButtonText: z56.string().optional(),
24390
- submitButtonText: z56.string().optional(),
24302
+ heading: z55.string().nullable().optional(),
24303
+ productSlug: z55.string().nullable().optional(),
24304
+ showPasses: z55.boolean().optional(),
24305
+ showMemberships: z55.boolean().optional(),
24306
+ layout: z55.enum(["grid", "list"]).optional(),
24307
+ columns: z55.string().optional(),
24308
+ showDescriptions: z55.boolean().optional(),
24309
+ showSummary: z55.boolean().optional(),
24310
+ showBody: z55.boolean().optional(),
24311
+ showBadges: z55.boolean().optional(),
24312
+ showPrices: z55.boolean().optional(),
24313
+ showValidityPeriod: z55.boolean().optional(),
24314
+ showPricePerCredit: z55.boolean().nullable().optional(),
24315
+ passesHeading: z55.string().optional(),
24316
+ membershipsHeading: z55.string().optional(),
24317
+ buyButtonText: z55.string().optional(),
24318
+ addButtonText: z55.string().optional(),
24319
+ passPurchaseMode: z55.enum(["add_to_cart", "buy_now"]).optional(),
24320
+ subscribeButtonText: z55.string().optional(),
24321
+ emptyStateText: z55.string().optional(),
24322
+ checkoutButtonText: z55.string().optional(),
24323
+ clearButtonText: z55.string().optional(),
24324
+ submitButtonText: z55.string().optional(),
24391
24325
  contentEntry: contentEntrySchema3.optional(),
24392
- passes: z56.array(publicPassProductSchema).nullable().optional(),
24393
- memberships: z56.array(publicMembershipProductSchema).nullable().optional(),
24394
- products: z56.array(publicProductSchema).nullable().optional(),
24395
- siteId: z56.string().optional(),
24396
- apiBaseUrl: z56.string().optional(),
24326
+ passes: z55.array(publicPassProductSchema).nullable().optional(),
24327
+ memberships: z55.array(publicMembershipProductSchema).nullable().optional(),
24328
+ products: z55.array(publicProductSchema).nullable().optional(),
24329
+ siteId: z55.string().optional(),
24330
+ apiBaseUrl: z55.string().optional(),
24397
24331
  stage: previewStageSchema.optional()
24398
24332
  });
24399
- var productVariantOptionDisplaySchema = z56.object({
24400
- id: z56.string(),
24401
- label: z56.string(),
24402
- soldOut: z56.boolean()
24403
- });
24404
- var productCardDisplaySchema = z56.object({
24405
- productId: z56.string(),
24406
- title: z56.string(),
24407
- path: z56.string().nullable(),
24408
- summary: z56.string().nullable(),
24409
- priceLabel: z56.string().nullable(),
24410
- badges: z56.array(z56.string()),
24411
- image: z56.object({
24412
- url: z56.string(),
24413
- alt: z56.string().nullable()
24333
+ var productVariantOptionDisplaySchema = z55.object({
24334
+ id: z55.string(),
24335
+ label: z55.string(),
24336
+ soldOut: z55.boolean()
24337
+ });
24338
+ var productCardDisplaySchema = z55.object({
24339
+ productId: z55.string(),
24340
+ title: z55.string(),
24341
+ path: z55.string().nullable(),
24342
+ summary: z55.string().nullable(),
24343
+ priceLabel: z55.string().nullable(),
24344
+ badges: z55.array(z55.string()),
24345
+ image: z55.object({
24346
+ url: z55.string(),
24347
+ alt: z55.string().nullable()
24414
24348
  }).nullable(),
24415
- variantOptions: z56.array(productVariantOptionDisplaySchema),
24416
- selectedVariantId: z56.string().nullable(),
24417
- selectionLabel: z56.string(),
24418
- actionLabel: z56.string(),
24419
- soldOut: z56.boolean()
24420
- });
24421
- var productListDisplaySchema = z56.object({
24422
- kind: z56.literal("product-list"),
24423
- state: z56.enum(["empty", "ready"]),
24424
- heading: z56.string().nullable(),
24425
- className: z56.string().nullable(),
24426
- layout: z56.enum(["grid", "list"]),
24427
- columns: z56.string(),
24428
- emptyMessage: z56.string(),
24429
- cards: z56.array(productCardDisplaySchema)
24430
- });
24431
- var productDetailDisplaySchema = z56.discriminatedUnion("state", [
24432
- z56.object({
24433
- kind: z56.literal("product-detail"),
24434
- state: z56.literal("empty"),
24435
- heading: z56.string().nullable(),
24436
- className: z56.string().nullable(),
24437
- emptyMessage: z56.string()
24349
+ variantOptions: z55.array(productVariantOptionDisplaySchema),
24350
+ selectedVariantId: z55.string().nullable(),
24351
+ selectionLabel: z55.string(),
24352
+ actionLabel: z55.string(),
24353
+ soldOut: z55.boolean()
24354
+ });
24355
+ var productListDisplaySchema = z55.object({
24356
+ kind: z55.literal("product-list"),
24357
+ state: z55.enum(["empty", "ready"]),
24358
+ heading: z55.string().nullable(),
24359
+ className: z55.string().nullable(),
24360
+ layout: z55.enum(["grid", "list"]),
24361
+ columns: z55.string(),
24362
+ emptyMessage: z55.string(),
24363
+ cards: z55.array(productCardDisplaySchema)
24364
+ });
24365
+ var productDetailDisplaySchema = z55.discriminatedUnion("state", [
24366
+ z55.object({
24367
+ kind: z55.literal("product-detail"),
24368
+ state: z55.literal("empty"),
24369
+ heading: z55.string().nullable(),
24370
+ className: z55.string().nullable(),
24371
+ emptyMessage: z55.string()
24438
24372
  }),
24439
- z56.object({
24440
- kind: z56.literal("product-detail"),
24441
- state: z56.literal("ready"),
24442
- heading: z56.string().nullable(),
24443
- className: z56.string().nullable(),
24444
- title: z56.string(),
24445
- priceLabel: z56.string(),
24446
- summary: z56.string().nullable(),
24447
- badges: z56.array(z56.string()),
24448
- categoryLabel: z56.string().nullable(),
24449
- gallery: z56.array(z56.object({
24450
- url: z56.string(),
24451
- alt: z56.string().nullable()
24373
+ z55.object({
24374
+ kind: z55.literal("product-detail"),
24375
+ state: z55.literal("ready"),
24376
+ heading: z55.string().nullable(),
24377
+ className: z55.string().nullable(),
24378
+ title: z55.string(),
24379
+ priceLabel: z55.string(),
24380
+ summary: z55.string().nullable(),
24381
+ badges: z55.array(z55.string()),
24382
+ categoryLabel: z55.string().nullable(),
24383
+ gallery: z55.array(z55.object({
24384
+ url: z55.string(),
24385
+ alt: z55.string().nullable()
24452
24386
  })),
24453
- variantOptions: z56.array(productVariantOptionDisplaySchema),
24454
- selectedVariantId: z56.string().nullable(),
24455
- selectionLabel: z56.string(),
24456
- actionLabel: z56.string(),
24457
- soldOut: z56.boolean(),
24458
- body: z56.unknown().nullable()
24387
+ variantOptions: z55.array(productVariantOptionDisplaySchema),
24388
+ selectedVariantId: z55.string().nullable(),
24389
+ selectionLabel: z55.string(),
24390
+ actionLabel: z55.string(),
24391
+ soldOut: z55.boolean(),
24392
+ body: z55.unknown().nullable()
24459
24393
  })
24460
24394
  ]);
24461
- var passCardDisplaySchema = z56.object({
24462
- id: z56.string(),
24463
- title: z56.string(),
24464
- description: z56.string().nullable(),
24465
- priceLabel: z56.string(),
24466
- creditsLabel: z56.string(),
24467
- perCreditLabel: z56.string().nullable(),
24468
- validityLabel: z56.string().nullable(),
24469
- actionLabel: z56.string()
24470
- });
24471
- var membershipCardDisplaySchema = z56.object({
24472
- id: z56.string(),
24473
- title: z56.string(),
24474
- description: z56.string().nullable(),
24475
- priceLabel: z56.string(),
24476
- intervalLabel: z56.string(),
24477
- actionLabel: z56.string()
24478
- });
24479
- var passesMembershipsDisplaySchema = z56.object({
24480
- kind: z56.literal("passes-memberships"),
24481
- state: z56.enum(["empty", "ready"]),
24482
- className: z56.string().nullable(),
24483
- layout: z56.enum(["grid", "list"]),
24484
- columns: z56.string(),
24485
- emptyMessage: z56.string(),
24486
- passesHeading: z56.string(),
24487
- membershipsHeading: z56.string(),
24488
- passes: z56.array(passCardDisplaySchema),
24489
- memberships: z56.array(membershipCardDisplaySchema)
24490
- });
24491
- var cartLineDisplaySchema = z56.object({
24492
- key: z56.string(),
24493
- title: z56.string(),
24494
- priceLabel: z56.string(),
24495
- quantity: z56.number(),
24496
- quantityEditable: z56.boolean()
24497
- });
24498
- var cartDisplaySchema = z56.object({
24499
- kind: z56.literal("cart"),
24500
- state: z56.enum(["empty", "ready"]),
24501
- heading: z56.string().nullable(),
24502
- className: z56.string().nullable(),
24503
- emptyMessage: z56.string(),
24504
- supportText: z56.string().nullable(),
24505
- items: z56.array(cartLineDisplaySchema),
24506
- subtotalLabel: z56.string().nullable(),
24507
- checkoutButtonText: z56.string(),
24508
- clearButtonText: z56.string()
24509
- });
24510
- var checkoutDisplaySchema = z56.object({
24511
- kind: z56.literal("checkout"),
24512
- state: z56.enum(["empty", "blocked", "ready"]),
24513
- heading: z56.string().nullable(),
24514
- className: z56.string().nullable(),
24515
- message: z56.string().nullable(),
24516
- submitButtonText: z56.string()
24517
- });
24518
- var passesMembershipsHydrationSchema = z56.object({
24519
- passes: z56.array(publicPassProductSchema),
24520
- memberships: z56.array(publicMembershipProductSchema),
24521
- passPurchaseMode: z56.enum(["add_to_cart", "buy_now"])
24522
- });
24523
- var productListHydrationSchema = z56.object({
24524
- products: z56.array(publicProductSchema),
24525
- showSummary: z56.boolean(),
24526
- showBadges: z56.boolean(),
24527
- showPrices: z56.boolean(),
24528
- addButtonText: z56.string()
24529
- });
24530
- var productDetailHydrationSchema = z56.object({
24531
- products: z56.array(publicProductSchema),
24532
- productId: z56.string().nullable(),
24533
- showSummary: z56.boolean(),
24534
- showBadges: z56.boolean(),
24535
- showBody: z56.boolean(),
24536
- addButtonText: z56.string()
24537
- });
24538
- var cartHydrationSchema = z56.object({
24539
- emptyStateText: z56.string(),
24540
- checkoutButtonText: z56.string(),
24541
- clearButtonText: z56.string()
24542
- });
24543
- var checkoutHydrationSchema = z56.object({
24544
- emptyStateText: z56.string(),
24545
- submitButtonText: z56.string()
24546
- });
24547
- var passesMembershipsRenderSchema = z56.object({
24395
+ var passCardDisplaySchema = z55.object({
24396
+ id: z55.string(),
24397
+ title: z55.string(),
24398
+ description: z55.string().nullable(),
24399
+ priceLabel: z55.string(),
24400
+ creditsLabel: z55.string(),
24401
+ perCreditLabel: z55.string().nullable(),
24402
+ validityLabel: z55.string().nullable(),
24403
+ actionLabel: z55.string()
24404
+ });
24405
+ var membershipCardDisplaySchema = z55.object({
24406
+ id: z55.string(),
24407
+ title: z55.string(),
24408
+ description: z55.string().nullable(),
24409
+ priceLabel: z55.string(),
24410
+ intervalLabel: z55.string(),
24411
+ actionLabel: z55.string()
24412
+ });
24413
+ var passesMembershipsDisplaySchema = z55.object({
24414
+ kind: z55.literal("passes-memberships"),
24415
+ state: z55.enum(["empty", "ready"]),
24416
+ className: z55.string().nullable(),
24417
+ layout: z55.enum(["grid", "list"]),
24418
+ columns: z55.string(),
24419
+ emptyMessage: z55.string(),
24420
+ passesHeading: z55.string(),
24421
+ membershipsHeading: z55.string(),
24422
+ passes: z55.array(passCardDisplaySchema),
24423
+ memberships: z55.array(membershipCardDisplaySchema)
24424
+ });
24425
+ var cartLineDisplaySchema = z55.object({
24426
+ key: z55.string(),
24427
+ title: z55.string(),
24428
+ priceLabel: z55.string(),
24429
+ quantity: z55.number(),
24430
+ quantityEditable: z55.boolean()
24431
+ });
24432
+ var cartDisplaySchema = z55.object({
24433
+ kind: z55.literal("cart"),
24434
+ state: z55.enum(["empty", "ready"]),
24435
+ heading: z55.string().nullable(),
24436
+ className: z55.string().nullable(),
24437
+ emptyMessage: z55.string(),
24438
+ supportText: z55.string().nullable(),
24439
+ items: z55.array(cartLineDisplaySchema),
24440
+ subtotalLabel: z55.string().nullable(),
24441
+ checkoutButtonText: z55.string(),
24442
+ clearButtonText: z55.string()
24443
+ });
24444
+ var checkoutDisplaySchema = z55.object({
24445
+ kind: z55.literal("checkout"),
24446
+ state: z55.enum(["empty", "blocked", "ready"]),
24447
+ heading: z55.string().nullable(),
24448
+ className: z55.string().nullable(),
24449
+ message: z55.string().nullable(),
24450
+ submitButtonText: z55.string()
24451
+ });
24452
+ var passesMembershipsHydrationSchema = z55.object({
24453
+ passes: z55.array(publicPassProductSchema),
24454
+ memberships: z55.array(publicMembershipProductSchema),
24455
+ passPurchaseMode: z55.enum(["add_to_cart", "buy_now"])
24456
+ });
24457
+ var productListHydrationSchema = z55.object({
24458
+ products: z55.array(publicProductSchema),
24459
+ showSummary: z55.boolean(),
24460
+ showBadges: z55.boolean(),
24461
+ showPrices: z55.boolean(),
24462
+ addButtonText: z55.string()
24463
+ });
24464
+ var productDetailHydrationSchema = z55.object({
24465
+ products: z55.array(publicProductSchema),
24466
+ productId: z55.string().nullable(),
24467
+ showSummary: z55.boolean(),
24468
+ showBadges: z55.boolean(),
24469
+ showBody: z55.boolean(),
24470
+ addButtonText: z55.string()
24471
+ });
24472
+ var cartHydrationSchema = z55.object({
24473
+ emptyStateText: z55.string(),
24474
+ checkoutButtonText: z55.string(),
24475
+ clearButtonText: z55.string()
24476
+ });
24477
+ var checkoutHydrationSchema = z55.object({
24478
+ emptyStateText: z55.string(),
24479
+ submitButtonText: z55.string()
24480
+ });
24481
+ var passesMembershipsRenderSchema = z55.object({
24548
24482
  display: passesMembershipsDisplaySchema,
24549
24483
  hydration: passesMembershipsHydrationSchema
24550
24484
  });
24551
- var productListRenderSchema = z56.object({
24485
+ var productListRenderSchema = z55.object({
24552
24486
  display: productListDisplaySchema,
24553
24487
  hydration: productListHydrationSchema
24554
24488
  });
24555
- var productDetailRenderSchema = z56.object({
24489
+ var productDetailRenderSchema = z55.object({
24556
24490
  display: productDetailDisplaySchema,
24557
24491
  hydration: productDetailHydrationSchema
24558
24492
  });
24559
- var cartRenderSchema = z56.object({
24493
+ var cartRenderSchema = z55.object({
24560
24494
  display: cartDisplaySchema,
24561
24495
  hydration: cartHydrationSchema
24562
24496
  });
24563
- var checkoutRenderSchema = z56.object({
24497
+ var checkoutRenderSchema = z55.object({
24564
24498
  display: checkoutDisplaySchema,
24565
24499
  hydration: checkoutHydrationSchema
24566
24500
  });
24567
24501
  function resolveShowPricePerCredit(source) {
24568
24502
  return source.showPricePerCredit ?? true;
24569
24503
  }
24570
- var shopIslandMetaCodec = createZodCodec(z56.object({
24571
- siteId: z56.string().optional(),
24572
- apiBaseUrl: z56.string().optional(),
24504
+ var shopIslandMetaCodec = createZodCodec(z55.object({
24505
+ siteId: z55.string().optional(),
24506
+ apiBaseUrl: z55.string().optional(),
24573
24507
  stage: previewStageSchema.optional()
24574
24508
  }));
24575
24509
  var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
@@ -24951,9 +24885,9 @@ var shopBlockDefinition = {
24951
24885
  runtime: shopBlockRuntime,
24952
24886
  dataSchemas: {
24953
24887
  // listPublicPasses returns { passes: [...] }
24954
- passes: z57.object({ passes: z57.array(publicPassProductSchema) }).optional(),
24888
+ passes: z56.object({ passes: z56.array(publicPassProductSchema) }).optional(),
24955
24889
  // listPublicMemberships returns { memberships: [...] }
24956
- memberships: z57.object({ memberships: z57.array(publicMembershipProductSchema) }).optional()
24890
+ memberships: z56.object({ memberships: z56.array(publicMembershipProductSchema) }).optional()
24957
24891
  },
24958
24892
  dataLoaders: {
24959
24893
  // Load passes for display
@@ -24976,7 +24910,7 @@ var shopBlockDefinition = {
24976
24910
  };
24977
24911
 
24978
24912
  // ../blocks/src/system/blocks/product-list.ts
24979
- import { z as z58 } from "zod";
24913
+ import { z as z57 } from "zod";
24980
24914
  var productListManifest = createBlockManifest({
24981
24915
  id: "block.product-list",
24982
24916
  version: "1.0.0",
@@ -25118,7 +25052,7 @@ var productListBlockDefinition = {
25118
25052
  }
25119
25053
  }
25120
25054
  };
25121
- var productListDataSchema = z58.object({
25055
+ var productListDataSchema = z57.object({
25122
25056
  products: publicProductsResponseSchema.optional()
25123
25057
  });
25124
25058
 
@@ -25388,72 +25322,72 @@ var checkoutBlockDefinition = {
25388
25322
  };
25389
25323
 
25390
25324
  // ../blocks/src/system/runtime/nodes/gifting.interactive.ts
25391
- import { z as z59 } from "zod";
25392
- var publicGiftCardOfferSchema = z59.object({
25393
- id: z59.string(),
25394
- kind: z59.literal("gift_card"),
25395
- title: z59.string(),
25396
- description: z59.string().nullable(),
25397
- sortOrder: z59.number().int(),
25398
- giftCard: z59.object({
25399
- fixedDenominations: z59.array(z59.number().int().positive()),
25400
- customAmountEnabled: z59.boolean(),
25401
- customAmountMinCents: z59.number().int().positive(),
25402
- customAmountMaxCents: z59.number().int().positive()
25325
+ import { z as z58 } from "zod";
25326
+ var publicGiftCardOfferSchema = z58.object({
25327
+ id: z58.string(),
25328
+ kind: z58.literal("gift_card"),
25329
+ title: z58.string(),
25330
+ description: z58.string().nullable(),
25331
+ sortOrder: z58.number().int(),
25332
+ giftCard: z58.object({
25333
+ fixedDenominations: z58.array(z58.number().int().positive()),
25334
+ customAmountEnabled: z58.boolean(),
25335
+ customAmountMinCents: z58.number().int().positive(),
25336
+ customAmountMaxCents: z58.number().int().positive()
25403
25337
  }),
25404
- voucher: z59.null()
25405
- });
25406
- var publicVoucherOfferSchema = z59.object({
25407
- id: z59.string(),
25408
- kind: z59.literal("voucher"),
25409
- title: z59.string(),
25410
- description: z59.string().nullable(),
25411
- sortOrder: z59.number().int(),
25412
- giftCard: z59.null(),
25413
- voucher: z59.object({
25414
- purchaseAmountCents: z59.number().int().positive()
25338
+ voucher: z58.null()
25339
+ });
25340
+ var publicVoucherOfferSchema = z58.object({
25341
+ id: z58.string(),
25342
+ kind: z58.literal("voucher"),
25343
+ title: z58.string(),
25344
+ description: z58.string().nullable(),
25345
+ sortOrder: z58.number().int(),
25346
+ giftCard: z58.null(),
25347
+ voucher: z58.object({
25348
+ purchaseAmountCents: z58.number().int().positive()
25415
25349
  })
25416
25350
  });
25417
- var publicGiftingOffersResponseSchema = z59.object({
25418
- currency: z59.string(),
25419
- giftCards: z59.array(publicGiftCardOfferSchema),
25420
- vouchers: z59.array(publicVoucherOfferSchema)
25351
+ var publicGiftingOffersResponseSchema = z58.object({
25352
+ currency: z58.string(),
25353
+ giftCards: z58.array(publicGiftCardOfferSchema),
25354
+ vouchers: z58.array(publicVoucherOfferSchema)
25421
25355
  });
25422
- var giftingSourceSchema = z59.object({
25423
- siteId: z59.string().optional(),
25424
- apiBaseUrl: z59.string().optional(),
25356
+ var giftingSourceSchema = z58.object({
25357
+ siteId: z58.string().optional(),
25358
+ apiBaseUrl: z58.string().optional(),
25425
25359
  offers: publicGiftingOffersResponseSchema.nullable().optional(),
25426
- className: z59.string().nullable().optional(),
25427
- heading: z59.string().nullable().optional(),
25428
- intro: z59.string().nullable().optional(),
25429
- giftCardsHeading: z59.string().nullable().optional(),
25430
- vouchersHeading: z59.string().nullable().optional(),
25431
- emptyStateText: z59.string().nullable().optional(),
25432
- checkoutButtonText: z59.string().nullable().optional(),
25433
- successMessage: z59.string().nullable().optional()
25434
- });
25435
- var giftingDisplaySchema = z59.object({
25436
- kind: z59.literal("gifting"),
25437
- state: z59.literal("ready"),
25438
- className: z59.string().nullable(),
25439
- heading: z59.string(),
25440
- intro: z59.string().nullable(),
25441
- giftCardsHeading: z59.string(),
25442
- vouchersHeading: z59.string(),
25443
- emptyStateText: z59.string()
25444
- });
25445
- var giftingHydrationSchema = z59.object({
25360
+ className: z58.string().nullable().optional(),
25361
+ heading: z58.string().nullable().optional(),
25362
+ intro: z58.string().nullable().optional(),
25363
+ giftCardsHeading: z58.string().nullable().optional(),
25364
+ vouchersHeading: z58.string().nullable().optional(),
25365
+ emptyStateText: z58.string().nullable().optional(),
25366
+ checkoutButtonText: z58.string().nullable().optional(),
25367
+ successMessage: z58.string().nullable().optional()
25368
+ });
25369
+ var giftingDisplaySchema = z58.object({
25370
+ kind: z58.literal("gifting"),
25371
+ state: z58.literal("ready"),
25372
+ className: z58.string().nullable(),
25373
+ heading: z58.string(),
25374
+ intro: z58.string().nullable(),
25375
+ giftCardsHeading: z58.string(),
25376
+ vouchersHeading: z58.string(),
25377
+ emptyStateText: z58.string()
25378
+ });
25379
+ var giftingHydrationSchema = z58.object({
25446
25380
  offers: publicGiftingOffersResponseSchema.nullable(),
25447
- checkoutButtonText: z59.string(),
25448
- successMessage: z59.string()
25381
+ checkoutButtonText: z58.string(),
25382
+ successMessage: z58.string()
25449
25383
  });
25450
- var giftingRenderSchema = z59.object({
25384
+ var giftingRenderSchema = z58.object({
25451
25385
  display: giftingDisplaySchema,
25452
25386
  hydration: giftingHydrationSchema
25453
25387
  });
25454
- var giftingIslandMetaCodec = createZodCodec(z59.object({
25455
- siteId: z59.string().optional(),
25456
- apiBaseUrl: z59.string().optional()
25388
+ var giftingIslandMetaCodec = createZodCodec(z58.object({
25389
+ siteId: z58.string().optional(),
25390
+ apiBaseUrl: z58.string().optional()
25457
25391
  }));
25458
25392
  var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
25459
25393
  "siteId",
@@ -25624,7 +25558,7 @@ var giftingBlockDefinition = {
25624
25558
  };
25625
25559
 
25626
25560
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
25627
- import { z as z60 } from "zod";
25561
+ import { z as z59 } from "zod";
25628
25562
 
25629
25563
  // ../blocks/src/system/runtime/nodes/newsletter-form.types.ts
25630
25564
  function getPresetFields(preset2, options) {
@@ -25678,49 +25612,49 @@ function withOptionalPhone(fields3, includePhone) {
25678
25612
  }
25679
25613
 
25680
25614
  // ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
25681
- var newsletterPresetSchema = z60.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
25682
- var newsletterFieldSchema = z60.object({
25683
- id: z60.string(),
25684
- type: z60.enum(["email", "text"]),
25685
- label: z60.string(),
25686
- required: z60.boolean(),
25687
- placeholder: z60.string().optional()
25688
- });
25689
- var newsletterSourceSchema = z60.object({
25690
- siteId: z60.string().optional(),
25691
- apiBaseUrl: z60.string().optional(),
25692
- listId: z60.string().nullable().optional(),
25615
+ var newsletterPresetSchema = z59.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
25616
+ var newsletterFieldSchema = z59.object({
25617
+ id: z59.string(),
25618
+ type: z59.enum(["email", "text"]),
25619
+ label: z59.string(),
25620
+ required: z59.boolean(),
25621
+ placeholder: z59.string().optional()
25622
+ });
25623
+ var newsletterSourceSchema = z59.object({
25624
+ siteId: z59.string().optional(),
25625
+ apiBaseUrl: z59.string().optional(),
25626
+ listId: z59.string().nullable().optional(),
25693
25627
  preset: newsletterPresetSchema.optional(),
25694
- includePhone: z60.boolean().optional(),
25695
- buttonLabel: z60.string().nullable().optional(),
25696
- successMessage: z60.string().nullable().optional(),
25697
- privacyNote: z60.string().nullable().optional(),
25698
- tags: z60.string().nullable().optional(),
25699
- spamProtectionEnabled: z60.boolean().optional(),
25700
- className: z60.string().nullable().optional()
25701
- });
25702
- var newsletterDisplaySchema = z60.object({
25703
- kind: z60.literal("newsletter-form"),
25704
- className: z60.string().nullable(),
25705
- buttonLabel: z60.string(),
25706
- successMessage: z60.string().nullable(),
25707
- privacyNote: z60.string().nullable(),
25708
- fields: z60.array(newsletterFieldSchema)
25709
- });
25710
- var newsletterHydrationSchema = z60.object({
25711
- listId: z60.string().nullable().optional(),
25628
+ includePhone: z59.boolean().optional(),
25629
+ buttonLabel: z59.string().nullable().optional(),
25630
+ successMessage: z59.string().nullable().optional(),
25631
+ privacyNote: z59.string().nullable().optional(),
25632
+ tags: z59.string().nullable().optional(),
25633
+ spamProtectionEnabled: z59.boolean().optional(),
25634
+ className: z59.string().nullable().optional()
25635
+ });
25636
+ var newsletterDisplaySchema = z59.object({
25637
+ kind: z59.literal("newsletter-form"),
25638
+ className: z59.string().nullable(),
25639
+ buttonLabel: z59.string(),
25640
+ successMessage: z59.string().nullable(),
25641
+ privacyNote: z59.string().nullable(),
25642
+ fields: z59.array(newsletterFieldSchema)
25643
+ });
25644
+ var newsletterHydrationSchema = z59.object({
25645
+ listId: z59.string().nullable().optional(),
25712
25646
  preset: newsletterPresetSchema,
25713
- includePhone: z60.boolean(),
25714
- tags: z60.string().nullable().optional(),
25715
- spamProtectionEnabled: z60.boolean().optional()
25647
+ includePhone: z59.boolean(),
25648
+ tags: z59.string().nullable().optional(),
25649
+ spamProtectionEnabled: z59.boolean().optional()
25716
25650
  });
25717
- var newsletterRenderSchema = z60.object({
25651
+ var newsletterRenderSchema = z59.object({
25718
25652
  display: newsletterDisplaySchema,
25719
25653
  hydration: newsletterHydrationSchema
25720
25654
  });
25721
- var newsletterIslandMetaCodec = createZodCodec(z60.object({
25722
- siteId: z60.string().optional(),
25723
- apiBaseUrl: z60.string().optional()
25655
+ var newsletterIslandMetaCodec = createZodCodec(z59.object({
25656
+ siteId: z59.string().optional(),
25657
+ apiBaseUrl: z59.string().optional()
25724
25658
  }));
25725
25659
  var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
25726
25660
  function buildNewsletterDisplay(source) {
@@ -25841,23 +25775,23 @@ var newsletterSignupBlockDefinition = {
25841
25775
  };
25842
25776
 
25843
25777
  // ../blocks/src/system/blocks/team-members.ts
25844
- import { z as z61 } from "zod";
25778
+ import { z as z60 } from "zod";
25845
25779
  var ITEM_NAME2 = "member";
25846
25780
  var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
25847
25781
  message: "Team member photos must be image media"
25848
25782
  }).nullable();
25849
- var teamMemberDataSchema = z61.object({
25850
- _type: z61.literal("teamMember"),
25851
- id: z61.string(),
25852
- name: z61.string(),
25853
- role: z61.string().nullable(),
25854
- roleLabel: z61.string().nullable(),
25855
- bio: z61.string().nullable(),
25856
- summary: z61.string().nullable(),
25783
+ var teamMemberDataSchema = z60.object({
25784
+ _type: z60.literal("teamMember"),
25785
+ id: z60.string(),
25786
+ name: z60.string(),
25787
+ role: z60.string().nullable(),
25788
+ roleLabel: z60.string().nullable(),
25789
+ bio: z60.string().nullable(),
25790
+ summary: z60.string().nullable(),
25857
25791
  photo: teamMemberPhotoSchema,
25858
- profilePath: z61.string().nullable()
25792
+ profilePath: z60.string().nullable()
25859
25793
  });
25860
- var teamMembersDataSchema = z61.array(teamMemberDataSchema);
25794
+ var teamMembersDataSchema = z60.array(teamMemberDataSchema);
25861
25795
  var dynamicSourceWhen = { equals: "site_staff" };
25862
25796
  var manualSourceWhen = { equals: "site_staff", not: true };
25863
25797
  var headingNode = text(
@@ -27413,6 +27347,74 @@ var builtinTransformDefinitions = [
27413
27347
  ];
27414
27348
  var defaultTransforms = createTransformRegistry(builtinTransformDefinitions);
27415
27349
 
27350
+ // ../api/src/aiPlayground.ts
27351
+ import { z as z61 } from "zod";
27352
+ var Rfc6902PatchOp = z61.discriminatedUnion("op", [
27353
+ // Standard RFC-6902 operations
27354
+ z61.object({
27355
+ op: z61.literal("add"),
27356
+ path: z61.string(),
27357
+ value: z61.unknown()
27358
+ }),
27359
+ z61.object({
27360
+ op: z61.literal("remove"),
27361
+ path: z61.string()
27362
+ }),
27363
+ z61.object({
27364
+ op: z61.literal("replace"),
27365
+ path: z61.string(),
27366
+ value: z61.unknown()
27367
+ }),
27368
+ z61.object({
27369
+ op: z61.literal("move"),
27370
+ from: z61.string(),
27371
+ path: z61.string()
27372
+ }),
27373
+ z61.object({
27374
+ op: z61.literal("copy"),
27375
+ from: z61.string(),
27376
+ path: z61.string()
27377
+ }),
27378
+ // Block-level operations (Phase 2)
27379
+ z61.object({
27380
+ op: z61.literal("add_block"),
27381
+ blockKind: z61.string(),
27382
+ afterBlockId: z61.string().nullable(),
27383
+ content: z61.record(z61.string(), z61.unknown()),
27384
+ rationale: z61.string()
27385
+ }),
27386
+ z61.object({
27387
+ op: z61.literal("delete_block"),
27388
+ blockId: z61.string(),
27389
+ rationale: z61.string()
27390
+ }),
27391
+ z61.object({
27392
+ op: z61.literal("reorder_block"),
27393
+ blockId: z61.string(),
27394
+ afterBlockId: z61.string().nullable(),
27395
+ rationale: z61.string()
27396
+ })
27397
+ ]);
27398
+ var PlaygroundProposeRequest = z61.object({
27399
+ request: z61.string().min(1).max(2e3)
27400
+ });
27401
+ var MultiPagePatchEnvelope = z61.object({
27402
+ pageId: z61.string(),
27403
+ blockId: z61.string().optional(),
27404
+ // Not present for page-level ops
27405
+ blockKind: z61.string().optional(),
27406
+ blockPurpose: z61.string().optional().nullable(),
27407
+ ops: z61.array(Rfc6902PatchOp),
27408
+ rationale: z61.string(),
27409
+ currentContent: z61.record(z61.string(), z61.unknown()).optional()
27410
+ });
27411
+ var MultiPageUpdateResponse = z61.object({
27412
+ patches: z61.array(MultiPagePatchEnvelope),
27413
+ assistantMessage: z61.string(),
27414
+ pagesModified: z61.number(),
27415
+ toolCallsUsed: z61.number()
27416
+ });
27417
+
27416
27418
  // src/config/content-validation.ts
27417
27419
  import { z as z62 } from "zod";
27418
27420