@aviala-design/spiral 0.0.2 → 0.2.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.
@@ -0,0 +1,1754 @@
1
+ {
2
+ "Button": {
3
+ "displayName": "Button",
4
+ "description": "",
5
+ "props": [
6
+ {
7
+ "name": "allRound",
8
+ "type": "boolean",
9
+ "defaultValue": "false",
10
+ "required": false,
11
+ "description": "Figma `All-Round`"
12
+ },
13
+ {
14
+ "name": "mode",
15
+ "type": "enum",
16
+ "required": false,
17
+ "description": "Figma `Mode` — preferred over legacy `variant`."
18
+ },
19
+ {
20
+ "name": "size",
21
+ "type": "enum",
22
+ "required": false,
23
+ "description": "Figma `Size` — preferred over legacy shadcn sizes."
24
+ },
25
+ {
26
+ "name": "iconOnly",
27
+ "type": "boolean",
28
+ "required": false,
29
+ "description": "Figma `IconOnly`"
30
+ },
31
+ {
32
+ "name": "variant",
33
+ "type": "enum",
34
+ "required": false,
35
+ "description": "@deprecated Use `mode` instead."
36
+ },
37
+ {
38
+ "name": "loading",
39
+ "type": "boolean",
40
+ "defaultValue": "false",
41
+ "required": false,
42
+ "description": ""
43
+ },
44
+ {
45
+ "name": "icon",
46
+ "type": "ReactNode",
47
+ "required": false,
48
+ "description": "@deprecated Use `leftIcon`."
49
+ },
50
+ {
51
+ "name": "leftIcon",
52
+ "type": "ReactNode",
53
+ "required": false,
54
+ "description": ""
55
+ },
56
+ {
57
+ "name": "rightIcon",
58
+ "type": "ReactNode",
59
+ "required": false,
60
+ "description": ""
61
+ },
62
+ {
63
+ "name": "asChild",
64
+ "type": "boolean",
65
+ "defaultValue": "false",
66
+ "required": false,
67
+ "description": ""
68
+ }
69
+ ]
70
+ },
71
+ "Input": {
72
+ "displayName": "Input",
73
+ "description": "",
74
+ "props": [
75
+ {
76
+ "name": "fullWidth",
77
+ "type": "boolean",
78
+ "defaultValue": "true",
79
+ "required": false,
80
+ "description": "When false, input sizes to content (e.g. ColorPicker panel row)"
81
+ },
82
+ {
83
+ "name": "size",
84
+ "type": "enum",
85
+ "defaultValue": "regular",
86
+ "required": false,
87
+ "description": "Figma `Size`"
88
+ },
89
+ {
90
+ "name": "allRound",
91
+ "type": "boolean",
92
+ "defaultValue": "false",
93
+ "required": false,
94
+ "description": "Figma `All-Round`"
95
+ },
96
+ {
97
+ "name": "leftIcon",
98
+ "type": "ReactNode",
99
+ "required": false,
100
+ "description": ""
101
+ },
102
+ {
103
+ "name": "rightIcon",
104
+ "type": "ReactNode",
105
+ "required": false,
106
+ "description": ""
107
+ },
108
+ {
109
+ "name": "leftBadge",
110
+ "type": "ReactNode",
111
+ "required": false,
112
+ "description": "Figma badge area — left slot inside BaseInput"
113
+ },
114
+ {
115
+ "name": "rightBadge",
116
+ "type": "ReactNode",
117
+ "required": false,
118
+ "description": "Figma badge area — right slot inside BaseInput"
119
+ },
120
+ {
121
+ "name": "error",
122
+ "type": "boolean",
123
+ "defaultValue": "false",
124
+ "required": false,
125
+ "description": ""
126
+ }
127
+ ]
128
+ },
129
+ "Select": {
130
+ "displayName": "Select",
131
+ "description": "Radix Select closes on `window` blur (e.g. focusing DevTools). Suppress only\nblur-initiated closes; pointer-down (outside click, item select, trigger toggle)\nand Escape must still dismiss on the first interaction.",
132
+ "props": [
133
+ {
134
+ "name": "value",
135
+ "type": "string",
136
+ "required": false,
137
+ "description": ""
138
+ },
139
+ {
140
+ "name": "defaultValue",
141
+ "type": "string",
142
+ "required": false,
143
+ "description": ""
144
+ },
145
+ {
146
+ "name": "onValueChange",
147
+ "type": "(value: string) => void",
148
+ "required": false,
149
+ "description": ""
150
+ }
151
+ ]
152
+ },
153
+ "SegmentatorGroup": {
154
+ "displayName": "SegmentatorGroup",
155
+ "description": "",
156
+ "props": [
157
+ {
158
+ "name": "value",
159
+ "type": "string",
160
+ "required": false,
161
+ "description": ""
162
+ },
163
+ {
164
+ "name": "defaultValue",
165
+ "type": "string",
166
+ "required": false,
167
+ "description": ""
168
+ },
169
+ {
170
+ "name": "onValueChange",
171
+ "type": "(value: string) => void",
172
+ "required": false,
173
+ "description": ""
174
+ },
175
+ {
176
+ "name": "mode",
177
+ "type": "enum",
178
+ "defaultValue": "nested",
179
+ "required": false,
180
+ "description": ""
181
+ },
182
+ {
183
+ "name": "allRound",
184
+ "type": "boolean",
185
+ "defaultValue": "false",
186
+ "required": false,
187
+ "description": ""
188
+ },
189
+ {
190
+ "name": "disabled",
191
+ "type": "boolean",
192
+ "required": false,
193
+ "description": ""
194
+ }
195
+ ]
196
+ },
197
+ "ThemeProvider": {
198
+ "displayName": "ThemeProvider",
199
+ "description": "",
200
+ "props": [
201
+ {
202
+ "name": "defaultMode",
203
+ "type": "ThemeMode",
204
+ "defaultValue": "light",
205
+ "required": false,
206
+ "description": ""
207
+ },
208
+ {
209
+ "name": "defaultPrimary",
210
+ "type": "string",
211
+ "required": false,
212
+ "description": ""
213
+ },
214
+ {
215
+ "name": "defaultPresetId",
216
+ "type": "string",
217
+ "defaultValue": "ald",
218
+ "required": false,
219
+ "description": ""
220
+ },
221
+ {
222
+ "name": "defaultPaletteConfig",
223
+ "type": "PaletteConfig",
224
+ "required": false,
225
+ "description": ""
226
+ },
227
+ {
228
+ "name": "defaultDensity",
229
+ "type": "BaseNumbersDensity",
230
+ "defaultValue": "default",
231
+ "required": false,
232
+ "description": ""
233
+ },
234
+ {
235
+ "name": "storageKey",
236
+ "type": "string",
237
+ "defaultValue": "aviala-theme",
238
+ "required": false,
239
+ "description": ""
240
+ },
241
+ {
242
+ "name": "onThemeChange",
243
+ "type": "(vars: Record<string, string>) => void",
244
+ "required": false,
245
+ "description": ""
246
+ }
247
+ ]
248
+ },
249
+ "Alert": {
250
+ "displayName": "Alert",
251
+ "description": "",
252
+ "props": [
253
+ {
254
+ "name": "type",
255
+ "type": "enum",
256
+ "defaultValue": "info",
257
+ "required": false,
258
+ "description": ""
259
+ },
260
+ {
261
+ "name": "size",
262
+ "type": "enum",
263
+ "defaultValue": "default",
264
+ "required": false,
265
+ "description": ""
266
+ },
267
+ {
268
+ "name": "appearance",
269
+ "type": "enum",
270
+ "defaultValue": "default",
271
+ "required": false,
272
+ "description": ""
273
+ },
274
+ {
275
+ "name": "description",
276
+ "type": "ReactNode",
277
+ "required": false,
278
+ "description": "Secondary caption line — default size only"
279
+ },
280
+ {
281
+ "name": "icon",
282
+ "type": "ReactNode",
283
+ "required": false,
284
+ "description": "Status icon override"
285
+ },
286
+ {
287
+ "name": "showIcon",
288
+ "type": "boolean",
289
+ "defaultValue": "true",
290
+ "required": false,
291
+ "description": "Show the leading status icon"
292
+ },
293
+ {
294
+ "name": "dismissible",
295
+ "type": "boolean",
296
+ "defaultValue": "true",
297
+ "required": false,
298
+ "description": "Figma `Show Close Button`"
299
+ },
300
+ {
301
+ "name": "onDismiss",
302
+ "type": "(event: MouseEvent<HTMLAnchorElement, MouseEvent>) => void",
303
+ "required": false,
304
+ "description": ""
305
+ },
306
+ {
307
+ "name": "closeLabel",
308
+ "type": "string",
309
+ "defaultValue": "Dismiss alert",
310
+ "required": false,
311
+ "description": ""
312
+ },
313
+ {
314
+ "name": "quickAction",
315
+ "type": "ReactNode",
316
+ "required": false,
317
+ "description": "Figma `Show Quick Action` — inline link in body row"
318
+ },
319
+ {
320
+ "name": "onQuickAction",
321
+ "type": "(event: MouseEvent<HTMLAnchorElement, MouseEvent>) => void",
322
+ "required": false,
323
+ "description": ""
324
+ },
325
+ {
326
+ "name": "action",
327
+ "type": "ReactNode",
328
+ "required": false,
329
+ "description": "Figma footer primary action"
330
+ },
331
+ {
332
+ "name": "onAction",
333
+ "type": "(event: MouseEvent<HTMLAnchorElement, MouseEvent>) => void",
334
+ "required": false,
335
+ "description": ""
336
+ },
337
+ {
338
+ "name": "secondaryAction",
339
+ "type": "ReactNode",
340
+ "required": false,
341
+ "description": "Figma footer secondary action"
342
+ },
343
+ {
344
+ "name": "onSecondaryAction",
345
+ "type": "(event: MouseEvent<HTMLAnchorElement, MouseEvent>) => void",
346
+ "required": false,
347
+ "description": ""
348
+ },
349
+ {
350
+ "name": "showActions",
351
+ "type": "boolean",
352
+ "defaultValue": "false",
353
+ "required": false,
354
+ "description": "Figma `Show Action` — footer action row"
355
+ }
356
+ ]
357
+ },
358
+ "Feedback": {
359
+ "displayName": "Feedback",
360
+ "description": "",
361
+ "props": [
362
+ {
363
+ "name": "type",
364
+ "type": "enum",
365
+ "defaultValue": "information",
366
+ "required": false,
367
+ "description": ""
368
+ },
369
+ {
370
+ "name": "size",
371
+ "type": "enum",
372
+ "defaultValue": "default",
373
+ "required": false,
374
+ "description": ""
375
+ },
376
+ {
377
+ "name": "mode",
378
+ "type": "enum",
379
+ "defaultValue": "default",
380
+ "required": false,
381
+ "description": ""
382
+ },
383
+ {
384
+ "name": "description",
385
+ "type": "ReactNode",
386
+ "required": false,
387
+ "description": "Secondary caption line — default size only"
388
+ },
389
+ {
390
+ "name": "icon",
391
+ "type": "ReactNode",
392
+ "required": false,
393
+ "description": "Status icon override"
394
+ },
395
+ {
396
+ "name": "showClose",
397
+ "type": "boolean",
398
+ "defaultValue": "true",
399
+ "required": false,
400
+ "description": "Figma `Show Close Button`"
401
+ },
402
+ {
403
+ "name": "onClose",
404
+ "type": "(event: MouseEvent<HTMLAnchorElement, MouseEvent>) => void",
405
+ "required": false,
406
+ "description": ""
407
+ },
408
+ {
409
+ "name": "closeLabel",
410
+ "type": "string",
411
+ "defaultValue": "Dismiss",
412
+ "required": false,
413
+ "description": ""
414
+ },
415
+ {
416
+ "name": "action",
417
+ "type": "ReactNode",
418
+ "required": false,
419
+ "description": "Figma `Show Quick Action` — inline link in body row"
420
+ },
421
+ {
422
+ "name": "onAction",
423
+ "type": "(event: MouseEvent<HTMLAnchorElement, MouseEvent>) => void",
424
+ "required": false,
425
+ "description": ""
426
+ }
427
+ ]
428
+ },
429
+ "DatePickerField": {
430
+ "displayName": "DatePickerField",
431
+ "description": "Convenience field — trigger + calendar panel.",
432
+ "props": [
433
+ {
434
+ "name": "size",
435
+ "type": "enum",
436
+ "defaultValue": "regular",
437
+ "required": false,
438
+ "description": ""
439
+ },
440
+ {
441
+ "name": "allRound",
442
+ "type": "boolean",
443
+ "defaultValue": "false",
444
+ "required": false,
445
+ "description": ""
446
+ },
447
+ {
448
+ "name": "leftIcon",
449
+ "type": "ReactNode",
450
+ "required": false,
451
+ "description": ""
452
+ },
453
+ {
454
+ "name": "rightIcon",
455
+ "type": "ReactNode",
456
+ "required": false,
457
+ "description": ""
458
+ },
459
+ {
460
+ "name": "placeholder",
461
+ "type": "string",
462
+ "defaultValue": "YYYY/MM/DD",
463
+ "required": false,
464
+ "description": ""
465
+ },
466
+ {
467
+ "name": "rangePlaceholder",
468
+ "type": "string",
469
+ "defaultValue": "Start date - End date",
470
+ "required": false,
471
+ "description": ""
472
+ },
473
+ {
474
+ "name": "error",
475
+ "type": "boolean",
476
+ "defaultValue": "false",
477
+ "required": false,
478
+ "description": ""
479
+ },
480
+ {
481
+ "name": "rangeSeparator",
482
+ "type": "string",
483
+ "defaultValue": "-",
484
+ "required": false,
485
+ "description": ""
486
+ },
487
+ {
488
+ "name": "contentClassName",
489
+ "type": "string",
490
+ "required": false,
491
+ "description": ""
492
+ },
493
+ {
494
+ "name": "calendarClassName",
495
+ "type": "string",
496
+ "required": false,
497
+ "description": ""
498
+ },
499
+ {
500
+ "name": "mode",
501
+ "type": "enum",
502
+ "defaultValue": "single",
503
+ "required": false,
504
+ "description": ""
505
+ },
506
+ {
507
+ "name": "open",
508
+ "type": "boolean",
509
+ "required": false,
510
+ "description": ""
511
+ },
512
+ {
513
+ "name": "defaultOpen",
514
+ "type": "boolean",
515
+ "required": false,
516
+ "description": ""
517
+ },
518
+ {
519
+ "name": "onOpenChange",
520
+ "type": "(open: boolean) => void",
521
+ "required": false,
522
+ "description": ""
523
+ },
524
+ {
525
+ "name": "minDate",
526
+ "type": "Date",
527
+ "required": false,
528
+ "description": ""
529
+ },
530
+ {
531
+ "name": "maxDate",
532
+ "type": "Date",
533
+ "required": false,
534
+ "description": ""
535
+ },
536
+ {
537
+ "name": "value",
538
+ "type": "Date | DateRange",
539
+ "required": false,
540
+ "description": ""
541
+ },
542
+ {
543
+ "name": "onValueChange",
544
+ "type": "((value: Date) => void) | ((value: DateRange) => void)",
545
+ "required": false,
546
+ "description": ""
547
+ },
548
+ {
549
+ "name": "enableTime",
550
+ "type": "boolean",
551
+ "defaultValue": "true",
552
+ "required": false,
553
+ "description": ""
554
+ },
555
+ {
556
+ "name": "timeValue",
557
+ "type": "DatePickerTimeValue",
558
+ "required": false,
559
+ "description": ""
560
+ },
561
+ {
562
+ "name": "defaultTimeValue",
563
+ "type": "DatePickerTimeValue",
564
+ "required": false,
565
+ "description": ""
566
+ },
567
+ {
568
+ "name": "onTimeChange",
569
+ "type": "(value: DatePickerTimeValue) => void",
570
+ "required": false,
571
+ "description": ""
572
+ }
573
+ ]
574
+ },
575
+ "TimePickerField": {
576
+ "displayName": "TimePickerField",
577
+ "description": "Convenience field — trigger + time wheel panel.",
578
+ "props": [
579
+ {
580
+ "name": "size",
581
+ "type": "enum",
582
+ "defaultValue": "regular",
583
+ "required": false,
584
+ "description": ""
585
+ },
586
+ {
587
+ "name": "allRound",
588
+ "type": "boolean",
589
+ "defaultValue": "false",
590
+ "required": false,
591
+ "description": ""
592
+ },
593
+ {
594
+ "name": "leftIcon",
595
+ "type": "ReactNode",
596
+ "required": false,
597
+ "description": ""
598
+ },
599
+ {
600
+ "name": "rightIcon",
601
+ "type": "ReactNode",
602
+ "required": false,
603
+ "description": ""
604
+ },
605
+ {
606
+ "name": "placeholder",
607
+ "type": "string",
608
+ "defaultValue": "HH:mm",
609
+ "required": false,
610
+ "description": ""
611
+ },
612
+ {
613
+ "name": "error",
614
+ "type": "boolean",
615
+ "defaultValue": "false",
616
+ "required": false,
617
+ "description": ""
618
+ },
619
+ {
620
+ "name": "contentClassName",
621
+ "type": "string",
622
+ "required": false,
623
+ "description": ""
624
+ },
625
+ {
626
+ "name": "panelClassName",
627
+ "type": "string",
628
+ "required": false,
629
+ "description": ""
630
+ },
631
+ {
632
+ "name": "value",
633
+ "type": "TimePickerValue",
634
+ "required": false,
635
+ "description": ""
636
+ },
637
+ {
638
+ "name": "onValueChange",
639
+ "type": "(value: TimePickerValue) => void",
640
+ "required": false,
641
+ "description": ""
642
+ },
643
+ {
644
+ "name": "open",
645
+ "type": "boolean",
646
+ "required": false,
647
+ "description": ""
648
+ },
649
+ {
650
+ "name": "defaultOpen",
651
+ "type": "boolean",
652
+ "required": false,
653
+ "description": ""
654
+ },
655
+ {
656
+ "name": "onOpenChange",
657
+ "type": "(open: boolean) => void",
658
+ "required": false,
659
+ "description": ""
660
+ }
661
+ ]
662
+ },
663
+ "Switch": {
664
+ "displayName": "Switch",
665
+ "description": "",
666
+ "props": [
667
+ {
668
+ "name": "asChild",
669
+ "type": "boolean",
670
+ "required": false,
671
+ "description": ""
672
+ },
673
+ {
674
+ "name": "size",
675
+ "type": "enum",
676
+ "defaultValue": "regular",
677
+ "required": false,
678
+ "description": ""
679
+ }
680
+ ]
681
+ },
682
+ "Link": {
683
+ "displayName": "Link",
684
+ "description": "",
685
+ "props": [
686
+ {
687
+ "name": "level",
688
+ "type": "enum",
689
+ "defaultValue": "caption",
690
+ "required": false,
691
+ "description": ""
692
+ },
693
+ {
694
+ "name": "mode",
695
+ "type": "enum",
696
+ "defaultValue": "noBackground",
697
+ "required": false,
698
+ "description": ""
699
+ },
700
+ {
701
+ "name": "iconOnly",
702
+ "type": "boolean",
703
+ "required": false,
704
+ "description": ""
705
+ },
706
+ {
707
+ "name": "leftIcon",
708
+ "type": "ReactNode",
709
+ "required": false,
710
+ "description": ""
711
+ },
712
+ {
713
+ "name": "rightIcon",
714
+ "type": "ReactNode",
715
+ "required": false,
716
+ "description": ""
717
+ },
718
+ {
719
+ "name": "asChild",
720
+ "type": "boolean",
721
+ "defaultValue": "false",
722
+ "required": false,
723
+ "description": ""
724
+ },
725
+ {
726
+ "name": "disabled",
727
+ "type": "boolean",
728
+ "required": false,
729
+ "description": ""
730
+ }
731
+ ]
732
+ },
733
+ "Textarea": {
734
+ "displayName": "Textarea",
735
+ "description": "",
736
+ "props": [
737
+ {
738
+ "name": "size",
739
+ "type": "enum",
740
+ "defaultValue": "regular",
741
+ "required": false,
742
+ "description": "Figma `Size`"
743
+ },
744
+ {
745
+ "name": "leftIcon",
746
+ "type": "ReactNode",
747
+ "required": false,
748
+ "description": ""
749
+ },
750
+ {
751
+ "name": "rightIcon",
752
+ "type": "ReactNode",
753
+ "required": false,
754
+ "description": ""
755
+ },
756
+ {
757
+ "name": "showController",
758
+ "type": "boolean",
759
+ "required": false,
760
+ "description": "Figma `Controller` — character counter + resize affordance"
761
+ },
762
+ {
763
+ "name": "error",
764
+ "type": "boolean",
765
+ "defaultValue": "false",
766
+ "required": false,
767
+ "description": ""
768
+ }
769
+ ]
770
+ },
771
+ "Checkbox": {
772
+ "displayName": "Checkbox",
773
+ "description": "",
774
+ "props": [
775
+ {
776
+ "name": "asChild",
777
+ "type": "boolean",
778
+ "required": false,
779
+ "description": ""
780
+ },
781
+ {
782
+ "name": "round",
783
+ "type": "boolean",
784
+ "defaultValue": "false",
785
+ "required": false,
786
+ "description": "Figma Checkbox `Round`"
787
+ }
788
+ ]
789
+ },
790
+ "RadioGroup": {
791
+ "displayName": "RadioGroup",
792
+ "description": "",
793
+ "props": [
794
+ {
795
+ "name": "asChild",
796
+ "type": "boolean",
797
+ "required": false,
798
+ "description": ""
799
+ },
800
+ {
801
+ "name": "direction",
802
+ "type": "enum",
803
+ "defaultValue": "vertical",
804
+ "required": false,
805
+ "description": "Figma Radio Input Group `Direction`"
806
+ }
807
+ ]
808
+ },
809
+ "CascaderField": {
810
+ "displayName": "CascaderField",
811
+ "description": "Convenience field — trigger + options-driven menu.",
812
+ "props": [
813
+ {
814
+ "name": "disabled",
815
+ "type": "boolean",
816
+ "defaultValue": "false",
817
+ "required": false,
818
+ "description": ""
819
+ },
820
+ {
821
+ "name": "value",
822
+ "type": "string[] & (string | number | readonly string[])",
823
+ "required": false,
824
+ "description": ""
825
+ },
826
+ {
827
+ "name": "defaultValue",
828
+ "type": "string[] & (string | number | readonly string[])",
829
+ "required": false,
830
+ "description": ""
831
+ },
832
+ {
833
+ "name": "className",
834
+ "type": "string",
835
+ "required": false,
836
+ "description": ""
837
+ },
838
+ {
839
+ "name": "size",
840
+ "type": "enum",
841
+ "defaultValue": "regular",
842
+ "required": false,
843
+ "description": ""
844
+ },
845
+ {
846
+ "name": "options",
847
+ "type": "CascaderOption[]",
848
+ "required": false,
849
+ "description": ""
850
+ },
851
+ {
852
+ "name": "onValueChange",
853
+ "type": "(value: string[], selectedOptions: CascaderOption[]) => void",
854
+ "required": false,
855
+ "description": ""
856
+ },
857
+ {
858
+ "name": "open",
859
+ "type": "boolean",
860
+ "required": false,
861
+ "description": ""
862
+ },
863
+ {
864
+ "name": "defaultOpen",
865
+ "type": "boolean",
866
+ "required": false,
867
+ "description": ""
868
+ },
869
+ {
870
+ "name": "onOpenChange",
871
+ "type": "(open: boolean) => void",
872
+ "required": false,
873
+ "description": ""
874
+ },
875
+ {
876
+ "name": "changeOnSelect",
877
+ "type": "boolean",
878
+ "required": false,
879
+ "description": "Select parent nodes — Figma allows any-level selection (default true)."
880
+ },
881
+ {
882
+ "name": "separator",
883
+ "type": "string",
884
+ "defaultValue": "/",
885
+ "required": false,
886
+ "description": ""
887
+ },
888
+ {
889
+ "name": "asChild",
890
+ "type": "boolean",
891
+ "required": false,
892
+ "description": ""
893
+ },
894
+ {
895
+ "name": "allRound",
896
+ "type": "boolean",
897
+ "defaultValue": "false",
898
+ "required": false,
899
+ "description": ""
900
+ },
901
+ {
902
+ "name": "leftIcon",
903
+ "type": "ReactNode",
904
+ "required": false,
905
+ "description": ""
906
+ },
907
+ {
908
+ "name": "rightIcon",
909
+ "type": "ReactNode",
910
+ "required": false,
911
+ "description": ""
912
+ },
913
+ {
914
+ "name": "expandIcon",
915
+ "type": "ReactNode",
916
+ "required": false,
917
+ "description": ""
918
+ },
919
+ {
920
+ "name": "placeholder",
921
+ "type": "string",
922
+ "defaultValue": "Text",
923
+ "required": false,
924
+ "description": ""
925
+ },
926
+ {
927
+ "name": "error",
928
+ "type": "boolean",
929
+ "defaultValue": "false",
930
+ "required": false,
931
+ "description": ""
932
+ },
933
+ {
934
+ "name": "contentClassName",
935
+ "type": "string",
936
+ "required": false,
937
+ "description": ""
938
+ },
939
+ {
940
+ "name": "menuClassName",
941
+ "type": "string",
942
+ "required": false,
943
+ "description": ""
944
+ }
945
+ ]
946
+ },
947
+ "ColorPicker": {
948
+ "displayName": "ColorPicker",
949
+ "description": "",
950
+ "props": [
951
+ {
952
+ "name": "value",
953
+ "type": "string",
954
+ "required": false,
955
+ "description": ""
956
+ },
957
+ {
958
+ "name": "defaultValue",
959
+ "type": "string",
960
+ "required": false,
961
+ "description": ""
962
+ },
963
+ {
964
+ "name": "onChange",
965
+ "type": "(value: string, meta?: ColorPickerChangeMeta) => void",
966
+ "required": false,
967
+ "description": ""
968
+ },
969
+ {
970
+ "name": "format",
971
+ "type": "enum",
972
+ "required": false,
973
+ "description": ""
974
+ },
975
+ {
976
+ "name": "defaultFormat",
977
+ "type": "enum",
978
+ "required": false,
979
+ "description": ""
980
+ },
981
+ {
982
+ "name": "onFormatChange",
983
+ "type": "(format: ColorFormat) => void",
984
+ "required": false,
985
+ "description": ""
986
+ },
987
+ {
988
+ "name": "className",
989
+ "type": "string",
990
+ "required": false,
991
+ "description": ""
992
+ },
993
+ {
994
+ "name": "disabled",
995
+ "type": "boolean",
996
+ "required": false,
997
+ "description": ""
998
+ },
999
+ {
1000
+ "name": "presets",
1001
+ "type": "string[]",
1002
+ "required": false,
1003
+ "description": ""
1004
+ },
1005
+ {
1006
+ "name": "onPresetsChange",
1007
+ "type": "(presets: string[]) => void",
1008
+ "required": false,
1009
+ "description": ""
1010
+ },
1011
+ {
1012
+ "name": "maxPresets",
1013
+ "type": "number",
1014
+ "defaultValue": "8",
1015
+ "required": false,
1016
+ "description": ""
1017
+ },
1018
+ {
1019
+ "name": "open",
1020
+ "type": "boolean",
1021
+ "required": false,
1022
+ "description": ""
1023
+ },
1024
+ {
1025
+ "name": "defaultOpen",
1026
+ "type": "boolean",
1027
+ "defaultValue": "false",
1028
+ "required": false,
1029
+ "description": ""
1030
+ },
1031
+ {
1032
+ "name": "onOpenChange",
1033
+ "type": "(open: boolean) => void",
1034
+ "required": false,
1035
+ "description": ""
1036
+ }
1037
+ ]
1038
+ },
1039
+ "Navigation": {
1040
+ "displayName": "Navigation",
1041
+ "description": "",
1042
+ "props": [
1043
+ {
1044
+ "name": "as",
1045
+ "type": "enum",
1046
+ "defaultValue": "nav",
1047
+ "required": false,
1048
+ "description": ""
1049
+ },
1050
+ {
1051
+ "name": "background",
1052
+ "type": "enum",
1053
+ "defaultValue": "default",
1054
+ "required": false,
1055
+ "description": ""
1056
+ },
1057
+ {
1058
+ "name": "direction",
1059
+ "type": "enum",
1060
+ "defaultValue": "vertical",
1061
+ "required": false,
1062
+ "description": ""
1063
+ },
1064
+ {
1065
+ "name": "dividingLine",
1066
+ "type": "boolean",
1067
+ "defaultValue": "false",
1068
+ "required": false,
1069
+ "description": "Figma `Dividing line` variant"
1070
+ }
1071
+ ]
1072
+ },
1073
+ "List": {
1074
+ "displayName": "List",
1075
+ "description": "Figma Structure Navigation → List root",
1076
+ "props": []
1077
+ },
1078
+ "Typography": {
1079
+ "displayName": "Typography",
1080
+ "description": "",
1081
+ "props": [
1082
+ {
1083
+ "name": "level",
1084
+ "type": "enum",
1085
+ "defaultValue": "text",
1086
+ "required": false,
1087
+ "description": ""
1088
+ },
1089
+ {
1090
+ "name": "tone",
1091
+ "type": "enum",
1092
+ "defaultValue": "default",
1093
+ "required": false,
1094
+ "description": "Figma `White` — light text on dark surfaces"
1095
+ },
1096
+ {
1097
+ "name": "asChild",
1098
+ "type": "boolean",
1099
+ "defaultValue": "false",
1100
+ "required": false,
1101
+ "description": ""
1102
+ },
1103
+ {
1104
+ "name": "as",
1105
+ "type": "enum",
1106
+ "defaultValue": "span",
1107
+ "required": false,
1108
+ "description": ""
1109
+ }
1110
+ ]
1111
+ },
1112
+ "Typeface": {
1113
+ "displayName": "Typeface",
1114
+ "description": "",
1115
+ "props": [
1116
+ {
1117
+ "name": "content",
1118
+ "type": "enum",
1119
+ "defaultValue": "allCustom",
1120
+ "required": false,
1121
+ "description": "Figma `Content` preset"
1122
+ },
1123
+ {
1124
+ "name": "primary",
1125
+ "type": "ReactNode",
1126
+ "required": false,
1127
+ "description": "Primary line — overrides preset first line"
1128
+ },
1129
+ {
1130
+ "name": "secondary",
1131
+ "type": "ReactNode",
1132
+ "required": false,
1133
+ "description": "Secondary line — overrides preset second line"
1134
+ },
1135
+ {
1136
+ "name": "tertiary",
1137
+ "type": "ReactNode",
1138
+ "required": false,
1139
+ "description": "Tertiary line — used by `textCaptionSubtitle`"
1140
+ },
1141
+ {
1142
+ "name": "primaryContent",
1143
+ "type": "enum",
1144
+ "defaultValue": "text",
1145
+ "required": false,
1146
+ "description": "Per-line content mode for numeric text"
1147
+ },
1148
+ {
1149
+ "name": "secondaryContent",
1150
+ "type": "enum",
1151
+ "defaultValue": "text",
1152
+ "required": false,
1153
+ "description": ""
1154
+ },
1155
+ {
1156
+ "name": "tertiaryContent",
1157
+ "type": "enum",
1158
+ "defaultValue": "text",
1159
+ "required": false,
1160
+ "description": ""
1161
+ },
1162
+ {
1163
+ "name": "tone",
1164
+ "type": "enum",
1165
+ "defaultValue": "default",
1166
+ "required": false,
1167
+ "description": ""
1168
+ }
1169
+ ]
1170
+ },
1171
+ "FormField": {
1172
+ "displayName": "FormField",
1173
+ "description": "",
1174
+ "props": [
1175
+ {
1176
+ "name": "label",
1177
+ "type": "string",
1178
+ "required": false,
1179
+ "description": ""
1180
+ },
1181
+ {
1182
+ "name": "htmlFor",
1183
+ "type": "string",
1184
+ "required": false,
1185
+ "description": ""
1186
+ },
1187
+ {
1188
+ "name": "description",
1189
+ "type": "ReactNode",
1190
+ "required": false,
1191
+ "description": ""
1192
+ },
1193
+ {
1194
+ "name": "error",
1195
+ "type": "string",
1196
+ "required": false,
1197
+ "description": ""
1198
+ },
1199
+ {
1200
+ "name": "required",
1201
+ "type": "boolean",
1202
+ "required": false,
1203
+ "description": ""
1204
+ }
1205
+ ]
1206
+ },
1207
+ "Anchor": {
1208
+ "displayName": "Anchor",
1209
+ "description": "",
1210
+ "props": [
1211
+ {
1212
+ "name": "as",
1213
+ "type": "enum",
1214
+ "defaultValue": "nav",
1215
+ "required": false,
1216
+ "description": ""
1217
+ }
1218
+ ]
1219
+ },
1220
+ "Popover": {
1221
+ "displayName": "Popover",
1222
+ "description": "Radix Popover closes on `window` blur (e.g. focusing DevTools). Suppress only\nblur-initiated closes; pointer-down (outside click, trigger toggle) and Escape\nmust still dismiss on the first interaction.",
1223
+ "props": []
1224
+ },
1225
+ "Modal": {
1226
+ "displayName": "Modal",
1227
+ "description": "",
1228
+ "props": []
1229
+ },
1230
+ "Tooltip": {
1231
+ "displayName": "Tooltip",
1232
+ "description": "",
1233
+ "props": []
1234
+ },
1235
+ "Loading": {
1236
+ "displayName": "Loading",
1237
+ "description": "",
1238
+ "props": [
1239
+ {
1240
+ "name": "level",
1241
+ "type": "enum",
1242
+ "defaultValue": "text",
1243
+ "required": false,
1244
+ "description": ""
1245
+ },
1246
+ {
1247
+ "name": "mode",
1248
+ "type": "enum",
1249
+ "defaultValue": "theme",
1250
+ "required": false,
1251
+ "description": ""
1252
+ },
1253
+ {
1254
+ "name": "lineHeightFix",
1255
+ "type": "boolean",
1256
+ "defaultValue": "true",
1257
+ "required": false,
1258
+ "description": ""
1259
+ },
1260
+ {
1261
+ "name": "label",
1262
+ "type": "string",
1263
+ "defaultValue": "Loading",
1264
+ "required": false,
1265
+ "description": "Accessible name; omit when decorative (`aria-hidden`)."
1266
+ }
1267
+ ]
1268
+ },
1269
+ "Badge": {
1270
+ "displayName": "Badge",
1271
+ "description": "",
1272
+ "props": [
1273
+ {
1274
+ "name": "style",
1275
+ "type": "enum",
1276
+ "defaultValue": "theme",
1277
+ "required": false,
1278
+ "description": ""
1279
+ },
1280
+ {
1281
+ "name": "level",
1282
+ "type": "enum",
1283
+ "defaultValue": "caption",
1284
+ "required": false,
1285
+ "description": ""
1286
+ },
1287
+ {
1288
+ "name": "leftIcon",
1289
+ "type": "ReactNode",
1290
+ "required": false,
1291
+ "description": ""
1292
+ },
1293
+ {
1294
+ "name": "rightIcon",
1295
+ "type": "ReactNode",
1296
+ "required": false,
1297
+ "description": ""
1298
+ },
1299
+ {
1300
+ "name": "primary",
1301
+ "type": "boolean",
1302
+ "defaultValue": "false",
1303
+ "required": false,
1304
+ "description": "Figma `Primary` — filled primary surface vs secondary surface"
1305
+ },
1306
+ {
1307
+ "name": "lineHeightFix",
1308
+ "type": "boolean | BadgeLineHeightFix",
1309
+ "required": false,
1310
+ "description": "Figma `LineHeightFix`.\n- `true` / omitted: Caption → AlignToTextLevel, Text → AlignToSubtitleLevel\n- `false` / `\"off\"`: OFF"
1311
+ }
1312
+ ]
1313
+ },
1314
+ "Avatar": {
1315
+ "displayName": "Avatar",
1316
+ "description": "",
1317
+ "props": [
1318
+ {
1319
+ "name": "level",
1320
+ "type": "enum",
1321
+ "defaultValue": "text",
1322
+ "required": false,
1323
+ "description": ""
1324
+ },
1325
+ {
1326
+ "name": "lineHeightFix",
1327
+ "type": "boolean",
1328
+ "defaultValue": "true",
1329
+ "required": false,
1330
+ "description": ""
1331
+ },
1332
+ {
1333
+ "name": "src",
1334
+ "type": "string",
1335
+ "required": false,
1336
+ "description": "Image URL when `content=\"picture\"`"
1337
+ },
1338
+ {
1339
+ "name": "alt",
1340
+ "type": "string",
1341
+ "defaultValue": "",
1342
+ "required": false,
1343
+ "description": ""
1344
+ },
1345
+ {
1346
+ "name": "icon",
1347
+ "type": "ReactNode",
1348
+ "required": false,
1349
+ "description": "Icon node when `content=\"icon\"`"
1350
+ },
1351
+ {
1352
+ "name": "imgProps",
1353
+ "type": "Omit<ImgHTMLAttributes<HTMLImageElement>, \"src\" | \"alt\">",
1354
+ "required": false,
1355
+ "description": ""
1356
+ }
1357
+ ]
1358
+ },
1359
+ "Tag": {
1360
+ "displayName": "Tag",
1361
+ "description": "",
1362
+ "props": [
1363
+ {
1364
+ "name": "level",
1365
+ "type": "enum",
1366
+ "defaultValue": "caption",
1367
+ "required": false,
1368
+ "description": ""
1369
+ },
1370
+ {
1371
+ "name": "leftIcon",
1372
+ "type": "ReactNode",
1373
+ "required": false,
1374
+ "description": ""
1375
+ },
1376
+ {
1377
+ "name": "rightIcon",
1378
+ "type": "ReactNode",
1379
+ "required": false,
1380
+ "description": ""
1381
+ },
1382
+ {
1383
+ "name": "disabled",
1384
+ "type": "boolean",
1385
+ "defaultValue": "false",
1386
+ "required": false,
1387
+ "description": ""
1388
+ },
1389
+ {
1390
+ "name": "avatar",
1391
+ "type": "ReactNode",
1392
+ "required": false,
1393
+ "description": "People content — avatar image or initials"
1394
+ },
1395
+ {
1396
+ "name": "avatarSrc",
1397
+ "type": "string",
1398
+ "required": false,
1399
+ "description": ""
1400
+ },
1401
+ {
1402
+ "name": "avatarText",
1403
+ "type": "ReactNode",
1404
+ "required": false,
1405
+ "description": ""
1406
+ },
1407
+ {
1408
+ "name": "closable",
1409
+ "type": "boolean",
1410
+ "defaultValue": "false",
1411
+ "required": false,
1412
+ "description": ""
1413
+ },
1414
+ {
1415
+ "name": "onClose",
1416
+ "type": "(event: MouseEvent<HTMLButtonElement, MouseEvent>) => void",
1417
+ "required": false,
1418
+ "description": ""
1419
+ },
1420
+ {
1421
+ "name": "closeLabel",
1422
+ "type": "string",
1423
+ "defaultValue": "Remove",
1424
+ "required": false,
1425
+ "description": ""
1426
+ },
1427
+ {
1428
+ "name": "lineHeightFix",
1429
+ "type": "boolean | TagLineHeightFix",
1430
+ "required": false,
1431
+ "description": ""
1432
+ }
1433
+ ]
1434
+ },
1435
+ "Progress": {
1436
+ "displayName": "Progress",
1437
+ "description": "",
1438
+ "props": [
1439
+ {
1440
+ "name": "type",
1441
+ "type": "enum",
1442
+ "defaultValue": "default",
1443
+ "required": false,
1444
+ "description": ""
1445
+ },
1446
+ {
1447
+ "name": "size",
1448
+ "type": "enum",
1449
+ "defaultValue": "default",
1450
+ "required": false,
1451
+ "description": ""
1452
+ },
1453
+ {
1454
+ "name": "shape",
1455
+ "type": "enum",
1456
+ "defaultValue": "bar",
1457
+ "required": false,
1458
+ "description": ""
1459
+ },
1460
+ {
1461
+ "name": "value",
1462
+ "type": "number",
1463
+ "defaultValue": "0",
1464
+ "required": false,
1465
+ "description": "0–100"
1466
+ },
1467
+ {
1468
+ "name": "showLabel",
1469
+ "type": "boolean",
1470
+ "defaultValue": "true",
1471
+ "required": false,
1472
+ "description": "Show percent label (bar shape only)"
1473
+ },
1474
+ {
1475
+ "name": "label",
1476
+ "type": "string",
1477
+ "required": false,
1478
+ "description": ""
1479
+ }
1480
+ ]
1481
+ },
1482
+ "Scroll": {
1483
+ "displayName": "Scroll",
1484
+ "description": "Scrollable region with Aviala-styled scrollbar (track + thumb).\nFigma documents the thumb/track chrome; this wraps content with that chrome.",
1485
+ "props": [
1486
+ {
1487
+ "name": "size",
1488
+ "type": "enum",
1489
+ "defaultValue": "default",
1490
+ "required": false,
1491
+ "description": ""
1492
+ },
1493
+ {
1494
+ "name": "orientation",
1495
+ "type": "enum",
1496
+ "defaultValue": "vertical",
1497
+ "required": false,
1498
+ "description": ""
1499
+ }
1500
+ ]
1501
+ },
1502
+ "Slider": {
1503
+ "displayName": "Slider",
1504
+ "description": "",
1505
+ "props": [
1506
+ {
1507
+ "name": "asChild",
1508
+ "type": "boolean",
1509
+ "required": false,
1510
+ "description": ""
1511
+ },
1512
+ {
1513
+ "name": "size",
1514
+ "type": "enum",
1515
+ "defaultValue": "default",
1516
+ "required": false,
1517
+ "description": ""
1518
+ },
1519
+ {
1520
+ "name": "type",
1521
+ "type": "enum",
1522
+ "defaultValue": "default",
1523
+ "required": false,
1524
+ "description": "Figma `Type` — single thumb vs range (two thumbs)"
1525
+ }
1526
+ ]
1527
+ },
1528
+ "Upload": {
1529
+ "displayName": "Upload",
1530
+ "description": "",
1531
+ "props": [
1532
+ {
1533
+ "name": "style",
1534
+ "type": "enum",
1535
+ "defaultValue": "default",
1536
+ "required": false,
1537
+ "description": ""
1538
+ },
1539
+ {
1540
+ "name": "description",
1541
+ "type": "ReactNode",
1542
+ "defaultValue": "Or click here to upload",
1543
+ "required": false,
1544
+ "description": "Secondary line — Large style"
1545
+ },
1546
+ {
1547
+ "name": "label",
1548
+ "type": "ReactNode",
1549
+ "defaultValue": "Upload",
1550
+ "required": false,
1551
+ "description": "Default style button label"
1552
+ },
1553
+ {
1554
+ "name": "accept",
1555
+ "type": "string",
1556
+ "required": false,
1557
+ "description": ""
1558
+ },
1559
+ {
1560
+ "name": "multiple",
1561
+ "type": "boolean",
1562
+ "required": false,
1563
+ "description": ""
1564
+ },
1565
+ {
1566
+ "name": "disabled",
1567
+ "type": "boolean",
1568
+ "required": false,
1569
+ "description": ""
1570
+ },
1571
+ {
1572
+ "name": "dragAndDrop",
1573
+ "type": "boolean",
1574
+ "required": false,
1575
+ "description": "Enable drag-and-drop (Large style defaults to true)"
1576
+ },
1577
+ {
1578
+ "name": "onChange",
1579
+ "type": "(files: FileList) => void",
1580
+ "required": false,
1581
+ "description": ""
1582
+ },
1583
+ {
1584
+ "name": "inputProps",
1585
+ "type": "Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"accept\" | \"multiple\" | \"disabled\" | \"type\">",
1586
+ "required": false,
1587
+ "description": ""
1588
+ }
1589
+ ]
1590
+ },
1591
+ "ScrollPicker": {
1592
+ "displayName": "ScrollPicker",
1593
+ "description": "",
1594
+ "props": []
1595
+ },
1596
+ "Breadcrumb": {
1597
+ "displayName": "Breadcrumb",
1598
+ "description": "",
1599
+ "props": [
1600
+ {
1601
+ "name": "size",
1602
+ "type": "enum",
1603
+ "defaultValue": "default",
1604
+ "required": false,
1605
+ "description": ""
1606
+ }
1607
+ ]
1608
+ },
1609
+ "Pagehead": {
1610
+ "displayName": "Pagehead",
1611
+ "description": "",
1612
+ "props": [
1613
+ {
1614
+ "name": "back",
1615
+ "type": "ReactNode",
1616
+ "required": false,
1617
+ "description": "Optional leading control (typically back button)"
1618
+ },
1619
+ {
1620
+ "name": "breadcrumb",
1621
+ "type": "ReactNode",
1622
+ "required": false,
1623
+ "description": "Optional breadcrumb above the title"
1624
+ },
1625
+ {
1626
+ "name": "description",
1627
+ "type": "ReactNode",
1628
+ "required": false,
1629
+ "description": "Secondary caption under title"
1630
+ },
1631
+ {
1632
+ "name": "actions",
1633
+ "type": "ReactNode",
1634
+ "required": false,
1635
+ "description": "Trailing actions slot"
1636
+ }
1637
+ ]
1638
+ },
1639
+ "Steps": {
1640
+ "displayName": "Steps",
1641
+ "description": "",
1642
+ "props": [
1643
+ {
1644
+ "name": "direction",
1645
+ "type": "enum",
1646
+ "defaultValue": "horizontal",
1647
+ "required": false,
1648
+ "description": ""
1649
+ }
1650
+ ]
1651
+ },
1652
+ "Pagination": {
1653
+ "displayName": "Pagination",
1654
+ "description": "",
1655
+ "props": [
1656
+ {
1657
+ "name": "page",
1658
+ "type": "number",
1659
+ "required": false,
1660
+ "description": ""
1661
+ },
1662
+ {
1663
+ "name": "defaultPage",
1664
+ "type": "number",
1665
+ "defaultValue": "1",
1666
+ "required": false,
1667
+ "description": ""
1668
+ },
1669
+ {
1670
+ "name": "pageCount",
1671
+ "type": "number",
1672
+ "required": true,
1673
+ "description": ""
1674
+ },
1675
+ {
1676
+ "name": "onPageChange",
1677
+ "type": "(page: number) => void",
1678
+ "required": false,
1679
+ "description": ""
1680
+ },
1681
+ {
1682
+ "name": "showJump",
1683
+ "type": "boolean",
1684
+ "defaultValue": "true",
1685
+ "required": false,
1686
+ "description": ""
1687
+ },
1688
+ {
1689
+ "name": "showSizeChanger",
1690
+ "type": "boolean",
1691
+ "defaultValue": "true",
1692
+ "required": false,
1693
+ "description": ""
1694
+ },
1695
+ {
1696
+ "name": "pageSize",
1697
+ "type": "number",
1698
+ "required": false,
1699
+ "description": ""
1700
+ },
1701
+ {
1702
+ "name": "defaultPageSize",
1703
+ "type": "number",
1704
+ "defaultValue": "10",
1705
+ "required": false,
1706
+ "description": ""
1707
+ },
1708
+ {
1709
+ "name": "pageSizeOptions",
1710
+ "type": "number[]",
1711
+ "defaultValue": "[10, 20, 50]",
1712
+ "required": false,
1713
+ "description": ""
1714
+ },
1715
+ {
1716
+ "name": "onPageSizeChange",
1717
+ "type": "(pageSize: number) => void",
1718
+ "required": false,
1719
+ "description": ""
1720
+ },
1721
+ {
1722
+ "name": "jumpLabel",
1723
+ "type": "ReactNode",
1724
+ "defaultValue": "跳转至",
1725
+ "required": false,
1726
+ "description": ""
1727
+ },
1728
+ {
1729
+ "name": "sizeLabel",
1730
+ "type": "ReactNode",
1731
+ "defaultValue": "每页",
1732
+ "required": false,
1733
+ "description": ""
1734
+ },
1735
+ {
1736
+ "name": "sizeOptionLabel",
1737
+ "type": "(size: number) => ReactNode",
1738
+ "defaultValue": "(size) => `${size} 项`",
1739
+ "required": false,
1740
+ "description": ""
1741
+ }
1742
+ ]
1743
+ },
1744
+ "Card": {
1745
+ "displayName": "Card",
1746
+ "description": "",
1747
+ "props": []
1748
+ },
1749
+ "Table": {
1750
+ "displayName": "Table",
1751
+ "description": "",
1752
+ "props": []
1753
+ }
1754
+ }