@yahoo/uds-create-config 4.6.0 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/configs/CanvasConfig.d.ts +900 -80
  2. package/dist/configs/react-native-system.d.ts +603 -55
  3. package/dist/configs/system.d.ts +603 -55
  4. package/dist/configs/system.js +7 -1
  5. package/dist/entities/system/Component.d.ts +480 -39
  6. package/dist/entities/system/Component.js +264 -93
  7. package/dist/entities/system/File.d.ts +1 -1
  8. package/dist/entities/system/LinkedSystem.d.ts +2 -2
  9. package/dist/entities/system/Operation.d.ts +1 -1
  10. package/dist/entities/system/StyleProperty.d.ts +8 -0
  11. package/dist/entities/system/StyleProperty.js +12 -1
  12. package/dist/entities/system/Tool.d.ts +1 -1
  13. package/dist/entities/system/component-module.js +1 -1
  14. package/dist/entities/system/defineComponent.d.ts +45 -7
  15. package/dist/entities/system/defineComponent.js +52 -25
  16. package/dist/framework/Config.d.ts +2 -2
  17. package/dist/framework/Config.js +59 -7
  18. package/dist/framework/class-names.d.ts +4 -2
  19. package/dist/framework/class-names.js +56 -17
  20. package/dist/framework/defineDerivedEntity.d.ts +1 -1
  21. package/dist/framework/defineEntity.d.ts +2 -2
  22. package/dist/framework/defineSubEntity.d.ts +3 -2
  23. package/dist/framework/preview-store.d.ts +19 -0
  24. package/dist/framework/preview-store.js +18 -0
  25. package/dist/framework/projections.d.ts +28 -8
  26. package/dist/framework/projections.js +50 -16
  27. package/dist/framework/prop-surface.d.ts +21 -1
  28. package/dist/framework/prop-surface.js +99 -21
  29. package/dist/framework/render-spec.d.ts +103 -3
  30. package/dist/framework/render-spec.js +285 -37
  31. package/dist/framework/schema-version.d.ts +1 -1
  32. package/dist/framework/schema-version.js +5 -5
  33. package/dist/framework/utils/refs.js +10 -1
  34. package/dist/framework/validate-spec.d.ts +2 -0
  35. package/dist/framework/validate-spec.js +13 -0
  36. package/dist/index.d.ts +14 -11
  37. package/dist/index.js +6 -5
  38. package/dist/migrations/2.0.0/v1-artifact.d.ts +305 -29
  39. package/dist/migrations/20260919051027_prop_conditions_and_anatomy_positions_at_rest.d.ts +22 -0
  40. package/dist/migrations/20260919051027_prop_conditions_and_anatomy_positions_at_rest.js +10 -0
  41. package/dist/migrations/20260920004019_preview_conditions_keyed.d.ts +27 -0
  42. package/dist/migrations/20260920004019_preview_conditions_keyed.js +148 -0
  43. package/dist/migrations/20260920161309_prefixed_token_group.d.ts +12 -0
  44. package/dist/migrations/20260920161309_prefixed_token_group.js +10 -0
  45. package/dist/renderer/wrapRegistry.js +8 -2
  46. package/dist/renderer/wrappers/component-refs.d.ts +14 -0
  47. package/dist/renderer/wrappers/component-refs.js +79 -0
  48. package/dist/renderer/wrappers/hex-normalize.d.ts +5 -7
  49. package/dist/renderer/wrappers/hex-normalize.js +11 -10
  50. package/dist/spec/cell.d.ts +171 -0
  51. package/dist/spec/cell.js +361 -0
  52. package/dist/spec/detach.d.ts +125 -0
  53. package/dist/spec/detach.js +511 -0
  54. package/dist/spec/empty-node-slots.d.ts +11 -23
  55. package/dist/spec/empty-node-slots.js +12 -39
  56. package/dist/spec/index.d.ts +5 -3
  57. package/dist/spec/index.js +3 -3
  58. package/dist/spec/instance.d.ts +77 -0
  59. package/dist/spec/instance.js +80 -0
  60. package/dist/spec/preview-content.d.ts +95 -0
  61. package/dist/spec/preview-content.js +149 -0
  62. package/dist/spec/preview-elements.d.ts +54 -15
  63. package/dist/spec/preview-elements.js +109 -29
  64. package/dist/spec/prop-conditions.d.ts +28 -0
  65. package/dist/spec/prop-conditions.js +39 -0
  66. package/dist/spec/slot.d.ts +206 -0
  67. package/dist/spec/slot.js +542 -0
  68. package/dist/spec/visibility.d.ts +82 -0
  69. package/dist/spec/visibility.js +109 -0
  70. package/dist/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +18 -2
@@ -1,11 +1,15 @@
1
1
  import { Ref } from "../framework/utils/refs.js";
2
- import { DerivedEntityClass } from "../framework/defineDerivedEntity.js";
3
2
  import { SubEntityClass } from "../framework/defineSubEntity.js";
3
+ import { ComputedInput } from "../framework/registry.js";
4
+ import { DerivedEntityClass } from "../framework/defineDerivedEntity.js";
4
5
  import { ComponentContractOf, PathOf } from "../framework/registered.js";
5
6
  import { EntityClass } from "../framework/defineEntity.js";
6
7
  import { ConfigClass, ConfigInstance } from "../framework/defineConfig.js";
7
8
  import { Config } from "../framework/Config.js";
8
- import { ComputedInput } from "../framework/registry.js";
9
+ import { StoredPreviewCondition } from "../framework/preview-store.js";
10
+ import { listSlots, namedSlots, slotHostedBy, slotOf } from "../spec/slot.js";
11
+ import { cellAt } from "../spec/cell.js";
12
+ import { instanceAt } from "../spec/instance.js";
9
13
  import { ReactNativeSystem } from "./react-native-system.js";
10
14
  import { System } from "./system.js";
11
15
  import { AnySystemConfig } from "./platform.js";
@@ -163,6 +167,11 @@ declare const Node: EntityClass<z.ZodObject<{
163
167
  __ref: z.ZodString;
164
168
  }, z.core.$strip>>]>>;
165
169
  required: z.ZodOptional<z.ZodBoolean>;
170
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
171
+ __ref: z.ZodString;
172
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
173
+ __ref: z.ZodString;
174
+ }, z.core.$strip>]>>]>>>;
166
175
  }, z.core.$strict>, z.ZodObject<{
167
176
  type: z.ZodLiteral<"variant">;
168
177
  value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
@@ -175,6 +184,11 @@ declare const Node: EntityClass<z.ZodObject<{
175
184
  deprecated: z.ZodOptional<z.ZodBoolean>;
176
185
  }, z.core.$strict>>]>;
177
186
  required: z.ZodOptional<z.ZodBoolean>;
187
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
188
+ __ref: z.ZodString;
189
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
190
+ __ref: z.ZodString;
191
+ }, z.core.$strip>]>>]>>>;
178
192
  }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
179
193
  type: z.ZodLiteral<"forward">;
180
194
  target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -190,6 +204,11 @@ declare const Node: EntityClass<z.ZodObject<{
190
204
  }, z.core.$strip>>]>>;
191
205
  text: z.ZodOptional<z.ZodBoolean>;
192
206
  required: z.ZodOptional<z.ZodBoolean>;
207
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
208
+ __ref: z.ZodString;
209
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
210
+ __ref: z.ZodString;
211
+ }, z.core.$strip>]>>]>>>;
193
212
  }, z.core.$strict>, z.ZodTransform<{
194
213
  type: "forward";
195
214
  target: string | {
@@ -205,6 +224,11 @@ declare const Node: EntityClass<z.ZodObject<{
205
224
  }[] | undefined;
206
225
  text?: boolean | undefined;
207
226
  required?: boolean | undefined;
227
+ when?: Record<string, string | number | boolean | {
228
+ __ref: string;
229
+ } | (string | number | boolean | {
230
+ __ref: string;
231
+ })[]> | undefined;
208
232
  }, {
209
233
  type: "forward";
210
234
  target: string | {
@@ -220,45 +244,77 @@ declare const Node: EntityClass<z.ZodObject<{
220
244
  }[] | undefined;
221
245
  text?: boolean | undefined;
222
246
  required?: boolean | undefined;
247
+ when?: Record<string, string | number | boolean | {
248
+ __ref: string;
249
+ } | (string | number | boolean | {
250
+ __ref: string;
251
+ })[]> | undefined;
223
252
  }>>, z.ZodObject<{
224
253
  type: z.ZodLiteral<"styleProperty">;
225
254
  value: z.ZodObject<{
226
255
  __ref: z.ZodString;
227
256
  }, z.core.$strip>;
257
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
258
+ __ref: z.ZodString;
259
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
260
+ __ref: z.ZodString;
261
+ }, z.core.$strip>]>>]>>>;
228
262
  }, z.core.$strict>, z.ZodObject<{
229
263
  type: z.ZodLiteral<"composite">;
230
264
  value: z.ZodObject<{
231
265
  __ref: z.ZodString;
232
266
  }, z.core.$strip>;
267
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
268
+ __ref: z.ZodString;
269
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
270
+ __ref: z.ZodString;
271
+ }, z.core.$strip>]>>]>>>;
233
272
  }, z.core.$strict>, z.ZodObject<{
234
273
  type: z.ZodLiteral<"motion">;
235
274
  value: z.ZodDefault<z.ZodObject<{
236
275
  __ref: z.ZodString;
237
276
  }, z.core.$strip>>;
277
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
278
+ __ref: z.ZodString;
279
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
280
+ __ref: z.ZodString;
281
+ }, z.core.$strip>]>>]>>>;
238
282
  }, z.core.$strict>, z.ZodObject<{
239
283
  type: z.ZodLiteral<"string">;
240
284
  value: z.ZodOptional<z.ZodString>;
241
285
  required: z.ZodOptional<z.ZodBoolean>;
286
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
287
+ __ref: z.ZodString;
288
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
289
+ __ref: z.ZodString;
290
+ }, z.core.$strip>]>>]>>>;
242
291
  }, z.core.$strict>, z.ZodObject<{
243
292
  type: z.ZodLiteral<"number">;
244
293
  value: z.ZodOptional<z.ZodNumber>;
245
294
  required: z.ZodOptional<z.ZodBoolean>;
295
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
296
+ __ref: z.ZodString;
297
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
298
+ __ref: z.ZodString;
299
+ }, z.core.$strip>]>>]>>>;
246
300
  }, z.core.$strict>, z.ZodObject<{
247
301
  type: z.ZodLiteral<"boolean">;
248
302
  value: z.ZodOptional<z.ZodBoolean>;
249
303
  required: z.ZodOptional<z.ZodBoolean>;
304
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
305
+ __ref: z.ZodString;
306
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
307
+ __ref: z.ZodString;
308
+ }, z.core.$strip>]>>]>>>;
250
309
  }, z.core.$strict>], "type">>>>;
251
310
  forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
252
311
  __ref: z.ZodString;
253
312
  }, z.core.$strip>>]>>>;
254
313
  styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
314
+ renderProps: z.ZodOptional<z.ZodArray<z.ZodString>>;
255
315
  anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
256
316
  defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
257
- previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
258
- previewWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
259
- when: z.ZodRecord<z.ZodString, z.ZodUnknown>;
260
- props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
261
- }, z.core.$strip>>>;
317
+ preview: z.ZodOptional<SubEntityClass<z.ZodType<StoredPreviewCondition, unknown, z.core.$ZodTypeInternals<StoredPreviewCondition, unknown>>>>;
262
318
  file: z.ZodOptional<z.ZodObject<{
263
319
  __ref: z.ZodString;
264
320
  }, z.core.$strip>>;
@@ -281,6 +337,11 @@ declare const Node: EntityClass<z.ZodObject<{
281
337
  __ref: z.ZodString;
282
338
  }, z.core.$strip>>]>>;
283
339
  required: z.ZodOptional<z.ZodBoolean>;
340
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
341
+ __ref: z.ZodString;
342
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
343
+ __ref: z.ZodString;
344
+ }, z.core.$strip>]>>]>>>;
284
345
  }, z.core.$strict>, z.ZodObject<{
285
346
  type: z.ZodLiteral<"variant">;
286
347
  value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
@@ -293,6 +354,11 @@ declare const Node: EntityClass<z.ZodObject<{
293
354
  deprecated: z.ZodOptional<z.ZodBoolean>;
294
355
  }, z.core.$strict>>]>;
295
356
  required: z.ZodOptional<z.ZodBoolean>;
357
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
358
+ __ref: z.ZodString;
359
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
360
+ __ref: z.ZodString;
361
+ }, z.core.$strip>]>>]>>>;
296
362
  }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
297
363
  type: z.ZodLiteral<"forward">;
298
364
  target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -308,6 +374,11 @@ declare const Node: EntityClass<z.ZodObject<{
308
374
  }, z.core.$strip>>]>>;
309
375
  text: z.ZodOptional<z.ZodBoolean>;
310
376
  required: z.ZodOptional<z.ZodBoolean>;
377
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
378
+ __ref: z.ZodString;
379
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
380
+ __ref: z.ZodString;
381
+ }, z.core.$strip>]>>]>>>;
311
382
  }, z.core.$strict>, z.ZodTransform<{
312
383
  type: "forward";
313
384
  target: string | {
@@ -323,6 +394,11 @@ declare const Node: EntityClass<z.ZodObject<{
323
394
  }[] | undefined;
324
395
  text?: boolean | undefined;
325
396
  required?: boolean | undefined;
397
+ when?: Record<string, string | number | boolean | {
398
+ __ref: string;
399
+ } | (string | number | boolean | {
400
+ __ref: string;
401
+ })[]> | undefined;
326
402
  }, {
327
403
  type: "forward";
328
404
  target: string | {
@@ -338,51 +414,83 @@ declare const Node: EntityClass<z.ZodObject<{
338
414
  }[] | undefined;
339
415
  text?: boolean | undefined;
340
416
  required?: boolean | undefined;
417
+ when?: Record<string, string | number | boolean | {
418
+ __ref: string;
419
+ } | (string | number | boolean | {
420
+ __ref: string;
421
+ })[]> | undefined;
341
422
  }>>, z.ZodObject<{
342
423
  type: z.ZodLiteral<"styleProperty">;
343
424
  value: z.ZodObject<{
344
425
  __ref: z.ZodString;
345
426
  }, z.core.$strip>;
427
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
428
+ __ref: z.ZodString;
429
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
430
+ __ref: z.ZodString;
431
+ }, z.core.$strip>]>>]>>>;
346
432
  }, z.core.$strict>, z.ZodObject<{
347
433
  type: z.ZodLiteral<"composite">;
348
434
  value: z.ZodObject<{
349
435
  __ref: z.ZodString;
350
436
  }, z.core.$strip>;
437
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
438
+ __ref: z.ZodString;
439
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
440
+ __ref: z.ZodString;
441
+ }, z.core.$strip>]>>]>>>;
351
442
  }, z.core.$strict>, z.ZodObject<{
352
443
  type: z.ZodLiteral<"motion">;
353
444
  value: z.ZodDefault<z.ZodObject<{
354
445
  __ref: z.ZodString;
355
446
  }, z.core.$strip>>;
447
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
448
+ __ref: z.ZodString;
449
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
450
+ __ref: z.ZodString;
451
+ }, z.core.$strip>]>>]>>>;
356
452
  }, z.core.$strict>, z.ZodObject<{
357
453
  type: z.ZodLiteral<"string">;
358
454
  value: z.ZodOptional<z.ZodString>;
359
455
  required: z.ZodOptional<z.ZodBoolean>;
456
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
457
+ __ref: z.ZodString;
458
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
459
+ __ref: z.ZodString;
460
+ }, z.core.$strip>]>>]>>>;
360
461
  }, z.core.$strict>, z.ZodObject<{
361
462
  type: z.ZodLiteral<"number">;
362
463
  value: z.ZodOptional<z.ZodNumber>;
363
464
  required: z.ZodOptional<z.ZodBoolean>;
465
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
466
+ __ref: z.ZodString;
467
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
468
+ __ref: z.ZodString;
469
+ }, z.core.$strip>]>>]>>>;
364
470
  }, z.core.$strict>, z.ZodObject<{
365
471
  type: z.ZodLiteral<"boolean">;
366
472
  value: z.ZodOptional<z.ZodBoolean>;
367
473
  required: z.ZodOptional<z.ZodBoolean>;
474
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
475
+ __ref: z.ZodString;
476
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
477
+ __ref: z.ZodString;
478
+ }, z.core.$strip>]>>]>>>;
368
479
  }, z.core.$strict>], "type">>>>;
369
480
  forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
370
481
  __ref: z.ZodString;
371
482
  }, z.core.$strip>>]>>>;
372
483
  styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
484
+ renderProps: z.ZodOptional<z.ZodArray<z.ZodString>>;
373
485
  anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
374
486
  defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
375
- previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
376
- previewWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
377
- when: z.ZodRecord<z.ZodString, z.ZodUnknown>;
378
- props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
379
- }, z.core.$strip>>>;
487
+ preview: z.ZodOptional<SubEntityClass<z.ZodType<StoredPreviewCondition, unknown, z.core.$ZodTypeInternals<StoredPreviewCondition, unknown>>>>;
380
488
  file: z.ZodOptional<z.ZodObject<{
381
489
  __ref: z.ZodString;
382
490
  }, z.core.$strip>>;
383
491
  export: z.ZodOptional<z.ZodString>;
384
492
  }, z.core.$strict>;
385
- readonly description: "Create a component at a new qualified `path`. For a component with nothing in it yet, one to design on the canvas before it has props or variants, use `create-blank` with only a `path` instead of authoring a minimal body here. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `previewProps` (or `defaultProps`) so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
493
+ readonly description: "Create a component at a new qualified `path`. For a component with nothing in it yet, one to design on the canvas before it has props or variants, use `create-blank` with only a `path` instead of authoring a minimal body here. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `preview` (`{ \"*\": { \"when\": null, \"props\": { \"children\": \"Example\" } } }`) or `defaultProps` so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
386
494
  readonly example: ({
387
495
  config
388
496
  }: {
@@ -481,7 +589,34 @@ declare const Node: EntityClass<z.ZodObject<{
481
589
  lt?: number | undefined;
482
590
  lte?: number | undefined;
483
591
  }>>, z.ZodObject<{
484
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
592
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
593
+ not: z.ZodOptional<z.ZodLiteral<true>>;
594
+ eq: z.ZodOptional<z.ZodUnknown>;
595
+ neq: z.ZodOptional<z.ZodUnknown>;
596
+ gt: z.ZodOptional<z.ZodNumber>;
597
+ gte: z.ZodOptional<z.ZodNumber>;
598
+ lt: z.ZodOptional<z.ZodNumber>;
599
+ lte: z.ZodOptional<z.ZodNumber>;
600
+ $state: z.ZodString;
601
+ }, z.core.$strict>, z.ZodTransform<{
602
+ $state: string;
603
+ not?: true | undefined;
604
+ eq?: unknown;
605
+ neq?: unknown;
606
+ gt?: number | undefined;
607
+ gte?: number | undefined;
608
+ lt?: number | undefined;
609
+ lte?: number | undefined;
610
+ }, {
611
+ $state: string;
612
+ not?: true | undefined;
613
+ eq?: unknown;
614
+ neq?: unknown;
615
+ gt?: number | undefined;
616
+ gte?: number | undefined;
617
+ lt?: number | undefined;
618
+ lte?: number | undefined;
619
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
485
620
  not: z.ZodOptional<z.ZodLiteral<true>>;
486
621
  eq: z.ZodOptional<z.ZodUnknown>;
487
622
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -508,7 +643,7 @@ declare const Node: EntityClass<z.ZodObject<{
508
643
  gte?: number | undefined;
509
644
  lt?: number | undefined;
510
645
  lte?: number | undefined;
511
- }>>>;
646
+ }>>>]>>;
512
647
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
513
648
  not: z.ZodOptional<z.ZodLiteral<true>>;
514
649
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -537,7 +672,34 @@ declare const Node: EntityClass<z.ZodObject<{
537
672
  lt?: number | undefined;
538
673
  lte?: number | undefined;
539
674
  }>>, z.ZodObject<{
540
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
675
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
676
+ not: z.ZodOptional<z.ZodLiteral<true>>;
677
+ eq: z.ZodOptional<z.ZodUnknown>;
678
+ neq: z.ZodOptional<z.ZodUnknown>;
679
+ gt: z.ZodOptional<z.ZodNumber>;
680
+ gte: z.ZodOptional<z.ZodNumber>;
681
+ lt: z.ZodOptional<z.ZodNumber>;
682
+ lte: z.ZodOptional<z.ZodNumber>;
683
+ $state: z.ZodString;
684
+ }, z.core.$strict>, z.ZodTransform<{
685
+ $state: string;
686
+ not?: true | undefined;
687
+ eq?: unknown;
688
+ neq?: unknown;
689
+ gt?: number | undefined;
690
+ gte?: number | undefined;
691
+ lt?: number | undefined;
692
+ lte?: number | undefined;
693
+ }, {
694
+ $state: string;
695
+ not?: true | undefined;
696
+ eq?: unknown;
697
+ neq?: unknown;
698
+ gt?: number | undefined;
699
+ gte?: number | undefined;
700
+ lt?: number | undefined;
701
+ lte?: number | undefined;
702
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
541
703
  not: z.ZodOptional<z.ZodLiteral<true>>;
542
704
  eq: z.ZodOptional<z.ZodUnknown>;
543
705
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -564,8 +726,8 @@ declare const Node: EntityClass<z.ZodObject<{
564
726
  gte?: number | undefined;
565
727
  lt?: number | undefined;
566
728
  lte?: number | undefined;
567
- }>>>;
568
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
729
+ }>>>]>>;
730
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
569
731
  __ref: z.ZodString;
570
732
  }, z.core.$strip>]>>, z.ZodTransform<{
571
733
  $state: string;
@@ -614,7 +776,34 @@ declare const Node: EntityClass<z.ZodObject<{
614
776
  lt?: number | undefined;
615
777
  lte?: number | undefined;
616
778
  }>>, z.ZodObject<{
617
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
779
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
780
+ not: z.ZodOptional<z.ZodLiteral<true>>;
781
+ eq: z.ZodOptional<z.ZodUnknown>;
782
+ neq: z.ZodOptional<z.ZodUnknown>;
783
+ gt: z.ZodOptional<z.ZodNumber>;
784
+ gte: z.ZodOptional<z.ZodNumber>;
785
+ lt: z.ZodOptional<z.ZodNumber>;
786
+ lte: z.ZodOptional<z.ZodNumber>;
787
+ $state: z.ZodString;
788
+ }, z.core.$strict>, z.ZodTransform<{
789
+ $state: string;
790
+ not?: true | undefined;
791
+ eq?: unknown;
792
+ neq?: unknown;
793
+ gt?: number | undefined;
794
+ gte?: number | undefined;
795
+ lt?: number | undefined;
796
+ lte?: number | undefined;
797
+ }, {
798
+ $state: string;
799
+ not?: true | undefined;
800
+ eq?: unknown;
801
+ neq?: unknown;
802
+ gt?: number | undefined;
803
+ gte?: number | undefined;
804
+ lt?: number | undefined;
805
+ lte?: number | undefined;
806
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
618
807
  not: z.ZodOptional<z.ZodLiteral<true>>;
619
808
  eq: z.ZodOptional<z.ZodUnknown>;
620
809
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -641,7 +830,7 @@ declare const Node: EntityClass<z.ZodObject<{
641
830
  gte?: number | undefined;
642
831
  lt?: number | undefined;
643
832
  lte?: number | undefined;
644
- }>>>;
833
+ }>>>]>>;
645
834
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
646
835
  not: z.ZodOptional<z.ZodLiteral<true>>;
647
836
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -670,7 +859,34 @@ declare const Node: EntityClass<z.ZodObject<{
670
859
  lt?: number | undefined;
671
860
  lte?: number | undefined;
672
861
  }>>, z.ZodObject<{
673
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
862
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
863
+ not: z.ZodOptional<z.ZodLiteral<true>>;
864
+ eq: z.ZodOptional<z.ZodUnknown>;
865
+ neq: z.ZodOptional<z.ZodUnknown>;
866
+ gt: z.ZodOptional<z.ZodNumber>;
867
+ gte: z.ZodOptional<z.ZodNumber>;
868
+ lt: z.ZodOptional<z.ZodNumber>;
869
+ lte: z.ZodOptional<z.ZodNumber>;
870
+ $state: z.ZodString;
871
+ }, z.core.$strict>, z.ZodTransform<{
872
+ $state: string;
873
+ not?: true | undefined;
874
+ eq?: unknown;
875
+ neq?: unknown;
876
+ gt?: number | undefined;
877
+ gte?: number | undefined;
878
+ lt?: number | undefined;
879
+ lte?: number | undefined;
880
+ }, {
881
+ $state: string;
882
+ not?: true | undefined;
883
+ eq?: unknown;
884
+ neq?: unknown;
885
+ gt?: number | undefined;
886
+ gte?: number | undefined;
887
+ lt?: number | undefined;
888
+ lte?: number | undefined;
889
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
674
890
  not: z.ZodOptional<z.ZodLiteral<true>>;
675
891
  eq: z.ZodOptional<z.ZodUnknown>;
676
892
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -697,8 +913,8 @@ declare const Node: EntityClass<z.ZodObject<{
697
913
  gte?: number | undefined;
698
914
  lt?: number | undefined;
699
915
  lte?: number | undefined;
700
- }>>>;
701
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
916
+ }>>>]>>;
917
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
702
918
  __ref: z.ZodString;
703
919
  }, z.core.$strip>]>>, z.ZodTransform<{
704
920
  $state: string;
@@ -748,7 +964,34 @@ declare const Node: EntityClass<z.ZodObject<{
748
964
  lt?: number | undefined;
749
965
  lte?: number | undefined;
750
966
  }>>, z.ZodObject<{
751
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
967
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
968
+ not: z.ZodOptional<z.ZodLiteral<true>>;
969
+ eq: z.ZodOptional<z.ZodUnknown>;
970
+ neq: z.ZodOptional<z.ZodUnknown>;
971
+ gt: z.ZodOptional<z.ZodNumber>;
972
+ gte: z.ZodOptional<z.ZodNumber>;
973
+ lt: z.ZodOptional<z.ZodNumber>;
974
+ lte: z.ZodOptional<z.ZodNumber>;
975
+ $state: z.ZodString;
976
+ }, z.core.$strict>, z.ZodTransform<{
977
+ $state: string;
978
+ not?: true | undefined;
979
+ eq?: unknown;
980
+ neq?: unknown;
981
+ gt?: number | undefined;
982
+ gte?: number | undefined;
983
+ lt?: number | undefined;
984
+ lte?: number | undefined;
985
+ }, {
986
+ $state: string;
987
+ not?: true | undefined;
988
+ eq?: unknown;
989
+ neq?: unknown;
990
+ gt?: number | undefined;
991
+ gte?: number | undefined;
992
+ lt?: number | undefined;
993
+ lte?: number | undefined;
994
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
752
995
  not: z.ZodOptional<z.ZodLiteral<true>>;
753
996
  eq: z.ZodOptional<z.ZodUnknown>;
754
997
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -775,7 +1018,7 @@ declare const Node: EntityClass<z.ZodObject<{
775
1018
  gte?: number | undefined;
776
1019
  lt?: number | undefined;
777
1020
  lte?: number | undefined;
778
- }>>>;
1021
+ }>>>]>>;
779
1022
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
780
1023
  not: z.ZodOptional<z.ZodLiteral<true>>;
781
1024
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -804,7 +1047,34 @@ declare const Node: EntityClass<z.ZodObject<{
804
1047
  lt?: number | undefined;
805
1048
  lte?: number | undefined;
806
1049
  }>>, z.ZodObject<{
807
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1050
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1051
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1052
+ eq: z.ZodOptional<z.ZodUnknown>;
1053
+ neq: z.ZodOptional<z.ZodUnknown>;
1054
+ gt: z.ZodOptional<z.ZodNumber>;
1055
+ gte: z.ZodOptional<z.ZodNumber>;
1056
+ lt: z.ZodOptional<z.ZodNumber>;
1057
+ lte: z.ZodOptional<z.ZodNumber>;
1058
+ $state: z.ZodString;
1059
+ }, z.core.$strict>, z.ZodTransform<{
1060
+ $state: string;
1061
+ not?: true | undefined;
1062
+ eq?: unknown;
1063
+ neq?: unknown;
1064
+ gt?: number | undefined;
1065
+ gte?: number | undefined;
1066
+ lt?: number | undefined;
1067
+ lte?: number | undefined;
1068
+ }, {
1069
+ $state: string;
1070
+ not?: true | undefined;
1071
+ eq?: unknown;
1072
+ neq?: unknown;
1073
+ gt?: number | undefined;
1074
+ gte?: number | undefined;
1075
+ lt?: number | undefined;
1076
+ lte?: number | undefined;
1077
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
808
1078
  not: z.ZodOptional<z.ZodLiteral<true>>;
809
1079
  eq: z.ZodOptional<z.ZodUnknown>;
810
1080
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -831,8 +1101,8 @@ declare const Node: EntityClass<z.ZodObject<{
831
1101
  gte?: number | undefined;
832
1102
  lt?: number | undefined;
833
1103
  lte?: number | undefined;
834
- }>>>;
835
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1104
+ }>>>]>>;
1105
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
836
1106
  __ref: z.ZodString;
837
1107
  }, z.core.$strip>]>>, z.ZodTransform<{
838
1108
  $state: string;
@@ -925,6 +1195,12 @@ declare const Node: EntityClass<z.ZodObject<{
925
1195
  }: ComputedInput) => string[];
926
1196
  }, false>, "ref"> & {
927
1197
  ref<const Path extends PathOf<"component">>(path: Path): ComponentReference<ComponentContractOf<Path>>;
1198
+ slots: typeof listSlots;
1199
+ slot: typeof slotOf;
1200
+ slotHostedBy: typeof slotHostedBy;
1201
+ namedSlots: typeof namedSlots;
1202
+ cell: typeof cellAt;
1203
+ instance: typeof instanceAt;
928
1204
  }, EntityClass<z.ZodObject<{
929
1205
  categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
930
1206
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1050,6 +1326,11 @@ declare const CanvasConfig: ConfigClass<{
1050
1326
  __ref: z.ZodString;
1051
1327
  }, z.core.$strip>>]>>;
1052
1328
  required: z.ZodOptional<z.ZodBoolean>;
1329
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1330
+ __ref: z.ZodString;
1331
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1332
+ __ref: z.ZodString;
1333
+ }, z.core.$strip>]>>]>>>;
1053
1334
  }, z.core.$strict>, z.ZodObject<{
1054
1335
  type: z.ZodLiteral<"variant">;
1055
1336
  value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
@@ -1062,6 +1343,11 @@ declare const CanvasConfig: ConfigClass<{
1062
1343
  deprecated: z.ZodOptional<z.ZodBoolean>;
1063
1344
  }, z.core.$strict>>]>;
1064
1345
  required: z.ZodOptional<z.ZodBoolean>;
1346
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1347
+ __ref: z.ZodString;
1348
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1349
+ __ref: z.ZodString;
1350
+ }, z.core.$strip>]>>]>>>;
1065
1351
  }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
1066
1352
  type: z.ZodLiteral<"forward">;
1067
1353
  target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -1077,6 +1363,11 @@ declare const CanvasConfig: ConfigClass<{
1077
1363
  }, z.core.$strip>>]>>;
1078
1364
  text: z.ZodOptional<z.ZodBoolean>;
1079
1365
  required: z.ZodOptional<z.ZodBoolean>;
1366
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1367
+ __ref: z.ZodString;
1368
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1369
+ __ref: z.ZodString;
1370
+ }, z.core.$strip>]>>]>>>;
1080
1371
  }, z.core.$strict>, z.ZodTransform<{
1081
1372
  type: "forward";
1082
1373
  target: string | {
@@ -1092,6 +1383,11 @@ declare const CanvasConfig: ConfigClass<{
1092
1383
  }[] | undefined;
1093
1384
  text?: boolean | undefined;
1094
1385
  required?: boolean | undefined;
1386
+ when?: Record<string, string | number | boolean | {
1387
+ __ref: string;
1388
+ } | (string | number | boolean | {
1389
+ __ref: string;
1390
+ })[]> | undefined;
1095
1391
  }, {
1096
1392
  type: "forward";
1097
1393
  target: string | {
@@ -1107,45 +1403,77 @@ declare const CanvasConfig: ConfigClass<{
1107
1403
  }[] | undefined;
1108
1404
  text?: boolean | undefined;
1109
1405
  required?: boolean | undefined;
1406
+ when?: Record<string, string | number | boolean | {
1407
+ __ref: string;
1408
+ } | (string | number | boolean | {
1409
+ __ref: string;
1410
+ })[]> | undefined;
1110
1411
  }>>, z.ZodObject<{
1111
1412
  type: z.ZodLiteral<"styleProperty">;
1112
1413
  value: z.ZodObject<{
1113
1414
  __ref: z.ZodString;
1114
1415
  }, z.core.$strip>;
1416
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1417
+ __ref: z.ZodString;
1418
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1419
+ __ref: z.ZodString;
1420
+ }, z.core.$strip>]>>]>>>;
1115
1421
  }, z.core.$strict>, z.ZodObject<{
1116
1422
  type: z.ZodLiteral<"composite">;
1117
1423
  value: z.ZodObject<{
1118
1424
  __ref: z.ZodString;
1119
1425
  }, z.core.$strip>;
1426
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1427
+ __ref: z.ZodString;
1428
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1429
+ __ref: z.ZodString;
1430
+ }, z.core.$strip>]>>]>>>;
1120
1431
  }, z.core.$strict>, z.ZodObject<{
1121
1432
  type: z.ZodLiteral<"motion">;
1122
1433
  value: z.ZodDefault<z.ZodObject<{
1123
1434
  __ref: z.ZodString;
1124
1435
  }, z.core.$strip>>;
1436
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1437
+ __ref: z.ZodString;
1438
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1439
+ __ref: z.ZodString;
1440
+ }, z.core.$strip>]>>]>>>;
1125
1441
  }, z.core.$strict>, z.ZodObject<{
1126
1442
  type: z.ZodLiteral<"string">;
1127
1443
  value: z.ZodOptional<z.ZodString>;
1128
1444
  required: z.ZodOptional<z.ZodBoolean>;
1445
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1446
+ __ref: z.ZodString;
1447
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1448
+ __ref: z.ZodString;
1449
+ }, z.core.$strip>]>>]>>>;
1129
1450
  }, z.core.$strict>, z.ZodObject<{
1130
1451
  type: z.ZodLiteral<"number">;
1131
1452
  value: z.ZodOptional<z.ZodNumber>;
1132
1453
  required: z.ZodOptional<z.ZodBoolean>;
1454
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1455
+ __ref: z.ZodString;
1456
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1457
+ __ref: z.ZodString;
1458
+ }, z.core.$strip>]>>]>>>;
1133
1459
  }, z.core.$strict>, z.ZodObject<{
1134
1460
  type: z.ZodLiteral<"boolean">;
1135
1461
  value: z.ZodOptional<z.ZodBoolean>;
1136
1462
  required: z.ZodOptional<z.ZodBoolean>;
1463
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1464
+ __ref: z.ZodString;
1465
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1466
+ __ref: z.ZodString;
1467
+ }, z.core.$strip>]>>]>>>;
1137
1468
  }, z.core.$strict>], "type">>>>;
1138
1469
  forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
1139
1470
  __ref: z.ZodString;
1140
1471
  }, z.core.$strip>>]>>>;
1141
1472
  styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
1473
+ renderProps: z.ZodOptional<z.ZodArray<z.ZodString>>;
1142
1474
  anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
1143
1475
  defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
1144
- previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1145
- previewWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
1146
- when: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1147
- props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1148
- }, z.core.$strip>>>;
1476
+ preview: z.ZodOptional<SubEntityClass<z.ZodType<StoredPreviewCondition, unknown, z.core.$ZodTypeInternals<StoredPreviewCondition, unknown>>>>;
1149
1477
  file: z.ZodOptional<z.ZodObject<{
1150
1478
  __ref: z.ZodString;
1151
1479
  }, z.core.$strip>>;
@@ -1168,6 +1496,11 @@ declare const CanvasConfig: ConfigClass<{
1168
1496
  __ref: z.ZodString;
1169
1497
  }, z.core.$strip>>]>>;
1170
1498
  required: z.ZodOptional<z.ZodBoolean>;
1499
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1500
+ __ref: z.ZodString;
1501
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1502
+ __ref: z.ZodString;
1503
+ }, z.core.$strip>]>>]>>>;
1171
1504
  }, z.core.$strict>, z.ZodObject<{
1172
1505
  type: z.ZodLiteral<"variant">;
1173
1506
  value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
@@ -1180,6 +1513,11 @@ declare const CanvasConfig: ConfigClass<{
1180
1513
  deprecated: z.ZodOptional<z.ZodBoolean>;
1181
1514
  }, z.core.$strict>>]>;
1182
1515
  required: z.ZodOptional<z.ZodBoolean>;
1516
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1517
+ __ref: z.ZodString;
1518
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1519
+ __ref: z.ZodString;
1520
+ }, z.core.$strip>]>>]>>>;
1183
1521
  }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
1184
1522
  type: z.ZodLiteral<"forward">;
1185
1523
  target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -1195,6 +1533,11 @@ declare const CanvasConfig: ConfigClass<{
1195
1533
  }, z.core.$strip>>]>>;
1196
1534
  text: z.ZodOptional<z.ZodBoolean>;
1197
1535
  required: z.ZodOptional<z.ZodBoolean>;
1536
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1537
+ __ref: z.ZodString;
1538
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1539
+ __ref: z.ZodString;
1540
+ }, z.core.$strip>]>>]>>>;
1198
1541
  }, z.core.$strict>, z.ZodTransform<{
1199
1542
  type: "forward";
1200
1543
  target: string | {
@@ -1210,6 +1553,11 @@ declare const CanvasConfig: ConfigClass<{
1210
1553
  }[] | undefined;
1211
1554
  text?: boolean | undefined;
1212
1555
  required?: boolean | undefined;
1556
+ when?: Record<string, string | number | boolean | {
1557
+ __ref: string;
1558
+ } | (string | number | boolean | {
1559
+ __ref: string;
1560
+ })[]> | undefined;
1213
1561
  }, {
1214
1562
  type: "forward";
1215
1563
  target: string | {
@@ -1225,51 +1573,83 @@ declare const CanvasConfig: ConfigClass<{
1225
1573
  }[] | undefined;
1226
1574
  text?: boolean | undefined;
1227
1575
  required?: boolean | undefined;
1576
+ when?: Record<string, string | number | boolean | {
1577
+ __ref: string;
1578
+ } | (string | number | boolean | {
1579
+ __ref: string;
1580
+ })[]> | undefined;
1228
1581
  }>>, z.ZodObject<{
1229
1582
  type: z.ZodLiteral<"styleProperty">;
1230
1583
  value: z.ZodObject<{
1231
1584
  __ref: z.ZodString;
1232
1585
  }, z.core.$strip>;
1586
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1587
+ __ref: z.ZodString;
1588
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1589
+ __ref: z.ZodString;
1590
+ }, z.core.$strip>]>>]>>>;
1233
1591
  }, z.core.$strict>, z.ZodObject<{
1234
1592
  type: z.ZodLiteral<"composite">;
1235
1593
  value: z.ZodObject<{
1236
1594
  __ref: z.ZodString;
1237
1595
  }, z.core.$strip>;
1596
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1597
+ __ref: z.ZodString;
1598
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1599
+ __ref: z.ZodString;
1600
+ }, z.core.$strip>]>>]>>>;
1238
1601
  }, z.core.$strict>, z.ZodObject<{
1239
1602
  type: z.ZodLiteral<"motion">;
1240
1603
  value: z.ZodDefault<z.ZodObject<{
1241
1604
  __ref: z.ZodString;
1242
1605
  }, z.core.$strip>>;
1606
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1607
+ __ref: z.ZodString;
1608
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1609
+ __ref: z.ZodString;
1610
+ }, z.core.$strip>]>>]>>>;
1243
1611
  }, z.core.$strict>, z.ZodObject<{
1244
1612
  type: z.ZodLiteral<"string">;
1245
1613
  value: z.ZodOptional<z.ZodString>;
1246
1614
  required: z.ZodOptional<z.ZodBoolean>;
1615
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1616
+ __ref: z.ZodString;
1617
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1618
+ __ref: z.ZodString;
1619
+ }, z.core.$strip>]>>]>>>;
1247
1620
  }, z.core.$strict>, z.ZodObject<{
1248
1621
  type: z.ZodLiteral<"number">;
1249
1622
  value: z.ZodOptional<z.ZodNumber>;
1250
1623
  required: z.ZodOptional<z.ZodBoolean>;
1624
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1625
+ __ref: z.ZodString;
1626
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1627
+ __ref: z.ZodString;
1628
+ }, z.core.$strip>]>>]>>>;
1251
1629
  }, z.core.$strict>, z.ZodObject<{
1252
1630
  type: z.ZodLiteral<"boolean">;
1253
1631
  value: z.ZodOptional<z.ZodBoolean>;
1254
1632
  required: z.ZodOptional<z.ZodBoolean>;
1633
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1634
+ __ref: z.ZodString;
1635
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1636
+ __ref: z.ZodString;
1637
+ }, z.core.$strip>]>>]>>>;
1255
1638
  }, z.core.$strict>], "type">>>>;
1256
1639
  forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
1257
1640
  __ref: z.ZodString;
1258
1641
  }, z.core.$strip>>]>>>;
1259
1642
  styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
1643
+ renderProps: z.ZodOptional<z.ZodArray<z.ZodString>>;
1260
1644
  anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
1261
1645
  defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
1262
- previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1263
- previewWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
1264
- when: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1265
- props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1266
- }, z.core.$strip>>>;
1646
+ preview: z.ZodOptional<SubEntityClass<z.ZodType<StoredPreviewCondition, unknown, z.core.$ZodTypeInternals<StoredPreviewCondition, unknown>>>>;
1267
1647
  file: z.ZodOptional<z.ZodObject<{
1268
1648
  __ref: z.ZodString;
1269
1649
  }, z.core.$strip>>;
1270
1650
  export: z.ZodOptional<z.ZodString>;
1271
1651
  }, z.core.$strict>;
1272
- readonly description: "Create a component at a new qualified `path`. For a component with nothing in it yet, one to design on the canvas before it has props or variants, use `create-blank` with only a `path` instead of authoring a minimal body here. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `previewProps` (or `defaultProps`) so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
1652
+ readonly description: "Create a component at a new qualified `path`. For a component with nothing in it yet, one to design on the canvas before it has props or variants, use `create-blank` with only a `path` instead of authoring a minimal body here. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `preview` (`{ \"*\": { \"when\": null, \"props\": { \"children\": \"Example\" } } }`) or `defaultProps` so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
1273
1653
  readonly example: ({
1274
1654
  config
1275
1655
  }: {
@@ -1368,7 +1748,7 @@ declare const CanvasConfig: ConfigClass<{
1368
1748
  lt?: number | undefined;
1369
1749
  lte?: number | undefined;
1370
1750
  }>>, z.ZodObject<{
1371
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1751
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1372
1752
  not: z.ZodOptional<z.ZodLiteral<true>>;
1373
1753
  eq: z.ZodOptional<z.ZodUnknown>;
1374
1754
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -1395,7 +1775,34 @@ declare const CanvasConfig: ConfigClass<{
1395
1775
  gte?: number | undefined;
1396
1776
  lt?: number | undefined;
1397
1777
  lte?: number | undefined;
1398
- }>>>;
1778
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
1779
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1780
+ eq: z.ZodOptional<z.ZodUnknown>;
1781
+ neq: z.ZodOptional<z.ZodUnknown>;
1782
+ gt: z.ZodOptional<z.ZodNumber>;
1783
+ gte: z.ZodOptional<z.ZodNumber>;
1784
+ lt: z.ZodOptional<z.ZodNumber>;
1785
+ lte: z.ZodOptional<z.ZodNumber>;
1786
+ $state: z.ZodString;
1787
+ }, z.core.$strict>, z.ZodTransform<{
1788
+ $state: string;
1789
+ not?: true | undefined;
1790
+ eq?: unknown;
1791
+ neq?: unknown;
1792
+ gt?: number | undefined;
1793
+ gte?: number | undefined;
1794
+ lt?: number | undefined;
1795
+ lte?: number | undefined;
1796
+ }, {
1797
+ $state: string;
1798
+ not?: true | undefined;
1799
+ eq?: unknown;
1800
+ neq?: unknown;
1801
+ gt?: number | undefined;
1802
+ gte?: number | undefined;
1803
+ lt?: number | undefined;
1804
+ lte?: number | undefined;
1805
+ }>>>]>>;
1399
1806
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1400
1807
  not: z.ZodOptional<z.ZodLiteral<true>>;
1401
1808
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -1424,7 +1831,34 @@ declare const CanvasConfig: ConfigClass<{
1424
1831
  lt?: number | undefined;
1425
1832
  lte?: number | undefined;
1426
1833
  }>>, z.ZodObject<{
1427
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1834
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1835
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1836
+ eq: z.ZodOptional<z.ZodUnknown>;
1837
+ neq: z.ZodOptional<z.ZodUnknown>;
1838
+ gt: z.ZodOptional<z.ZodNumber>;
1839
+ gte: z.ZodOptional<z.ZodNumber>;
1840
+ lt: z.ZodOptional<z.ZodNumber>;
1841
+ lte: z.ZodOptional<z.ZodNumber>;
1842
+ $state: z.ZodString;
1843
+ }, z.core.$strict>, z.ZodTransform<{
1844
+ $state: string;
1845
+ not?: true | undefined;
1846
+ eq?: unknown;
1847
+ neq?: unknown;
1848
+ gt?: number | undefined;
1849
+ gte?: number | undefined;
1850
+ lt?: number | undefined;
1851
+ lte?: number | undefined;
1852
+ }, {
1853
+ $state: string;
1854
+ not?: true | undefined;
1855
+ eq?: unknown;
1856
+ neq?: unknown;
1857
+ gt?: number | undefined;
1858
+ gte?: number | undefined;
1859
+ lt?: number | undefined;
1860
+ lte?: number | undefined;
1861
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
1428
1862
  not: z.ZodOptional<z.ZodLiteral<true>>;
1429
1863
  eq: z.ZodOptional<z.ZodUnknown>;
1430
1864
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -1451,8 +1885,8 @@ declare const CanvasConfig: ConfigClass<{
1451
1885
  gte?: number | undefined;
1452
1886
  lt?: number | undefined;
1453
1887
  lte?: number | undefined;
1454
- }>>>;
1455
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1888
+ }>>>]>>;
1889
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1456
1890
  __ref: z.ZodString;
1457
1891
  }, z.core.$strip>]>>, z.ZodTransform<{
1458
1892
  $state: string;
@@ -1501,7 +1935,34 @@ declare const CanvasConfig: ConfigClass<{
1501
1935
  lt?: number | undefined;
1502
1936
  lte?: number | undefined;
1503
1937
  }>>, z.ZodObject<{
1504
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
1938
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1939
+ not: z.ZodOptional<z.ZodLiteral<true>>;
1940
+ eq: z.ZodOptional<z.ZodUnknown>;
1941
+ neq: z.ZodOptional<z.ZodUnknown>;
1942
+ gt: z.ZodOptional<z.ZodNumber>;
1943
+ gte: z.ZodOptional<z.ZodNumber>;
1944
+ lt: z.ZodOptional<z.ZodNumber>;
1945
+ lte: z.ZodOptional<z.ZodNumber>;
1946
+ $state: z.ZodString;
1947
+ }, z.core.$strict>, z.ZodTransform<{
1948
+ $state: string;
1949
+ not?: true | undefined;
1950
+ eq?: unknown;
1951
+ neq?: unknown;
1952
+ gt?: number | undefined;
1953
+ gte?: number | undefined;
1954
+ lt?: number | undefined;
1955
+ lte?: number | undefined;
1956
+ }, {
1957
+ $state: string;
1958
+ not?: true | undefined;
1959
+ eq?: unknown;
1960
+ neq?: unknown;
1961
+ gt?: number | undefined;
1962
+ gte?: number | undefined;
1963
+ lt?: number | undefined;
1964
+ lte?: number | undefined;
1965
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
1505
1966
  not: z.ZodOptional<z.ZodLiteral<true>>;
1506
1967
  eq: z.ZodOptional<z.ZodUnknown>;
1507
1968
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -1528,7 +1989,7 @@ declare const CanvasConfig: ConfigClass<{
1528
1989
  gte?: number | undefined;
1529
1990
  lt?: number | undefined;
1530
1991
  lte?: number | undefined;
1531
- }>>>;
1992
+ }>>>]>>;
1532
1993
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1533
1994
  not: z.ZodOptional<z.ZodLiteral<true>>;
1534
1995
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -1557,7 +2018,7 @@ declare const CanvasConfig: ConfigClass<{
1557
2018
  lt?: number | undefined;
1558
2019
  lte?: number | undefined;
1559
2020
  }>>, z.ZodObject<{
1560
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2021
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1561
2022
  not: z.ZodOptional<z.ZodLiteral<true>>;
1562
2023
  eq: z.ZodOptional<z.ZodUnknown>;
1563
2024
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -1584,8 +2045,35 @@ declare const CanvasConfig: ConfigClass<{
1584
2045
  gte?: number | undefined;
1585
2046
  lt?: number | undefined;
1586
2047
  lte?: number | undefined;
1587
- }>>>;
1588
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2048
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
2049
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2050
+ eq: z.ZodOptional<z.ZodUnknown>;
2051
+ neq: z.ZodOptional<z.ZodUnknown>;
2052
+ gt: z.ZodOptional<z.ZodNumber>;
2053
+ gte: z.ZodOptional<z.ZodNumber>;
2054
+ lt: z.ZodOptional<z.ZodNumber>;
2055
+ lte: z.ZodOptional<z.ZodNumber>;
2056
+ $state: z.ZodString;
2057
+ }, z.core.$strict>, z.ZodTransform<{
2058
+ $state: string;
2059
+ not?: true | undefined;
2060
+ eq?: unknown;
2061
+ neq?: unknown;
2062
+ gt?: number | undefined;
2063
+ gte?: number | undefined;
2064
+ lt?: number | undefined;
2065
+ lte?: number | undefined;
2066
+ }, {
2067
+ $state: string;
2068
+ not?: true | undefined;
2069
+ eq?: unknown;
2070
+ neq?: unknown;
2071
+ gt?: number | undefined;
2072
+ gte?: number | undefined;
2073
+ lt?: number | undefined;
2074
+ lte?: number | undefined;
2075
+ }>>>]>>;
2076
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1589
2077
  __ref: z.ZodString;
1590
2078
  }, z.core.$strip>]>>, z.ZodTransform<{
1591
2079
  $state: string;
@@ -1635,7 +2123,34 @@ declare const CanvasConfig: ConfigClass<{
1635
2123
  lt?: number | undefined;
1636
2124
  lte?: number | undefined;
1637
2125
  }>>, z.ZodObject<{
1638
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2126
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2127
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2128
+ eq: z.ZodOptional<z.ZodUnknown>;
2129
+ neq: z.ZodOptional<z.ZodUnknown>;
2130
+ gt: z.ZodOptional<z.ZodNumber>;
2131
+ gte: z.ZodOptional<z.ZodNumber>;
2132
+ lt: z.ZodOptional<z.ZodNumber>;
2133
+ lte: z.ZodOptional<z.ZodNumber>;
2134
+ $state: z.ZodString;
2135
+ }, z.core.$strict>, z.ZodTransform<{
2136
+ $state: string;
2137
+ not?: true | undefined;
2138
+ eq?: unknown;
2139
+ neq?: unknown;
2140
+ gt?: number | undefined;
2141
+ gte?: number | undefined;
2142
+ lt?: number | undefined;
2143
+ lte?: number | undefined;
2144
+ }, {
2145
+ $state: string;
2146
+ not?: true | undefined;
2147
+ eq?: unknown;
2148
+ neq?: unknown;
2149
+ gt?: number | undefined;
2150
+ gte?: number | undefined;
2151
+ lt?: number | undefined;
2152
+ lte?: number | undefined;
2153
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
1639
2154
  not: z.ZodOptional<z.ZodLiteral<true>>;
1640
2155
  eq: z.ZodOptional<z.ZodUnknown>;
1641
2156
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -1662,7 +2177,7 @@ declare const CanvasConfig: ConfigClass<{
1662
2177
  gte?: number | undefined;
1663
2178
  lt?: number | undefined;
1664
2179
  lte?: number | undefined;
1665
- }>>>;
2180
+ }>>>]>>;
1666
2181
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1667
2182
  not: z.ZodOptional<z.ZodLiteral<true>>;
1668
2183
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -1691,7 +2206,7 @@ declare const CanvasConfig: ConfigClass<{
1691
2206
  lt?: number | undefined;
1692
2207
  lte?: number | undefined;
1693
2208
  }>>, z.ZodObject<{
1694
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
2209
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
1695
2210
  not: z.ZodOptional<z.ZodLiteral<true>>;
1696
2211
  eq: z.ZodOptional<z.ZodUnknown>;
1697
2212
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -1718,8 +2233,35 @@ declare const CanvasConfig: ConfigClass<{
1718
2233
  gte?: number | undefined;
1719
2234
  lt?: number | undefined;
1720
2235
  lte?: number | undefined;
1721
- }>>>;
1722
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2236
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
2237
+ not: z.ZodOptional<z.ZodLiteral<true>>;
2238
+ eq: z.ZodOptional<z.ZodUnknown>;
2239
+ neq: z.ZodOptional<z.ZodUnknown>;
2240
+ gt: z.ZodOptional<z.ZodNumber>;
2241
+ gte: z.ZodOptional<z.ZodNumber>;
2242
+ lt: z.ZodOptional<z.ZodNumber>;
2243
+ lte: z.ZodOptional<z.ZodNumber>;
2244
+ $state: z.ZodString;
2245
+ }, z.core.$strict>, z.ZodTransform<{
2246
+ $state: string;
2247
+ not?: true | undefined;
2248
+ eq?: unknown;
2249
+ neq?: unknown;
2250
+ gt?: number | undefined;
2251
+ gte?: number | undefined;
2252
+ lt?: number | undefined;
2253
+ lte?: number | undefined;
2254
+ }, {
2255
+ $state: string;
2256
+ not?: true | undefined;
2257
+ eq?: unknown;
2258
+ neq?: unknown;
2259
+ gt?: number | undefined;
2260
+ gte?: number | undefined;
2261
+ lt?: number | undefined;
2262
+ lte?: number | undefined;
2263
+ }>>>]>>;
2264
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
1723
2265
  __ref: z.ZodString;
1724
2266
  }, z.core.$strip>]>>, z.ZodTransform<{
1725
2267
  $state: string;
@@ -1812,6 +2354,12 @@ declare const CanvasConfig: ConfigClass<{
1812
2354
  }: ComputedInput) => string[];
1813
2355
  }, false>, "ref"> & {
1814
2356
  ref<const Path extends PathOf<"component">>(path: Path): ComponentReference<ComponentContractOf<Path>>;
2357
+ slots: typeof listSlots;
2358
+ slot: typeof slotOf;
2359
+ slotHostedBy: typeof slotHostedBy;
2360
+ namedSlots: typeof namedSlots;
2361
+ cell: typeof cellAt;
2362
+ instance: typeof instanceAt;
1815
2363
  }, EntityClass<z.ZodObject<{
1816
2364
  categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1817
2365
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -2202,6 +2750,11 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2202
2750
  __ref: z.ZodString;
2203
2751
  }, z.core.$strip>>]>>;
2204
2752
  required: z.ZodOptional<z.ZodBoolean>;
2753
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2754
+ __ref: z.ZodString;
2755
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2756
+ __ref: z.ZodString;
2757
+ }, z.core.$strip>]>>]>>>;
2205
2758
  }, z.core.$strict>, z.ZodObject<{
2206
2759
  type: z.ZodLiteral<"variant">;
2207
2760
  value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
@@ -2214,6 +2767,11 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2214
2767
  deprecated: z.ZodOptional<z.ZodBoolean>;
2215
2768
  }, z.core.$strict>>]>;
2216
2769
  required: z.ZodOptional<z.ZodBoolean>;
2770
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2771
+ __ref: z.ZodString;
2772
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2773
+ __ref: z.ZodString;
2774
+ }, z.core.$strip>]>>]>>>;
2217
2775
  }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
2218
2776
  type: z.ZodLiteral<"forward">;
2219
2777
  target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -2229,6 +2787,11 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2229
2787
  }, z.core.$strip>>]>>;
2230
2788
  text: z.ZodOptional<z.ZodBoolean>;
2231
2789
  required: z.ZodOptional<z.ZodBoolean>;
2790
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2791
+ __ref: z.ZodString;
2792
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2793
+ __ref: z.ZodString;
2794
+ }, z.core.$strip>]>>]>>>;
2232
2795
  }, z.core.$strict>, z.ZodTransform<{
2233
2796
  type: "forward";
2234
2797
  target: string | {
@@ -2244,6 +2807,11 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2244
2807
  }[] | undefined;
2245
2808
  text?: boolean | undefined;
2246
2809
  required?: boolean | undefined;
2810
+ when?: Record<string, string | number | boolean | {
2811
+ __ref: string;
2812
+ } | (string | number | boolean | {
2813
+ __ref: string;
2814
+ })[]> | undefined;
2247
2815
  }, {
2248
2816
  type: "forward";
2249
2817
  target: string | {
@@ -2259,45 +2827,77 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2259
2827
  }[] | undefined;
2260
2828
  text?: boolean | undefined;
2261
2829
  required?: boolean | undefined;
2830
+ when?: Record<string, string | number | boolean | {
2831
+ __ref: string;
2832
+ } | (string | number | boolean | {
2833
+ __ref: string;
2834
+ })[]> | undefined;
2262
2835
  }>>, z.ZodObject<{
2263
2836
  type: z.ZodLiteral<"styleProperty">;
2264
2837
  value: z.ZodObject<{
2265
2838
  __ref: z.ZodString;
2266
2839
  }, z.core.$strip>;
2840
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2841
+ __ref: z.ZodString;
2842
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2843
+ __ref: z.ZodString;
2844
+ }, z.core.$strip>]>>]>>>;
2267
2845
  }, z.core.$strict>, z.ZodObject<{
2268
2846
  type: z.ZodLiteral<"composite">;
2269
2847
  value: z.ZodObject<{
2270
2848
  __ref: z.ZodString;
2271
2849
  }, z.core.$strip>;
2850
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2851
+ __ref: z.ZodString;
2852
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2853
+ __ref: z.ZodString;
2854
+ }, z.core.$strip>]>>]>>>;
2272
2855
  }, z.core.$strict>, z.ZodObject<{
2273
2856
  type: z.ZodLiteral<"motion">;
2274
2857
  value: z.ZodDefault<z.ZodObject<{
2275
2858
  __ref: z.ZodString;
2276
2859
  }, z.core.$strip>>;
2860
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2861
+ __ref: z.ZodString;
2862
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2863
+ __ref: z.ZodString;
2864
+ }, z.core.$strip>]>>]>>>;
2277
2865
  }, z.core.$strict>, z.ZodObject<{
2278
2866
  type: z.ZodLiteral<"string">;
2279
2867
  value: z.ZodOptional<z.ZodString>;
2280
2868
  required: z.ZodOptional<z.ZodBoolean>;
2869
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2870
+ __ref: z.ZodString;
2871
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2872
+ __ref: z.ZodString;
2873
+ }, z.core.$strip>]>>]>>>;
2281
2874
  }, z.core.$strict>, z.ZodObject<{
2282
2875
  type: z.ZodLiteral<"number">;
2283
2876
  value: z.ZodOptional<z.ZodNumber>;
2284
2877
  required: z.ZodOptional<z.ZodBoolean>;
2878
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2879
+ __ref: z.ZodString;
2880
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2881
+ __ref: z.ZodString;
2882
+ }, z.core.$strip>]>>]>>>;
2285
2883
  }, z.core.$strict>, z.ZodObject<{
2286
2884
  type: z.ZodLiteral<"boolean">;
2287
2885
  value: z.ZodOptional<z.ZodBoolean>;
2288
2886
  required: z.ZodOptional<z.ZodBoolean>;
2887
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2888
+ __ref: z.ZodString;
2889
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2890
+ __ref: z.ZodString;
2891
+ }, z.core.$strip>]>>]>>>;
2289
2892
  }, z.core.$strict>], "type">>>>;
2290
2893
  forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
2291
2894
  __ref: z.ZodString;
2292
2895
  }, z.core.$strip>>]>>>;
2293
2896
  styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
2897
+ renderProps: z.ZodOptional<z.ZodArray<z.ZodString>>;
2294
2898
  anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
2295
2899
  defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
2296
- previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2297
- previewWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
2298
- when: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2299
- props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2300
- }, z.core.$strip>>>;
2900
+ preview: z.ZodOptional<SubEntityClass<z.ZodType<StoredPreviewCondition, unknown, z.core.$ZodTypeInternals<StoredPreviewCondition, unknown>>>>;
2301
2901
  file: z.ZodOptional<z.ZodObject<{
2302
2902
  __ref: z.ZodString;
2303
2903
  }, z.core.$strip>>;
@@ -2320,6 +2920,11 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2320
2920
  __ref: z.ZodString;
2321
2921
  }, z.core.$strip>>]>>;
2322
2922
  required: z.ZodOptional<z.ZodBoolean>;
2923
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2924
+ __ref: z.ZodString;
2925
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2926
+ __ref: z.ZodString;
2927
+ }, z.core.$strip>]>>]>>>;
2323
2928
  }, z.core.$strict>, z.ZodObject<{
2324
2929
  type: z.ZodLiteral<"variant">;
2325
2930
  value: z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
@@ -2332,6 +2937,11 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2332
2937
  deprecated: z.ZodOptional<z.ZodBoolean>;
2333
2938
  }, z.core.$strict>>]>;
2334
2939
  required: z.ZodOptional<z.ZodBoolean>;
2940
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2941
+ __ref: z.ZodString;
2942
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2943
+ __ref: z.ZodString;
2944
+ }, z.core.$strip>]>>]>>>;
2335
2945
  }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
2336
2946
  type: z.ZodLiteral<"forward">;
2337
2947
  target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -2347,6 +2957,11 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2347
2957
  }, z.core.$strip>>]>>;
2348
2958
  text: z.ZodOptional<z.ZodBoolean>;
2349
2959
  required: z.ZodOptional<z.ZodBoolean>;
2960
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2961
+ __ref: z.ZodString;
2962
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2963
+ __ref: z.ZodString;
2964
+ }, z.core.$strip>]>>]>>>;
2350
2965
  }, z.core.$strict>, z.ZodTransform<{
2351
2966
  type: "forward";
2352
2967
  target: string | {
@@ -2362,6 +2977,11 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2362
2977
  }[] | undefined;
2363
2978
  text?: boolean | undefined;
2364
2979
  required?: boolean | undefined;
2980
+ when?: Record<string, string | number | boolean | {
2981
+ __ref: string;
2982
+ } | (string | number | boolean | {
2983
+ __ref: string;
2984
+ })[]> | undefined;
2365
2985
  }, {
2366
2986
  type: "forward";
2367
2987
  target: string | {
@@ -2377,51 +2997,83 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2377
2997
  }[] | undefined;
2378
2998
  text?: boolean | undefined;
2379
2999
  required?: boolean | undefined;
3000
+ when?: Record<string, string | number | boolean | {
3001
+ __ref: string;
3002
+ } | (string | number | boolean | {
3003
+ __ref: string;
3004
+ })[]> | undefined;
2380
3005
  }>>, z.ZodObject<{
2381
3006
  type: z.ZodLiteral<"styleProperty">;
2382
3007
  value: z.ZodObject<{
2383
3008
  __ref: z.ZodString;
2384
3009
  }, z.core.$strip>;
3010
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3011
+ __ref: z.ZodString;
3012
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3013
+ __ref: z.ZodString;
3014
+ }, z.core.$strip>]>>]>>>;
2385
3015
  }, z.core.$strict>, z.ZodObject<{
2386
3016
  type: z.ZodLiteral<"composite">;
2387
3017
  value: z.ZodObject<{
2388
3018
  __ref: z.ZodString;
2389
3019
  }, z.core.$strip>;
3020
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3021
+ __ref: z.ZodString;
3022
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3023
+ __ref: z.ZodString;
3024
+ }, z.core.$strip>]>>]>>>;
2390
3025
  }, z.core.$strict>, z.ZodObject<{
2391
3026
  type: z.ZodLiteral<"motion">;
2392
3027
  value: z.ZodDefault<z.ZodObject<{
2393
3028
  __ref: z.ZodString;
2394
3029
  }, z.core.$strip>>;
3030
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3031
+ __ref: z.ZodString;
3032
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3033
+ __ref: z.ZodString;
3034
+ }, z.core.$strip>]>>]>>>;
2395
3035
  }, z.core.$strict>, z.ZodObject<{
2396
3036
  type: z.ZodLiteral<"string">;
2397
3037
  value: z.ZodOptional<z.ZodString>;
2398
3038
  required: z.ZodOptional<z.ZodBoolean>;
3039
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3040
+ __ref: z.ZodString;
3041
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3042
+ __ref: z.ZodString;
3043
+ }, z.core.$strip>]>>]>>>;
2399
3044
  }, z.core.$strict>, z.ZodObject<{
2400
3045
  type: z.ZodLiteral<"number">;
2401
3046
  value: z.ZodOptional<z.ZodNumber>;
2402
3047
  required: z.ZodOptional<z.ZodBoolean>;
3048
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3049
+ __ref: z.ZodString;
3050
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3051
+ __ref: z.ZodString;
3052
+ }, z.core.$strip>]>>]>>>;
2403
3053
  }, z.core.$strict>, z.ZodObject<{
2404
3054
  type: z.ZodLiteral<"boolean">;
2405
3055
  value: z.ZodOptional<z.ZodBoolean>;
2406
3056
  required: z.ZodOptional<z.ZodBoolean>;
3057
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3058
+ __ref: z.ZodString;
3059
+ }, z.core.$strip>]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3060
+ __ref: z.ZodString;
3061
+ }, z.core.$strip>]>>]>>>;
2407
3062
  }, z.core.$strict>], "type">>>>;
2408
3063
  forwards: z.ZodOptional<SubEntityClass<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodObject<{
2409
3064
  __ref: z.ZodString;
2410
3065
  }, z.core.$strip>>]>>>;
2411
3066
  styles: z.ZodOptional<SubEntityClass<z.ZodType<ComponentStyleBody, unknown, z.core.$ZodTypeInternals<ComponentStyleBody, unknown>>>>;
3067
+ renderProps: z.ZodOptional<z.ZodArray<z.ZodString>>;
2412
3068
  anatomy: z.ZodOptional<SubEntityClass<z.ZodType<ComponentElementBody, unknown, z.core.$ZodTypeInternals<ComponentElementBody, unknown>>>>;
2413
3069
  defaultProps: z.ZodOptional<SubEntityClass<z.ZodType<StyleValue, unknown, z.core.$ZodTypeInternals<StyleValue, unknown>>>>;
2414
- previewProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2415
- previewWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
2416
- when: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2417
- props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2418
- }, z.core.$strip>>>;
3070
+ preview: z.ZodOptional<SubEntityClass<z.ZodType<StoredPreviewCondition, unknown, z.core.$ZodTypeInternals<StoredPreviewCondition, unknown>>>>;
2419
3071
  file: z.ZodOptional<z.ZodObject<{
2420
3072
  __ref: z.ZodString;
2421
3073
  }, z.core.$strip>>;
2422
3074
  export: z.ZodOptional<z.ZodString>;
2423
3075
  }, z.core.$strict>;
2424
- readonly description: "Create a component at a new qualified `path`. For a component with nothing in it yet, one to design on the canvas before it has props or variants, use `create-blank` with only a `path` instead of authoring a minimal body here. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `previewProps` (or `defaultProps`) so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
3076
+ readonly description: "Create a component at a new qualified `path`. For a component with nothing in it yet, one to design on the canvas before it has props or variants, use `create-blank` with only a `path` instead of authoring a minimal body here. When its complete body is known, include all layers, anatomy, props, defaults, and styles in this one operation. `data.layers` maps each stable layer name to the element it renders and must include `root` — a tag for a primitive (`{ \"layers\": { \"root\": \"div\" } }`), and for anything built on top, a ref to a primitive (`{ \"root\": { \"__ref\": \"component:Box\" }, \"label\": { \"__ref\": \"component:Text\" } }`), which is what lets the layer take that primitive's style props. A primitive exposes style props as `{ \"type\": \"styleProperty\", \"value\": { \"__ref\": \"style-property:bg\" } }` and declares `children: { \"type\": \"slot\", \"text\": true }` when it holds content — without the slot, nothing nested inside it renders. A composed component exposes a layer's props at its own top level through `forwards`, keyed by layer: `{ \"forwards\": { \"root\": \"*\" } }` passes every prop the root's element takes (so `<Button width=\"full\">` reaches the root's `width`), and a list of member refs (`[{ \"__ref\": \"component:Box#props/width\" }]`, each naming the component that declares the prop) passes only those. A prop a layer already exposes is forwarded, never redeclared in `props`; a `props` entry of `{ \"type\": \"forward\" }` is the reverse route, one of this component's props into a layer's. `anatomy` is the tree the build would read off a render: each node renders a layer (`{ \"__ref\": \"layer:<name>\" }`), an intrinsic tag, or `Slot` (`{ \"element\": \"Slot\", \"props\": { \"name\": \"children\" } }`, where a slot prop's content lands — but a declared slot fills `root` by default, so a primitive still declares its `children` slot prop yet needs no `Slot` node or `children` entry for it, and a `Slot` node is only for landing that content in a nested layer); `children` lists sibling node keys from the `root` node, never a prop name; `text` is a fixed string; `visible` is a condition on a prop (`{ \"$state\": \"<prop>\" }`, or with `eq`); content shown in a nested layer is a route, `children: { \"type\": \"forward\", \"target\": \"label/children\" }`. `$state` appears only in `visible` and in an `element` a prop chooses, never as a prop value. A glyph is a node of its own, `{ \"element\": { \"__ref\": \"icon:<library>/<Name>\" } }`, listed in the `children` of the layer node that holds it, never a prop value. Text a prop supplies to a text layer is never a node either: declare the prop `{ \"type\": \"forward\", \"target\": \"<layer>/children\" }` and the layer shows it; a `Slot` node goes only under a layer that takes nodes. A style rule is `\"styles\": { \"*\": { \"when\": null, \"layers\": { \"root\": { \"bg\": \"surface\" } } } }`, keyed by a name, with each layer's bag under `layers`. A composed component carries its own styles: give it an unconditional (`\"*\"`) rule that lays out and surfaces it through the system's style properties — spacing, alignment and gap on the container, a background and color where it has one — rather than leaning on the bare primitives, which paint flat. Style a layer only with the style props the primitive it renders exposes, set to the values those props accept: `component/get` on the primitive lists both, so read it and choose from that rather than reaching for a CSS name or value the system has no style property for. Set `preview` (`{ \"*\": { \"when\": null, \"props\": { \"children\": \"Example\" } } }`) or `defaultProps` so the component previews with content; a root that takes children renders empty otherwise. A style rule's layer bag is keyed by style-prop name (`fontWeight`, `color`), never by CSS property name, and each value is one of that prop's values.";
2425
3077
  readonly example: ({
2426
3078
  config
2427
3079
  }: {
@@ -2520,7 +3172,7 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2520
3172
  lt?: number | undefined;
2521
3173
  lte?: number | undefined;
2522
3174
  }>>, z.ZodObject<{
2523
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
3175
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2524
3176
  not: z.ZodOptional<z.ZodLiteral<true>>;
2525
3177
  eq: z.ZodOptional<z.ZodUnknown>;
2526
3178
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -2547,7 +3199,34 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2547
3199
  gte?: number | undefined;
2548
3200
  lt?: number | undefined;
2549
3201
  lte?: number | undefined;
2550
- }>>>;
3202
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
3203
+ not: z.ZodOptional<z.ZodLiteral<true>>;
3204
+ eq: z.ZodOptional<z.ZodUnknown>;
3205
+ neq: z.ZodOptional<z.ZodUnknown>;
3206
+ gt: z.ZodOptional<z.ZodNumber>;
3207
+ gte: z.ZodOptional<z.ZodNumber>;
3208
+ lt: z.ZodOptional<z.ZodNumber>;
3209
+ lte: z.ZodOptional<z.ZodNumber>;
3210
+ $state: z.ZodString;
3211
+ }, z.core.$strict>, z.ZodTransform<{
3212
+ $state: string;
3213
+ not?: true | undefined;
3214
+ eq?: unknown;
3215
+ neq?: unknown;
3216
+ gt?: number | undefined;
3217
+ gte?: number | undefined;
3218
+ lt?: number | undefined;
3219
+ lte?: number | undefined;
3220
+ }, {
3221
+ $state: string;
3222
+ not?: true | undefined;
3223
+ eq?: unknown;
3224
+ neq?: unknown;
3225
+ gt?: number | undefined;
3226
+ gte?: number | undefined;
3227
+ lt?: number | undefined;
3228
+ lte?: number | undefined;
3229
+ }>>>]>>;
2551
3230
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2552
3231
  not: z.ZodOptional<z.ZodLiteral<true>>;
2553
3232
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -2576,7 +3255,7 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2576
3255
  lt?: number | undefined;
2577
3256
  lte?: number | undefined;
2578
3257
  }>>, z.ZodObject<{
2579
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
3258
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2580
3259
  not: z.ZodOptional<z.ZodLiteral<true>>;
2581
3260
  eq: z.ZodOptional<z.ZodUnknown>;
2582
3261
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -2603,8 +3282,35 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2603
3282
  gte?: number | undefined;
2604
3283
  lt?: number | undefined;
2605
3284
  lte?: number | undefined;
2606
- }>>>;
2607
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3285
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
3286
+ not: z.ZodOptional<z.ZodLiteral<true>>;
3287
+ eq: z.ZodOptional<z.ZodUnknown>;
3288
+ neq: z.ZodOptional<z.ZodUnknown>;
3289
+ gt: z.ZodOptional<z.ZodNumber>;
3290
+ gte: z.ZodOptional<z.ZodNumber>;
3291
+ lt: z.ZodOptional<z.ZodNumber>;
3292
+ lte: z.ZodOptional<z.ZodNumber>;
3293
+ $state: z.ZodString;
3294
+ }, z.core.$strict>, z.ZodTransform<{
3295
+ $state: string;
3296
+ not?: true | undefined;
3297
+ eq?: unknown;
3298
+ neq?: unknown;
3299
+ gt?: number | undefined;
3300
+ gte?: number | undefined;
3301
+ lt?: number | undefined;
3302
+ lte?: number | undefined;
3303
+ }, {
3304
+ $state: string;
3305
+ not?: true | undefined;
3306
+ eq?: unknown;
3307
+ neq?: unknown;
3308
+ gt?: number | undefined;
3309
+ gte?: number | undefined;
3310
+ lt?: number | undefined;
3311
+ lte?: number | undefined;
3312
+ }>>>]>>;
3313
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2608
3314
  __ref: z.ZodString;
2609
3315
  }, z.core.$strip>]>>, z.ZodTransform<{
2610
3316
  $state: string;
@@ -2653,7 +3359,34 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2653
3359
  lt?: number | undefined;
2654
3360
  lte?: number | undefined;
2655
3361
  }>>, z.ZodObject<{
2656
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
3362
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
3363
+ not: z.ZodOptional<z.ZodLiteral<true>>;
3364
+ eq: z.ZodOptional<z.ZodUnknown>;
3365
+ neq: z.ZodOptional<z.ZodUnknown>;
3366
+ gt: z.ZodOptional<z.ZodNumber>;
3367
+ gte: z.ZodOptional<z.ZodNumber>;
3368
+ lt: z.ZodOptional<z.ZodNumber>;
3369
+ lte: z.ZodOptional<z.ZodNumber>;
3370
+ $state: z.ZodString;
3371
+ }, z.core.$strict>, z.ZodTransform<{
3372
+ $state: string;
3373
+ not?: true | undefined;
3374
+ eq?: unknown;
3375
+ neq?: unknown;
3376
+ gt?: number | undefined;
3377
+ gte?: number | undefined;
3378
+ lt?: number | undefined;
3379
+ lte?: number | undefined;
3380
+ }, {
3381
+ $state: string;
3382
+ not?: true | undefined;
3383
+ eq?: unknown;
3384
+ neq?: unknown;
3385
+ gt?: number | undefined;
3386
+ gte?: number | undefined;
3387
+ lt?: number | undefined;
3388
+ lte?: number | undefined;
3389
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
2657
3390
  not: z.ZodOptional<z.ZodLiteral<true>>;
2658
3391
  eq: z.ZodOptional<z.ZodUnknown>;
2659
3392
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -2680,7 +3413,7 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2680
3413
  gte?: number | undefined;
2681
3414
  lt?: number | undefined;
2682
3415
  lte?: number | undefined;
2683
- }>>>;
3416
+ }>>>]>>;
2684
3417
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2685
3418
  not: z.ZodOptional<z.ZodLiteral<true>>;
2686
3419
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -2709,7 +3442,34 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2709
3442
  lt?: number | undefined;
2710
3443
  lte?: number | undefined;
2711
3444
  }>>, z.ZodObject<{
2712
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
3445
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
3446
+ not: z.ZodOptional<z.ZodLiteral<true>>;
3447
+ eq: z.ZodOptional<z.ZodUnknown>;
3448
+ neq: z.ZodOptional<z.ZodUnknown>;
3449
+ gt: z.ZodOptional<z.ZodNumber>;
3450
+ gte: z.ZodOptional<z.ZodNumber>;
3451
+ lt: z.ZodOptional<z.ZodNumber>;
3452
+ lte: z.ZodOptional<z.ZodNumber>;
3453
+ $state: z.ZodString;
3454
+ }, z.core.$strict>, z.ZodTransform<{
3455
+ $state: string;
3456
+ not?: true | undefined;
3457
+ eq?: unknown;
3458
+ neq?: unknown;
3459
+ gt?: number | undefined;
3460
+ gte?: number | undefined;
3461
+ lt?: number | undefined;
3462
+ lte?: number | undefined;
3463
+ }, {
3464
+ $state: string;
3465
+ not?: true | undefined;
3466
+ eq?: unknown;
3467
+ neq?: unknown;
3468
+ gt?: number | undefined;
3469
+ gte?: number | undefined;
3470
+ lt?: number | undefined;
3471
+ lte?: number | undefined;
3472
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
2713
3473
  not: z.ZodOptional<z.ZodLiteral<true>>;
2714
3474
  eq: z.ZodOptional<z.ZodUnknown>;
2715
3475
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -2736,8 +3496,8 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2736
3496
  gte?: number | undefined;
2737
3497
  lt?: number | undefined;
2738
3498
  lte?: number | undefined;
2739
- }>>>;
2740
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3499
+ }>>>]>>;
3500
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2741
3501
  __ref: z.ZodString;
2742
3502
  }, z.core.$strip>]>>, z.ZodTransform<{
2743
3503
  $state: string;
@@ -2787,7 +3547,7 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2787
3547
  lt?: number | undefined;
2788
3548
  lte?: number | undefined;
2789
3549
  }>>, z.ZodObject<{
2790
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
3550
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2791
3551
  not: z.ZodOptional<z.ZodLiteral<true>>;
2792
3552
  eq: z.ZodOptional<z.ZodUnknown>;
2793
3553
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -2814,7 +3574,34 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2814
3574
  gte?: number | undefined;
2815
3575
  lt?: number | undefined;
2816
3576
  lte?: number | undefined;
2817
- }>>>;
3577
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
3578
+ not: z.ZodOptional<z.ZodLiteral<true>>;
3579
+ eq: z.ZodOptional<z.ZodUnknown>;
3580
+ neq: z.ZodOptional<z.ZodUnknown>;
3581
+ gt: z.ZodOptional<z.ZodNumber>;
3582
+ gte: z.ZodOptional<z.ZodNumber>;
3583
+ lt: z.ZodOptional<z.ZodNumber>;
3584
+ lte: z.ZodOptional<z.ZodNumber>;
3585
+ $state: z.ZodString;
3586
+ }, z.core.$strict>, z.ZodTransform<{
3587
+ $state: string;
3588
+ not?: true | undefined;
3589
+ eq?: unknown;
3590
+ neq?: unknown;
3591
+ gt?: number | undefined;
3592
+ gte?: number | undefined;
3593
+ lt?: number | undefined;
3594
+ lte?: number | undefined;
3595
+ }, {
3596
+ $state: string;
3597
+ not?: true | undefined;
3598
+ eq?: unknown;
3599
+ neq?: unknown;
3600
+ gt?: number | undefined;
3601
+ gte?: number | undefined;
3602
+ lt?: number | undefined;
3603
+ lte?: number | undefined;
3604
+ }>>>]>>;
2818
3605
  }, z.core.$strict>, z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
2819
3606
  not: z.ZodOptional<z.ZodLiteral<true>>;
2820
3607
  eq: z.ZodOptional<z.ZodUnknown>;
@@ -2843,7 +3630,34 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2843
3630
  lt?: number | undefined;
2844
3631
  lte?: number | undefined;
2845
3632
  }>>, z.ZodObject<{
2846
- $or: z.ZodArray<z.ZodPipe<z.ZodObject<{
3633
+ $or: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
3634
+ not: z.ZodOptional<z.ZodLiteral<true>>;
3635
+ eq: z.ZodOptional<z.ZodUnknown>;
3636
+ neq: z.ZodOptional<z.ZodUnknown>;
3637
+ gt: z.ZodOptional<z.ZodNumber>;
3638
+ gte: z.ZodOptional<z.ZodNumber>;
3639
+ lt: z.ZodOptional<z.ZodNumber>;
3640
+ lte: z.ZodOptional<z.ZodNumber>;
3641
+ $state: z.ZodString;
3642
+ }, z.core.$strict>, z.ZodTransform<{
3643
+ $state: string;
3644
+ not?: true | undefined;
3645
+ eq?: unknown;
3646
+ neq?: unknown;
3647
+ gt?: number | undefined;
3648
+ gte?: number | undefined;
3649
+ lt?: number | undefined;
3650
+ lte?: number | undefined;
3651
+ }, {
3652
+ $state: string;
3653
+ not?: true | undefined;
3654
+ eq?: unknown;
3655
+ neq?: unknown;
3656
+ gt?: number | undefined;
3657
+ gte?: number | undefined;
3658
+ lt?: number | undefined;
3659
+ lte?: number | undefined;
3660
+ }>>, z.ZodArray<z.ZodPipe<z.ZodObject<{
2847
3661
  not: z.ZodOptional<z.ZodLiteral<true>>;
2848
3662
  eq: z.ZodOptional<z.ZodUnknown>;
2849
3663
  neq: z.ZodOptional<z.ZodUnknown>;
@@ -2870,8 +3684,8 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2870
3684
  gte?: number | undefined;
2871
3685
  lt?: number | undefined;
2872
3686
  lte?: number | undefined;
2873
- }>>>;
2874
- }, z.core.$strict>]>>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
3687
+ }>>>]>>;
3688
+ }, z.core.$strict>]>>, z.ZodLiteral<false>, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodObject<{
2875
3689
  __ref: z.ZodString;
2876
3690
  }, z.core.$strip>]>>, z.ZodTransform<{
2877
3691
  $state: string;
@@ -2964,6 +3778,12 @@ declare function createCanvasConfig(system: AnySystemConfig): ConfigInstance<{
2964
3778
  }: ComputedInput) => string[];
2965
3779
  }, false>, "ref"> & {
2966
3780
  ref<const Path extends PathOf<"component">>(path: Path): ComponentReference<ComponentContractOf<Path>>;
3781
+ slots: typeof listSlots;
3782
+ slot: typeof slotOf;
3783
+ slotHostedBy: typeof slotHostedBy;
3784
+ namedSlots: typeof namedSlots;
3785
+ cell: typeof cellAt;
3786
+ instance: typeof instanceAt;
2967
3787
  }, EntityClass<z.ZodObject<{
2968
3788
  categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
2969
3789
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;