@radicool/throughline 0.22.0 → 0.24.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 (52) hide show
  1. package/README.md +5 -5
  2. package/adapters/codex/prompts/component-builder.md +12 -4
  3. package/adapters/cursor/.cursor/rules/component-builder.mdc +12 -4
  4. package/adapters/generic/skills/component-builder/SKILL.md +12 -4
  5. package/package.json +1 -1
  6. package/references/figma-checks.md +813 -0
  7. package/references/figma-component-standards.md +16 -38
  8. package/references/figma-scripting.md +6 -6
  9. package/references/proof-bundle.md +1 -0
  10. package/references/state-baseline.md +5 -3
  11. package/scripts/README.md +5 -2
  12. package/scripts/build-figma-checks.mjs +111 -0
  13. package/scripts/build-state-baseline.mjs +5 -3
  14. package/scripts/install.mjs +9 -4
  15. package/scripts/lib/component-states.mjs +4 -1
  16. package/scripts/lib/contrast.mjs +5 -2
  17. package/scripts/lib/figma-checks-read.figma.js +174 -0
  18. package/scripts/lib/figma-checks.mjs +385 -0
  19. package/scripts/lib/fixtures/figma-checks/avatar-not-in-table.json +44 -0
  20. package/scripts/lib/fixtures/figma-checks/button-ios-swift-skipped.json +86 -0
  21. package/scripts/lib/fixtures/figma-checks/button-missing-default.json +72 -0
  22. package/scripts/lib/fixtures/figma-checks/button-mui-ring.json +93 -0
  23. package/scripts/lib/fixtures/figma-checks/button-no-focus-variant.json +72 -0
  24. package/scripts/lib/fixtures/figma-checks/button-plain-frames.json +93 -0
  25. package/scripts/lib/fixtures/figma-checks/button-ring-child-not-absolute.json +95 -0
  26. package/scripts/lib/fixtures/figma-checks/button-ring-hidden.json +93 -0
  27. package/scripts/lib/fixtures/figma-checks/button-ring-unbound-colour.json +99 -0
  28. package/scripts/lib/fixtures/figma-checks/button-shadcn-filled.json +93 -0
  29. package/scripts/lib/fixtures/figma-checks/button-sparse.json +135 -0
  30. package/scripts/lib/fixtures/figma-checks/button-spread-zero.json +93 -0
  31. package/scripts/lib/fixtures/figma-checks/button-transparent-ring-child.json +95 -0
  32. package/scripts/lib/fixtures/figma-checks/button-vanilla-inside.json +88 -0
  33. package/scripts/lib/fixtures/figma-checks/button-vanilla-outside.json +88 -0
  34. package/scripts/lib/fixtures/figma-checks/button-wrong-combination.json +93 -0
  35. package/scripts/lib/fixtures/figma-checks/checkbox-checked-axis.real.json +246 -0
  36. package/scripts/lib/fixtures/figma-checks/checkbox-checked-synonym.json +88 -0
  37. package/scripts/lib/fixtures/figma-checks/checkbox-missing-selected.json +80 -0
  38. package/scripts/lib/fixtures/figma-checks/indicator-failed.json +106 -0
  39. package/scripts/lib/fixtures/figma-checks/input-control-layer-missing.json +67 -0
  40. package/scripts/lib/fixtures/figma-checks/input-control-layer-ring-on-wrapper.json +80 -0
  41. package/scripts/lib/fixtures/figma-checks/input-control-layer.json +80 -0
  42. package/scripts/lib/fixtures/figma-checks/input-mui-weight-unbound.json +67 -0
  43. package/scripts/lib/fixtures/figma-checks/input-mui.json +67 -0
  44. package/scripts/lib/fixtures/figma-checks/ring-single-mode.json +112 -0
  45. package/scripts/lib/fixtures/figma-checks/ring-translucent.json +111 -0
  46. package/scripts/lib/fixtures/figma-checks/sample-button.real.json +1498 -0
  47. package/scripts/lib/fixtures/figma-checks/sample-ring-on-muted-raw.json +113 -0
  48. package/scripts/lib/fixtures/figma-checks/sample-ring-passes.json +169 -0
  49. package/scripts/lib/fixtures/figma-checks/surface-missing.json +108 -0
  50. package/scripts/lib/fixtures/figma-checks/surface-single-mode.json +112 -0
  51. package/scripts/lib/fixtures/figma-checks/surface-translucent.json +112 -0
  52. package/scripts/lib/fixtures/figma-checks/zygarden-ring-light-fails.json +113 -0
@@ -0,0 +1,1498 @@
1
+ {
2
+ "covers": "live capture, Throughline Plugin Test Button 10:872 (2026-10-11): 108 variants, 18 focus variants with a 4px DROP_SHADOW ring; read in 25 ms",
3
+ "expect": {
4
+ "name": "Button",
5
+ "matrix": {
6
+ "variant": [
7
+ "default",
8
+ "secondary",
9
+ "outline",
10
+ "ghost",
11
+ "link",
12
+ "destructive"
13
+ ],
14
+ "size": [
15
+ "sm",
16
+ "md",
17
+ "lg"
18
+ ],
19
+ "state": [
20
+ "Default",
21
+ "Hover",
22
+ "Focus",
23
+ "Disabled",
24
+ "Loading",
25
+ "Active"
26
+ ]
27
+ },
28
+ "uiFramework": "shadcn"
29
+ },
30
+ "expected": {
31
+ "structural-read-back": "pass",
32
+ "state-baseline": "pass",
33
+ "focus-indicator": "pass",
34
+ "focus-contrast": "skip"
35
+ },
36
+ "snapshot": {
37
+ "type": "COMPONENT_SET",
38
+ "variantGroupProperties": {
39
+ "variant": {
40
+ "values": [
41
+ "default",
42
+ "secondary",
43
+ "outline",
44
+ "ghost",
45
+ "link",
46
+ "destructive"
47
+ ]
48
+ },
49
+ "size": {
50
+ "values": [
51
+ "sm",
52
+ "md",
53
+ "lg"
54
+ ]
55
+ },
56
+ "state": {
57
+ "values": [
58
+ "Default",
59
+ "Hover",
60
+ "Focus",
61
+ "Disabled",
62
+ "Loading",
63
+ "Active"
64
+ ]
65
+ }
66
+ },
67
+ "children": [
68
+ {
69
+ "type": "COMPONENT",
70
+ "variantProperties": {
71
+ "variant": "default",
72
+ "size": "sm",
73
+ "state": "Default"
74
+ }
75
+ },
76
+ {
77
+ "type": "COMPONENT",
78
+ "variantProperties": {
79
+ "variant": "default",
80
+ "size": "sm",
81
+ "state": "Hover"
82
+ }
83
+ },
84
+ {
85
+ "type": "COMPONENT",
86
+ "variantProperties": {
87
+ "variant": "default",
88
+ "size": "sm",
89
+ "state": "Focus"
90
+ },
91
+ "strokeAlign": "OUTSIDE",
92
+ "strokeVariables": [],
93
+ "strokeWeightBound": false,
94
+ "effects": [
95
+ {
96
+ "type": "DROP_SHADOW",
97
+ "visible": true,
98
+ "spread": 4,
99
+ "colorVariable": "color/focus/ringOnFill"
100
+ }
101
+ ],
102
+ "children": [
103
+ {
104
+ "strokeAlign": "INSIDE",
105
+ "strokeVariables": [],
106
+ "strokeWeightBound": false,
107
+ "layoutPositioning": "AUTO"
108
+ },
109
+ {
110
+ "strokeAlign": "OUTSIDE",
111
+ "strokeVariables": [],
112
+ "strokeWeightBound": false,
113
+ "layoutPositioning": "AUTO"
114
+ },
115
+ {
116
+ "strokeAlign": "INSIDE",
117
+ "strokeVariables": [],
118
+ "strokeWeightBound": false,
119
+ "layoutPositioning": "AUTO"
120
+ }
121
+ ]
122
+ },
123
+ {
124
+ "type": "COMPONENT",
125
+ "variantProperties": {
126
+ "variant": "default",
127
+ "size": "sm",
128
+ "state": "Disabled"
129
+ }
130
+ },
131
+ {
132
+ "type": "COMPONENT",
133
+ "variantProperties": {
134
+ "variant": "default",
135
+ "size": "sm",
136
+ "state": "Loading"
137
+ }
138
+ },
139
+ {
140
+ "type": "COMPONENT",
141
+ "variantProperties": {
142
+ "variant": "default",
143
+ "size": "sm",
144
+ "state": "Active"
145
+ }
146
+ },
147
+ {
148
+ "type": "COMPONENT",
149
+ "variantProperties": {
150
+ "variant": "default",
151
+ "size": "md",
152
+ "state": "Default"
153
+ }
154
+ },
155
+ {
156
+ "type": "COMPONENT",
157
+ "variantProperties": {
158
+ "variant": "default",
159
+ "size": "md",
160
+ "state": "Hover"
161
+ }
162
+ },
163
+ {
164
+ "type": "COMPONENT",
165
+ "variantProperties": {
166
+ "variant": "default",
167
+ "size": "md",
168
+ "state": "Focus"
169
+ },
170
+ "strokeAlign": "OUTSIDE",
171
+ "strokeVariables": [],
172
+ "strokeWeightBound": false,
173
+ "effects": [
174
+ {
175
+ "type": "DROP_SHADOW",
176
+ "visible": true,
177
+ "spread": 4,
178
+ "colorVariable": "color/focus/ringOnFill"
179
+ }
180
+ ],
181
+ "children": [
182
+ {
183
+ "strokeAlign": "INSIDE",
184
+ "strokeVariables": [],
185
+ "strokeWeightBound": false,
186
+ "layoutPositioning": "AUTO"
187
+ },
188
+ {
189
+ "strokeAlign": "OUTSIDE",
190
+ "strokeVariables": [],
191
+ "strokeWeightBound": false,
192
+ "layoutPositioning": "AUTO"
193
+ },
194
+ {
195
+ "strokeAlign": "INSIDE",
196
+ "strokeVariables": [],
197
+ "strokeWeightBound": false,
198
+ "layoutPositioning": "AUTO"
199
+ }
200
+ ]
201
+ },
202
+ {
203
+ "type": "COMPONENT",
204
+ "variantProperties": {
205
+ "variant": "default",
206
+ "size": "md",
207
+ "state": "Disabled"
208
+ }
209
+ },
210
+ {
211
+ "type": "COMPONENT",
212
+ "variantProperties": {
213
+ "variant": "default",
214
+ "size": "md",
215
+ "state": "Loading"
216
+ }
217
+ },
218
+ {
219
+ "type": "COMPONENT",
220
+ "variantProperties": {
221
+ "variant": "default",
222
+ "size": "md",
223
+ "state": "Active"
224
+ }
225
+ },
226
+ {
227
+ "type": "COMPONENT",
228
+ "variantProperties": {
229
+ "variant": "default",
230
+ "size": "lg",
231
+ "state": "Default"
232
+ }
233
+ },
234
+ {
235
+ "type": "COMPONENT",
236
+ "variantProperties": {
237
+ "variant": "default",
238
+ "size": "lg",
239
+ "state": "Hover"
240
+ }
241
+ },
242
+ {
243
+ "type": "COMPONENT",
244
+ "variantProperties": {
245
+ "variant": "default",
246
+ "size": "lg",
247
+ "state": "Focus"
248
+ },
249
+ "strokeAlign": "OUTSIDE",
250
+ "strokeVariables": [],
251
+ "strokeWeightBound": false,
252
+ "effects": [
253
+ {
254
+ "type": "DROP_SHADOW",
255
+ "visible": true,
256
+ "spread": 4,
257
+ "colorVariable": "color/focus/ringOnFill"
258
+ }
259
+ ],
260
+ "children": [
261
+ {
262
+ "strokeAlign": "INSIDE",
263
+ "strokeVariables": [],
264
+ "strokeWeightBound": false,
265
+ "layoutPositioning": "AUTO"
266
+ },
267
+ {
268
+ "strokeAlign": "OUTSIDE",
269
+ "strokeVariables": [],
270
+ "strokeWeightBound": false,
271
+ "layoutPositioning": "AUTO"
272
+ },
273
+ {
274
+ "strokeAlign": "INSIDE",
275
+ "strokeVariables": [],
276
+ "strokeWeightBound": false,
277
+ "layoutPositioning": "AUTO"
278
+ }
279
+ ]
280
+ },
281
+ {
282
+ "type": "COMPONENT",
283
+ "variantProperties": {
284
+ "variant": "default",
285
+ "size": "lg",
286
+ "state": "Disabled"
287
+ }
288
+ },
289
+ {
290
+ "type": "COMPONENT",
291
+ "variantProperties": {
292
+ "variant": "default",
293
+ "size": "lg",
294
+ "state": "Loading"
295
+ }
296
+ },
297
+ {
298
+ "type": "COMPONENT",
299
+ "variantProperties": {
300
+ "variant": "default",
301
+ "size": "lg",
302
+ "state": "Active"
303
+ }
304
+ },
305
+ {
306
+ "type": "COMPONENT",
307
+ "variantProperties": {
308
+ "variant": "secondary",
309
+ "size": "sm",
310
+ "state": "Default"
311
+ }
312
+ },
313
+ {
314
+ "type": "COMPONENT",
315
+ "variantProperties": {
316
+ "variant": "secondary",
317
+ "size": "sm",
318
+ "state": "Hover"
319
+ }
320
+ },
321
+ {
322
+ "type": "COMPONENT",
323
+ "variantProperties": {
324
+ "variant": "secondary",
325
+ "size": "sm",
326
+ "state": "Focus"
327
+ },
328
+ "strokeAlign": "OUTSIDE",
329
+ "strokeVariables": [],
330
+ "strokeWeightBound": false,
331
+ "effects": [
332
+ {
333
+ "type": "DROP_SHADOW",
334
+ "visible": true,
335
+ "spread": 4,
336
+ "colorVariable": "color/focus/ring"
337
+ }
338
+ ],
339
+ "children": [
340
+ {
341
+ "strokeAlign": "INSIDE",
342
+ "strokeVariables": [],
343
+ "strokeWeightBound": false,
344
+ "layoutPositioning": "AUTO"
345
+ },
346
+ {
347
+ "strokeAlign": "OUTSIDE",
348
+ "strokeVariables": [],
349
+ "strokeWeightBound": false,
350
+ "layoutPositioning": "AUTO"
351
+ },
352
+ {
353
+ "strokeAlign": "INSIDE",
354
+ "strokeVariables": [],
355
+ "strokeWeightBound": false,
356
+ "layoutPositioning": "AUTO"
357
+ }
358
+ ]
359
+ },
360
+ {
361
+ "type": "COMPONENT",
362
+ "variantProperties": {
363
+ "variant": "secondary",
364
+ "size": "sm",
365
+ "state": "Disabled"
366
+ }
367
+ },
368
+ {
369
+ "type": "COMPONENT",
370
+ "variantProperties": {
371
+ "variant": "secondary",
372
+ "size": "sm",
373
+ "state": "Loading"
374
+ }
375
+ },
376
+ {
377
+ "type": "COMPONENT",
378
+ "variantProperties": {
379
+ "variant": "secondary",
380
+ "size": "sm",
381
+ "state": "Active"
382
+ }
383
+ },
384
+ {
385
+ "type": "COMPONENT",
386
+ "variantProperties": {
387
+ "variant": "secondary",
388
+ "size": "md",
389
+ "state": "Default"
390
+ }
391
+ },
392
+ {
393
+ "type": "COMPONENT",
394
+ "variantProperties": {
395
+ "variant": "secondary",
396
+ "size": "md",
397
+ "state": "Hover"
398
+ }
399
+ },
400
+ {
401
+ "type": "COMPONENT",
402
+ "variantProperties": {
403
+ "variant": "secondary",
404
+ "size": "md",
405
+ "state": "Focus"
406
+ },
407
+ "strokeAlign": "OUTSIDE",
408
+ "strokeVariables": [],
409
+ "strokeWeightBound": false,
410
+ "effects": [
411
+ {
412
+ "type": "DROP_SHADOW",
413
+ "visible": true,
414
+ "spread": 4,
415
+ "colorVariable": "color/focus/ring"
416
+ }
417
+ ],
418
+ "children": [
419
+ {
420
+ "strokeAlign": "INSIDE",
421
+ "strokeVariables": [],
422
+ "strokeWeightBound": false,
423
+ "layoutPositioning": "AUTO"
424
+ },
425
+ {
426
+ "strokeAlign": "OUTSIDE",
427
+ "strokeVariables": [],
428
+ "strokeWeightBound": false,
429
+ "layoutPositioning": "AUTO"
430
+ },
431
+ {
432
+ "strokeAlign": "INSIDE",
433
+ "strokeVariables": [],
434
+ "strokeWeightBound": false,
435
+ "layoutPositioning": "AUTO"
436
+ }
437
+ ]
438
+ },
439
+ {
440
+ "type": "COMPONENT",
441
+ "variantProperties": {
442
+ "variant": "secondary",
443
+ "size": "md",
444
+ "state": "Disabled"
445
+ }
446
+ },
447
+ {
448
+ "type": "COMPONENT",
449
+ "variantProperties": {
450
+ "variant": "secondary",
451
+ "size": "md",
452
+ "state": "Loading"
453
+ }
454
+ },
455
+ {
456
+ "type": "COMPONENT",
457
+ "variantProperties": {
458
+ "variant": "secondary",
459
+ "size": "md",
460
+ "state": "Active"
461
+ }
462
+ },
463
+ {
464
+ "type": "COMPONENT",
465
+ "variantProperties": {
466
+ "variant": "secondary",
467
+ "size": "lg",
468
+ "state": "Default"
469
+ }
470
+ },
471
+ {
472
+ "type": "COMPONENT",
473
+ "variantProperties": {
474
+ "variant": "secondary",
475
+ "size": "lg",
476
+ "state": "Hover"
477
+ }
478
+ },
479
+ {
480
+ "type": "COMPONENT",
481
+ "variantProperties": {
482
+ "variant": "secondary",
483
+ "size": "lg",
484
+ "state": "Focus"
485
+ },
486
+ "strokeAlign": "OUTSIDE",
487
+ "strokeVariables": [],
488
+ "strokeWeightBound": false,
489
+ "effects": [
490
+ {
491
+ "type": "DROP_SHADOW",
492
+ "visible": true,
493
+ "spread": 4,
494
+ "colorVariable": "color/focus/ring"
495
+ }
496
+ ],
497
+ "children": [
498
+ {
499
+ "strokeAlign": "INSIDE",
500
+ "strokeVariables": [],
501
+ "strokeWeightBound": false,
502
+ "layoutPositioning": "AUTO"
503
+ },
504
+ {
505
+ "strokeAlign": "OUTSIDE",
506
+ "strokeVariables": [],
507
+ "strokeWeightBound": false,
508
+ "layoutPositioning": "AUTO"
509
+ },
510
+ {
511
+ "strokeAlign": "INSIDE",
512
+ "strokeVariables": [],
513
+ "strokeWeightBound": false,
514
+ "layoutPositioning": "AUTO"
515
+ }
516
+ ]
517
+ },
518
+ {
519
+ "type": "COMPONENT",
520
+ "variantProperties": {
521
+ "variant": "secondary",
522
+ "size": "lg",
523
+ "state": "Disabled"
524
+ }
525
+ },
526
+ {
527
+ "type": "COMPONENT",
528
+ "variantProperties": {
529
+ "variant": "secondary",
530
+ "size": "lg",
531
+ "state": "Loading"
532
+ }
533
+ },
534
+ {
535
+ "type": "COMPONENT",
536
+ "variantProperties": {
537
+ "variant": "secondary",
538
+ "size": "lg",
539
+ "state": "Active"
540
+ }
541
+ },
542
+ {
543
+ "type": "COMPONENT",
544
+ "variantProperties": {
545
+ "variant": "outline",
546
+ "size": "sm",
547
+ "state": "Default"
548
+ }
549
+ },
550
+ {
551
+ "type": "COMPONENT",
552
+ "variantProperties": {
553
+ "variant": "outline",
554
+ "size": "sm",
555
+ "state": "Hover"
556
+ }
557
+ },
558
+ {
559
+ "type": "COMPONENT",
560
+ "variantProperties": {
561
+ "variant": "outline",
562
+ "size": "sm",
563
+ "state": "Focus"
564
+ },
565
+ "strokeAlign": "OUTSIDE",
566
+ "strokeVariables": [
567
+ "color/border/default"
568
+ ],
569
+ "strokeWeightBound": false,
570
+ "effects": [
571
+ {
572
+ "type": "DROP_SHADOW",
573
+ "visible": true,
574
+ "spread": 4,
575
+ "colorVariable": "color/focus/ring"
576
+ }
577
+ ],
578
+ "children": [
579
+ {
580
+ "strokeAlign": "INSIDE",
581
+ "strokeVariables": [],
582
+ "strokeWeightBound": false,
583
+ "layoutPositioning": "AUTO"
584
+ },
585
+ {
586
+ "strokeAlign": "OUTSIDE",
587
+ "strokeVariables": [],
588
+ "strokeWeightBound": false,
589
+ "layoutPositioning": "AUTO"
590
+ },
591
+ {
592
+ "strokeAlign": "INSIDE",
593
+ "strokeVariables": [],
594
+ "strokeWeightBound": false,
595
+ "layoutPositioning": "AUTO"
596
+ }
597
+ ]
598
+ },
599
+ {
600
+ "type": "COMPONENT",
601
+ "variantProperties": {
602
+ "variant": "outline",
603
+ "size": "sm",
604
+ "state": "Disabled"
605
+ }
606
+ },
607
+ {
608
+ "type": "COMPONENT",
609
+ "variantProperties": {
610
+ "variant": "outline",
611
+ "size": "sm",
612
+ "state": "Loading"
613
+ }
614
+ },
615
+ {
616
+ "type": "COMPONENT",
617
+ "variantProperties": {
618
+ "variant": "outline",
619
+ "size": "sm",
620
+ "state": "Active"
621
+ }
622
+ },
623
+ {
624
+ "type": "COMPONENT",
625
+ "variantProperties": {
626
+ "variant": "outline",
627
+ "size": "md",
628
+ "state": "Default"
629
+ }
630
+ },
631
+ {
632
+ "type": "COMPONENT",
633
+ "variantProperties": {
634
+ "variant": "outline",
635
+ "size": "md",
636
+ "state": "Hover"
637
+ }
638
+ },
639
+ {
640
+ "type": "COMPONENT",
641
+ "variantProperties": {
642
+ "variant": "outline",
643
+ "size": "md",
644
+ "state": "Focus"
645
+ },
646
+ "strokeAlign": "OUTSIDE",
647
+ "strokeVariables": [
648
+ "color/border/default"
649
+ ],
650
+ "strokeWeightBound": false,
651
+ "effects": [
652
+ {
653
+ "type": "DROP_SHADOW",
654
+ "visible": true,
655
+ "spread": 4,
656
+ "colorVariable": "color/focus/ring"
657
+ }
658
+ ],
659
+ "children": [
660
+ {
661
+ "strokeAlign": "INSIDE",
662
+ "strokeVariables": [],
663
+ "strokeWeightBound": false,
664
+ "layoutPositioning": "AUTO"
665
+ },
666
+ {
667
+ "strokeAlign": "OUTSIDE",
668
+ "strokeVariables": [],
669
+ "strokeWeightBound": false,
670
+ "layoutPositioning": "AUTO"
671
+ },
672
+ {
673
+ "strokeAlign": "INSIDE",
674
+ "strokeVariables": [],
675
+ "strokeWeightBound": false,
676
+ "layoutPositioning": "AUTO"
677
+ }
678
+ ]
679
+ },
680
+ {
681
+ "type": "COMPONENT",
682
+ "variantProperties": {
683
+ "variant": "outline",
684
+ "size": "md",
685
+ "state": "Disabled"
686
+ }
687
+ },
688
+ {
689
+ "type": "COMPONENT",
690
+ "variantProperties": {
691
+ "variant": "outline",
692
+ "size": "md",
693
+ "state": "Loading"
694
+ }
695
+ },
696
+ {
697
+ "type": "COMPONENT",
698
+ "variantProperties": {
699
+ "variant": "outline",
700
+ "size": "md",
701
+ "state": "Active"
702
+ }
703
+ },
704
+ {
705
+ "type": "COMPONENT",
706
+ "variantProperties": {
707
+ "variant": "outline",
708
+ "size": "lg",
709
+ "state": "Default"
710
+ }
711
+ },
712
+ {
713
+ "type": "COMPONENT",
714
+ "variantProperties": {
715
+ "variant": "outline",
716
+ "size": "lg",
717
+ "state": "Hover"
718
+ }
719
+ },
720
+ {
721
+ "type": "COMPONENT",
722
+ "variantProperties": {
723
+ "variant": "outline",
724
+ "size": "lg",
725
+ "state": "Focus"
726
+ },
727
+ "strokeAlign": "OUTSIDE",
728
+ "strokeVariables": [
729
+ "color/border/default"
730
+ ],
731
+ "strokeWeightBound": false,
732
+ "effects": [
733
+ {
734
+ "type": "DROP_SHADOW",
735
+ "visible": true,
736
+ "spread": 4,
737
+ "colorVariable": "color/focus/ring"
738
+ }
739
+ ],
740
+ "children": [
741
+ {
742
+ "strokeAlign": "INSIDE",
743
+ "strokeVariables": [],
744
+ "strokeWeightBound": false,
745
+ "layoutPositioning": "AUTO"
746
+ },
747
+ {
748
+ "strokeAlign": "OUTSIDE",
749
+ "strokeVariables": [],
750
+ "strokeWeightBound": false,
751
+ "layoutPositioning": "AUTO"
752
+ },
753
+ {
754
+ "strokeAlign": "INSIDE",
755
+ "strokeVariables": [],
756
+ "strokeWeightBound": false,
757
+ "layoutPositioning": "AUTO"
758
+ }
759
+ ]
760
+ },
761
+ {
762
+ "type": "COMPONENT",
763
+ "variantProperties": {
764
+ "variant": "outline",
765
+ "size": "lg",
766
+ "state": "Disabled"
767
+ }
768
+ },
769
+ {
770
+ "type": "COMPONENT",
771
+ "variantProperties": {
772
+ "variant": "outline",
773
+ "size": "lg",
774
+ "state": "Loading"
775
+ }
776
+ },
777
+ {
778
+ "type": "COMPONENT",
779
+ "variantProperties": {
780
+ "variant": "outline",
781
+ "size": "lg",
782
+ "state": "Active"
783
+ }
784
+ },
785
+ {
786
+ "type": "COMPONENT",
787
+ "variantProperties": {
788
+ "variant": "ghost",
789
+ "size": "sm",
790
+ "state": "Default"
791
+ }
792
+ },
793
+ {
794
+ "type": "COMPONENT",
795
+ "variantProperties": {
796
+ "variant": "ghost",
797
+ "size": "sm",
798
+ "state": "Hover"
799
+ }
800
+ },
801
+ {
802
+ "type": "COMPONENT",
803
+ "variantProperties": {
804
+ "variant": "ghost",
805
+ "size": "sm",
806
+ "state": "Focus"
807
+ },
808
+ "strokeAlign": "OUTSIDE",
809
+ "strokeVariables": [],
810
+ "strokeWeightBound": false,
811
+ "effects": [
812
+ {
813
+ "type": "DROP_SHADOW",
814
+ "visible": true,
815
+ "spread": 4,
816
+ "colorVariable": "color/focus/ring"
817
+ }
818
+ ],
819
+ "children": [
820
+ {
821
+ "strokeAlign": "INSIDE",
822
+ "strokeVariables": [],
823
+ "strokeWeightBound": false,
824
+ "layoutPositioning": "AUTO"
825
+ },
826
+ {
827
+ "strokeAlign": "OUTSIDE",
828
+ "strokeVariables": [],
829
+ "strokeWeightBound": false,
830
+ "layoutPositioning": "AUTO"
831
+ },
832
+ {
833
+ "strokeAlign": "INSIDE",
834
+ "strokeVariables": [],
835
+ "strokeWeightBound": false,
836
+ "layoutPositioning": "AUTO"
837
+ }
838
+ ]
839
+ },
840
+ {
841
+ "type": "COMPONENT",
842
+ "variantProperties": {
843
+ "variant": "ghost",
844
+ "size": "sm",
845
+ "state": "Disabled"
846
+ }
847
+ },
848
+ {
849
+ "type": "COMPONENT",
850
+ "variantProperties": {
851
+ "variant": "ghost",
852
+ "size": "sm",
853
+ "state": "Loading"
854
+ }
855
+ },
856
+ {
857
+ "type": "COMPONENT",
858
+ "variantProperties": {
859
+ "variant": "ghost",
860
+ "size": "sm",
861
+ "state": "Active"
862
+ }
863
+ },
864
+ {
865
+ "type": "COMPONENT",
866
+ "variantProperties": {
867
+ "variant": "ghost",
868
+ "size": "md",
869
+ "state": "Default"
870
+ }
871
+ },
872
+ {
873
+ "type": "COMPONENT",
874
+ "variantProperties": {
875
+ "variant": "ghost",
876
+ "size": "md",
877
+ "state": "Hover"
878
+ }
879
+ },
880
+ {
881
+ "type": "COMPONENT",
882
+ "variantProperties": {
883
+ "variant": "ghost",
884
+ "size": "md",
885
+ "state": "Focus"
886
+ },
887
+ "strokeAlign": "OUTSIDE",
888
+ "strokeVariables": [],
889
+ "strokeWeightBound": false,
890
+ "effects": [
891
+ {
892
+ "type": "DROP_SHADOW",
893
+ "visible": true,
894
+ "spread": 4,
895
+ "colorVariable": "color/focus/ring"
896
+ }
897
+ ],
898
+ "children": [
899
+ {
900
+ "strokeAlign": "INSIDE",
901
+ "strokeVariables": [],
902
+ "strokeWeightBound": false,
903
+ "layoutPositioning": "AUTO"
904
+ },
905
+ {
906
+ "strokeAlign": "OUTSIDE",
907
+ "strokeVariables": [],
908
+ "strokeWeightBound": false,
909
+ "layoutPositioning": "AUTO"
910
+ },
911
+ {
912
+ "strokeAlign": "INSIDE",
913
+ "strokeVariables": [],
914
+ "strokeWeightBound": false,
915
+ "layoutPositioning": "AUTO"
916
+ }
917
+ ]
918
+ },
919
+ {
920
+ "type": "COMPONENT",
921
+ "variantProperties": {
922
+ "variant": "ghost",
923
+ "size": "md",
924
+ "state": "Disabled"
925
+ }
926
+ },
927
+ {
928
+ "type": "COMPONENT",
929
+ "variantProperties": {
930
+ "variant": "ghost",
931
+ "size": "md",
932
+ "state": "Loading"
933
+ }
934
+ },
935
+ {
936
+ "type": "COMPONENT",
937
+ "variantProperties": {
938
+ "variant": "ghost",
939
+ "size": "md",
940
+ "state": "Active"
941
+ }
942
+ },
943
+ {
944
+ "type": "COMPONENT",
945
+ "variantProperties": {
946
+ "variant": "ghost",
947
+ "size": "lg",
948
+ "state": "Default"
949
+ }
950
+ },
951
+ {
952
+ "type": "COMPONENT",
953
+ "variantProperties": {
954
+ "variant": "ghost",
955
+ "size": "lg",
956
+ "state": "Hover"
957
+ }
958
+ },
959
+ {
960
+ "type": "COMPONENT",
961
+ "variantProperties": {
962
+ "variant": "ghost",
963
+ "size": "lg",
964
+ "state": "Focus"
965
+ },
966
+ "strokeAlign": "OUTSIDE",
967
+ "strokeVariables": [],
968
+ "strokeWeightBound": false,
969
+ "effects": [
970
+ {
971
+ "type": "DROP_SHADOW",
972
+ "visible": true,
973
+ "spread": 4,
974
+ "colorVariable": "color/focus/ring"
975
+ }
976
+ ],
977
+ "children": [
978
+ {
979
+ "strokeAlign": "INSIDE",
980
+ "strokeVariables": [],
981
+ "strokeWeightBound": false,
982
+ "layoutPositioning": "AUTO"
983
+ },
984
+ {
985
+ "strokeAlign": "OUTSIDE",
986
+ "strokeVariables": [],
987
+ "strokeWeightBound": false,
988
+ "layoutPositioning": "AUTO"
989
+ },
990
+ {
991
+ "strokeAlign": "INSIDE",
992
+ "strokeVariables": [],
993
+ "strokeWeightBound": false,
994
+ "layoutPositioning": "AUTO"
995
+ }
996
+ ]
997
+ },
998
+ {
999
+ "type": "COMPONENT",
1000
+ "variantProperties": {
1001
+ "variant": "ghost",
1002
+ "size": "lg",
1003
+ "state": "Disabled"
1004
+ }
1005
+ },
1006
+ {
1007
+ "type": "COMPONENT",
1008
+ "variantProperties": {
1009
+ "variant": "ghost",
1010
+ "size": "lg",
1011
+ "state": "Loading"
1012
+ }
1013
+ },
1014
+ {
1015
+ "type": "COMPONENT",
1016
+ "variantProperties": {
1017
+ "variant": "ghost",
1018
+ "size": "lg",
1019
+ "state": "Active"
1020
+ }
1021
+ },
1022
+ {
1023
+ "type": "COMPONENT",
1024
+ "variantProperties": {
1025
+ "variant": "link",
1026
+ "size": "sm",
1027
+ "state": "Default"
1028
+ }
1029
+ },
1030
+ {
1031
+ "type": "COMPONENT",
1032
+ "variantProperties": {
1033
+ "variant": "link",
1034
+ "size": "sm",
1035
+ "state": "Hover"
1036
+ }
1037
+ },
1038
+ {
1039
+ "type": "COMPONENT",
1040
+ "variantProperties": {
1041
+ "variant": "link",
1042
+ "size": "sm",
1043
+ "state": "Focus"
1044
+ },
1045
+ "strokeAlign": "OUTSIDE",
1046
+ "strokeVariables": [],
1047
+ "strokeWeightBound": false,
1048
+ "effects": [
1049
+ {
1050
+ "type": "DROP_SHADOW",
1051
+ "visible": true,
1052
+ "spread": 4,
1053
+ "colorVariable": "color/focus/ring"
1054
+ }
1055
+ ],
1056
+ "children": [
1057
+ {
1058
+ "strokeAlign": "INSIDE",
1059
+ "strokeVariables": [],
1060
+ "strokeWeightBound": false,
1061
+ "layoutPositioning": "AUTO"
1062
+ },
1063
+ {
1064
+ "strokeAlign": "OUTSIDE",
1065
+ "strokeVariables": [],
1066
+ "strokeWeightBound": false,
1067
+ "layoutPositioning": "AUTO"
1068
+ },
1069
+ {
1070
+ "strokeAlign": "INSIDE",
1071
+ "strokeVariables": [],
1072
+ "strokeWeightBound": false,
1073
+ "layoutPositioning": "AUTO"
1074
+ }
1075
+ ]
1076
+ },
1077
+ {
1078
+ "type": "COMPONENT",
1079
+ "variantProperties": {
1080
+ "variant": "link",
1081
+ "size": "sm",
1082
+ "state": "Disabled"
1083
+ }
1084
+ },
1085
+ {
1086
+ "type": "COMPONENT",
1087
+ "variantProperties": {
1088
+ "variant": "link",
1089
+ "size": "sm",
1090
+ "state": "Loading"
1091
+ }
1092
+ },
1093
+ {
1094
+ "type": "COMPONENT",
1095
+ "variantProperties": {
1096
+ "variant": "link",
1097
+ "size": "sm",
1098
+ "state": "Active"
1099
+ }
1100
+ },
1101
+ {
1102
+ "type": "COMPONENT",
1103
+ "variantProperties": {
1104
+ "variant": "link",
1105
+ "size": "md",
1106
+ "state": "Default"
1107
+ }
1108
+ },
1109
+ {
1110
+ "type": "COMPONENT",
1111
+ "variantProperties": {
1112
+ "variant": "link",
1113
+ "size": "md",
1114
+ "state": "Hover"
1115
+ }
1116
+ },
1117
+ {
1118
+ "type": "COMPONENT",
1119
+ "variantProperties": {
1120
+ "variant": "link",
1121
+ "size": "md",
1122
+ "state": "Focus"
1123
+ },
1124
+ "strokeAlign": "OUTSIDE",
1125
+ "strokeVariables": [],
1126
+ "strokeWeightBound": false,
1127
+ "effects": [
1128
+ {
1129
+ "type": "DROP_SHADOW",
1130
+ "visible": true,
1131
+ "spread": 4,
1132
+ "colorVariable": "color/focus/ring"
1133
+ }
1134
+ ],
1135
+ "children": [
1136
+ {
1137
+ "strokeAlign": "INSIDE",
1138
+ "strokeVariables": [],
1139
+ "strokeWeightBound": false,
1140
+ "layoutPositioning": "AUTO"
1141
+ },
1142
+ {
1143
+ "strokeAlign": "OUTSIDE",
1144
+ "strokeVariables": [],
1145
+ "strokeWeightBound": false,
1146
+ "layoutPositioning": "AUTO"
1147
+ },
1148
+ {
1149
+ "strokeAlign": "INSIDE",
1150
+ "strokeVariables": [],
1151
+ "strokeWeightBound": false,
1152
+ "layoutPositioning": "AUTO"
1153
+ }
1154
+ ]
1155
+ },
1156
+ {
1157
+ "type": "COMPONENT",
1158
+ "variantProperties": {
1159
+ "variant": "link",
1160
+ "size": "md",
1161
+ "state": "Disabled"
1162
+ }
1163
+ },
1164
+ {
1165
+ "type": "COMPONENT",
1166
+ "variantProperties": {
1167
+ "variant": "link",
1168
+ "size": "md",
1169
+ "state": "Loading"
1170
+ }
1171
+ },
1172
+ {
1173
+ "type": "COMPONENT",
1174
+ "variantProperties": {
1175
+ "variant": "link",
1176
+ "size": "md",
1177
+ "state": "Active"
1178
+ }
1179
+ },
1180
+ {
1181
+ "type": "COMPONENT",
1182
+ "variantProperties": {
1183
+ "variant": "link",
1184
+ "size": "lg",
1185
+ "state": "Default"
1186
+ }
1187
+ },
1188
+ {
1189
+ "type": "COMPONENT",
1190
+ "variantProperties": {
1191
+ "variant": "link",
1192
+ "size": "lg",
1193
+ "state": "Hover"
1194
+ }
1195
+ },
1196
+ {
1197
+ "type": "COMPONENT",
1198
+ "variantProperties": {
1199
+ "variant": "link",
1200
+ "size": "lg",
1201
+ "state": "Focus"
1202
+ },
1203
+ "strokeAlign": "OUTSIDE",
1204
+ "strokeVariables": [],
1205
+ "strokeWeightBound": false,
1206
+ "effects": [
1207
+ {
1208
+ "type": "DROP_SHADOW",
1209
+ "visible": true,
1210
+ "spread": 4,
1211
+ "colorVariable": "color/focus/ring"
1212
+ }
1213
+ ],
1214
+ "children": [
1215
+ {
1216
+ "strokeAlign": "INSIDE",
1217
+ "strokeVariables": [],
1218
+ "strokeWeightBound": false,
1219
+ "layoutPositioning": "AUTO"
1220
+ },
1221
+ {
1222
+ "strokeAlign": "OUTSIDE",
1223
+ "strokeVariables": [],
1224
+ "strokeWeightBound": false,
1225
+ "layoutPositioning": "AUTO"
1226
+ },
1227
+ {
1228
+ "strokeAlign": "INSIDE",
1229
+ "strokeVariables": [],
1230
+ "strokeWeightBound": false,
1231
+ "layoutPositioning": "AUTO"
1232
+ }
1233
+ ]
1234
+ },
1235
+ {
1236
+ "type": "COMPONENT",
1237
+ "variantProperties": {
1238
+ "variant": "link",
1239
+ "size": "lg",
1240
+ "state": "Disabled"
1241
+ }
1242
+ },
1243
+ {
1244
+ "type": "COMPONENT",
1245
+ "variantProperties": {
1246
+ "variant": "link",
1247
+ "size": "lg",
1248
+ "state": "Loading"
1249
+ }
1250
+ },
1251
+ {
1252
+ "type": "COMPONENT",
1253
+ "variantProperties": {
1254
+ "variant": "link",
1255
+ "size": "lg",
1256
+ "state": "Active"
1257
+ }
1258
+ },
1259
+ {
1260
+ "type": "COMPONENT",
1261
+ "variantProperties": {
1262
+ "variant": "destructive",
1263
+ "size": "sm",
1264
+ "state": "Default"
1265
+ }
1266
+ },
1267
+ {
1268
+ "type": "COMPONENT",
1269
+ "variantProperties": {
1270
+ "variant": "destructive",
1271
+ "size": "sm",
1272
+ "state": "Hover"
1273
+ }
1274
+ },
1275
+ {
1276
+ "type": "COMPONENT",
1277
+ "variantProperties": {
1278
+ "variant": "destructive",
1279
+ "size": "sm",
1280
+ "state": "Focus"
1281
+ },
1282
+ "strokeAlign": "OUTSIDE",
1283
+ "strokeVariables": [],
1284
+ "strokeWeightBound": false,
1285
+ "effects": [
1286
+ {
1287
+ "type": "DROP_SHADOW",
1288
+ "visible": true,
1289
+ "spread": 4,
1290
+ "colorVariable": "color/focus/ringOnFill"
1291
+ }
1292
+ ],
1293
+ "children": [
1294
+ {
1295
+ "strokeAlign": "INSIDE",
1296
+ "strokeVariables": [],
1297
+ "strokeWeightBound": false,
1298
+ "layoutPositioning": "AUTO"
1299
+ },
1300
+ {
1301
+ "strokeAlign": "OUTSIDE",
1302
+ "strokeVariables": [],
1303
+ "strokeWeightBound": false,
1304
+ "layoutPositioning": "AUTO"
1305
+ },
1306
+ {
1307
+ "strokeAlign": "INSIDE",
1308
+ "strokeVariables": [],
1309
+ "strokeWeightBound": false,
1310
+ "layoutPositioning": "AUTO"
1311
+ }
1312
+ ]
1313
+ },
1314
+ {
1315
+ "type": "COMPONENT",
1316
+ "variantProperties": {
1317
+ "variant": "destructive",
1318
+ "size": "sm",
1319
+ "state": "Disabled"
1320
+ }
1321
+ },
1322
+ {
1323
+ "type": "COMPONENT",
1324
+ "variantProperties": {
1325
+ "variant": "destructive",
1326
+ "size": "sm",
1327
+ "state": "Loading"
1328
+ }
1329
+ },
1330
+ {
1331
+ "type": "COMPONENT",
1332
+ "variantProperties": {
1333
+ "variant": "destructive",
1334
+ "size": "sm",
1335
+ "state": "Active"
1336
+ }
1337
+ },
1338
+ {
1339
+ "type": "COMPONENT",
1340
+ "variantProperties": {
1341
+ "variant": "destructive",
1342
+ "size": "md",
1343
+ "state": "Default"
1344
+ }
1345
+ },
1346
+ {
1347
+ "type": "COMPONENT",
1348
+ "variantProperties": {
1349
+ "variant": "destructive",
1350
+ "size": "md",
1351
+ "state": "Hover"
1352
+ }
1353
+ },
1354
+ {
1355
+ "type": "COMPONENT",
1356
+ "variantProperties": {
1357
+ "variant": "destructive",
1358
+ "size": "md",
1359
+ "state": "Focus"
1360
+ },
1361
+ "strokeAlign": "OUTSIDE",
1362
+ "strokeVariables": [],
1363
+ "strokeWeightBound": false,
1364
+ "effects": [
1365
+ {
1366
+ "type": "DROP_SHADOW",
1367
+ "visible": true,
1368
+ "spread": 4,
1369
+ "colorVariable": "color/focus/ringOnFill"
1370
+ }
1371
+ ],
1372
+ "children": [
1373
+ {
1374
+ "strokeAlign": "INSIDE",
1375
+ "strokeVariables": [],
1376
+ "strokeWeightBound": false,
1377
+ "layoutPositioning": "AUTO"
1378
+ },
1379
+ {
1380
+ "strokeAlign": "OUTSIDE",
1381
+ "strokeVariables": [],
1382
+ "strokeWeightBound": false,
1383
+ "layoutPositioning": "AUTO"
1384
+ },
1385
+ {
1386
+ "strokeAlign": "INSIDE",
1387
+ "strokeVariables": [],
1388
+ "strokeWeightBound": false,
1389
+ "layoutPositioning": "AUTO"
1390
+ }
1391
+ ]
1392
+ },
1393
+ {
1394
+ "type": "COMPONENT",
1395
+ "variantProperties": {
1396
+ "variant": "destructive",
1397
+ "size": "md",
1398
+ "state": "Disabled"
1399
+ }
1400
+ },
1401
+ {
1402
+ "type": "COMPONENT",
1403
+ "variantProperties": {
1404
+ "variant": "destructive",
1405
+ "size": "md",
1406
+ "state": "Loading"
1407
+ }
1408
+ },
1409
+ {
1410
+ "type": "COMPONENT",
1411
+ "variantProperties": {
1412
+ "variant": "destructive",
1413
+ "size": "md",
1414
+ "state": "Active"
1415
+ }
1416
+ },
1417
+ {
1418
+ "type": "COMPONENT",
1419
+ "variantProperties": {
1420
+ "variant": "destructive",
1421
+ "size": "lg",
1422
+ "state": "Default"
1423
+ }
1424
+ },
1425
+ {
1426
+ "type": "COMPONENT",
1427
+ "variantProperties": {
1428
+ "variant": "destructive",
1429
+ "size": "lg",
1430
+ "state": "Hover"
1431
+ }
1432
+ },
1433
+ {
1434
+ "type": "COMPONENT",
1435
+ "variantProperties": {
1436
+ "variant": "destructive",
1437
+ "size": "lg",
1438
+ "state": "Focus"
1439
+ },
1440
+ "strokeAlign": "OUTSIDE",
1441
+ "strokeVariables": [],
1442
+ "strokeWeightBound": false,
1443
+ "effects": [
1444
+ {
1445
+ "type": "DROP_SHADOW",
1446
+ "visible": true,
1447
+ "spread": 4,
1448
+ "colorVariable": "color/focus/ringOnFill"
1449
+ }
1450
+ ],
1451
+ "children": [
1452
+ {
1453
+ "strokeAlign": "INSIDE",
1454
+ "strokeVariables": [],
1455
+ "strokeWeightBound": false,
1456
+ "layoutPositioning": "AUTO"
1457
+ },
1458
+ {
1459
+ "strokeAlign": "OUTSIDE",
1460
+ "strokeVariables": [],
1461
+ "strokeWeightBound": false,
1462
+ "layoutPositioning": "AUTO"
1463
+ },
1464
+ {
1465
+ "strokeAlign": "INSIDE",
1466
+ "strokeVariables": [],
1467
+ "strokeWeightBound": false,
1468
+ "layoutPositioning": "AUTO"
1469
+ }
1470
+ ]
1471
+ },
1472
+ {
1473
+ "type": "COMPONENT",
1474
+ "variantProperties": {
1475
+ "variant": "destructive",
1476
+ "size": "lg",
1477
+ "state": "Disabled"
1478
+ }
1479
+ },
1480
+ {
1481
+ "type": "COMPONENT",
1482
+ "variantProperties": {
1483
+ "variant": "destructive",
1484
+ "size": "lg",
1485
+ "state": "Loading"
1486
+ }
1487
+ },
1488
+ {
1489
+ "type": "COMPONENT",
1490
+ "variantProperties": {
1491
+ "variant": "destructive",
1492
+ "size": "lg",
1493
+ "state": "Active"
1494
+ }
1495
+ }
1496
+ ]
1497
+ }
1498
+ }