@shoppexio/builder-contracts 0.1.0 → 0.1.2

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 (92) hide show
  1. package/dist/builder-settings.d.ts +11 -666
  2. package/dist/builder-settings.d.ts.map +1 -1
  3. package/dist/builder-settings.js +2 -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/custom-pages.d.ts +15 -0
  8. package/dist/custom-pages.d.ts.map +1 -0
  9. package/dist/custom-pages.js +40 -0
  10. package/dist/dedicated-pages.d.ts +15 -0
  11. package/dist/dedicated-pages.d.ts.map +1 -0
  12. package/dist/dedicated-pages.js +142 -0
  13. package/dist/events.d.ts +35 -240
  14. package/dist/events.d.ts.map +1 -1
  15. package/dist/events.js +7 -0
  16. package/dist/fields.d.ts +229 -10
  17. package/dist/fields.d.ts.map +1 -1
  18. package/dist/fields.js +27 -0
  19. package/dist/index.d.ts +10 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +10 -0
  22. package/dist/legacy-manifest.d.ts +18 -0
  23. package/dist/legacy-manifest.d.ts.map +1 -1
  24. package/dist/legacy-manifest.js +137 -22
  25. package/dist/migrations.d.ts.map +1 -1
  26. package/dist/migrations.js +55 -6
  27. package/dist/persistence.d.ts +7 -0
  28. package/dist/persistence.d.ts.map +1 -0
  29. package/dist/persistence.js +58 -0
  30. package/dist/preview-boot.d.ts +68 -0
  31. package/dist/preview-boot.d.ts.map +1 -0
  32. package/dist/preview-boot.js +38 -0
  33. package/dist/preview-protocol.d.ts +227 -459
  34. package/dist/preview-protocol.d.ts.map +1 -1
  35. package/dist/preview-protocol.js +112 -0
  36. package/dist/preview-session-resolve.d.ts +115 -0
  37. package/dist/preview-session-resolve.d.ts.map +1 -0
  38. package/dist/preview-session-resolve.js +25 -0
  39. package/dist/preview-trusted-origins.d.ts +4 -0
  40. package/dist/preview-trusted-origins.d.ts.map +1 -0
  41. package/dist/preview-trusted-origins.js +28 -0
  42. package/dist/storefront-initial-data-html.d.ts +17 -0
  43. package/dist/storefront-initial-data-html.d.ts.map +1 -0
  44. package/dist/storefront-initial-data-html.js +83 -0
  45. package/dist/storefront-typography-fonts.d.ts +18 -0
  46. package/dist/storefront-typography-fonts.d.ts.map +1 -0
  47. package/dist/storefront-typography-fonts.js +89 -0
  48. package/dist/style-slots.d.ts +50 -152
  49. package/dist/style-slots.d.ts.map +1 -1
  50. package/dist/style-slots.js +80 -32
  51. package/dist/theme-manifest.d.ts +287 -456
  52. package/dist/theme-manifest.d.ts.map +1 -1
  53. package/dist/theme-manifest.js +92 -0
  54. package/dist/theme-schemes.d.ts +10 -0
  55. package/dist/theme-schemes.d.ts.map +1 -0
  56. package/dist/theme-schemes.js +25 -0
  57. package/dist/validation.d.ts +1 -1
  58. package/dist/validation.d.ts.map +1 -1
  59. package/dist/validation.js +23 -12
  60. package/package.json +43 -1
  61. package/src/builder-contracts.test.ts +416 -3
  62. package/src/builder-settings.ts +4 -1
  63. package/src/canonical-settings.ts +156 -0
  64. package/src/custom-pages.test.ts +74 -0
  65. package/src/custom-pages.ts +70 -0
  66. package/src/dedicated-pages.test.ts +88 -0
  67. package/src/dedicated-pages.ts +173 -0
  68. package/src/events.ts +8 -0
  69. package/src/fields.ts +30 -0
  70. package/src/index.ts +10 -0
  71. package/src/legacy-manifest.ts +147 -23
  72. package/src/migrations.ts +70 -6
  73. package/src/persistence.ts +77 -0
  74. package/src/preview-boot.test.ts +72 -0
  75. package/src/preview-boot.ts +49 -0
  76. package/src/preview-protocol.test.ts +132 -0
  77. package/src/preview-protocol.ts +122 -0
  78. package/src/preview-session-resolve.test.ts +37 -0
  79. package/src/preview-session-resolve.ts +34 -0
  80. package/src/preview-trusted-origins.test.ts +24 -0
  81. package/src/preview-trusted-origins.ts +35 -0
  82. package/src/storefront-initial-data-html.test.ts +73 -0
  83. package/src/storefront-initial-data-html.ts +112 -0
  84. package/src/storefront-typography-fonts.test.ts +48 -0
  85. package/src/storefront-typography-fonts.ts +108 -0
  86. package/src/style-slots.ts +102 -34
  87. package/src/theme-manifest.ts +118 -1
  88. package/src/theme-schemes.ts +34 -0
  89. package/src/validation.ts +32 -13
  90. package/dist/builder-contracts.test.d.ts +0 -2
  91. package/dist/builder-contracts.test.d.ts.map +0 -1
  92. package/dist/builder-contracts.test.js +0 -361
@@ -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,12 @@ 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
+ search: "search";
53
+ content: "content";
54
+ profile: "profile";
55
+ style: "style";
56
+ }>>;
123
57
  type: z.ZodLiteral<"text">;
124
58
  placeholder: z.ZodOptional<z.ZodString>;
125
59
  minLength: z.ZodOptional<z.ZodNumber>;
@@ -129,18 +63,55 @@ export declare const ManifestBlockSchema: z.ZodObject<{
129
63
  description: z.ZodOptional<z.ZodString>;
130
64
  defaultValue: z.ZodOptional<z.ZodUnknown>;
131
65
  required: z.ZodOptional<z.ZodBoolean>;
66
+ group: z.ZodOptional<z.ZodEnum<{
67
+ search: "search";
68
+ content: "content";
69
+ profile: "profile";
70
+ style: "style";
71
+ }>>;
132
72
  type: z.ZodLiteral<"richtext">;
133
73
  allowedMarks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
74
+ code: "code";
134
75
  bold: "bold";
135
- italic: "italic";
136
76
  link: "link";
137
- code: "code";
77
+ italic: "italic";
138
78
  }>>>;
139
79
  }, z.core.$strict>, z.ZodObject<{
140
80
  label: z.ZodString;
141
81
  description: z.ZodOptional<z.ZodString>;
142
82
  defaultValue: z.ZodOptional<z.ZodUnknown>;
143
83
  required: z.ZodOptional<z.ZodBoolean>;
84
+ group: z.ZodOptional<z.ZodEnum<{
85
+ search: "search";
86
+ content: "content";
87
+ profile: "profile";
88
+ style: "style";
89
+ }>>;
90
+ type: z.ZodLiteral<"code">;
91
+ language: z.ZodOptional<z.ZodEnum<{
92
+ html: "html";
93
+ css: "css";
94
+ javascript: "javascript";
95
+ json: "json";
96
+ }>>;
97
+ placeholder: z.ZodOptional<z.ZodString>;
98
+ maxLength: z.ZodOptional<z.ZodNumber>;
99
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
+ label: z.ZodString;
101
+ snippet: z.ZodString;
102
+ description: z.ZodOptional<z.ZodString>;
103
+ }, z.core.$strict>>>;
104
+ }, z.core.$strict>, z.ZodObject<{
105
+ label: z.ZodString;
106
+ description: z.ZodOptional<z.ZodString>;
107
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
108
+ required: z.ZodOptional<z.ZodBoolean>;
109
+ group: z.ZodOptional<z.ZodEnum<{
110
+ search: "search";
111
+ content: "content";
112
+ profile: "profile";
113
+ style: "style";
114
+ }>>;
144
115
  type: z.ZodLiteral<"image">;
145
116
  aspectRatio: z.ZodOptional<z.ZodString>;
146
117
  }, z.core.$strict>, z.ZodObject<{
@@ -148,17 +119,35 @@ export declare const ManifestBlockSchema: z.ZodObject<{
148
119
  description: z.ZodOptional<z.ZodString>;
149
120
  defaultValue: z.ZodOptional<z.ZodUnknown>;
150
121
  required: z.ZodOptional<z.ZodBoolean>;
122
+ group: z.ZodOptional<z.ZodEnum<{
123
+ search: "search";
124
+ content: "content";
125
+ profile: "profile";
126
+ style: "style";
127
+ }>>;
151
128
  type: z.ZodLiteral<"link">;
152
129
  }, z.core.$strict>, z.ZodObject<{
153
130
  label: z.ZodString;
154
131
  description: z.ZodOptional<z.ZodString>;
155
132
  required: z.ZodOptional<z.ZodBoolean>;
133
+ group: z.ZodOptional<z.ZodEnum<{
134
+ search: "search";
135
+ content: "content";
136
+ profile: "profile";
137
+ style: "style";
138
+ }>>;
156
139
  type: z.ZodLiteral<"boolean">;
157
140
  defaultValue: z.ZodOptional<z.ZodBoolean>;
158
141
  }, z.core.$strict>, z.ZodObject<{
159
142
  label: z.ZodString;
160
143
  description: z.ZodOptional<z.ZodString>;
161
144
  required: z.ZodOptional<z.ZodBoolean>;
145
+ group: z.ZodOptional<z.ZodEnum<{
146
+ search: "search";
147
+ content: "content";
148
+ profile: "profile";
149
+ style: "style";
150
+ }>>;
162
151
  type: z.ZodLiteral<"number">;
163
152
  defaultValue: z.ZodOptional<z.ZodNumber>;
164
153
  min: z.ZodOptional<z.ZodNumber>;
@@ -168,6 +157,12 @@ export declare const ManifestBlockSchema: z.ZodObject<{
168
157
  label: z.ZodString;
169
158
  description: z.ZodOptional<z.ZodString>;
170
159
  required: z.ZodOptional<z.ZodBoolean>;
160
+ group: z.ZodOptional<z.ZodEnum<{
161
+ search: "search";
162
+ content: "content";
163
+ profile: "profile";
164
+ style: "style";
165
+ }>>;
171
166
  type: z.ZodLiteral<"range">;
172
167
  defaultValue: z.ZodOptional<z.ZodNumber>;
173
168
  min: z.ZodNumber;
@@ -178,6 +173,12 @@ export declare const ManifestBlockSchema: z.ZodObject<{
178
173
  label: z.ZodString;
179
174
  description: z.ZodOptional<z.ZodString>;
180
175
  required: z.ZodOptional<z.ZodBoolean>;
176
+ group: z.ZodOptional<z.ZodEnum<{
177
+ search: "search";
178
+ content: "content";
179
+ profile: "profile";
180
+ style: "style";
181
+ }>>;
181
182
  type: z.ZodLiteral<"select">;
182
183
  defaultValue: z.ZodOptional<z.ZodString>;
183
184
  options: z.ZodArray<z.ZodObject<{
@@ -188,19 +189,37 @@ export declare const ManifestBlockSchema: z.ZodObject<{
188
189
  label: z.ZodString;
189
190
  description: z.ZodOptional<z.ZodString>;
190
191
  required: z.ZodOptional<z.ZodBoolean>;
192
+ group: z.ZodOptional<z.ZodEnum<{
193
+ search: "search";
194
+ content: "content";
195
+ profile: "profile";
196
+ style: "style";
197
+ }>>;
191
198
  type: z.ZodLiteral<"color">;
192
- defaultValue: z.ZodOptional<z.ZodString>;
199
+ defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"transparent">, z.ZodString]>>;
193
200
  }, z.core.$strict>, z.ZodObject<{
194
201
  label: z.ZodString;
195
202
  description: z.ZodOptional<z.ZodString>;
196
203
  defaultValue: z.ZodOptional<z.ZodUnknown>;
197
204
  required: z.ZodOptional<z.ZodBoolean>;
205
+ group: z.ZodOptional<z.ZodEnum<{
206
+ search: "search";
207
+ content: "content";
208
+ profile: "profile";
209
+ style: "style";
210
+ }>>;
198
211
  type: z.ZodLiteral<"product">;
199
212
  }, z.core.$strict>, z.ZodObject<{
200
213
  label: z.ZodString;
201
214
  description: z.ZodOptional<z.ZodString>;
202
215
  defaultValue: z.ZodOptional<z.ZodUnknown>;
203
216
  required: z.ZodOptional<z.ZodBoolean>;
217
+ group: z.ZodOptional<z.ZodEnum<{
218
+ search: "search";
219
+ content: "content";
220
+ profile: "profile";
221
+ style: "style";
222
+ }>>;
204
223
  type: z.ZodLiteral<"products">;
205
224
  minItems: z.ZodOptional<z.ZodNumber>;
206
225
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -209,6 +228,12 @@ export declare const ManifestBlockSchema: z.ZodObject<{
209
228
  description: z.ZodOptional<z.ZodString>;
210
229
  defaultValue: z.ZodOptional<z.ZodUnknown>;
211
230
  required: z.ZodOptional<z.ZodBoolean>;
231
+ group: z.ZodOptional<z.ZodEnum<{
232
+ search: "search";
233
+ content: "content";
234
+ profile: "profile";
235
+ style: "style";
236
+ }>>;
212
237
  type: z.ZodLiteral<"list">;
213
238
  minItems: z.ZodOptional<z.ZodNumber>;
214
239
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -217,12 +242,18 @@ export declare const ManifestBlockSchema: z.ZodObject<{
217
242
  description: z.ZodOptional<z.ZodString>;
218
243
  defaultValue: z.ZodOptional<z.ZodUnknown>;
219
244
  required: z.ZodOptional<z.ZodBoolean>;
245
+ group: z.ZodOptional<z.ZodEnum<{
246
+ search: "search";
247
+ content: "content";
248
+ profile: "profile";
249
+ style: "style";
250
+ }>>;
220
251
  type: z.ZodEnum<{
221
252
  number: "number";
222
253
  boolean: "boolean";
254
+ link: "link";
223
255
  text: "text";
224
256
  richtext: "richtext";
225
- link: "link";
226
257
  image: "image";
227
258
  range: "range";
228
259
  select: "select";
@@ -240,7 +271,7 @@ export declare const ManifestBlockSchema: z.ZodObject<{
240
271
  placeholder: z.ZodOptional<z.ZodString>;
241
272
  }, z.core.$strict>>;
242
273
  }, z.core.$strict>], "type">>>;
243
- exposedStyleSlots: z.ZodDefault<z.ZodArray<z.ZodEnum<{
274
+ exposedStyleSlots: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
244
275
  "button.radius": "button.radius";
245
276
  "button.background": "button.background";
246
277
  "button.foreground": "button.foreground";
@@ -265,174 +296,66 @@ export declare const ManifestBlockSchema: z.ZodObject<{
265
296
  "link.color": "link.color";
266
297
  "typography.heading.weight": "typography.heading.weight";
267
298
  "typography.body.size": "typography.body.size";
268
- }>>>;
299
+ }>, z.ZodString]>>>;
269
300
  presets: z.ZodDefault<z.ZodArray<z.ZodObject<{
270
301
  id: z.ZodString;
271
302
  label: z.ZodString;
272
303
  variant: z.ZodOptional<z.ZodString>;
273
304
  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>>;
305
+ 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
306
  }, z.core.$strict>>>;
349
307
  }, z.core.$strict>;
350
308
  export type ManifestBlock = z.infer<typeof ManifestBlockSchema>;
351
309
  export declare const ThemePresetSchema: z.ZodObject<{
352
310
  label: z.ZodString;
353
311
  description: z.ZodOptional<z.ZodString>;
312
+ preview: z.ZodOptional<z.ZodString>;
354
313
  content: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
355
314
  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>>;
315
+ 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
316
  }, z.core.$strict>;
431
317
  export type ThemePreset = z.infer<typeof ThemePresetSchema>;
318
+ export declare const ThemeManifestMetadataSchema: z.ZodObject<{
319
+ author: z.ZodOptional<z.ZodString>;
320
+ description: z.ZodOptional<z.ZodString>;
321
+ preview: z.ZodOptional<z.ZodString>;
322
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
323
+ techStack: z.ZodOptional<z.ZodArray<z.ZodString>>;
324
+ templates: z.ZodOptional<z.ZodArray<z.ZodString>>;
325
+ createdAt: z.ZodOptional<z.ZodString>;
326
+ demoUrl: z.ZodOptional<z.ZodString>;
327
+ audience: z.ZodOptional<z.ZodString>;
328
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
329
+ hotfixPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
330
+ }, z.core.$strict>;
331
+ export type ThemeManifestMetadata = z.infer<typeof ThemeManifestMetadataSchema>;
332
+ export declare const ThemeManifestLinkGroupSchema: z.ZodObject<{
333
+ path: z.ZodString;
334
+ label: z.ZodString;
335
+ description: z.ZodOptional<z.ZodString>;
336
+ pageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
337
+ }, z.core.$strict>;
338
+ export type ThemeManifestLinkGroup = z.infer<typeof ThemeManifestLinkGroupSchema>;
339
+ export declare const ThemeManifestLinkItemSchema: z.ZodObject<{
340
+ label: z.ZodString;
341
+ href: z.ZodString;
342
+ }, z.core.$strict>;
343
+ export type ThemeManifestLinkItem = z.infer<typeof ThemeManifestLinkItemSchema>;
432
344
  export declare const ThemeManifestSchema: z.ZodObject<{
433
345
  id: z.ZodString;
434
346
  name: z.ZodString;
435
347
  version: z.ZodString;
348
+ author: z.ZodOptional<z.ZodString>;
349
+ description: z.ZodOptional<z.ZodString>;
350
+ preview: z.ZodOptional<z.ZodString>;
351
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
352
+ techStack: z.ZodOptional<z.ZodArray<z.ZodString>>;
353
+ templates: z.ZodOptional<z.ZodArray<z.ZodString>>;
354
+ createdAt: z.ZodOptional<z.ZodString>;
355
+ demoUrl: z.ZodOptional<z.ZodString>;
356
+ audience: z.ZodOptional<z.ZodString>;
357
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
358
+ hotfixPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
436
359
  pages: z.ZodRecord<z.ZodString, z.ZodObject<{
437
360
  label: z.ZodString;
438
361
  previewPath: z.ZodOptional<z.ZodString>;
@@ -458,6 +381,12 @@ export declare const ThemeManifestSchema: z.ZodObject<{
458
381
  description: z.ZodOptional<z.ZodString>;
459
382
  defaultValue: z.ZodOptional<z.ZodUnknown>;
460
383
  required: z.ZodOptional<z.ZodBoolean>;
384
+ group: z.ZodOptional<z.ZodEnum<{
385
+ search: "search";
386
+ content: "content";
387
+ profile: "profile";
388
+ style: "style";
389
+ }>>;
461
390
  type: z.ZodLiteral<"text">;
462
391
  placeholder: z.ZodOptional<z.ZodString>;
463
392
  minLength: z.ZodOptional<z.ZodNumber>;
@@ -467,18 +396,55 @@ export declare const ThemeManifestSchema: z.ZodObject<{
467
396
  description: z.ZodOptional<z.ZodString>;
468
397
  defaultValue: z.ZodOptional<z.ZodUnknown>;
469
398
  required: z.ZodOptional<z.ZodBoolean>;
399
+ group: z.ZodOptional<z.ZodEnum<{
400
+ search: "search";
401
+ content: "content";
402
+ profile: "profile";
403
+ style: "style";
404
+ }>>;
470
405
  type: z.ZodLiteral<"richtext">;
471
406
  allowedMarks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
407
+ code: "code";
472
408
  bold: "bold";
473
- italic: "italic";
474
409
  link: "link";
475
- code: "code";
410
+ italic: "italic";
476
411
  }>>>;
477
412
  }, z.core.$strict>, z.ZodObject<{
478
413
  label: z.ZodString;
479
414
  description: z.ZodOptional<z.ZodString>;
480
415
  defaultValue: z.ZodOptional<z.ZodUnknown>;
481
416
  required: z.ZodOptional<z.ZodBoolean>;
417
+ group: z.ZodOptional<z.ZodEnum<{
418
+ search: "search";
419
+ content: "content";
420
+ profile: "profile";
421
+ style: "style";
422
+ }>>;
423
+ type: z.ZodLiteral<"code">;
424
+ language: z.ZodOptional<z.ZodEnum<{
425
+ html: "html";
426
+ css: "css";
427
+ javascript: "javascript";
428
+ json: "json";
429
+ }>>;
430
+ placeholder: z.ZodOptional<z.ZodString>;
431
+ maxLength: z.ZodOptional<z.ZodNumber>;
432
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
433
+ label: z.ZodString;
434
+ snippet: z.ZodString;
435
+ description: z.ZodOptional<z.ZodString>;
436
+ }, z.core.$strict>>>;
437
+ }, z.core.$strict>, z.ZodObject<{
438
+ label: z.ZodString;
439
+ description: z.ZodOptional<z.ZodString>;
440
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
441
+ required: z.ZodOptional<z.ZodBoolean>;
442
+ group: z.ZodOptional<z.ZodEnum<{
443
+ search: "search";
444
+ content: "content";
445
+ profile: "profile";
446
+ style: "style";
447
+ }>>;
482
448
  type: z.ZodLiteral<"image">;
483
449
  aspectRatio: z.ZodOptional<z.ZodString>;
484
450
  }, z.core.$strict>, z.ZodObject<{
@@ -486,17 +452,35 @@ export declare const ThemeManifestSchema: z.ZodObject<{
486
452
  description: z.ZodOptional<z.ZodString>;
487
453
  defaultValue: z.ZodOptional<z.ZodUnknown>;
488
454
  required: z.ZodOptional<z.ZodBoolean>;
455
+ group: z.ZodOptional<z.ZodEnum<{
456
+ search: "search";
457
+ content: "content";
458
+ profile: "profile";
459
+ style: "style";
460
+ }>>;
489
461
  type: z.ZodLiteral<"link">;
490
462
  }, z.core.$strict>, z.ZodObject<{
491
463
  label: z.ZodString;
492
464
  description: z.ZodOptional<z.ZodString>;
493
465
  required: z.ZodOptional<z.ZodBoolean>;
466
+ group: z.ZodOptional<z.ZodEnum<{
467
+ search: "search";
468
+ content: "content";
469
+ profile: "profile";
470
+ style: "style";
471
+ }>>;
494
472
  type: z.ZodLiteral<"boolean">;
495
473
  defaultValue: z.ZodOptional<z.ZodBoolean>;
496
474
  }, z.core.$strict>, z.ZodObject<{
497
475
  label: z.ZodString;
498
476
  description: z.ZodOptional<z.ZodString>;
499
477
  required: z.ZodOptional<z.ZodBoolean>;
478
+ group: z.ZodOptional<z.ZodEnum<{
479
+ search: "search";
480
+ content: "content";
481
+ profile: "profile";
482
+ style: "style";
483
+ }>>;
500
484
  type: z.ZodLiteral<"number">;
501
485
  defaultValue: z.ZodOptional<z.ZodNumber>;
502
486
  min: z.ZodOptional<z.ZodNumber>;
@@ -506,6 +490,12 @@ export declare const ThemeManifestSchema: z.ZodObject<{
506
490
  label: z.ZodString;
507
491
  description: z.ZodOptional<z.ZodString>;
508
492
  required: z.ZodOptional<z.ZodBoolean>;
493
+ group: z.ZodOptional<z.ZodEnum<{
494
+ search: "search";
495
+ content: "content";
496
+ profile: "profile";
497
+ style: "style";
498
+ }>>;
509
499
  type: z.ZodLiteral<"range">;
510
500
  defaultValue: z.ZodOptional<z.ZodNumber>;
511
501
  min: z.ZodNumber;
@@ -516,6 +506,12 @@ export declare const ThemeManifestSchema: z.ZodObject<{
516
506
  label: z.ZodString;
517
507
  description: z.ZodOptional<z.ZodString>;
518
508
  required: z.ZodOptional<z.ZodBoolean>;
509
+ group: z.ZodOptional<z.ZodEnum<{
510
+ search: "search";
511
+ content: "content";
512
+ profile: "profile";
513
+ style: "style";
514
+ }>>;
519
515
  type: z.ZodLiteral<"select">;
520
516
  defaultValue: z.ZodOptional<z.ZodString>;
521
517
  options: z.ZodArray<z.ZodObject<{
@@ -526,19 +522,37 @@ export declare const ThemeManifestSchema: z.ZodObject<{
526
522
  label: z.ZodString;
527
523
  description: z.ZodOptional<z.ZodString>;
528
524
  required: z.ZodOptional<z.ZodBoolean>;
525
+ group: z.ZodOptional<z.ZodEnum<{
526
+ search: "search";
527
+ content: "content";
528
+ profile: "profile";
529
+ style: "style";
530
+ }>>;
529
531
  type: z.ZodLiteral<"color">;
530
- defaultValue: z.ZodOptional<z.ZodString>;
532
+ defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"transparent">, z.ZodString]>>;
531
533
  }, z.core.$strict>, z.ZodObject<{
532
534
  label: z.ZodString;
533
535
  description: z.ZodOptional<z.ZodString>;
534
536
  defaultValue: z.ZodOptional<z.ZodUnknown>;
535
537
  required: z.ZodOptional<z.ZodBoolean>;
538
+ group: z.ZodOptional<z.ZodEnum<{
539
+ search: "search";
540
+ content: "content";
541
+ profile: "profile";
542
+ style: "style";
543
+ }>>;
536
544
  type: z.ZodLiteral<"product">;
537
545
  }, z.core.$strict>, z.ZodObject<{
538
546
  label: z.ZodString;
539
547
  description: z.ZodOptional<z.ZodString>;
540
548
  defaultValue: z.ZodOptional<z.ZodUnknown>;
541
549
  required: z.ZodOptional<z.ZodBoolean>;
550
+ group: z.ZodOptional<z.ZodEnum<{
551
+ search: "search";
552
+ content: "content";
553
+ profile: "profile";
554
+ style: "style";
555
+ }>>;
542
556
  type: z.ZodLiteral<"products">;
543
557
  minItems: z.ZodOptional<z.ZodNumber>;
544
558
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -547,6 +561,12 @@ export declare const ThemeManifestSchema: z.ZodObject<{
547
561
  description: z.ZodOptional<z.ZodString>;
548
562
  defaultValue: z.ZodOptional<z.ZodUnknown>;
549
563
  required: z.ZodOptional<z.ZodBoolean>;
564
+ group: z.ZodOptional<z.ZodEnum<{
565
+ search: "search";
566
+ content: "content";
567
+ profile: "profile";
568
+ style: "style";
569
+ }>>;
550
570
  type: z.ZodLiteral<"list">;
551
571
  minItems: z.ZodOptional<z.ZodNumber>;
552
572
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -555,12 +575,18 @@ export declare const ThemeManifestSchema: z.ZodObject<{
555
575
  description: z.ZodOptional<z.ZodString>;
556
576
  defaultValue: z.ZodOptional<z.ZodUnknown>;
557
577
  required: z.ZodOptional<z.ZodBoolean>;
578
+ group: z.ZodOptional<z.ZodEnum<{
579
+ search: "search";
580
+ content: "content";
581
+ profile: "profile";
582
+ style: "style";
583
+ }>>;
558
584
  type: z.ZodEnum<{
559
585
  number: "number";
560
586
  boolean: "boolean";
587
+ link: "link";
561
588
  text: "text";
562
589
  richtext: "richtext";
563
- link: "link";
564
590
  image: "image";
565
591
  range: "range";
566
592
  select: "select";
@@ -578,7 +604,7 @@ export declare const ThemeManifestSchema: z.ZodObject<{
578
604
  placeholder: z.ZodOptional<z.ZodString>;
579
605
  }, z.core.$strict>>;
580
606
  }, z.core.$strict>], "type">>>;
581
- exposedStyleSlots: z.ZodDefault<z.ZodArray<z.ZodEnum<{
607
+ exposedStyleSlots: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
582
608
  "button.radius": "button.radius";
583
609
  "button.background": "button.background";
584
610
  "button.foreground": "button.foreground";
@@ -603,243 +629,48 @@ export declare const ThemeManifestSchema: z.ZodObject<{
603
629
  "link.color": "link.color";
604
630
  "typography.heading.weight": "typography.heading.weight";
605
631
  "typography.body.size": "typography.body.size";
606
- }>>>;
632
+ }>, z.ZodString]>>>;
607
633
  presets: z.ZodDefault<z.ZodArray<z.ZodObject<{
608
634
  id: z.ZodString;
609
635
  label: z.ZodString;
610
636
  variant: z.ZodOptional<z.ZodString>;
611
637
  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>>;
638
+ 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
639
  }, z.core.$strict>>>;
687
640
  }, 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>>;
641
+ 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
642
  presets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
763
643
  label: z.ZodString;
764
644
  description: z.ZodOptional<z.ZodString>;
645
+ preview: z.ZodOptional<z.ZodString>;
765
646
  content: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
766
647
  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>>;
648
+ 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
649
  }, z.core.$strict>>>;
650
+ linkGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
651
+ path: z.ZodString;
652
+ label: z.ZodString;
653
+ description: z.ZodOptional<z.ZodString>;
654
+ pageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
655
+ }, z.core.$strict>>>;
656
+ defaultLinkItems: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
657
+ label: z.ZodString;
658
+ href: z.ZodString;
659
+ }, z.core.$strict>>>>;
842
660
  }, z.core.$strict>;
843
661
  export type ThemeManifest = z.infer<typeof ThemeManifestSchema>;
844
662
  export declare function parseThemeManifest(input: unknown): ThemeManifest;
663
+ export type ThemeManifestPresetListItem = {
664
+ id: string;
665
+ name: string;
666
+ description?: string;
667
+ preview?: string;
668
+ overrides: {
669
+ content?: Record<string, unknown>;
670
+ layout?: Record<string, unknown>;
671
+ tokens?: Record<string, unknown>;
672
+ style_slots?: StyleSlotDefaults;
673
+ };
674
+ };
675
+ export declare function listThemeManifestPresets(input: unknown): ThemeManifestPresetListItem[];
845
676
  //# sourceMappingURL=theme-manifest.d.ts.map