@getvitops/generator 1.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -7,31 +7,31 @@ declare const DesignSystemSchema: z.ZodMiniObject<{
7
7
  meta: z.ZodMiniOptional<z.ZodMiniObject<{
8
8
  name: z.ZodMiniOptional<z.ZodMiniString<string>>;
9
9
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
10
- }, z.z.core.$strip>>;
10
+ }, z.z.core.$strict>>;
11
11
  colors: z.ZodMiniObject<{
12
12
  palette: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
13
13
  seed: z.ZodMiniString<string>;
14
14
  anchors: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
15
- }, z.z.core.$strip>, z.ZodMiniObject<{
15
+ }, z.z.core.$strict>, z.ZodMiniObject<{
16
16
  tones: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
17
- }, z.z.core.$strip>]>>;
17
+ }, z.z.core.$strict>]>>;
18
18
  roles: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
19
19
  hue: z.ZodMiniString<string>;
20
20
  kind: z.ZodMiniOptional<z.ZodMiniEnum<{
21
21
  surface: "surface";
22
22
  chromatic: "chromatic";
23
23
  }>>;
24
- }, z.z.core.$strip>]>>;
24
+ }, z.z.core.$strict>]>>;
25
25
  utilities: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
26
- fill: "fill";
27
26
  bg: "bg";
28
27
  text: "text";
29
28
  icon: "icon";
30
29
  border: "border";
31
30
  outline: "outline";
31
+ fill: "fill";
32
32
  stroke: "stroke";
33
33
  }>>>;
34
- }, z.z.core.$strip>;
34
+ }, z.z.core.$strict>;
35
35
  shadows: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
36
36
  fonts: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
37
37
  typeScale: z.ZodMiniOptional<z.ZodMiniObject<{
@@ -45,8 +45,8 @@ declare const DesignSystemSchema: z.ZodMiniObject<{
45
45
  minVw: z.ZodMiniString<string>;
46
46
  maxVw: z.ZodMiniString<string>;
47
47
  minRatio: z.ZodMiniNumber<number>;
48
- }, z.z.core.$strip>>;
49
- }, z.z.core.$strip>>;
48
+ }, z.z.core.$strict>>;
49
+ }, z.z.core.$strict>>;
50
50
  spaceScale: z.ZodMiniOptional<z.ZodMiniObject<{
51
51
  base: z.ZodMiniString<string>;
52
52
  ratio: z.ZodMiniNumber<number>;
@@ -58,8 +58,8 @@ declare const DesignSystemSchema: z.ZodMiniObject<{
58
58
  minVw: z.ZodMiniString<string>;
59
59
  maxVw: z.ZodMiniString<string>;
60
60
  minRatio: z.ZodMiniNumber<number>;
61
- }, z.z.core.$strip>>;
62
- }, z.z.core.$strip>>;
61
+ }, z.z.core.$strict>>;
62
+ }, z.z.core.$strict>>;
63
63
  patterns: z.ZodMiniOptional<z.ZodMiniObject<{
64
64
  defaults: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
65
65
  radii: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
@@ -75,25 +75,25 @@ declare const DesignSystemSchema: z.ZodMiniObject<{
75
75
  base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
76
76
  states: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
77
77
  roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
78
- }, z.z.core.$strip>>>;
79
- }, z.z.core.$strip>>;
78
+ }, z.z.core.$strict>>>;
79
+ }, z.z.core.$strict>>;
80
80
  typography: z.ZodMiniOptional<z.ZodMiniObject<{
81
81
  families: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
82
82
  roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
83
83
  headings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
84
- }, z.z.core.$strip>>;
84
+ }, z.z.core.$strict>>;
85
85
  animations: z.ZodMiniOptional<z.ZodMiniObject<{
86
86
  effects: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
87
87
  kf: z.ZodMiniString<string>;
88
88
  css: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
89
89
  vars: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
90
- }, z.z.core.$strip>>>;
90
+ }, z.z.core.$strict>>>;
91
91
  journeys: z.ZodMiniOptional<z.ZodMiniObject<{
92
92
  base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
93
93
  compose: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
94
- }, z.z.core.$strip>>;
95
- }, z.z.core.$strip>>;
96
- }, z.z.core.$strip>;
94
+ }, z.z.core.$strict>>;
95
+ }, z.z.core.$strict>>;
96
+ }, z.z.core.$strict>;
97
97
  type DesignSystem = z.infer<typeof DesignSystemSchema>;
98
98
  /**
99
99
  * Stable URL of the published JSON Schema. Resolves once `@getvitops/generator` is on
@@ -108,31 +108,31 @@ declare const jsonSchema: {
108
108
  meta: z.ZodMiniOptional<z.ZodMiniObject<{
109
109
  name: z.ZodMiniOptional<z.ZodMiniString<string>>;
110
110
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
111
- }, z.z.core.$strip>>;
111
+ }, z.z.core.$strict>>;
112
112
  colors: z.ZodMiniObject<{
113
113
  palette: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
114
114
  seed: z.ZodMiniString<string>;
115
115
  anchors: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
116
- }, z.z.core.$strip>, z.ZodMiniObject<{
116
+ }, z.z.core.$strict>, z.ZodMiniObject<{
117
117
  tones: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
118
- }, z.z.core.$strip>]>>;
118
+ }, z.z.core.$strict>]>>;
119
119
  roles: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
120
120
  hue: z.ZodMiniString<string>;
121
121
  kind: z.ZodMiniOptional<z.ZodMiniEnum<{
122
122
  surface: "surface";
123
123
  chromatic: "chromatic";
124
124
  }>>;
125
- }, z.z.core.$strip>]>>;
125
+ }, z.z.core.$strict>]>>;
126
126
  utilities: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
127
- fill: "fill";
128
127
  bg: "bg";
129
128
  text: "text";
130
129
  icon: "icon";
131
130
  border: "border";
132
131
  outline: "outline";
132
+ fill: "fill";
133
133
  stroke: "stroke";
134
134
  }>>>;
135
- }, z.z.core.$strip>;
135
+ }, z.z.core.$strict>;
136
136
  shadows: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
137
137
  fonts: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
138
138
  typeScale: z.ZodMiniOptional<z.ZodMiniObject<{
@@ -146,8 +146,8 @@ declare const jsonSchema: {
146
146
  minVw: z.ZodMiniString<string>;
147
147
  maxVw: z.ZodMiniString<string>;
148
148
  minRatio: z.ZodMiniNumber<number>;
149
- }, z.z.core.$strip>>;
150
- }, z.z.core.$strip>>;
149
+ }, z.z.core.$strict>>;
150
+ }, z.z.core.$strict>>;
151
151
  spaceScale: z.ZodMiniOptional<z.ZodMiniObject<{
152
152
  base: z.ZodMiniString<string>;
153
153
  ratio: z.ZodMiniNumber<number>;
@@ -159,8 +159,8 @@ declare const jsonSchema: {
159
159
  minVw: z.ZodMiniString<string>;
160
160
  maxVw: z.ZodMiniString<string>;
161
161
  minRatio: z.ZodMiniNumber<number>;
162
- }, z.z.core.$strip>>;
163
- }, z.z.core.$strip>>;
162
+ }, z.z.core.$strict>>;
163
+ }, z.z.core.$strict>>;
164
164
  patterns: z.ZodMiniOptional<z.ZodMiniObject<{
165
165
  defaults: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
166
166
  radii: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
@@ -176,25 +176,25 @@ declare const jsonSchema: {
176
176
  base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
177
177
  states: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
178
178
  roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
179
- }, z.z.core.$strip>>>;
180
- }, z.z.core.$strip>>;
179
+ }, z.z.core.$strict>>>;
180
+ }, z.z.core.$strict>>;
181
181
  typography: z.ZodMiniOptional<z.ZodMiniObject<{
182
182
  families: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
183
183
  roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
184
184
  headings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
185
- }, z.z.core.$strip>>;
185
+ }, z.z.core.$strict>>;
186
186
  animations: z.ZodMiniOptional<z.ZodMiniObject<{
187
187
  effects: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
188
188
  kf: z.ZodMiniString<string>;
189
189
  css: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
190
190
  vars: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
191
- }, z.z.core.$strip>>>;
191
+ }, z.z.core.$strict>>>;
192
192
  journeys: z.ZodMiniOptional<z.ZodMiniObject<{
193
193
  base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
194
194
  compose: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
195
- }, z.z.core.$strip>>;
196
- }, z.z.core.$strip>>;
197
- }, z.z.core.$strip>>;
195
+ }, z.z.core.$strict>>;
196
+ }, z.z.core.$strict>>;
197
+ }, z.z.core.$strict>>;
198
198
  $schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#" | "http://json-schema.org/draft-04/schema#";
199
199
  $id: string;
200
200
  $anchor?: string;
@@ -299,6 +299,96 @@ declare const ContactObjectSchema: z.ZodMiniObject<{
299
299
  }, z.z.core.$strip>;
300
300
  type PostalAddress = z.infer<typeof PostalAddressSchema>;
301
301
  type ContactObject = z.infer<typeof ContactObjectSchema>;
302
+ declare const SiteFontSchema: z.ZodMiniObject<{
303
+ name: z.ZodMiniString<string>;
304
+ provider: z.ZodMiniEnum<{
305
+ google: "google";
306
+ fontsource: "fontsource";
307
+ adobe: "adobe";
308
+ bunny: "bunny";
309
+ fontshare: "fontshare";
310
+ googleicons: "googleicons";
311
+ npm: "npm";
312
+ local: "local";
313
+ }>;
314
+ cssVariable: z.ZodMiniString<string>;
315
+ weights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>>;
316
+ styles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
317
+ normal: "normal";
318
+ italic: "italic";
319
+ }>>>;
320
+ subsets: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
321
+ fallbacks: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
322
+ optimizedFallbacks: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
323
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
324
+ optional: "optional";
325
+ auto: "auto";
326
+ block: "block";
327
+ swap: "swap";
328
+ fallback: "fallback";
329
+ }>>;
330
+ formats: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
331
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
332
+ variants: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
333
+ src: z.ZodMiniArray<z.ZodMiniString<string>>;
334
+ weight: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>>;
335
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
336
+ normal: "normal";
337
+ italic: "italic";
338
+ }>>;
339
+ unicodeRange: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
340
+ display: z.ZodMiniOptional<z.ZodMiniEnum<{
341
+ optional: "optional";
342
+ auto: "auto";
343
+ block: "block";
344
+ swap: "swap";
345
+ fallback: "fallback";
346
+ }>>;
347
+ }, z.z.core.$strip>>>;
348
+ preload: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniArray<z.ZodMiniObject<{
349
+ weight: z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>;
350
+ style: z.ZodMiniOptional<z.ZodMiniEnum<{
351
+ normal: "normal";
352
+ italic: "italic";
353
+ }>>;
354
+ }, z.z.core.$strip>>]>>;
355
+ }, z.z.core.$strip>;
356
+ /**
357
+ * What `vitops notify` needs to tell search engines a deploy happened.
358
+ *
359
+ * Scoped by what search engines actually accept, which is narrower than it looks:
360
+ * Google exposes **no** "request indexing" API (the Search Console button is not in
361
+ * its API, and URL Inspection is read-only), and it removed the sitemap ping
362
+ * endpoint in 2023. So the sanctioned set is: an accurate sitemap, a Search Console
363
+ * sitemap resubmit, an IndexNow ping — which Google does *not* honour but Bing,
364
+ * Yandex, Naver, Seznam and Yep do — and a read-only inspection pass to find out
365
+ * what Google actually did.
366
+ *
367
+ * Facts only, the same rule the legal block follows: this records what the site has
368
+ * (a key, a property, which pages matter), never what to say about it.
369
+ */
370
+ declare const IndexNowSchema: z.ZodMiniObject<{
371
+ key: z.ZodMiniString<string>;
372
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
373
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
374
+ }, z.z.core.$strip>;
375
+ declare const SearchConsoleSchema: z.ZodMiniObject<{
376
+ siteUrl: z.ZodMiniString<string>;
377
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
378
+ }, z.z.core.$strip>;
379
+ declare const IndexingSchema: z.ZodMiniObject<{
380
+ sitemapUrl: z.ZodMiniOptional<z.ZodMiniURL>;
381
+ indexNow: z.ZodMiniOptional<z.ZodMiniObject<{
382
+ key: z.ZodMiniString<string>;
383
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
384
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
385
+ }, z.z.core.$strip>>;
386
+ searchConsole: z.ZodMiniOptional<z.ZodMiniObject<{
387
+ siteUrl: z.ZodMiniString<string>;
388
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
389
+ }, z.z.core.$strip>>;
390
+ priorityUrls: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
391
+ }, z.z.core.$strip>;
302
392
  /**
303
393
  * Which template set the generated legal documents are written against. This is
304
394
  * a closed enum rather than a free string because an unrecognised value would
@@ -475,106 +565,108 @@ declare const SiteConfigSchema: z.ZodMiniObject<{
475
565
  overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
476
566
  }, z.z.core.$strip>>>;
477
567
  }, z.z.core.$strip>>;
478
- designSystem: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
479
- $schema: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniString<string>>>;
480
- meta: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
481
- name: z.ZodMiniOptional<z.ZodMiniString<string>>;
482
- description: z.ZodMiniOptional<z.ZodMiniString<string>>;
483
- }, z.z.core.$strip>>>;
484
- shadows: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
485
- fonts: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
486
- typeScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
487
- base: z.ZodMiniString<string>;
488
- ratio: z.ZodMiniNumber<number>;
489
- steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
490
- names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
491
- baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
492
- baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
493
- fluid: z.ZodMiniOptional<z.ZodMiniObject<{
494
- minVw: z.ZodMiniString<string>;
495
- maxVw: z.ZodMiniString<string>;
496
- minRatio: z.ZodMiniNumber<number>;
497
- }, z.z.core.$strip>>;
498
- }, z.z.core.$strip>>>;
499
- spaceScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
500
- base: z.ZodMiniString<string>;
501
- ratio: z.ZodMiniNumber<number>;
502
- steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
503
- names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
504
- baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
505
- baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
506
- fluid: z.ZodMiniOptional<z.ZodMiniObject<{
507
- minVw: z.ZodMiniString<string>;
508
- maxVw: z.ZodMiniString<string>;
509
- minRatio: z.ZodMiniNumber<number>;
510
- }, z.z.core.$strip>>;
511
- }, z.z.core.$strip>>>;
512
- patterns: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
513
- defaults: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
514
- radii: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
515
- groups: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
516
- z: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
517
- items: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
518
- group: z.ZodMiniOptional<z.ZodMiniString<string>>;
519
- overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
520
- element: z.ZodMiniOptional<z.ZodMiniString<string>>;
521
- class: z.ZodMiniOptional<z.ZodMiniString<string>>;
522
- fill: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
523
- default_role: z.ZodMiniOptional<z.ZodMiniString<string>>;
524
- base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
525
- states: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
526
- roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
527
- }, z.z.core.$strip>>>;
528
- }, z.z.core.$strip>>>;
529
- typography: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
530
- families: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
531
- roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
532
- headings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
533
- }, z.z.core.$strip>>>;
534
- animations: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
535
- effects: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
536
- kf: z.ZodMiniString<string>;
537
- css: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
538
- vars: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
539
- }, z.z.core.$strip>>>;
540
- journeys: z.ZodMiniOptional<z.ZodMiniObject<{
541
- base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
542
- compose: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
543
- }, z.z.core.$strip>>;
544
- }, z.z.core.$strip>>>;
545
- colors: z.ZodMiniOptional<z.ZodMiniObject<{
546
- palette: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
547
- seed: z.ZodMiniString<string>;
548
- anchors: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
549
- }, z.z.core.$strip>, z.ZodMiniObject<{
550
- tones: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
551
- }, z.z.core.$strip>]>>>;
552
- roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
553
- hue: z.ZodMiniString<string>;
554
- kind: z.ZodMiniOptional<z.ZodMiniEnum<{
555
- surface: "surface";
556
- chromatic: "chromatic";
557
- }>>;
558
- }, z.z.core.$strip>]>>>;
559
- utilities: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
560
- fill: "fill";
561
- bg: "bg";
562
- text: "text";
563
- icon: "icon";
564
- border: "border";
565
- outline: "outline";
566
- stroke: "stroke";
567
- }>>>;
568
- }, z.z.core.$strip>>;
569
- displayName: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
570
- extends: z.ZodMiniOptional<z.ZodMiniString<string>>;
571
- }, z.z.core.$strip>>;
572
- defaultTheme: z.ZodMiniOptional<z.ZodMiniString<string>>;
573
- defaultColorScheme: z.ZodMiniOptional<z.ZodMiniEnum<{
574
- light: "light";
575
- dark: "dark";
576
- }>>;
577
- respectSystemPreference: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
568
+ designSystem: z.ZodMiniObject<{
569
+ themes: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
570
+ $schema: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniString<string>>>;
571
+ meta: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
572
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
573
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
574
+ }, z.z.core.$strict>>>;
575
+ shadows: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
576
+ fonts: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
577
+ typeScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
578
+ base: z.ZodMiniString<string>;
579
+ ratio: z.ZodMiniNumber<number>;
580
+ steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
581
+ names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
582
+ baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
583
+ baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
584
+ fluid: z.ZodMiniOptional<z.ZodMiniObject<{
585
+ minVw: z.ZodMiniString<string>;
586
+ maxVw: z.ZodMiniString<string>;
587
+ minRatio: z.ZodMiniNumber<number>;
588
+ }, z.z.core.$strict>>;
589
+ }, z.z.core.$strict>>>;
590
+ spaceScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
591
+ base: z.ZodMiniString<string>;
592
+ ratio: z.ZodMiniNumber<number>;
593
+ steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
594
+ names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
595
+ baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
596
+ baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
597
+ fluid: z.ZodMiniOptional<z.ZodMiniObject<{
598
+ minVw: z.ZodMiniString<string>;
599
+ maxVw: z.ZodMiniString<string>;
600
+ minRatio: z.ZodMiniNumber<number>;
601
+ }, z.z.core.$strict>>;
602
+ }, z.z.core.$strict>>>;
603
+ patterns: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
604
+ defaults: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
605
+ radii: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
606
+ groups: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
607
+ z: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
608
+ items: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
609
+ group: z.ZodMiniOptional<z.ZodMiniString<string>>;
610
+ overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
611
+ element: z.ZodMiniOptional<z.ZodMiniString<string>>;
612
+ class: z.ZodMiniOptional<z.ZodMiniString<string>>;
613
+ fill: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
614
+ default_role: z.ZodMiniOptional<z.ZodMiniString<string>>;
615
+ base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
616
+ states: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
617
+ roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
618
+ }, z.z.core.$strict>>>;
619
+ }, z.z.core.$strict>>>;
620
+ typography: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
621
+ families: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
622
+ roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
623
+ headings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
624
+ }, z.z.core.$strict>>>;
625
+ animations: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
626
+ effects: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
627
+ kf: z.ZodMiniString<string>;
628
+ css: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
629
+ vars: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
630
+ }, z.z.core.$strict>>>;
631
+ journeys: z.ZodMiniOptional<z.ZodMiniObject<{
632
+ base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
633
+ compose: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
634
+ }, z.z.core.$strict>>;
635
+ }, z.z.core.$strict>>>;
636
+ colors: z.ZodMiniOptional<z.ZodMiniObject<{
637
+ palette: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
638
+ seed: z.ZodMiniString<string>;
639
+ anchors: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
640
+ }, z.z.core.$strict>, z.ZodMiniObject<{
641
+ tones: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
642
+ }, z.z.core.$strict>]>>>;
643
+ roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
644
+ hue: z.ZodMiniString<string>;
645
+ kind: z.ZodMiniOptional<z.ZodMiniEnum<{
646
+ surface: "surface";
647
+ chromatic: "chromatic";
648
+ }>>;
649
+ }, z.z.core.$strict>]>>>;
650
+ utilities: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
651
+ bg: "bg";
652
+ text: "text";
653
+ icon: "icon";
654
+ border: "border";
655
+ outline: "outline";
656
+ fill: "fill";
657
+ stroke: "stroke";
658
+ }>>>;
659
+ }, z.z.core.$strict>>;
660
+ displayName: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
661
+ extends: z.ZodMiniOptional<z.ZodMiniString<string>>;
662
+ }, z.z.core.$strict>>;
663
+ defaultTheme: z.ZodMiniOptional<z.ZodMiniString<string>>;
664
+ defaultColorScheme: z.ZodMiniOptional<z.ZodMiniEnum<{
665
+ light: "light";
666
+ dark: "dark";
667
+ system: "system";
668
+ }>>;
669
+ }, z.z.core.$strict>;
578
670
  fonts: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
579
671
  name: z.ZodMiniString<string>;
580
672
  provider: z.ZodMiniEnum<{
@@ -670,9 +762,9 @@ declare const SiteConfigSchema: z.ZodMiniObject<{
670
762
  number: "number";
671
763
  date: "date";
672
764
  file: "file";
765
+ text: "text";
673
766
  email: "email";
674
767
  url: "url";
675
- text: "text";
676
768
  tel: "tel";
677
769
  password: "password";
678
770
  textarea: "textarea";
@@ -740,11 +832,30 @@ declare const SiteConfigSchema: z.ZodMiniObject<{
740
832
  height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
741
833
  }, z.z.core.$strip>]>>;
742
834
  }, z.z.core.$strip>>;
835
+ indexing: z.ZodMiniOptional<z.ZodMiniObject<{
836
+ sitemapUrl: z.ZodMiniOptional<z.ZodMiniURL>;
837
+ indexNow: z.ZodMiniOptional<z.ZodMiniObject<{
838
+ key: z.ZodMiniString<string>;
839
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
840
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
841
+ }, z.z.core.$strip>>;
842
+ searchConsole: z.ZodMiniOptional<z.ZodMiniObject<{
843
+ siteUrl: z.ZodMiniString<string>;
844
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
845
+ }, z.z.core.$strip>>;
846
+ priorityUrls: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
847
+ }, z.z.core.$strip>>;
743
848
  }, z.z.core.$strip>>;
744
849
  analytics: z.ZodMiniOptional<z.ZodMiniObject<{
745
850
  googleAnalyticsId: z.ZodMiniOptional<z.ZodMiniString<string>>;
746
851
  plausibleDomain: z.ZodMiniOptional<z.ZodMiniString<string>>;
747
852
  googleTagManagerId: z.ZodMiniOptional<z.ZodMiniString<string>>;
853
+ clarityId: z.ZodMiniOptional<z.ZodMiniString<string>>;
854
+ matomo: z.ZodMiniOptional<z.ZodMiniObject<{
855
+ url: z.ZodMiniString<string>;
856
+ siteId: z.ZodMiniString<string>;
857
+ cookies: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
858
+ }, z.z.core.$strip>>;
748
859
  }, z.z.core.$strip>>;
749
860
  notifications: z.ZodMiniOptional<z.ZodMiniObject<{
750
861
  email: z.ZodMiniOptional<z.ZodMiniEmail>;
@@ -809,6 +920,8 @@ declare const SiteConfigSchema: z.ZodMiniObject<{
809
920
  icons: z.ZodMiniOptional<z.ZodMiniObject<{
810
921
  ui: z.ZodMiniOptional<z.ZodMiniString<string>>;
811
922
  brand: z.ZodMiniOptional<z.ZodMiniString<string>>;
923
+ weight: z.ZodMiniOptional<z.ZodMiniString<string>>;
924
+ sprite: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
812
925
  semantic: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
813
926
  'fa7-solid': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
814
927
  'fa7-regular': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
@@ -818,7 +931,8 @@ declare const SiteConfigSchema: z.ZodMiniObject<{
818
931
  'simple-icons': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
819
932
  'material-symbols': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
820
933
  lucide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
821
- }, z.z.core.$strip>>;
934
+ ph: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
935
+ }, z.z.core.$loose>>;
822
936
  favicon: z.ZodMiniOptional<z.ZodMiniObject<{
823
937
  source: z.ZodMiniString<string>;
824
938
  lowResSource: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -835,6 +949,14 @@ declare const SiteConfigSchema: z.ZodMiniObject<{
835
949
  }, z.z.core.$strip>>;
836
950
  }, z.z.core.$strip>;
837
951
  type SiteConfig = z.infer<typeof SiteConfigSchema>;
952
+ /** One `fonts[]` entry — a serialisable projection of an Astro Fonts API family. */
953
+ type SiteFont = z.infer<typeof SiteFontSchema>;
954
+ /** The `seo.indexing` block — what `vitops notify` reads. */
955
+ type SiteIndexing = z.infer<typeof IndexingSchema>;
956
+ /** IndexNow submission settings. The `key` is public by design. */
957
+ type SiteIndexNow = z.infer<typeof IndexNowSchema>;
958
+ /** Google Search Console property settings. The credential is never in the config. */
959
+ type SiteSearchConsole = z.infer<typeof SearchConsoleSchema>;
838
960
  declare const SITE_SCHEMA_URL = "https://unpkg.com/@getvitops/generator/site.schema.json";
839
961
  /** The published JSON Schema (draft-2020-12), derived from the zod schema. */
840
962
  declare const siteJsonSchema: {
@@ -1005,106 +1127,108 @@ declare const siteJsonSchema: {
1005
1127
  overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
1006
1128
  }, z.z.core.$strip>>>;
1007
1129
  }, z.z.core.$strip>>;
1008
- designSystem: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1009
- $schema: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniString<string>>>;
1010
- meta: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1011
- name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1012
- description: z.ZodMiniOptional<z.ZodMiniString<string>>;
1013
- }, z.z.core.$strip>>>;
1014
- shadows: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1015
- fonts: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1016
- typeScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1017
- base: z.ZodMiniString<string>;
1018
- ratio: z.ZodMiniNumber<number>;
1019
- steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1020
- names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1021
- baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1022
- baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1023
- fluid: z.ZodMiniOptional<z.ZodMiniObject<{
1024
- minVw: z.ZodMiniString<string>;
1025
- maxVw: z.ZodMiniString<string>;
1026
- minRatio: z.ZodMiniNumber<number>;
1027
- }, z.z.core.$strip>>;
1028
- }, z.z.core.$strip>>>;
1029
- spaceScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1030
- base: z.ZodMiniString<string>;
1031
- ratio: z.ZodMiniNumber<number>;
1032
- steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1033
- names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1034
- baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1035
- baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1036
- fluid: z.ZodMiniOptional<z.ZodMiniObject<{
1037
- minVw: z.ZodMiniString<string>;
1038
- maxVw: z.ZodMiniString<string>;
1039
- minRatio: z.ZodMiniNumber<number>;
1040
- }, z.z.core.$strip>>;
1041
- }, z.z.core.$strip>>>;
1042
- patterns: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1043
- defaults: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1044
- radii: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1045
- groups: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1046
- z: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
1047
- items: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1048
- group: z.ZodMiniOptional<z.ZodMiniString<string>>;
1049
- overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1050
- element: z.ZodMiniOptional<z.ZodMiniString<string>>;
1051
- class: z.ZodMiniOptional<z.ZodMiniString<string>>;
1052
- fill: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1053
- default_role: z.ZodMiniOptional<z.ZodMiniString<string>>;
1054
- base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1055
- states: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
1056
- roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1057
- }, z.z.core.$strip>>>;
1058
- }, z.z.core.$strip>>>;
1059
- typography: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1060
- families: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1061
- roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
1062
- headings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1063
- }, z.z.core.$strip>>>;
1064
- animations: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1065
- effects: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1066
- kf: z.ZodMiniString<string>;
1067
- css: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
1068
- vars: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
1069
- }, z.z.core.$strip>>>;
1070
- journeys: z.ZodMiniOptional<z.ZodMiniObject<{
1071
- base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
1072
- compose: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
1073
- }, z.z.core.$strip>>;
1074
- }, z.z.core.$strip>>>;
1075
- colors: z.ZodMiniOptional<z.ZodMiniObject<{
1076
- palette: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
1077
- seed: z.ZodMiniString<string>;
1078
- anchors: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1079
- }, z.z.core.$strip>, z.ZodMiniObject<{
1080
- tones: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1081
- }, z.z.core.$strip>]>>>;
1082
- roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1083
- hue: z.ZodMiniString<string>;
1084
- kind: z.ZodMiniOptional<z.ZodMiniEnum<{
1085
- surface: "surface";
1086
- chromatic: "chromatic";
1087
- }>>;
1088
- }, z.z.core.$strip>]>>>;
1089
- utilities: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
1090
- fill: "fill";
1091
- bg: "bg";
1092
- text: "text";
1093
- icon: "icon";
1094
- border: "border";
1095
- outline: "outline";
1096
- stroke: "stroke";
1097
- }>>>;
1098
- }, z.z.core.$strip>>;
1099
- displayName: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1100
- extends: z.ZodMiniOptional<z.ZodMiniString<string>>;
1101
- }, z.z.core.$strip>>;
1102
- defaultTheme: z.ZodMiniOptional<z.ZodMiniString<string>>;
1103
- defaultColorScheme: z.ZodMiniOptional<z.ZodMiniEnum<{
1104
- light: "light";
1105
- dark: "dark";
1106
- }>>;
1107
- respectSystemPreference: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1130
+ designSystem: z.ZodMiniObject<{
1131
+ themes: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1132
+ $schema: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniString<string>>>;
1133
+ meta: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1134
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1135
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
1136
+ }, z.z.core.$strict>>>;
1137
+ shadows: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1138
+ fonts: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1139
+ typeScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1140
+ base: z.ZodMiniString<string>;
1141
+ ratio: z.ZodMiniNumber<number>;
1142
+ steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1143
+ names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1144
+ baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1145
+ baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1146
+ fluid: z.ZodMiniOptional<z.ZodMiniObject<{
1147
+ minVw: z.ZodMiniString<string>;
1148
+ maxVw: z.ZodMiniString<string>;
1149
+ minRatio: z.ZodMiniNumber<number>;
1150
+ }, z.z.core.$strict>>;
1151
+ }, z.z.core.$strict>>>;
1152
+ spaceScale: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1153
+ base: z.ZodMiniString<string>;
1154
+ ratio: z.ZodMiniNumber<number>;
1155
+ steps: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1156
+ names: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1157
+ baseStep: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1158
+ baseline: z.ZodMiniOptional<z.ZodMiniString<string>>;
1159
+ fluid: z.ZodMiniOptional<z.ZodMiniObject<{
1160
+ minVw: z.ZodMiniString<string>;
1161
+ maxVw: z.ZodMiniString<string>;
1162
+ minRatio: z.ZodMiniNumber<number>;
1163
+ }, z.z.core.$strict>>;
1164
+ }, z.z.core.$strict>>>;
1165
+ patterns: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1166
+ defaults: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1167
+ radii: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1168
+ groups: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>>;
1169
+ z: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniNumber<number>>>;
1170
+ items: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1171
+ group: z.ZodMiniOptional<z.ZodMiniString<string>>;
1172
+ overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1173
+ element: z.ZodMiniOptional<z.ZodMiniString<string>>;
1174
+ class: z.ZodMiniOptional<z.ZodMiniString<string>>;
1175
+ fill: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1176
+ default_role: z.ZodMiniOptional<z.ZodMiniString<string>>;
1177
+ base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1178
+ states: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>>;
1179
+ roles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1180
+ }, z.z.core.$strict>>>;
1181
+ }, z.z.core.$strict>>>;
1182
+ typography: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1183
+ families: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1184
+ roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
1185
+ headings: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1186
+ }, z.z.core.$strict>>>;
1187
+ animations: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
1188
+ effects: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
1189
+ kf: z.ZodMiniString<string>;
1190
+ css: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
1191
+ vars: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>;
1192
+ }, z.z.core.$strict>>>;
1193
+ journeys: z.ZodMiniOptional<z.ZodMiniObject<{
1194
+ base: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>>>;
1195
+ compose: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
1196
+ }, z.z.core.$strict>>;
1197
+ }, z.z.core.$strict>>>;
1198
+ colors: z.ZodMiniOptional<z.ZodMiniObject<{
1199
+ palette: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
1200
+ seed: z.ZodMiniString<string>;
1201
+ anchors: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
1202
+ }, z.z.core.$strict>, z.ZodMiniObject<{
1203
+ tones: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>;
1204
+ }, z.z.core.$strict>]>>>;
1205
+ roles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
1206
+ hue: z.ZodMiniString<string>;
1207
+ kind: z.ZodMiniOptional<z.ZodMiniEnum<{
1208
+ surface: "surface";
1209
+ chromatic: "chromatic";
1210
+ }>>;
1211
+ }, z.z.core.$strict>]>>>;
1212
+ utilities: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
1213
+ bg: "bg";
1214
+ text: "text";
1215
+ icon: "icon";
1216
+ border: "border";
1217
+ outline: "outline";
1218
+ fill: "fill";
1219
+ stroke: "stroke";
1220
+ }>>>;
1221
+ }, z.z.core.$strict>>;
1222
+ displayName: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>;
1223
+ extends: z.ZodMiniOptional<z.ZodMiniString<string>>;
1224
+ }, z.z.core.$strict>>;
1225
+ defaultTheme: z.ZodMiniOptional<z.ZodMiniString<string>>;
1226
+ defaultColorScheme: z.ZodMiniOptional<z.ZodMiniEnum<{
1227
+ light: "light";
1228
+ dark: "dark";
1229
+ system: "system";
1230
+ }>>;
1231
+ }, z.z.core.$strict>;
1108
1232
  fonts: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
1109
1233
  name: z.ZodMiniString<string>;
1110
1234
  provider: z.ZodMiniEnum<{
@@ -1200,9 +1324,9 @@ declare const siteJsonSchema: {
1200
1324
  number: "number";
1201
1325
  date: "date";
1202
1326
  file: "file";
1327
+ text: "text";
1203
1328
  email: "email";
1204
1329
  url: "url";
1205
- text: "text";
1206
1330
  tel: "tel";
1207
1331
  password: "password";
1208
1332
  textarea: "textarea";
@@ -1270,11 +1394,30 @@ declare const siteJsonSchema: {
1270
1394
  height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1271
1395
  }, z.z.core.$strip>]>>;
1272
1396
  }, z.z.core.$strip>>;
1397
+ indexing: z.ZodMiniOptional<z.ZodMiniObject<{
1398
+ sitemapUrl: z.ZodMiniOptional<z.ZodMiniURL>;
1399
+ indexNow: z.ZodMiniOptional<z.ZodMiniObject<{
1400
+ key: z.ZodMiniString<string>;
1401
+ keyLocation: z.ZodMiniOptional<z.ZodMiniURL>;
1402
+ endpoint: z.ZodMiniOptional<z.ZodMiniURL>;
1403
+ }, z.z.core.$strip>>;
1404
+ searchConsole: z.ZodMiniOptional<z.ZodMiniObject<{
1405
+ siteUrl: z.ZodMiniString<string>;
1406
+ resubmitSitemap: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1407
+ }, z.z.core.$strip>>;
1408
+ priorityUrls: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniURL>>;
1409
+ }, z.z.core.$strip>>;
1273
1410
  }, z.z.core.$strip>>;
1274
1411
  analytics: z.ZodMiniOptional<z.ZodMiniObject<{
1275
1412
  googleAnalyticsId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1276
1413
  plausibleDomain: z.ZodMiniOptional<z.ZodMiniString<string>>;
1277
1414
  googleTagManagerId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1415
+ clarityId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1416
+ matomo: z.ZodMiniOptional<z.ZodMiniObject<{
1417
+ url: z.ZodMiniString<string>;
1418
+ siteId: z.ZodMiniString<string>;
1419
+ cookies: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1420
+ }, z.z.core.$strip>>;
1278
1421
  }, z.z.core.$strip>>;
1279
1422
  notifications: z.ZodMiniOptional<z.ZodMiniObject<{
1280
1423
  email: z.ZodMiniOptional<z.ZodMiniEmail>;
@@ -1339,6 +1482,8 @@ declare const siteJsonSchema: {
1339
1482
  icons: z.ZodMiniOptional<z.ZodMiniObject<{
1340
1483
  ui: z.ZodMiniOptional<z.ZodMiniString<string>>;
1341
1484
  brand: z.ZodMiniOptional<z.ZodMiniString<string>>;
1485
+ weight: z.ZodMiniOptional<z.ZodMiniString<string>>;
1486
+ sprite: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1342
1487
  semantic: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1343
1488
  'fa7-solid': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1344
1489
  'fa7-regular': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
@@ -1348,7 +1493,8 @@ declare const siteJsonSchema: {
1348
1493
  'simple-icons': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1349
1494
  'material-symbols': z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1350
1495
  lucide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1351
- }, z.z.core.$strip>>;
1496
+ ph: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1497
+ }, z.z.core.$loose>>;
1352
1498
  favicon: z.ZodMiniOptional<z.ZodMiniObject<{
1353
1499
  source: z.ZodMiniString<string>;
1354
1500
  lowResSource: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -1464,12 +1610,61 @@ declare function resolveTheme(designSystem: Record<string, DesignSystemEntryT>,
1464
1610
  /**
1465
1611
  * Resolve a raw (already-parsed) config into a validated `SiteConfig`:
1466
1612
  * 1. strip YAML nulls,
1467
- * 2. apply the active A/B variant's `overrides` (by `siteEnv`),
1468
- * 3. normalise a bare-`DesignSystem` `designSystem` shorthand to `{ default: … }`,
1613
+ * 2. normalise the `designSystem` shorthands to `{ themes: … }`,
1614
+ * 3. apply the active A/B variant's `overrides` (by `siteEnv`),
1469
1615
  * 4. validate (shape + cross-field).
1470
1616
  * Pure — no YAML/env access. A loader supplies `siteEnv`.
1617
+ *
1618
+ * Steps 2 and 3 are in this order deliberately. Normalising first means an
1619
+ * `abTesting` override always addresses the canonical shape
1620
+ * (`designSystem.themes.<name>`), whatever shorthand the base config used. With
1621
+ * the merge first, an override's key path depended on how the base happened to be
1622
+ * written — so the same patch hit a different place in two configs that were
1623
+ * otherwise equivalent.
1471
1624
  */
1472
1625
  declare function resolveSiteConfig(input: unknown, siteEnv?: string): SiteConfig;
1626
+ /**
1627
+ * Is this raw config a `SiteConfig` rather than a bare `design-system.json`?
1628
+ *
1629
+ * The discriminator is **total**, not a heuristic, and both halves are load-
1630
+ * bearing: `SiteConfigSchema` cannot validate without a `designSystem` (a config
1631
+ * lacking one fails `validateSite` with `themes must include a "default" entry`),
1632
+ * and `DesignSystemSchema` is strict, so a `designSystem` key in a design system
1633
+ * is an `unrecognized_keys` error. No document can be read as both, and no
1634
+ * document that is neither reaches here without failing validation anyway.
1635
+ *
1636
+ * Deliberately shape-based rather than filename-based: consumers name this file
1637
+ * whatever suits them (`company.json`, `site.json`, `vitops.config.json`), and a
1638
+ * rule keyed to a name would silently stop working the moment someone renamed it.
1639
+ */
1640
+ declare function isSiteConfig(raw: unknown): boolean;
1641
+ /** What a config file turned out to hold. */
1642
+ interface ResolvedInput {
1643
+ /** The design system to build from — a resolved theme, if the input was a `SiteConfig`. */
1644
+ designSystem: DesignSystem;
1645
+ /** The site config, when that is what the input was. */
1646
+ site?: SiteConfig;
1647
+ /** Which `themes` key was selected. Absent for a bare `design-system.json`. */
1648
+ theme?: string;
1649
+ }
1650
+ /**
1651
+ * Resolve a raw config of either kind into the design system to build from.
1652
+ *
1653
+ * Every entry point that used to take a `design-system.json` goes through this,
1654
+ * so a consumer who keeps their tokens inside the larger site config points the
1655
+ * same option at that file instead of maintaining a second one. The site config
1656
+ * is handed back too, because the parts of generation that depend on site-level
1657
+ * facts (`designSystem.defaultColorScheme`, the legal documents, the icon
1658
+ * sprite) would otherwise need the same path declared a second time.
1659
+ *
1660
+ * The returned `designSystem` is **not** validated here — the caller does that,
1661
+ * so it can say which file and which theme the errors belong to. Validation of
1662
+ * the site config itself has already happened (`resolveSiteConfig` throws).
1663
+ */
1664
+ declare function resolveInput(raw: unknown, opts?: {
1665
+ theme?: string;
1666
+ siteEnv?: string;
1667
+ }): ResolvedInput;
1473
1668
  /** Strip nulls (YAML `~`/`null`) → undefined so optional fields validate. */
1474
1669
  declare function stripNulls(obj: unknown): unknown;
1475
1670
  /** Deep-merge `source` into `target` (in place). Arrays replace wholesale. */
@@ -1540,8 +1735,22 @@ type Format = 'bricks' | 'css' | 'tailwind' | 'design';
1540
1735
  */
1541
1736
  type StylesheetFormat = Exclude<Format, 'design'>;
1542
1737
  interface GenerateOptions {
1543
- /** Path to a design-system.json, OR an already-parsed config object. */
1544
- input: string | DesignSystem;
1738
+ /**
1739
+ * The config to build from — a path, or an already-parsed object.
1740
+ *
1741
+ * **Either kind is accepted.** A bare `design-system.json`, or the larger
1742
+ * `SiteConfig` that embeds one (commonly `company.json` / `site.json`), in
1743
+ * which case the design system is `designSystem.themes[theme]` with its
1744
+ * `extends` chain resolved. The two are told apart by shape, not by filename —
1745
+ * see `isSiteConfig`.
1746
+ *
1747
+ * Passing a site config here also supplies `site`, so the site-level facts
1748
+ * generation depends on (`designSystem.defaultColorScheme`, the legal
1749
+ * documents, the icon sprite) don't need the same path declared twice. Each of
1750
+ * those is still gated on a field in that config, so nothing new appears
1751
+ * unless the config asks for it.
1752
+ */
1753
+ input: string | DesignSystem | SiteConfig;
1545
1754
  /** Output target. Default: 'bricks'. */
1546
1755
  format?: Format;
1547
1756
  /** Directory to write outputs into. Default: 'dist'. */
@@ -1549,14 +1758,34 @@ interface GenerateOptions {
1549
1758
  /** Override the framework asset root (advanced/testing). */
1550
1759
  assetsDir?: string;
1551
1760
  /**
1552
- * Optional site config (path, or already-parsed) enabling legal-document
1553
- * output into `<outDir>/legal/*.html`.
1761
+ * Which `designSystem.themes` entry to build. Default: the config's
1762
+ * `defaultTheme`, else `default`. An error on a bare `design-system.json`,
1763
+ * which holds one design system and no themes map.
1764
+ */
1765
+ theme?: string;
1766
+ /**
1767
+ * Environment whose A/B variant applies to the site config, wherever it came
1768
+ * from (`input` or `site`). Default: `'production'`.
1769
+ */
1770
+ siteEnv?: string;
1771
+ /**
1772
+ * The site config, when it is a *different* file from `input` — enabling
1773
+ * legal-document output into `<outDir>/legal/*.html` and supplying
1774
+ * `designSystem.defaultColorScheme`.
1554
1775
  *
1555
- * Separate from `input` because it is a different config kind: `input` is a
1556
- * `design-system.json`, this is a `SiteConfig`. Nothing else in `generate`
1557
- * reads it, and omitting it emits no legal files.
1776
+ * Redundant when `input` is already a site config; set both and this one wins.
1558
1777
  */
1559
1778
  site?: string | SiteConfig;
1779
+ /**
1780
+ * Emit the `prefers-color-scheme: dark` block (see `BuildOptions`).
1781
+ *
1782
+ * Normally this comes from the site config's `designSystem.defaultColorScheme: "system"`, which
1783
+ * is where the fact belongs. This is the escape hatch for consumers with a
1784
+ * `design-system.json` and no site config at all: requiring a whole
1785
+ * `SiteConfig` — which must carry a full `designSystem` — to set one boolean
1786
+ * would be out of proportion. Set explicitly, it wins over the site config.
1787
+ */
1788
+ systemColorScheme?: boolean;
1560
1789
  }
1561
1790
  interface GenerateResult {
1562
1791
  format: Format;
@@ -1594,6 +1823,242 @@ declare function generate(options: GenerateOptions): Promise<GenerateResult>;
1594
1823
  */
1595
1824
  declare function generateDocs(ds: DesignSystem, assetsDir: string): Record<string, string>;
1596
1825
  //#endregion
1826
+ //#region ../../node_modules/.pnpm/@iconify+types@2.0.0/node_modules/@iconify/types/types.d.ts
1827
+ /**
1828
+ * Icon dimensions.
1829
+ *
1830
+ * Used in:
1831
+ * icon (as is)
1832
+ * alias (overwrite icon's properties)
1833
+ * root of JSON file (default values)
1834
+ */
1835
+ interface IconifyDimenisons {
1836
+ // Left position of viewBox.
1837
+ // Defaults to 0.
1838
+ left?: number; // Top position of viewBox.
1839
+ // Defaults to 0.
1840
+ top?: number; // Width of viewBox.
1841
+ // Defaults to 16.
1842
+ width?: number; // Height of viewBox.
1843
+ // Defaults to 16.
1844
+ height?: number;
1845
+ }
1846
+ /**
1847
+ * Icon transformations.
1848
+ *
1849
+ * Used in:
1850
+ * icon (as is)
1851
+ * alias (merged with icon's properties)
1852
+ */
1853
+ interface IconifyTransformations {
1854
+ // Number of 90 degrees rotations.
1855
+ // 0 = 0, 1 = 90deg and so on.
1856
+ // Defaults to 0.
1857
+ // When merged (such as alias + icon), result is icon.rotation + alias.rotation.
1858
+ rotate?: number; // Horizontal flip.
1859
+ // Defaults to false.
1860
+ // When merged, result is icon.hFlip !== alias.hFlip
1861
+ hFlip?: boolean; // Vertical flip. (see hFlip comments)
1862
+ vFlip?: boolean;
1863
+ }
1864
+ /**
1865
+ * Combination of dimensions and transformations.
1866
+ */
1867
+ interface IconifyOptional extends IconifyDimenisons, IconifyTransformations { //
1868
+ }
1869
+ /**
1870
+ * Alias.
1871
+ */
1872
+ interface IconifyAlias extends IconifyOptional {
1873
+ // Parent icon index without prefix, required.
1874
+ parent: string; // IconifyOptional properties.
1875
+ // Alias should have only properties that it overrides.
1876
+ // Transformations are merged, not overridden. See IconifyTransformations comments.
1877
+ }
1878
+ /**
1879
+ * Icon.
1880
+ */
1881
+ interface IconifyIcon extends IconifyOptional {
1882
+ // Icon body: <path d="..." />, required.
1883
+ body: string; // IconifyOptional properties.
1884
+ // If property is missing in JSON file, look in root object for default value.
1885
+ }
1886
+ /**
1887
+ * Icon with optional parameters that are provided by API and affect only search
1888
+ */
1889
+ interface APIIconAttributes {
1890
+ // True if icon is hidden.
1891
+ // Used in icon sets to keep icons that no longer exist, but should still be accessible
1892
+ // from API, preventing websites from breaking when icon is removed by developer.
1893
+ hidden?: boolean;
1894
+ }
1895
+ interface ExtendedIconifyIcon extends IconifyIcon, APIIconAttributes {}
1896
+ interface ExtendedIconifyAlias extends IconifyAlias, APIIconAttributes {}
1897
+ /**
1898
+ * "icons" field of JSON file.
1899
+ */
1900
+ interface IconifyIcons {
1901
+ // Index is name of icon, without prefix. Value is ExtendedIconifyIcon object.
1902
+ [index: string]: ExtendedIconifyIcon;
1903
+ }
1904
+ /**
1905
+ * "aliases" field of JSON file.
1906
+ */
1907
+ interface IconifyAliases {
1908
+ // Index is name of icon, without prefix. Value is ExtendedIconifyAlias object.
1909
+ [index: string]: ExtendedIconifyAlias;
1910
+ }
1911
+ /**
1912
+ * Icon set information block.
1913
+ */
1914
+ interface IconifyInfo {
1915
+ // Icon set name.
1916
+ name: string; // Total number of icons.
1917
+ total?: number; // Version string.
1918
+ version?: string; // Author information.
1919
+ author: {
1920
+ // Author name.
1921
+ name: string; // Link to author's website or icon set website.
1922
+ url?: string;
1923
+ }; // License
1924
+ license: {
1925
+ // Human readable license.
1926
+ title: string; // SPDX license identifier.
1927
+ spdx?: string; // License URL.
1928
+ url?: string;
1929
+ }; // Array of icons that should be used for samples in icon sets list.
1930
+ samples?: string[]; // Icon grid: number or array of numbers.
1931
+ height?: number | number[]; // Display height for samples: 16 - 24
1932
+ displayHeight?: number; // Category on Iconify collections list.
1933
+ category?: string; // List of tags to group similar icon sets.
1934
+ tags?: string[]; // Palette status. True if icons have predefined color scheme, false if icons use currentColor.
1935
+ // Ideally, icon set should not mix icons with and without palette to simplify search.
1936
+ palette?: boolean; // If true, icon set should not appear in icon sets list.
1937
+ hidden?: boolean;
1938
+ }
1939
+ /**
1940
+ * Optional themes, old format.
1941
+ *
1942
+ * Deprecated because format is unnecessary complicated. Key is meaningless, suffixes and prefixes are mixed together.
1943
+ */
1944
+ interface LegacyIconifyThemes {
1945
+ // Key is unique string.
1946
+ [index: string]: {
1947
+ // Theme title.
1948
+ title: string; // Icon prefix or suffix, including dash. All icons that start with prefix and end with suffix belong to theme.
1949
+ prefix?: string; // Example: 'baseline-'
1950
+ suffix?: string; // Example: '-filled'
1951
+ };
1952
+ }
1953
+ /**
1954
+ * Characters used in font.
1955
+ */
1956
+ interface IconifyChars {
1957
+ // Index is character, such as "f000".
1958
+ // Value is icon name.
1959
+ [index: string]: string;
1960
+ }
1961
+ /**
1962
+ * Icon categories
1963
+ */
1964
+ interface IconifyCategories {
1965
+ // Index is category title, such as "Weather".
1966
+ // Value is array of icons that belong to that category.
1967
+ // Each icon can belong to multiple categories or no categories.
1968
+ [index: string]: string[];
1969
+ }
1970
+ /**
1971
+ * Meta data stored in JSON file, used for browsing icon set.
1972
+ */
1973
+ interface IconifyMetaData {
1974
+ // Icon set information block. Used for public icon sets, can be skipped for private icon sets.
1975
+ info?: IconifyInfo; // Characters used in font. Used for searching by character for icon sets imported from font, exporting icon set to font.
1976
+ chars?: IconifyChars; // Categories. Used for filtering icons.
1977
+ categories?: IconifyCategories; // Optional themes (old format).
1978
+ themes?: LegacyIconifyThemes; // Optional themes (new format). Key is prefix or suffix, value is title.
1979
+ prefixes?: Record<string, string>;
1980
+ suffixes?: Record<string, string>;
1981
+ }
1982
+ /**
1983
+ * JSON structure, contains only icon data
1984
+ */
1985
+ interface IconifyJSONIconsData extends IconifyDimenisons {
1986
+ // Prefix for icons in JSON file, required.
1987
+ prefix: string; // API provider, optional.
1988
+ provider?: string; // List of icons, required.
1989
+ icons: IconifyIcons; // Optional aliases.
1990
+ aliases?: IconifyAliases; // IconifyDimenisons properties that are used as default viewbox for icons when icon is missing value.
1991
+ // If viewbox exists in both icon and root, use value from icon.
1992
+ // This is used to reduce duplication.
1993
+ }
1994
+ /**
1995
+ * JSON structure.
1996
+ *
1997
+ * All optional values can exist in root of JSON file, used as defaults.
1998
+ */
1999
+ interface IconifyJSON extends IconifyJSONIconsData, IconifyMetaData {
2000
+ // Last modification time of icons. Unix time stamp in seconds.
2001
+ // Time is calculated only for icon data, ignoring metadata.
2002
+ // Used to invalidate icons cache in components.
2003
+ lastModified?: number; // Optional list of missing icons. Returned by Iconify API when querying for icons that do not exist.
2004
+ not_found?: string[];
2005
+ }
2006
+ //#endregion
2007
+ //#region src/icons-sprite.d.ts
2008
+ interface IconSpriteOptions {
2009
+ /** Exactly `generateIconInclude()`'s shape: collection → icon names. */
2010
+ include: Record<string, string[]>;
2011
+ /**
2012
+ * Extra ids pointing at an already-included icon, e.g. `{ 'icon-menu': 'ph:list' }`,
2013
+ * so a consumer can reference a semantic name without knowing the set.
2014
+ */
2015
+ aliases?: Record<string, string>;
2016
+ /**
2017
+ * Directory to resolve `@iconify-json/*` from. Defaults to `process.cwd()`.
2018
+ *
2019
+ * Load-bearing: the collections are the CONSUMER's dependency, not this
2020
+ * package's, so a bare `import('@iconify-json/ph/…')` from inside the
2021
+ * generator resolves against the generator's own node_modules and misses them
2022
+ * entirely — which reads as "not installed" on a project that has them.
2023
+ */
2024
+ resolveFrom?: string;
2025
+ /** Injected in tests so the emitter can run without any @iconify-json/* installed. */
2026
+ loadSet?: (prefix: string) => Promise<IconifyJSON | null>;
2027
+ }
2028
+ interface IconSpriteResult {
2029
+ svg: string;
2030
+ /** Every `<symbol>` id emitted, in order. */
2031
+ ids: string[];
2032
+ /** `prefix:name` entries that were asked for but not found. */
2033
+ missing: string[];
2034
+ }
2035
+ /**
2036
+ * `ph:caret-down` → `ph--caret-down`.
2037
+ *
2038
+ * The one place this grammar lives. `Icon.astro` mirrors it and `icon.test.ts`
2039
+ * guards the pair, because a drift here resolves `<use>` to nothing and renders
2040
+ * as an empty box rather than an error.
2041
+ */
2042
+ declare function spriteId(qualified: string): string;
2043
+ declare function buildIconSprite(o: IconSpriteOptions): Promise<IconSpriteResult>;
2044
+ /**
2045
+ * One icon's renderable parts, for inlining into markup.
2046
+ *
2047
+ * Exists because `<Icon />` cannot go through astro-icon: its `./components`
2048
+ * entry is a TypeScript file that Vite must transform, so it can only be
2049
+ * reached by a statically-analysable import — and a static import is exactly
2050
+ * what made the optional peer mandatory for anyone rendering Popover, Details
2051
+ * or Drawer. Reading the collection directly sidesteps the peer entirely and
2052
+ * shares this file's loader with the sprite, so both paths draw the same glyph.
2053
+ */
2054
+ declare function loadIconSvg(qualified: string, opts?: {
2055
+ resolveFrom?: string;
2056
+ loadSet?: (prefix: string) => Promise<IconifyJSON | null>;
2057
+ }): Promise<{
2058
+ viewBox: string;
2059
+ body: string;
2060
+ } | null>;
2061
+ //#endregion
1597
2062
  //#region src/shared.d.ts
1598
2063
  /**
1599
2064
  * Data shared between the generator (`generate.ts`) and the docs bundle
@@ -1610,10 +2075,9 @@ declare function generateDocs(ds: DesignSystem, assetsDir: string): Record<strin
1610
2075
  * clicking "Dark" changed an attribute no rule matched. Matching both makes the
1611
2076
  * component work on every target without changing what Bricks already does.
1612
2077
  *
1613
- * Note this covers the explicit choice only — there is deliberately no
1614
- * `prefers-color-scheme` block, so the toggle's "System" position currently
1615
- * resolves to light. Adding one would flip every existing consumer site dark for
1616
- * dark-OS users, which is a product decision, not a bug fix.
2078
+ * This covers the EXPLICIT choice. The OS preference is a second, opt-in block —
2079
+ * see `SYSTEM_DARK_SEL` — because turning it on flips a site dark for dark-OS
2080
+ * users, which is the site's decision rather than the design system's.
1617
2081
  *
1618
2082
  * Shared so the docs quote the selector the generator actually emits.
1619
2083
  */
@@ -1715,6 +2179,26 @@ declare const KNOWN_PROCESSORS: {
1715
2179
  privacyUrl: string;
1716
2180
  cookies: never[];
1717
2181
  };
2182
+ clarity: {
2183
+ name: string;
2184
+ purpose: string;
2185
+ country: string;
2186
+ privacyUrl: string;
2187
+ cookies: string[];
2188
+ optOut: string;
2189
+ };
2190
+ matomo: {
2191
+ name: string;
2192
+ purpose: string;
2193
+ privacyUrl: string;
2194
+ cookies: string[];
2195
+ };
2196
+ matomoCookieless: {
2197
+ name: string;
2198
+ purpose: string;
2199
+ privacyUrl: string;
2200
+ cookies: never[];
2201
+ };
1718
2202
  turnstile: {
1719
2203
  name: string;
1720
2204
  purpose: string;
@@ -1914,5 +2398,5 @@ declare function generateLegal(site: SiteConfig, opts?: GenerateLegalOptions): R
1914
2398
  */
1915
2399
  declare function defaultConfig(): DesignSystem;
1916
2400
  //#endregion
1917
- export { BASE_HOOK, type Block, CONTRAST, type ColorUtility, type ContactObject, DARK_SEL, DOC_ORDER, DOC_SLUGS, type DesignSystem, DesignSystemSchema, type DocSet, type ExpandedHue, type Format, type FunctionalRole, type GenerateLegalOptions, type GenerateOptions, type GenerateResult, JURISDICTIONS, type Jurisdiction, KNOWN_PROCESSORS, type KnownProcessorKey, type LegalDoc, type LegalOutput, NUMERIC_STEPS, type PolicyVars, type PostalAddress, type Processor, REQUIRED_ROLES, ROLE_TOKEN_KEYS, type RoleKind, type RoleSpec, SCHEMA_URL, SITE_SCHEMA_URL, type SiteConfig, SiteConfigSchema, type SiteValidationResult, type Span, type StylesheetFormat, TEMPLATES, TW_CLASH, type ValidationResult, deepMerge, defaultConfig, derivePolicyVars, detectProcessorKeys, enabledDocs, expandPalette, functionalRole, generate, generateDocs, generateLegal, jsonSchema, parseMarkdown, renderMarkdown, renderNodes, resolvePrivacyContact, resolveProcessors, resolveSiteConfig, resolveTheme, roleColorUtilities, roleHue, roleKind, siteJsonSchema, stripNulls, toContentNodes, toHtmlFragment, toPortableText, tokenClass, tokenVar, validate, validateSite };
2401
+ export { BASE_HOOK, type Block, CONTRAST, type ColorUtility, type ContactObject, DARK_SEL, DOC_ORDER, DOC_SLUGS, type DesignSystem, DesignSystemSchema, type DocSet, type ExpandedHue, type Format, type FunctionalRole, type GenerateLegalOptions, type GenerateOptions, type GenerateResult, type IconSpriteOptions, type IconSpriteResult, JURISDICTIONS, type Jurisdiction, KNOWN_PROCESSORS, type KnownProcessorKey, type LegalDoc, type LegalOutput, NUMERIC_STEPS, type PolicyVars, type PostalAddress, type Processor, REQUIRED_ROLES, ROLE_TOKEN_KEYS, type ResolvedInput, type RoleKind, type RoleSpec, SCHEMA_URL, SITE_SCHEMA_URL, type SiteConfig, SiteConfigSchema, type SiteFont, SiteFontSchema, type SiteIndexNow, type SiteIndexing, type SiteSearchConsole, type SiteValidationResult, type Span, type StylesheetFormat, TEMPLATES, TW_CLASH, type ValidationResult, buildIconSprite, deepMerge, defaultConfig, derivePolicyVars, detectProcessorKeys, enabledDocs, expandPalette, functionalRole, generate, generateDocs, generateLegal, isSiteConfig, jsonSchema, loadIconSvg, parseMarkdown, renderMarkdown, renderNodes, resolveInput, resolvePrivacyContact, resolveProcessors, resolveSiteConfig, resolveTheme, roleColorUtilities, roleHue, roleKind, siteJsonSchema, spriteId, stripNulls, toContentNodes, toHtmlFragment, toPortableText, tokenClass, tokenVar, validate, validateSite };
1918
2402
  //# sourceMappingURL=index.d.mts.map