@shoppexio/builder-contracts 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/builder-contracts.test.js +71 -1
  2. package/dist/builder-settings.d.ts +9 -666
  3. package/dist/builder-settings.d.ts.map +1 -1
  4. package/dist/canonical-settings.d.ts +18 -0
  5. package/dist/canonical-settings.d.ts.map +1 -0
  6. package/dist/canonical-settings.js +106 -0
  7. package/dist/events.d.ts +35 -240
  8. package/dist/events.d.ts.map +1 -1
  9. package/dist/events.js +7 -0
  10. package/dist/fields.d.ts +169 -8
  11. package/dist/fields.d.ts.map +1 -1
  12. package/dist/fields.js +27 -0
  13. package/dist/index.d.ts +7 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +7 -0
  16. package/dist/legacy-manifest.d.ts +11 -0
  17. package/dist/legacy-manifest.d.ts.map +1 -1
  18. package/dist/legacy-manifest.js +106 -16
  19. package/dist/migrations.d.ts.map +1 -1
  20. package/dist/migrations.js +50 -4
  21. package/dist/persistence.d.ts +7 -0
  22. package/dist/persistence.d.ts.map +1 -0
  23. package/dist/persistence.js +58 -0
  24. package/dist/preview-boot.d.ts +68 -0
  25. package/dist/preview-boot.d.ts.map +1 -0
  26. package/dist/preview-boot.js +36 -0
  27. package/dist/preview-protocol.d.ts +227 -459
  28. package/dist/preview-protocol.d.ts.map +1 -1
  29. package/dist/preview-protocol.js +112 -0
  30. package/dist/preview-session-resolve.d.ts +115 -0
  31. package/dist/preview-session-resolve.d.ts.map +1 -0
  32. package/dist/preview-session-resolve.js +25 -0
  33. package/dist/preview-trusted-origins.d.ts +4 -0
  34. package/dist/preview-trusted-origins.d.ts.map +1 -0
  35. package/dist/preview-trusted-origins.js +26 -0
  36. package/dist/storefront-initial-data-html.d.ts +17 -0
  37. package/dist/storefront-initial-data-html.d.ts.map +1 -0
  38. package/dist/storefront-initial-data-html.js +83 -0
  39. package/dist/style-slots.d.ts +49 -151
  40. package/dist/style-slots.d.ts.map +1 -1
  41. package/dist/style-slots.js +75 -29
  42. package/dist/theme-manifest.d.ts +229 -454
  43. package/dist/theme-manifest.d.ts.map +1 -1
  44. package/dist/theme-manifest.js +92 -0
  45. package/dist/theme-schemes.d.ts +10 -0
  46. package/dist/theme-schemes.d.ts.map +1 -0
  47. package/dist/theme-schemes.js +24 -0
  48. package/dist/validation.d.ts +1 -1
  49. package/dist/validation.d.ts.map +1 -1
  50. package/dist/validation.js +18 -9
  51. package/package.json +43 -1
  52. package/src/builder-contracts.test.ts +398 -3
  53. package/src/canonical-settings.ts +156 -0
  54. package/src/events.ts +8 -0
  55. package/src/fields.ts +30 -0
  56. package/src/index.ts +7 -0
  57. package/src/legacy-manifest.ts +107 -16
  58. package/src/migrations.ts +65 -4
  59. package/src/persistence.ts +77 -0
  60. package/src/preview-boot.ts +47 -0
  61. package/src/preview-protocol.test.ts +132 -0
  62. package/src/preview-protocol.ts +122 -0
  63. package/src/preview-session-resolve.ts +34 -0
  64. package/src/preview-trusted-origins.test.ts +24 -0
  65. package/src/preview-trusted-origins.ts +35 -0
  66. package/src/storefront-initial-data-html.test.ts +63 -0
  67. package/src/storefront-initial-data-html.ts +112 -0
  68. package/src/style-slots.ts +96 -31
  69. package/src/theme-manifest.ts +118 -1
  70. package/src/theme-schemes.ts +33 -0
  71. package/src/validation.ts +27 -10
@@ -1,4 +1,5 @@
1
1
  import * as z from 'zod/v4';
2
+ import { type StyleSlotDefaults } from './style-slots.ts';
2
3
  export declare const ThemeIdSchema: z.ZodString;
3
4
  export type ThemeId = z.infer<typeof ThemeIdSchema>;
4
5
  export declare const BlockVariantSchema: z.ZodObject<{
@@ -29,80 +30,7 @@ export declare const BlockPresetSchema: z.ZodObject<{
29
30
  label: z.ZodString;
30
31
  variant: z.ZodOptional<z.ZodString>;
31
32
  settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
32
- style_overrides: z.ZodOptional<z.ZodObject<{
33
- 'button.radius': z.ZodOptional<z.ZodObject<{
34
- base: z.ZodNumber;
35
- sm: z.ZodOptional<z.ZodNumber>;
36
- md: z.ZodOptional<z.ZodNumber>;
37
- lg: z.ZodOptional<z.ZodNumber>;
38
- xl: z.ZodOptional<z.ZodNumber>;
39
- }, z.core.$strict>>;
40
- 'button.background': z.ZodOptional<z.ZodString>;
41
- 'button.foreground': z.ZodOptional<z.ZodString>;
42
- 'button.border': z.ZodOptional<z.ZodString>;
43
- 'button.font.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
44
- 'input.radius': z.ZodOptional<z.ZodObject<{
45
- base: z.ZodNumber;
46
- sm: z.ZodOptional<z.ZodNumber>;
47
- md: z.ZodOptional<z.ZodNumber>;
48
- lg: z.ZodOptional<z.ZodNumber>;
49
- xl: z.ZodOptional<z.ZodNumber>;
50
- }, z.core.$strict>>;
51
- 'input.height': z.ZodOptional<z.ZodObject<{
52
- base: z.ZodNumber;
53
- sm: z.ZodOptional<z.ZodNumber>;
54
- md: z.ZodOptional<z.ZodNumber>;
55
- lg: z.ZodOptional<z.ZodNumber>;
56
- xl: z.ZodOptional<z.ZodNumber>;
57
- }, z.core.$strict>>;
58
- 'input.border': z.ZodOptional<z.ZodString>;
59
- 'input.background': z.ZodOptional<z.ZodString>;
60
- 'input.foreground': z.ZodOptional<z.ZodString>;
61
- 'card.radius': z.ZodOptional<z.ZodObject<{
62
- base: z.ZodNumber;
63
- sm: z.ZodOptional<z.ZodNumber>;
64
- md: z.ZodOptional<z.ZodNumber>;
65
- lg: z.ZodOptional<z.ZodNumber>;
66
- xl: z.ZodOptional<z.ZodNumber>;
67
- }, z.core.$strict>>;
68
- 'card.background': z.ZodOptional<z.ZodString>;
69
- 'card.border': z.ZodOptional<z.ZodString>;
70
- 'section.padding.y': z.ZodOptional<z.ZodObject<{
71
- base: z.ZodNumber;
72
- sm: z.ZodOptional<z.ZodNumber>;
73
- md: z.ZodOptional<z.ZodNumber>;
74
- lg: z.ZodOptional<z.ZodNumber>;
75
- xl: z.ZodOptional<z.ZodNumber>;
76
- }, z.core.$strict>>;
77
- 'section.padding.x': z.ZodOptional<z.ZodObject<{
78
- base: z.ZodNumber;
79
- sm: z.ZodOptional<z.ZodNumber>;
80
- md: z.ZodOptional<z.ZodNumber>;
81
- lg: z.ZodOptional<z.ZodNumber>;
82
- xl: z.ZodOptional<z.ZodNumber>;
83
- }, z.core.$strict>>;
84
- 'container.width': z.ZodOptional<z.ZodObject<{
85
- base: z.ZodNumber;
86
- sm: z.ZodOptional<z.ZodNumber>;
87
- md: z.ZodOptional<z.ZodNumber>;
88
- lg: z.ZodOptional<z.ZodNumber>;
89
- xl: z.ZodOptional<z.ZodNumber>;
90
- }, z.core.$strict>>;
91
- 'color.primary': z.ZodOptional<z.ZodString>;
92
- 'color.accent': z.ZodOptional<z.ZodString>;
93
- 'color.background': z.ZodOptional<z.ZodString>;
94
- 'color.foreground': z.ZodOptional<z.ZodString>;
95
- 'color.muted': z.ZodOptional<z.ZodString>;
96
- 'link.color': z.ZodOptional<z.ZodString>;
97
- 'typography.heading.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
98
- 'typography.body.size': z.ZodOptional<z.ZodObject<{
99
- base: z.ZodNumber;
100
- sm: z.ZodOptional<z.ZodNumber>;
101
- md: z.ZodOptional<z.ZodNumber>;
102
- lg: z.ZodOptional<z.ZodNumber>;
103
- xl: z.ZodOptional<z.ZodNumber>;
104
- }, z.core.$strict>>;
105
- }, z.core.$strict>>;
33
+ style_overrides: z.ZodOptional<z.ZodType<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown, z.core.$ZodTypeInternals<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown>>>;
106
34
  }, z.core.$strict>;
107
35
  export type BlockPreset = z.infer<typeof BlockPresetSchema>;
108
36
  export declare const ManifestBlockSchema: z.ZodObject<{
@@ -120,6 +48,10 @@ export declare const ManifestBlockSchema: z.ZodObject<{
120
48
  description: z.ZodOptional<z.ZodString>;
121
49
  defaultValue: z.ZodOptional<z.ZodUnknown>;
122
50
  required: z.ZodOptional<z.ZodBoolean>;
51
+ group: z.ZodOptional<z.ZodEnum<{
52
+ content: "content";
53
+ style: "style";
54
+ }>>;
123
55
  type: z.ZodLiteral<"text">;
124
56
  placeholder: z.ZodOptional<z.ZodString>;
125
57
  minLength: z.ZodOptional<z.ZodNumber>;
@@ -129,18 +61,49 @@ export declare const ManifestBlockSchema: z.ZodObject<{
129
61
  description: z.ZodOptional<z.ZodString>;
130
62
  defaultValue: z.ZodOptional<z.ZodUnknown>;
131
63
  required: z.ZodOptional<z.ZodBoolean>;
64
+ group: z.ZodOptional<z.ZodEnum<{
65
+ content: "content";
66
+ style: "style";
67
+ }>>;
132
68
  type: z.ZodLiteral<"richtext">;
133
69
  allowedMarks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
70
+ code: "code";
134
71
  bold: "bold";
135
- italic: "italic";
136
72
  link: "link";
137
- code: "code";
73
+ italic: "italic";
138
74
  }>>>;
139
75
  }, z.core.$strict>, z.ZodObject<{
140
76
  label: z.ZodString;
141
77
  description: z.ZodOptional<z.ZodString>;
142
78
  defaultValue: z.ZodOptional<z.ZodUnknown>;
143
79
  required: z.ZodOptional<z.ZodBoolean>;
80
+ group: z.ZodOptional<z.ZodEnum<{
81
+ content: "content";
82
+ style: "style";
83
+ }>>;
84
+ type: z.ZodLiteral<"code">;
85
+ language: z.ZodOptional<z.ZodEnum<{
86
+ html: "html";
87
+ css: "css";
88
+ javascript: "javascript";
89
+ json: "json";
90
+ }>>;
91
+ placeholder: z.ZodOptional<z.ZodString>;
92
+ maxLength: z.ZodOptional<z.ZodNumber>;
93
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
94
+ label: z.ZodString;
95
+ snippet: z.ZodString;
96
+ description: z.ZodOptional<z.ZodString>;
97
+ }, z.core.$strict>>>;
98
+ }, z.core.$strict>, z.ZodObject<{
99
+ label: z.ZodString;
100
+ description: z.ZodOptional<z.ZodString>;
101
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
102
+ required: z.ZodOptional<z.ZodBoolean>;
103
+ group: z.ZodOptional<z.ZodEnum<{
104
+ content: "content";
105
+ style: "style";
106
+ }>>;
144
107
  type: z.ZodLiteral<"image">;
145
108
  aspectRatio: z.ZodOptional<z.ZodString>;
146
109
  }, z.core.$strict>, z.ZodObject<{
@@ -148,17 +111,29 @@ export declare const ManifestBlockSchema: z.ZodObject<{
148
111
  description: z.ZodOptional<z.ZodString>;
149
112
  defaultValue: z.ZodOptional<z.ZodUnknown>;
150
113
  required: z.ZodOptional<z.ZodBoolean>;
114
+ group: z.ZodOptional<z.ZodEnum<{
115
+ content: "content";
116
+ style: "style";
117
+ }>>;
151
118
  type: z.ZodLiteral<"link">;
152
119
  }, z.core.$strict>, z.ZodObject<{
153
120
  label: z.ZodString;
154
121
  description: z.ZodOptional<z.ZodString>;
155
122
  required: z.ZodOptional<z.ZodBoolean>;
123
+ group: z.ZodOptional<z.ZodEnum<{
124
+ content: "content";
125
+ style: "style";
126
+ }>>;
156
127
  type: z.ZodLiteral<"boolean">;
157
128
  defaultValue: z.ZodOptional<z.ZodBoolean>;
158
129
  }, z.core.$strict>, z.ZodObject<{
159
130
  label: z.ZodString;
160
131
  description: z.ZodOptional<z.ZodString>;
161
132
  required: z.ZodOptional<z.ZodBoolean>;
133
+ group: z.ZodOptional<z.ZodEnum<{
134
+ content: "content";
135
+ style: "style";
136
+ }>>;
162
137
  type: z.ZodLiteral<"number">;
163
138
  defaultValue: z.ZodOptional<z.ZodNumber>;
164
139
  min: z.ZodOptional<z.ZodNumber>;
@@ -168,6 +143,10 @@ export declare const ManifestBlockSchema: z.ZodObject<{
168
143
  label: z.ZodString;
169
144
  description: z.ZodOptional<z.ZodString>;
170
145
  required: z.ZodOptional<z.ZodBoolean>;
146
+ group: z.ZodOptional<z.ZodEnum<{
147
+ content: "content";
148
+ style: "style";
149
+ }>>;
171
150
  type: z.ZodLiteral<"range">;
172
151
  defaultValue: z.ZodOptional<z.ZodNumber>;
173
152
  min: z.ZodNumber;
@@ -178,6 +157,10 @@ export declare const ManifestBlockSchema: z.ZodObject<{
178
157
  label: z.ZodString;
179
158
  description: z.ZodOptional<z.ZodString>;
180
159
  required: z.ZodOptional<z.ZodBoolean>;
160
+ group: z.ZodOptional<z.ZodEnum<{
161
+ content: "content";
162
+ style: "style";
163
+ }>>;
181
164
  type: z.ZodLiteral<"select">;
182
165
  defaultValue: z.ZodOptional<z.ZodString>;
183
166
  options: z.ZodArray<z.ZodObject<{
@@ -188,6 +171,10 @@ export declare const ManifestBlockSchema: z.ZodObject<{
188
171
  label: z.ZodString;
189
172
  description: z.ZodOptional<z.ZodString>;
190
173
  required: z.ZodOptional<z.ZodBoolean>;
174
+ group: z.ZodOptional<z.ZodEnum<{
175
+ content: "content";
176
+ style: "style";
177
+ }>>;
191
178
  type: z.ZodLiteral<"color">;
192
179
  defaultValue: z.ZodOptional<z.ZodString>;
193
180
  }, z.core.$strict>, z.ZodObject<{
@@ -195,12 +182,20 @@ export declare const ManifestBlockSchema: z.ZodObject<{
195
182
  description: z.ZodOptional<z.ZodString>;
196
183
  defaultValue: z.ZodOptional<z.ZodUnknown>;
197
184
  required: z.ZodOptional<z.ZodBoolean>;
185
+ group: z.ZodOptional<z.ZodEnum<{
186
+ content: "content";
187
+ style: "style";
188
+ }>>;
198
189
  type: z.ZodLiteral<"product">;
199
190
  }, z.core.$strict>, z.ZodObject<{
200
191
  label: z.ZodString;
201
192
  description: z.ZodOptional<z.ZodString>;
202
193
  defaultValue: z.ZodOptional<z.ZodUnknown>;
203
194
  required: z.ZodOptional<z.ZodBoolean>;
195
+ group: z.ZodOptional<z.ZodEnum<{
196
+ content: "content";
197
+ style: "style";
198
+ }>>;
204
199
  type: z.ZodLiteral<"products">;
205
200
  minItems: z.ZodOptional<z.ZodNumber>;
206
201
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -209,6 +204,10 @@ export declare const ManifestBlockSchema: z.ZodObject<{
209
204
  description: z.ZodOptional<z.ZodString>;
210
205
  defaultValue: z.ZodOptional<z.ZodUnknown>;
211
206
  required: z.ZodOptional<z.ZodBoolean>;
207
+ group: z.ZodOptional<z.ZodEnum<{
208
+ content: "content";
209
+ style: "style";
210
+ }>>;
212
211
  type: z.ZodLiteral<"list">;
213
212
  minItems: z.ZodOptional<z.ZodNumber>;
214
213
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -217,12 +216,16 @@ export declare const ManifestBlockSchema: z.ZodObject<{
217
216
  description: z.ZodOptional<z.ZodString>;
218
217
  defaultValue: z.ZodOptional<z.ZodUnknown>;
219
218
  required: z.ZodOptional<z.ZodBoolean>;
219
+ group: z.ZodOptional<z.ZodEnum<{
220
+ content: "content";
221
+ style: "style";
222
+ }>>;
220
223
  type: z.ZodEnum<{
221
224
  number: "number";
222
225
  boolean: "boolean";
226
+ link: "link";
223
227
  text: "text";
224
228
  richtext: "richtext";
225
- link: "link";
226
229
  image: "image";
227
230
  range: "range";
228
231
  select: "select";
@@ -240,7 +243,7 @@ export declare const ManifestBlockSchema: z.ZodObject<{
240
243
  placeholder: z.ZodOptional<z.ZodString>;
241
244
  }, z.core.$strict>>;
242
245
  }, z.core.$strict>], "type">>>;
243
- exposedStyleSlots: z.ZodDefault<z.ZodArray<z.ZodEnum<{
246
+ exposedStyleSlots: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
244
247
  "button.radius": "button.radius";
245
248
  "button.background": "button.background";
246
249
  "button.foreground": "button.foreground";
@@ -265,174 +268,66 @@ export declare const ManifestBlockSchema: z.ZodObject<{
265
268
  "link.color": "link.color";
266
269
  "typography.heading.weight": "typography.heading.weight";
267
270
  "typography.body.size": "typography.body.size";
268
- }>>>;
271
+ }>, z.ZodString]>>>;
269
272
  presets: z.ZodDefault<z.ZodArray<z.ZodObject<{
270
273
  id: z.ZodString;
271
274
  label: z.ZodString;
272
275
  variant: z.ZodOptional<z.ZodString>;
273
276
  settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
274
- style_overrides: z.ZodOptional<z.ZodObject<{
275
- 'button.radius': z.ZodOptional<z.ZodObject<{
276
- base: z.ZodNumber;
277
- sm: z.ZodOptional<z.ZodNumber>;
278
- md: z.ZodOptional<z.ZodNumber>;
279
- lg: z.ZodOptional<z.ZodNumber>;
280
- xl: z.ZodOptional<z.ZodNumber>;
281
- }, z.core.$strict>>;
282
- 'button.background': z.ZodOptional<z.ZodString>;
283
- 'button.foreground': z.ZodOptional<z.ZodString>;
284
- 'button.border': z.ZodOptional<z.ZodString>;
285
- 'button.font.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
286
- 'input.radius': z.ZodOptional<z.ZodObject<{
287
- base: z.ZodNumber;
288
- sm: z.ZodOptional<z.ZodNumber>;
289
- md: z.ZodOptional<z.ZodNumber>;
290
- lg: z.ZodOptional<z.ZodNumber>;
291
- xl: z.ZodOptional<z.ZodNumber>;
292
- }, z.core.$strict>>;
293
- 'input.height': z.ZodOptional<z.ZodObject<{
294
- base: z.ZodNumber;
295
- sm: z.ZodOptional<z.ZodNumber>;
296
- md: z.ZodOptional<z.ZodNumber>;
297
- lg: z.ZodOptional<z.ZodNumber>;
298
- xl: z.ZodOptional<z.ZodNumber>;
299
- }, z.core.$strict>>;
300
- 'input.border': z.ZodOptional<z.ZodString>;
301
- 'input.background': z.ZodOptional<z.ZodString>;
302
- 'input.foreground': z.ZodOptional<z.ZodString>;
303
- 'card.radius': z.ZodOptional<z.ZodObject<{
304
- base: z.ZodNumber;
305
- sm: z.ZodOptional<z.ZodNumber>;
306
- md: z.ZodOptional<z.ZodNumber>;
307
- lg: z.ZodOptional<z.ZodNumber>;
308
- xl: z.ZodOptional<z.ZodNumber>;
309
- }, z.core.$strict>>;
310
- 'card.background': z.ZodOptional<z.ZodString>;
311
- 'card.border': z.ZodOptional<z.ZodString>;
312
- 'section.padding.y': z.ZodOptional<z.ZodObject<{
313
- base: z.ZodNumber;
314
- sm: z.ZodOptional<z.ZodNumber>;
315
- md: z.ZodOptional<z.ZodNumber>;
316
- lg: z.ZodOptional<z.ZodNumber>;
317
- xl: z.ZodOptional<z.ZodNumber>;
318
- }, z.core.$strict>>;
319
- 'section.padding.x': z.ZodOptional<z.ZodObject<{
320
- base: z.ZodNumber;
321
- sm: z.ZodOptional<z.ZodNumber>;
322
- md: z.ZodOptional<z.ZodNumber>;
323
- lg: z.ZodOptional<z.ZodNumber>;
324
- xl: z.ZodOptional<z.ZodNumber>;
325
- }, z.core.$strict>>;
326
- 'container.width': z.ZodOptional<z.ZodObject<{
327
- base: z.ZodNumber;
328
- sm: z.ZodOptional<z.ZodNumber>;
329
- md: z.ZodOptional<z.ZodNumber>;
330
- lg: z.ZodOptional<z.ZodNumber>;
331
- xl: z.ZodOptional<z.ZodNumber>;
332
- }, z.core.$strict>>;
333
- 'color.primary': z.ZodOptional<z.ZodString>;
334
- 'color.accent': z.ZodOptional<z.ZodString>;
335
- 'color.background': z.ZodOptional<z.ZodString>;
336
- 'color.foreground': z.ZodOptional<z.ZodString>;
337
- 'color.muted': z.ZodOptional<z.ZodString>;
338
- 'link.color': z.ZodOptional<z.ZodString>;
339
- 'typography.heading.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
340
- 'typography.body.size': z.ZodOptional<z.ZodObject<{
341
- base: z.ZodNumber;
342
- sm: z.ZodOptional<z.ZodNumber>;
343
- md: z.ZodOptional<z.ZodNumber>;
344
- lg: z.ZodOptional<z.ZodNumber>;
345
- xl: z.ZodOptional<z.ZodNumber>;
346
- }, z.core.$strict>>;
347
- }, z.core.$strict>>;
277
+ style_overrides: z.ZodOptional<z.ZodType<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown, z.core.$ZodTypeInternals<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown>>>;
348
278
  }, z.core.$strict>>>;
349
279
  }, z.core.$strict>;
350
280
  export type ManifestBlock = z.infer<typeof ManifestBlockSchema>;
351
281
  export declare const ThemePresetSchema: z.ZodObject<{
352
282
  label: z.ZodString;
353
283
  description: z.ZodOptional<z.ZodString>;
284
+ preview: z.ZodOptional<z.ZodString>;
354
285
  content: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
355
286
  layout: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
356
- style_slots: z.ZodDefault<z.ZodObject<{
357
- 'button.radius': z.ZodOptional<z.ZodObject<{
358
- base: z.ZodNumber;
359
- sm: z.ZodOptional<z.ZodNumber>;
360
- md: z.ZodOptional<z.ZodNumber>;
361
- lg: z.ZodOptional<z.ZodNumber>;
362
- xl: z.ZodOptional<z.ZodNumber>;
363
- }, z.core.$strict>>;
364
- 'button.background': z.ZodOptional<z.ZodString>;
365
- 'button.foreground': z.ZodOptional<z.ZodString>;
366
- 'button.border': z.ZodOptional<z.ZodString>;
367
- 'button.font.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
368
- 'input.radius': z.ZodOptional<z.ZodObject<{
369
- base: z.ZodNumber;
370
- sm: z.ZodOptional<z.ZodNumber>;
371
- md: z.ZodOptional<z.ZodNumber>;
372
- lg: z.ZodOptional<z.ZodNumber>;
373
- xl: z.ZodOptional<z.ZodNumber>;
374
- }, z.core.$strict>>;
375
- 'input.height': z.ZodOptional<z.ZodObject<{
376
- base: z.ZodNumber;
377
- sm: z.ZodOptional<z.ZodNumber>;
378
- md: z.ZodOptional<z.ZodNumber>;
379
- lg: z.ZodOptional<z.ZodNumber>;
380
- xl: z.ZodOptional<z.ZodNumber>;
381
- }, z.core.$strict>>;
382
- 'input.border': z.ZodOptional<z.ZodString>;
383
- 'input.background': z.ZodOptional<z.ZodString>;
384
- 'input.foreground': z.ZodOptional<z.ZodString>;
385
- 'card.radius': z.ZodOptional<z.ZodObject<{
386
- base: z.ZodNumber;
387
- sm: z.ZodOptional<z.ZodNumber>;
388
- md: z.ZodOptional<z.ZodNumber>;
389
- lg: z.ZodOptional<z.ZodNumber>;
390
- xl: z.ZodOptional<z.ZodNumber>;
391
- }, z.core.$strict>>;
392
- 'card.background': z.ZodOptional<z.ZodString>;
393
- 'card.border': z.ZodOptional<z.ZodString>;
394
- 'section.padding.y': z.ZodOptional<z.ZodObject<{
395
- base: z.ZodNumber;
396
- sm: z.ZodOptional<z.ZodNumber>;
397
- md: z.ZodOptional<z.ZodNumber>;
398
- lg: z.ZodOptional<z.ZodNumber>;
399
- xl: z.ZodOptional<z.ZodNumber>;
400
- }, z.core.$strict>>;
401
- 'section.padding.x': z.ZodOptional<z.ZodObject<{
402
- base: z.ZodNumber;
403
- sm: z.ZodOptional<z.ZodNumber>;
404
- md: z.ZodOptional<z.ZodNumber>;
405
- lg: z.ZodOptional<z.ZodNumber>;
406
- xl: z.ZodOptional<z.ZodNumber>;
407
- }, z.core.$strict>>;
408
- 'container.width': z.ZodOptional<z.ZodObject<{
409
- base: z.ZodNumber;
410
- sm: z.ZodOptional<z.ZodNumber>;
411
- md: z.ZodOptional<z.ZodNumber>;
412
- lg: z.ZodOptional<z.ZodNumber>;
413
- xl: z.ZodOptional<z.ZodNumber>;
414
- }, z.core.$strict>>;
415
- 'color.primary': z.ZodOptional<z.ZodString>;
416
- 'color.accent': z.ZodOptional<z.ZodString>;
417
- 'color.background': z.ZodOptional<z.ZodString>;
418
- 'color.foreground': z.ZodOptional<z.ZodString>;
419
- 'color.muted': z.ZodOptional<z.ZodString>;
420
- 'link.color': z.ZodOptional<z.ZodString>;
421
- 'typography.heading.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
422
- 'typography.body.size': z.ZodOptional<z.ZodObject<{
423
- base: z.ZodNumber;
424
- sm: z.ZodOptional<z.ZodNumber>;
425
- md: z.ZodOptional<z.ZodNumber>;
426
- lg: z.ZodOptional<z.ZodNumber>;
427
- xl: z.ZodOptional<z.ZodNumber>;
428
- }, z.core.$strict>>;
429
- }, z.core.$strict>>;
287
+ style_slots: z.ZodDefault<z.ZodType<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown, z.core.$ZodTypeInternals<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown>>>;
430
288
  }, z.core.$strict>;
431
289
  export type ThemePreset = z.infer<typeof ThemePresetSchema>;
290
+ export declare const ThemeManifestMetadataSchema: z.ZodObject<{
291
+ author: z.ZodOptional<z.ZodString>;
292
+ description: z.ZodOptional<z.ZodString>;
293
+ preview: z.ZodOptional<z.ZodString>;
294
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
295
+ techStack: z.ZodOptional<z.ZodArray<z.ZodString>>;
296
+ templates: z.ZodOptional<z.ZodArray<z.ZodString>>;
297
+ createdAt: z.ZodOptional<z.ZodString>;
298
+ demoUrl: z.ZodOptional<z.ZodString>;
299
+ audience: z.ZodOptional<z.ZodString>;
300
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
301
+ hotfixPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
302
+ }, z.core.$strict>;
303
+ export type ThemeManifestMetadata = z.infer<typeof ThemeManifestMetadataSchema>;
304
+ export declare const ThemeManifestLinkGroupSchema: z.ZodObject<{
305
+ path: z.ZodString;
306
+ label: z.ZodString;
307
+ description: z.ZodOptional<z.ZodString>;
308
+ pageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
309
+ }, z.core.$strict>;
310
+ export type ThemeManifestLinkGroup = z.infer<typeof ThemeManifestLinkGroupSchema>;
311
+ export declare const ThemeManifestLinkItemSchema: z.ZodObject<{
312
+ label: z.ZodString;
313
+ href: z.ZodString;
314
+ }, z.core.$strict>;
315
+ export type ThemeManifestLinkItem = z.infer<typeof ThemeManifestLinkItemSchema>;
432
316
  export declare const ThemeManifestSchema: z.ZodObject<{
433
317
  id: z.ZodString;
434
318
  name: z.ZodString;
435
319
  version: z.ZodString;
320
+ author: z.ZodOptional<z.ZodString>;
321
+ description: z.ZodOptional<z.ZodString>;
322
+ preview: z.ZodOptional<z.ZodString>;
323
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
324
+ techStack: z.ZodOptional<z.ZodArray<z.ZodString>>;
325
+ templates: z.ZodOptional<z.ZodArray<z.ZodString>>;
326
+ createdAt: z.ZodOptional<z.ZodString>;
327
+ demoUrl: z.ZodOptional<z.ZodString>;
328
+ audience: z.ZodOptional<z.ZodString>;
329
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
330
+ hotfixPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
436
331
  pages: z.ZodRecord<z.ZodString, z.ZodObject<{
437
332
  label: z.ZodString;
438
333
  previewPath: z.ZodOptional<z.ZodString>;
@@ -458,6 +353,10 @@ export declare const ThemeManifestSchema: z.ZodObject<{
458
353
  description: z.ZodOptional<z.ZodString>;
459
354
  defaultValue: z.ZodOptional<z.ZodUnknown>;
460
355
  required: z.ZodOptional<z.ZodBoolean>;
356
+ group: z.ZodOptional<z.ZodEnum<{
357
+ content: "content";
358
+ style: "style";
359
+ }>>;
461
360
  type: z.ZodLiteral<"text">;
462
361
  placeholder: z.ZodOptional<z.ZodString>;
463
362
  minLength: z.ZodOptional<z.ZodNumber>;
@@ -467,18 +366,49 @@ export declare const ThemeManifestSchema: z.ZodObject<{
467
366
  description: z.ZodOptional<z.ZodString>;
468
367
  defaultValue: z.ZodOptional<z.ZodUnknown>;
469
368
  required: z.ZodOptional<z.ZodBoolean>;
369
+ group: z.ZodOptional<z.ZodEnum<{
370
+ content: "content";
371
+ style: "style";
372
+ }>>;
470
373
  type: z.ZodLiteral<"richtext">;
471
374
  allowedMarks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
375
+ code: "code";
472
376
  bold: "bold";
473
- italic: "italic";
474
377
  link: "link";
475
- code: "code";
378
+ italic: "italic";
476
379
  }>>>;
477
380
  }, z.core.$strict>, z.ZodObject<{
478
381
  label: z.ZodString;
479
382
  description: z.ZodOptional<z.ZodString>;
480
383
  defaultValue: z.ZodOptional<z.ZodUnknown>;
481
384
  required: z.ZodOptional<z.ZodBoolean>;
385
+ group: z.ZodOptional<z.ZodEnum<{
386
+ content: "content";
387
+ style: "style";
388
+ }>>;
389
+ type: z.ZodLiteral<"code">;
390
+ language: z.ZodOptional<z.ZodEnum<{
391
+ html: "html";
392
+ css: "css";
393
+ javascript: "javascript";
394
+ json: "json";
395
+ }>>;
396
+ placeholder: z.ZodOptional<z.ZodString>;
397
+ maxLength: z.ZodOptional<z.ZodNumber>;
398
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
399
+ label: z.ZodString;
400
+ snippet: z.ZodString;
401
+ description: z.ZodOptional<z.ZodString>;
402
+ }, z.core.$strict>>>;
403
+ }, z.core.$strict>, z.ZodObject<{
404
+ label: z.ZodString;
405
+ description: z.ZodOptional<z.ZodString>;
406
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
407
+ required: z.ZodOptional<z.ZodBoolean>;
408
+ group: z.ZodOptional<z.ZodEnum<{
409
+ content: "content";
410
+ style: "style";
411
+ }>>;
482
412
  type: z.ZodLiteral<"image">;
483
413
  aspectRatio: z.ZodOptional<z.ZodString>;
484
414
  }, z.core.$strict>, z.ZodObject<{
@@ -486,17 +416,29 @@ export declare const ThemeManifestSchema: z.ZodObject<{
486
416
  description: z.ZodOptional<z.ZodString>;
487
417
  defaultValue: z.ZodOptional<z.ZodUnknown>;
488
418
  required: z.ZodOptional<z.ZodBoolean>;
419
+ group: z.ZodOptional<z.ZodEnum<{
420
+ content: "content";
421
+ style: "style";
422
+ }>>;
489
423
  type: z.ZodLiteral<"link">;
490
424
  }, z.core.$strict>, z.ZodObject<{
491
425
  label: z.ZodString;
492
426
  description: z.ZodOptional<z.ZodString>;
493
427
  required: z.ZodOptional<z.ZodBoolean>;
428
+ group: z.ZodOptional<z.ZodEnum<{
429
+ content: "content";
430
+ style: "style";
431
+ }>>;
494
432
  type: z.ZodLiteral<"boolean">;
495
433
  defaultValue: z.ZodOptional<z.ZodBoolean>;
496
434
  }, z.core.$strict>, z.ZodObject<{
497
435
  label: z.ZodString;
498
436
  description: z.ZodOptional<z.ZodString>;
499
437
  required: z.ZodOptional<z.ZodBoolean>;
438
+ group: z.ZodOptional<z.ZodEnum<{
439
+ content: "content";
440
+ style: "style";
441
+ }>>;
500
442
  type: z.ZodLiteral<"number">;
501
443
  defaultValue: z.ZodOptional<z.ZodNumber>;
502
444
  min: z.ZodOptional<z.ZodNumber>;
@@ -506,6 +448,10 @@ export declare const ThemeManifestSchema: z.ZodObject<{
506
448
  label: z.ZodString;
507
449
  description: z.ZodOptional<z.ZodString>;
508
450
  required: z.ZodOptional<z.ZodBoolean>;
451
+ group: z.ZodOptional<z.ZodEnum<{
452
+ content: "content";
453
+ style: "style";
454
+ }>>;
509
455
  type: z.ZodLiteral<"range">;
510
456
  defaultValue: z.ZodOptional<z.ZodNumber>;
511
457
  min: z.ZodNumber;
@@ -516,6 +462,10 @@ export declare const ThemeManifestSchema: z.ZodObject<{
516
462
  label: z.ZodString;
517
463
  description: z.ZodOptional<z.ZodString>;
518
464
  required: z.ZodOptional<z.ZodBoolean>;
465
+ group: z.ZodOptional<z.ZodEnum<{
466
+ content: "content";
467
+ style: "style";
468
+ }>>;
519
469
  type: z.ZodLiteral<"select">;
520
470
  defaultValue: z.ZodOptional<z.ZodString>;
521
471
  options: z.ZodArray<z.ZodObject<{
@@ -526,6 +476,10 @@ export declare const ThemeManifestSchema: z.ZodObject<{
526
476
  label: z.ZodString;
527
477
  description: z.ZodOptional<z.ZodString>;
528
478
  required: z.ZodOptional<z.ZodBoolean>;
479
+ group: z.ZodOptional<z.ZodEnum<{
480
+ content: "content";
481
+ style: "style";
482
+ }>>;
529
483
  type: z.ZodLiteral<"color">;
530
484
  defaultValue: z.ZodOptional<z.ZodString>;
531
485
  }, z.core.$strict>, z.ZodObject<{
@@ -533,12 +487,20 @@ export declare const ThemeManifestSchema: z.ZodObject<{
533
487
  description: z.ZodOptional<z.ZodString>;
534
488
  defaultValue: z.ZodOptional<z.ZodUnknown>;
535
489
  required: z.ZodOptional<z.ZodBoolean>;
490
+ group: z.ZodOptional<z.ZodEnum<{
491
+ content: "content";
492
+ style: "style";
493
+ }>>;
536
494
  type: z.ZodLiteral<"product">;
537
495
  }, z.core.$strict>, z.ZodObject<{
538
496
  label: z.ZodString;
539
497
  description: z.ZodOptional<z.ZodString>;
540
498
  defaultValue: z.ZodOptional<z.ZodUnknown>;
541
499
  required: z.ZodOptional<z.ZodBoolean>;
500
+ group: z.ZodOptional<z.ZodEnum<{
501
+ content: "content";
502
+ style: "style";
503
+ }>>;
542
504
  type: z.ZodLiteral<"products">;
543
505
  minItems: z.ZodOptional<z.ZodNumber>;
544
506
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -547,6 +509,10 @@ export declare const ThemeManifestSchema: z.ZodObject<{
547
509
  description: z.ZodOptional<z.ZodString>;
548
510
  defaultValue: z.ZodOptional<z.ZodUnknown>;
549
511
  required: z.ZodOptional<z.ZodBoolean>;
512
+ group: z.ZodOptional<z.ZodEnum<{
513
+ content: "content";
514
+ style: "style";
515
+ }>>;
550
516
  type: z.ZodLiteral<"list">;
551
517
  minItems: z.ZodOptional<z.ZodNumber>;
552
518
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -555,12 +521,16 @@ export declare const ThemeManifestSchema: z.ZodObject<{
555
521
  description: z.ZodOptional<z.ZodString>;
556
522
  defaultValue: z.ZodOptional<z.ZodUnknown>;
557
523
  required: z.ZodOptional<z.ZodBoolean>;
524
+ group: z.ZodOptional<z.ZodEnum<{
525
+ content: "content";
526
+ style: "style";
527
+ }>>;
558
528
  type: z.ZodEnum<{
559
529
  number: "number";
560
530
  boolean: "boolean";
531
+ link: "link";
561
532
  text: "text";
562
533
  richtext: "richtext";
563
- link: "link";
564
534
  image: "image";
565
535
  range: "range";
566
536
  select: "select";
@@ -578,7 +548,7 @@ export declare const ThemeManifestSchema: z.ZodObject<{
578
548
  placeholder: z.ZodOptional<z.ZodString>;
579
549
  }, z.core.$strict>>;
580
550
  }, z.core.$strict>], "type">>>;
581
- exposedStyleSlots: z.ZodDefault<z.ZodArray<z.ZodEnum<{
551
+ exposedStyleSlots: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
582
552
  "button.radius": "button.radius";
583
553
  "button.background": "button.background";
584
554
  "button.foreground": "button.foreground";
@@ -603,243 +573,48 @@ export declare const ThemeManifestSchema: z.ZodObject<{
603
573
  "link.color": "link.color";
604
574
  "typography.heading.weight": "typography.heading.weight";
605
575
  "typography.body.size": "typography.body.size";
606
- }>>>;
576
+ }>, z.ZodString]>>>;
607
577
  presets: z.ZodDefault<z.ZodArray<z.ZodObject<{
608
578
  id: z.ZodString;
609
579
  label: z.ZodString;
610
580
  variant: z.ZodOptional<z.ZodString>;
611
581
  settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
612
- style_overrides: z.ZodOptional<z.ZodObject<{
613
- 'button.radius': z.ZodOptional<z.ZodObject<{
614
- base: z.ZodNumber;
615
- sm: z.ZodOptional<z.ZodNumber>;
616
- md: z.ZodOptional<z.ZodNumber>;
617
- lg: z.ZodOptional<z.ZodNumber>;
618
- xl: z.ZodOptional<z.ZodNumber>;
619
- }, z.core.$strict>>;
620
- 'button.background': z.ZodOptional<z.ZodString>;
621
- 'button.foreground': z.ZodOptional<z.ZodString>;
622
- 'button.border': z.ZodOptional<z.ZodString>;
623
- 'button.font.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
624
- 'input.radius': z.ZodOptional<z.ZodObject<{
625
- base: z.ZodNumber;
626
- sm: z.ZodOptional<z.ZodNumber>;
627
- md: z.ZodOptional<z.ZodNumber>;
628
- lg: z.ZodOptional<z.ZodNumber>;
629
- xl: z.ZodOptional<z.ZodNumber>;
630
- }, z.core.$strict>>;
631
- 'input.height': z.ZodOptional<z.ZodObject<{
632
- base: z.ZodNumber;
633
- sm: z.ZodOptional<z.ZodNumber>;
634
- md: z.ZodOptional<z.ZodNumber>;
635
- lg: z.ZodOptional<z.ZodNumber>;
636
- xl: z.ZodOptional<z.ZodNumber>;
637
- }, z.core.$strict>>;
638
- 'input.border': z.ZodOptional<z.ZodString>;
639
- 'input.background': z.ZodOptional<z.ZodString>;
640
- 'input.foreground': z.ZodOptional<z.ZodString>;
641
- 'card.radius': z.ZodOptional<z.ZodObject<{
642
- base: z.ZodNumber;
643
- sm: z.ZodOptional<z.ZodNumber>;
644
- md: z.ZodOptional<z.ZodNumber>;
645
- lg: z.ZodOptional<z.ZodNumber>;
646
- xl: z.ZodOptional<z.ZodNumber>;
647
- }, z.core.$strict>>;
648
- 'card.background': z.ZodOptional<z.ZodString>;
649
- 'card.border': z.ZodOptional<z.ZodString>;
650
- 'section.padding.y': z.ZodOptional<z.ZodObject<{
651
- base: z.ZodNumber;
652
- sm: z.ZodOptional<z.ZodNumber>;
653
- md: z.ZodOptional<z.ZodNumber>;
654
- lg: z.ZodOptional<z.ZodNumber>;
655
- xl: z.ZodOptional<z.ZodNumber>;
656
- }, z.core.$strict>>;
657
- 'section.padding.x': z.ZodOptional<z.ZodObject<{
658
- base: z.ZodNumber;
659
- sm: z.ZodOptional<z.ZodNumber>;
660
- md: z.ZodOptional<z.ZodNumber>;
661
- lg: z.ZodOptional<z.ZodNumber>;
662
- xl: z.ZodOptional<z.ZodNumber>;
663
- }, z.core.$strict>>;
664
- 'container.width': z.ZodOptional<z.ZodObject<{
665
- base: z.ZodNumber;
666
- sm: z.ZodOptional<z.ZodNumber>;
667
- md: z.ZodOptional<z.ZodNumber>;
668
- lg: z.ZodOptional<z.ZodNumber>;
669
- xl: z.ZodOptional<z.ZodNumber>;
670
- }, z.core.$strict>>;
671
- 'color.primary': z.ZodOptional<z.ZodString>;
672
- 'color.accent': z.ZodOptional<z.ZodString>;
673
- 'color.background': z.ZodOptional<z.ZodString>;
674
- 'color.foreground': z.ZodOptional<z.ZodString>;
675
- 'color.muted': z.ZodOptional<z.ZodString>;
676
- 'link.color': z.ZodOptional<z.ZodString>;
677
- 'typography.heading.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
678
- 'typography.body.size': z.ZodOptional<z.ZodObject<{
679
- base: z.ZodNumber;
680
- sm: z.ZodOptional<z.ZodNumber>;
681
- md: z.ZodOptional<z.ZodNumber>;
682
- lg: z.ZodOptional<z.ZodNumber>;
683
- xl: z.ZodOptional<z.ZodNumber>;
684
- }, z.core.$strict>>;
685
- }, z.core.$strict>>;
582
+ style_overrides: z.ZodOptional<z.ZodType<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown, z.core.$ZodTypeInternals<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown>>>;
686
583
  }, z.core.$strict>>>;
687
584
  }, z.core.$strict>>;
688
- styleSlots: z.ZodDefault<z.ZodObject<{
689
- 'button.radius': z.ZodOptional<z.ZodObject<{
690
- base: z.ZodNumber;
691
- sm: z.ZodOptional<z.ZodNumber>;
692
- md: z.ZodOptional<z.ZodNumber>;
693
- lg: z.ZodOptional<z.ZodNumber>;
694
- xl: z.ZodOptional<z.ZodNumber>;
695
- }, z.core.$strict>>;
696
- 'button.background': z.ZodOptional<z.ZodString>;
697
- 'button.foreground': z.ZodOptional<z.ZodString>;
698
- 'button.border': z.ZodOptional<z.ZodString>;
699
- 'button.font.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
700
- 'input.radius': z.ZodOptional<z.ZodObject<{
701
- base: z.ZodNumber;
702
- sm: z.ZodOptional<z.ZodNumber>;
703
- md: z.ZodOptional<z.ZodNumber>;
704
- lg: z.ZodOptional<z.ZodNumber>;
705
- xl: z.ZodOptional<z.ZodNumber>;
706
- }, z.core.$strict>>;
707
- 'input.height': z.ZodOptional<z.ZodObject<{
708
- base: z.ZodNumber;
709
- sm: z.ZodOptional<z.ZodNumber>;
710
- md: z.ZodOptional<z.ZodNumber>;
711
- lg: z.ZodOptional<z.ZodNumber>;
712
- xl: z.ZodOptional<z.ZodNumber>;
713
- }, z.core.$strict>>;
714
- 'input.border': z.ZodOptional<z.ZodString>;
715
- 'input.background': z.ZodOptional<z.ZodString>;
716
- 'input.foreground': z.ZodOptional<z.ZodString>;
717
- 'card.radius': z.ZodOptional<z.ZodObject<{
718
- base: z.ZodNumber;
719
- sm: z.ZodOptional<z.ZodNumber>;
720
- md: z.ZodOptional<z.ZodNumber>;
721
- lg: z.ZodOptional<z.ZodNumber>;
722
- xl: z.ZodOptional<z.ZodNumber>;
723
- }, z.core.$strict>>;
724
- 'card.background': z.ZodOptional<z.ZodString>;
725
- 'card.border': z.ZodOptional<z.ZodString>;
726
- 'section.padding.y': z.ZodOptional<z.ZodObject<{
727
- base: z.ZodNumber;
728
- sm: z.ZodOptional<z.ZodNumber>;
729
- md: z.ZodOptional<z.ZodNumber>;
730
- lg: z.ZodOptional<z.ZodNumber>;
731
- xl: z.ZodOptional<z.ZodNumber>;
732
- }, z.core.$strict>>;
733
- 'section.padding.x': z.ZodOptional<z.ZodObject<{
734
- base: z.ZodNumber;
735
- sm: z.ZodOptional<z.ZodNumber>;
736
- md: z.ZodOptional<z.ZodNumber>;
737
- lg: z.ZodOptional<z.ZodNumber>;
738
- xl: z.ZodOptional<z.ZodNumber>;
739
- }, z.core.$strict>>;
740
- 'container.width': z.ZodOptional<z.ZodObject<{
741
- base: z.ZodNumber;
742
- sm: z.ZodOptional<z.ZodNumber>;
743
- md: z.ZodOptional<z.ZodNumber>;
744
- lg: z.ZodOptional<z.ZodNumber>;
745
- xl: z.ZodOptional<z.ZodNumber>;
746
- }, z.core.$strict>>;
747
- 'color.primary': z.ZodOptional<z.ZodString>;
748
- 'color.accent': z.ZodOptional<z.ZodString>;
749
- 'color.background': z.ZodOptional<z.ZodString>;
750
- 'color.foreground': z.ZodOptional<z.ZodString>;
751
- 'color.muted': z.ZodOptional<z.ZodString>;
752
- 'link.color': z.ZodOptional<z.ZodString>;
753
- 'typography.heading.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
754
- 'typography.body.size': z.ZodOptional<z.ZodObject<{
755
- base: z.ZodNumber;
756
- sm: z.ZodOptional<z.ZodNumber>;
757
- md: z.ZodOptional<z.ZodNumber>;
758
- lg: z.ZodOptional<z.ZodNumber>;
759
- xl: z.ZodOptional<z.ZodNumber>;
760
- }, z.core.$strict>>;
761
- }, z.core.$strict>>;
585
+ styleSlots: z.ZodDefault<z.ZodType<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown, z.core.$ZodTypeInternals<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown>>>;
762
586
  presets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
763
587
  label: z.ZodString;
764
588
  description: z.ZodOptional<z.ZodString>;
589
+ preview: z.ZodOptional<z.ZodString>;
765
590
  content: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
766
591
  layout: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
767
- style_slots: z.ZodDefault<z.ZodObject<{
768
- 'button.radius': z.ZodOptional<z.ZodObject<{
769
- base: z.ZodNumber;
770
- sm: z.ZodOptional<z.ZodNumber>;
771
- md: z.ZodOptional<z.ZodNumber>;
772
- lg: z.ZodOptional<z.ZodNumber>;
773
- xl: z.ZodOptional<z.ZodNumber>;
774
- }, z.core.$strict>>;
775
- 'button.background': z.ZodOptional<z.ZodString>;
776
- 'button.foreground': z.ZodOptional<z.ZodString>;
777
- 'button.border': z.ZodOptional<z.ZodString>;
778
- 'button.font.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
779
- 'input.radius': z.ZodOptional<z.ZodObject<{
780
- base: z.ZodNumber;
781
- sm: z.ZodOptional<z.ZodNumber>;
782
- md: z.ZodOptional<z.ZodNumber>;
783
- lg: z.ZodOptional<z.ZodNumber>;
784
- xl: z.ZodOptional<z.ZodNumber>;
785
- }, z.core.$strict>>;
786
- 'input.height': z.ZodOptional<z.ZodObject<{
787
- base: z.ZodNumber;
788
- sm: z.ZodOptional<z.ZodNumber>;
789
- md: z.ZodOptional<z.ZodNumber>;
790
- lg: z.ZodOptional<z.ZodNumber>;
791
- xl: z.ZodOptional<z.ZodNumber>;
792
- }, z.core.$strict>>;
793
- 'input.border': z.ZodOptional<z.ZodString>;
794
- 'input.background': z.ZodOptional<z.ZodString>;
795
- 'input.foreground': z.ZodOptional<z.ZodString>;
796
- 'card.radius': z.ZodOptional<z.ZodObject<{
797
- base: z.ZodNumber;
798
- sm: z.ZodOptional<z.ZodNumber>;
799
- md: z.ZodOptional<z.ZodNumber>;
800
- lg: z.ZodOptional<z.ZodNumber>;
801
- xl: z.ZodOptional<z.ZodNumber>;
802
- }, z.core.$strict>>;
803
- 'card.background': z.ZodOptional<z.ZodString>;
804
- 'card.border': z.ZodOptional<z.ZodString>;
805
- 'section.padding.y': z.ZodOptional<z.ZodObject<{
806
- base: z.ZodNumber;
807
- sm: z.ZodOptional<z.ZodNumber>;
808
- md: z.ZodOptional<z.ZodNumber>;
809
- lg: z.ZodOptional<z.ZodNumber>;
810
- xl: z.ZodOptional<z.ZodNumber>;
811
- }, z.core.$strict>>;
812
- 'section.padding.x': z.ZodOptional<z.ZodObject<{
813
- base: z.ZodNumber;
814
- sm: z.ZodOptional<z.ZodNumber>;
815
- md: z.ZodOptional<z.ZodNumber>;
816
- lg: z.ZodOptional<z.ZodNumber>;
817
- xl: z.ZodOptional<z.ZodNumber>;
818
- }, z.core.$strict>>;
819
- 'container.width': z.ZodOptional<z.ZodObject<{
820
- base: z.ZodNumber;
821
- sm: z.ZodOptional<z.ZodNumber>;
822
- md: z.ZodOptional<z.ZodNumber>;
823
- lg: z.ZodOptional<z.ZodNumber>;
824
- xl: z.ZodOptional<z.ZodNumber>;
825
- }, z.core.$strict>>;
826
- 'color.primary': z.ZodOptional<z.ZodString>;
827
- 'color.accent': z.ZodOptional<z.ZodString>;
828
- 'color.background': z.ZodOptional<z.ZodString>;
829
- 'color.foreground': z.ZodOptional<z.ZodString>;
830
- 'color.muted': z.ZodOptional<z.ZodString>;
831
- 'link.color': z.ZodOptional<z.ZodString>;
832
- 'typography.heading.weight': z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<100>, z.ZodLiteral<200>, z.ZodLiteral<300>, z.ZodLiteral<400>, z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>, z.ZodLiteral<800>, z.ZodLiteral<900>]>>;
833
- 'typography.body.size': z.ZodOptional<z.ZodObject<{
834
- base: z.ZodNumber;
835
- sm: z.ZodOptional<z.ZodNumber>;
836
- md: z.ZodOptional<z.ZodNumber>;
837
- lg: z.ZodOptional<z.ZodNumber>;
838
- xl: z.ZodOptional<z.ZodNumber>;
839
- }, z.core.$strict>>;
840
- }, z.core.$strict>>;
592
+ style_slots: z.ZodDefault<z.ZodType<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown, z.core.$ZodTypeInternals<Partial<Record<import("./style-slots.ts").StyleSlotId, import("./style-slots.ts").StyleSlotValue>>, unknown>>>;
841
593
  }, z.core.$strict>>>;
594
+ linkGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
595
+ path: z.ZodString;
596
+ label: z.ZodString;
597
+ description: z.ZodOptional<z.ZodString>;
598
+ pageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
599
+ }, z.core.$strict>>>;
600
+ defaultLinkItems: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
601
+ label: z.ZodString;
602
+ href: z.ZodString;
603
+ }, z.core.$strict>>>>;
842
604
  }, z.core.$strict>;
843
605
  export type ThemeManifest = z.infer<typeof ThemeManifestSchema>;
844
606
  export declare function parseThemeManifest(input: unknown): ThemeManifest;
607
+ export type ThemeManifestPresetListItem = {
608
+ id: string;
609
+ name: string;
610
+ description?: string;
611
+ preview?: string;
612
+ overrides: {
613
+ content?: Record<string, unknown>;
614
+ layout?: Record<string, unknown>;
615
+ tokens?: Record<string, unknown>;
616
+ style_slots?: StyleSlotDefaults;
617
+ };
618
+ };
619
+ export declare function listThemeManifestPresets(input: unknown): ThemeManifestPresetListItem[];
845
620
  //# sourceMappingURL=theme-manifest.d.ts.map