@tangible/ui 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Card/Card.d.ts +1 -0
- package/components/Card/Card.js +17 -20
- package/components/Checkbox/Checkbox.d.ts +9 -0
- package/components/Checkbox/Checkbox.js +92 -0
- package/components/Checkbox/index.d.ts +2 -0
- package/components/Checkbox/index.js +1 -0
- package/components/Checkbox/types.d.ts +10 -0
- package/components/Checkbox/types.js +1 -0
- package/components/Chip/Chip.d.ts +4 -1
- package/components/Chip/Chip.js +32 -7
- package/components/ChipGroup/ChipGroup.d.ts +5 -0
- package/components/ChipGroup/ChipGroup.js +68 -0
- package/components/ChipGroup/ChipGroupContext.d.ts +3 -0
- package/components/ChipGroup/ChipGroupContext.js +5 -0
- package/components/ChipGroup/index.d.ts +3 -0
- package/components/ChipGroup/index.js +2 -0
- package/components/ChipGroup/types.d.ts +36 -0
- package/components/ChipGroup/types.js +1 -0
- package/components/Chips/Chips.d.ts +2 -0
- package/components/Chips/Chips.js +1 -1
- package/components/Combobox/Combobox.d.ts +33 -0
- package/components/Combobox/Combobox.js +466 -0
- package/components/Combobox/ComboboxContext.d.ts +8 -0
- package/components/Combobox/ComboboxContext.js +36 -0
- package/components/Combobox/index.d.ts +2 -0
- package/components/Combobox/index.js +1 -0
- package/components/Combobox/types.d.ts +204 -0
- package/components/Combobox/types.js +1 -0
- package/components/Dropdown/Dropdown.js +2 -1
- package/components/Field/Field.d.ts +39 -0
- package/components/Field/Field.js +92 -0
- package/components/Field/FieldContext.d.ts +16 -0
- package/components/Field/FieldContext.js +10 -0
- package/components/Field/index.d.ts +2 -0
- package/components/Field/index.js +1 -0
- package/components/Modal/Modal.d.ts +4 -4
- package/components/Modal/Modal.js +14 -12
- package/components/MultiSelect/MultiSelect.d.ts +39 -0
- package/components/MultiSelect/MultiSelect.js +623 -0
- package/components/MultiSelect/MultiSelectContext.d.ts +20 -0
- package/components/MultiSelect/MultiSelectContext.js +56 -0
- package/components/MultiSelect/index.d.ts +2 -0
- package/components/MultiSelect/index.js +1 -0
- package/components/MultiSelect/types.d.ts +218 -0
- package/components/MultiSelect/types.js +3 -0
- package/components/Notice/Notice.d.ts +1 -1
- package/components/Notice/Notice.js +1 -1
- package/components/Progress/Progress.js +1 -1
- package/components/Progress/types.d.ts +7 -7
- package/components/Radio/Radio.d.ts +2 -0
- package/components/Radio/Radio.js +50 -0
- package/components/Radio/RadioGroup.d.ts +2 -0
- package/components/Radio/RadioGroup.js +54 -0
- package/components/Radio/RadioGroupContext.d.ts +3 -0
- package/components/Radio/RadioGroupContext.js +9 -0
- package/components/Radio/index.d.ts +8 -0
- package/components/Radio/index.js +6 -0
- package/components/Radio/types.d.ts +32 -0
- package/components/Radio/types.js +1 -0
- package/components/Rating/Rating.d.ts +5 -5
- package/components/Rating/Rating.js +2 -2
- package/components/SegmentedControl/SegmentedControl.js +20 -104
- package/components/SegmentedControl/types.d.ts +4 -8
- package/components/Select/Select.d.ts +39 -0
- package/components/Select/Select.js +497 -0
- package/components/Select/SelectContext.d.ts +20 -0
- package/components/Select/SelectContext.js +56 -0
- package/components/Select/index.d.ts +3 -0
- package/components/Select/index.js +1 -0
- package/components/Select/types.d.ts +216 -0
- package/components/Select/types.js +11 -0
- package/components/Sidebar/Sidebar.js +12 -12
- package/components/Sidebar/types.d.ts +5 -5
- package/components/StepIndicator/StepIndicator.js +1 -1
- package/components/StepList/StepList.js +2 -2
- package/components/StepList/types.d.ts +4 -4
- package/components/Switch/Switch.d.ts +9 -0
- package/components/Switch/Switch.js +91 -0
- package/components/Switch/index.d.ts +2 -0
- package/components/Switch/index.js +1 -0
- package/components/Switch/types.d.ts +11 -0
- package/components/Switch/types.js +1 -0
- package/components/TextInput/TextInput.d.ts +8 -0
- package/components/TextInput/TextInput.js +25 -0
- package/components/TextInput/index.d.ts +2 -0
- package/components/TextInput/index.js +1 -0
- package/components/TextInput/types.d.ts +32 -0
- package/components/TextInput/types.js +1 -0
- package/components/Textarea/Textarea.d.ts +6 -0
- package/components/Textarea/Textarea.js +49 -0
- package/components/Textarea/index.d.ts +2 -0
- package/components/Textarea/index.js +1 -0
- package/components/Textarea/types.d.ts +25 -0
- package/components/Textarea/types.js +1 -0
- package/components/index.d.ts +20 -0
- package/components/index.js +10 -0
- package/icons/icons.svg +1 -0
- package/icons/manifest.json +8 -0
- package/icons/registry.d.ts +2 -0
- package/icons/registry.js +1 -0
- package/icons/system/index.d.ts +2 -0
- package/icons/system/index.js +11 -0
- package/package.json +1 -1
- package/styles/all.css +1 -1
- package/styles/all.expanded.css +1187 -96
- package/styles/all.expanded.unlayered.css +1187 -96
- package/styles/all.unlayered.css +1 -1
- package/styles/components/_bundle.scss +20 -0
- package/styles/components/input/index.scss +5 -20
- package/styles/index.scss +16 -0
- package/styles/system/_control.scss +34 -0
- package/styles/system/_tokens.scss +8 -0
- package/styles/system/index.scss +2 -1
- package/styles/utilities/_index.scss +50 -0
- package/tui-manifest.json +632 -61
- package/utils/compose-events.d.ts +15 -0
- package/utils/compose-events.js +27 -0
- package/utils/hash.d.ts +15 -0
- package/utils/hash.js +32 -0
- package/utils/index.d.ts +3 -0
- package/utils/index.js +6 -0
- package/utils/is-dev.d.ts +5 -0
- package/utils/is-dev.js +7 -0
- package/utils/use-controllable-state.d.ts +19 -0
- package/utils/use-controllable-state.js +59 -0
- package/utils/use-roving-group.d.ts +33 -0
- package/utils/use-roving-group.js +123 -0
- package/utils/value-key.d.ts +16 -0
- package/utils/value-key.js +14 -0
package/tui-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.0.
|
|
3
|
-
"generated": "2026-
|
|
2
|
+
"version": "0.0.2",
|
|
3
|
+
"generated": "2026-02-17T04:01:35.339Z",
|
|
4
4
|
"components": {
|
|
5
5
|
"Accordion": {
|
|
6
6
|
"props": {
|
|
@@ -354,7 +354,8 @@
|
|
|
354
354
|
},
|
|
355
355
|
"onClick": {
|
|
356
356
|
"type": "MouseEventHandler<HTMLElement>",
|
|
357
|
-
"required": false
|
|
357
|
+
"required": false,
|
|
358
|
+
"description": "@deprecated Use Card.Link for interactive cards. onClick without Card.Link has no keyboard/screen-reader semantics."
|
|
358
359
|
},
|
|
359
360
|
"title": {
|
|
360
361
|
"type": "string",
|
|
@@ -434,6 +435,59 @@
|
|
|
434
435
|
"Notice"
|
|
435
436
|
]
|
|
436
437
|
},
|
|
438
|
+
"Checkbox": {
|
|
439
|
+
"props": {
|
|
440
|
+
"disabled": {
|
|
441
|
+
"type": "boolean",
|
|
442
|
+
"required": false
|
|
443
|
+
},
|
|
444
|
+
"size": {
|
|
445
|
+
"type": "number",
|
|
446
|
+
"required": false
|
|
447
|
+
},
|
|
448
|
+
"className": {
|
|
449
|
+
"type": "string",
|
|
450
|
+
"required": false
|
|
451
|
+
},
|
|
452
|
+
"id": {
|
|
453
|
+
"type": "string",
|
|
454
|
+
"required": false
|
|
455
|
+
},
|
|
456
|
+
"style": {
|
|
457
|
+
"type": "CSSProperties",
|
|
458
|
+
"required": false
|
|
459
|
+
},
|
|
460
|
+
"title": {
|
|
461
|
+
"type": "string",
|
|
462
|
+
"required": false
|
|
463
|
+
},
|
|
464
|
+
"rel": {
|
|
465
|
+
"type": "string",
|
|
466
|
+
"required": false
|
|
467
|
+
},
|
|
468
|
+
"onClick": {
|
|
469
|
+
"type": "MouseEventHandler<HTMLInputElement>",
|
|
470
|
+
"required": false
|
|
471
|
+
},
|
|
472
|
+
"label": {
|
|
473
|
+
"type": "ReactNode",
|
|
474
|
+
"required": false
|
|
475
|
+
}
|
|
476
|
+
},
|
|
477
|
+
"cssTokens": [],
|
|
478
|
+
"story": {
|
|
479
|
+
"title": "Forms/Checkbox",
|
|
480
|
+
"tags": [
|
|
481
|
+
"autodocs",
|
|
482
|
+
"lms"
|
|
483
|
+
]
|
|
484
|
+
},
|
|
485
|
+
"subcomponents": null,
|
|
486
|
+
"description": null,
|
|
487
|
+
"gotchas": null,
|
|
488
|
+
"examples": null,
|
|
489
|
+
"related": null
|
|
490
|
+
},
|
|
437
491
|
"Chip": {
|
|
438
492
|
"props": {
|
|
439
493
|
"as": {
|
|
@@ -496,6 +550,11 @@
|
|
|
496
550
|
"type": "MouseEventHandler<HTMLElement>",
|
|
497
551
|
"required": false
|
|
498
552
|
},
|
|
553
|
+
"value": {
|
|
554
|
+
"type": "OptionValue",
|
|
555
|
+
"required": false,
|
|
556
|
+
"description": "When inside ChipGroup, identifies this chip for selection tracking"
|
|
557
|
+
},
|
|
499
558
|
"id": {
|
|
500
559
|
"type": "string",
|
|
501
560
|
"required": false
|
|
@@ -531,6 +590,50 @@
|
|
|
531
590
|
"examples": null,
|
|
532
591
|
"related": null
|
|
533
592
|
},
|
|
593
|
+
"ChipGroup": {
|
|
594
|
+
"props": {
|
|
595
|
+
"disabled": {
|
|
596
|
+
"type": "boolean",
|
|
597
|
+
"required": false
|
|
598
|
+
},
|
|
599
|
+
"density": {
|
|
600
|
+
"type": "\"xs\" | \"sm\" | \"md\"",
|
|
601
|
+
"required": false,
|
|
602
|
+
"description": "Gap between chips. Default 'sm'."
|
|
603
|
+
},
|
|
604
|
+
"direction": {
|
|
605
|
+
"type": "\"inline\" | \"stack\"",
|
|
606
|
+
"required": false,
|
|
607
|
+
"description": "Layout direction. Default 'inline' (row wrap)."
|
|
608
|
+
},
|
|
609
|
+
"alignment": {
|
|
610
|
+
"type": "\"start\" | \"center\" | \"end\"",
|
|
611
|
+
"required": false,
|
|
612
|
+
"description": "Alignment along main axis."
|
|
613
|
+
},
|
|
614
|
+
"className": {
|
|
615
|
+
"type": "string",
|
|
616
|
+
"required": false
|
|
617
|
+
},
|
|
618
|
+
"onValueChange": {
|
|
619
|
+
"type": "((value: OptionValue) => void) | ((value: OptionValue[]) => void)",
|
|
620
|
+
"required": false
|
|
621
|
+
}
|
|
622
|
+
},
|
|
623
|
+
"cssTokens": [],
|
|
624
|
+
"story": {
|
|
625
|
+
"title": "Primitives/ChipGroup",
|
|
626
|
+
"tags": [
|
|
627
|
+
"autodocs",
|
|
628
|
+
"stable"
|
|
629
|
+
]
|
|
630
|
+
},
|
|
631
|
+
"subcomponents": null,
|
|
632
|
+
"description": null,
|
|
633
|
+
"gotchas": null,
|
|
634
|
+
"examples": null,
|
|
635
|
+
"related": null
|
|
636
|
+
},
|
|
534
637
|
"Chips": {
|
|
535
638
|
"props": {
|
|
536
639
|
"density": {
|
|
@@ -563,6 +666,77 @@
|
|
|
563
666
|
"examples": null,
|
|
564
667
|
"related": null
|
|
565
668
|
},
|
|
669
|
+
"Combobox": {
|
|
670
|
+
"props": {
|
|
671
|
+
"size": {
|
|
672
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
673
|
+
"required": false,
|
|
674
|
+
"defaultValue": "'md'",
|
|
675
|
+
"description": "Control size."
|
|
676
|
+
},
|
|
677
|
+
"value": {
|
|
678
|
+
"type": "OptionValue",
|
|
679
|
+
"required": false,
|
|
680
|
+
"description": "Controlled selected value."
|
|
681
|
+
},
|
|
682
|
+
"onValueChange": {
|
|
683
|
+
"type": "(value: OptionValue) => void",
|
|
684
|
+
"required": false,
|
|
685
|
+
"description": "Callback when selection changes.\nCalled with the option's value when user selects, or undefined when cleared.\nDoes NOT mutate inputValue — consumer should update inputValue in handler if desired."
|
|
686
|
+
},
|
|
687
|
+
"inputValue": {
|
|
688
|
+
"type": "string",
|
|
689
|
+
"required": false,
|
|
690
|
+
"description": "Controlled input value for search/filter."
|
|
691
|
+
},
|
|
692
|
+
"filterMode": {
|
|
693
|
+
"type": "\"always\" | \"when-searching\"",
|
|
694
|
+
"required": false,
|
|
695
|
+
"defaultValue": "'always'",
|
|
696
|
+
"description": "Controls filtering behavior.\n- 'always': Filter on inputValue at all times (default)\n- 'when-searching': Query is empty when not actively typing,\n so consumers can show all options when user is browsing a selection"
|
|
697
|
+
},
|
|
698
|
+
"open": {
|
|
699
|
+
"type": "boolean",
|
|
700
|
+
"required": false,
|
|
701
|
+
"description": "Controlled open state."
|
|
702
|
+
},
|
|
703
|
+
"defaultOpen": {
|
|
704
|
+
"type": "boolean",
|
|
705
|
+
"required": false,
|
|
706
|
+
"defaultValue": "false",
|
|
707
|
+
"description": "Default open state for uncontrolled usage."
|
|
708
|
+
},
|
|
709
|
+
"disabled": {
|
|
710
|
+
"type": "boolean",
|
|
711
|
+
"required": false,
|
|
712
|
+
"defaultValue": "false",
|
|
713
|
+
"description": "Whether the combobox is disabled."
|
|
714
|
+
},
|
|
715
|
+
"openOnFocus": {
|
|
716
|
+
"type": "boolean",
|
|
717
|
+
"required": false,
|
|
718
|
+
"defaultValue": "true",
|
|
719
|
+
"description": "Whether to open the listbox when the input receives focus."
|
|
720
|
+
},
|
|
721
|
+
"inputClassName": {
|
|
722
|
+
"type": "string",
|
|
723
|
+
"required": false,
|
|
724
|
+
"description": "Class name applied directly to the `<input>` element.\nUse for utilities like `tui-input-reset` that must target the input itself."
|
|
725
|
+
}
|
|
726
|
+
},
|
|
727
|
+
"cssTokens": [],
|
|
728
|
+
"story": {
|
|
729
|
+
"title": "Forms/Combobox",
|
|
730
|
+
"tags": [
|
|
731
|
+
"lms"
|
|
732
|
+
]
|
|
733
|
+
},
|
|
734
|
+
"subcomponents": null,
|
|
735
|
+
"description": null,
|
|
736
|
+
"gotchas": null,
|
|
737
|
+
"examples": null,
|
|
738
|
+
"related": null
|
|
739
|
+
},
|
|
566
740
|
"ContentIndicator": {
|
|
567
741
|
"props": {
|
|
568
742
|
"icon": {
|
|
@@ -642,6 +816,53 @@
|
|
|
642
816
|
"examples": null,
|
|
643
817
|
"related": null
|
|
644
818
|
},
|
|
819
|
+
"Field": {
|
|
820
|
+
"props": {
|
|
821
|
+
"error": {
|
|
822
|
+
"type": "boolean",
|
|
823
|
+
"required": false,
|
|
824
|
+
"description": "Whether the field has an error state"
|
|
825
|
+
},
|
|
826
|
+
"required": {
|
|
827
|
+
"type": "boolean",
|
|
828
|
+
"required": false,
|
|
829
|
+
"description": "Whether the field is required"
|
|
830
|
+
},
|
|
831
|
+
"disabled": {
|
|
832
|
+
"type": "boolean",
|
|
833
|
+
"required": false,
|
|
834
|
+
"description": "Whether the field is disabled"
|
|
835
|
+
},
|
|
836
|
+
"inline": {
|
|
837
|
+
"type": "boolean",
|
|
838
|
+
"required": false,
|
|
839
|
+
"description": "Inline layout: label and control on same row"
|
|
840
|
+
},
|
|
841
|
+
"className": {
|
|
842
|
+
"type": "string",
|
|
843
|
+
"required": false,
|
|
844
|
+
"description": "Additional class name for the field wrapper"
|
|
845
|
+
}
|
|
846
|
+
},
|
|
847
|
+
"cssTokens": [
|
|
848
|
+
"--tui-field-gap",
|
|
849
|
+
"--tui-field-label-fg",
|
|
850
|
+
"--tui-field-helper-fg",
|
|
851
|
+
"--tui-field-error-fg"
|
|
852
|
+
],
|
|
853
|
+
"story": {
|
|
854
|
+
"title": "Forms/Field",
|
|
855
|
+
"tags": [
|
|
856
|
+
"stable",
|
|
857
|
+
"lms"
|
|
858
|
+
]
|
|
859
|
+
},
|
|
860
|
+
"subcomponents": null,
|
|
861
|
+
"description": null,
|
|
862
|
+
"gotchas": null,
|
|
863
|
+
"examples": null,
|
|
864
|
+
"related": null
|
|
865
|
+
},
|
|
645
866
|
"Icon": {
|
|
646
867
|
"props": {
|
|
647
868
|
"name": {
|
|
@@ -833,7 +1054,7 @@
|
|
|
833
1054
|
"description": "Accessible dialog with focus trap, backdrop, and portal rendering",
|
|
834
1055
|
"gotchas": [
|
|
835
1056
|
{
|
|
836
|
-
"note": "Always provide
|
|
1057
|
+
"note": "Always provide aria-labelledby pointing to a heading id for accessibility"
|
|
837
1058
|
},
|
|
838
1059
|
{
|
|
839
1060
|
"note": "Body uses two-layer wrapper for scroll + :has() composition"
|
|
@@ -851,17 +1072,89 @@
|
|
|
851
1072
|
"examples": [
|
|
852
1073
|
{
|
|
853
1074
|
"name": "Basic",
|
|
854
|
-
"code": "<Modal
|
|
1075
|
+
"code": "<Modal open={open} onClose={close} aria-labelledby=\"modal-title\">\n <Modal.Head><h2 id=\"modal-title\">Title</h2></Modal.Head>\n <Modal.Body>Content</Modal.Body>\n <Modal.Foot><Button label=\"Close\" onClick={close} /></Modal.Foot>\n</Modal>"
|
|
855
1076
|
},
|
|
856
1077
|
{
|
|
857
1078
|
"name": "With close button",
|
|
858
|
-
"code": "<Modal
|
|
1079
|
+
"code": "<Modal open={open} onClose={close} showCloseButton aria-labelledby=\"title\">\n <Modal.Head><h2 id=\"title\">Confirm</h2></Modal.Head>\n <Modal.Body>Are you sure?</Modal.Body>\n</Modal>"
|
|
859
1080
|
}
|
|
860
1081
|
],
|
|
861
1082
|
"related": [
|
|
862
1083
|
"Notice"
|
|
863
1084
|
]
|
|
864
1085
|
},
|
|
1086
|
+
"MultiSelect": {
|
|
1087
|
+
"props": {
|
|
1088
|
+
"size": {
|
|
1089
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
1090
|
+
"required": false,
|
|
1091
|
+
"defaultValue": "'md'",
|
|
1092
|
+
"description": "Control size."
|
|
1093
|
+
},
|
|
1094
|
+
"value": {
|
|
1095
|
+
"type": "MultiSelectValue",
|
|
1096
|
+
"required": false,
|
|
1097
|
+
"description": "Controlled selected values."
|
|
1098
|
+
},
|
|
1099
|
+
"onValueChange": {
|
|
1100
|
+
"type": "(value: MultiSelectValue) => void",
|
|
1101
|
+
"required": false,
|
|
1102
|
+
"description": "Callback when selection changes."
|
|
1103
|
+
},
|
|
1104
|
+
"open": {
|
|
1105
|
+
"type": "boolean",
|
|
1106
|
+
"required": false,
|
|
1107
|
+
"description": "Controlled open state."
|
|
1108
|
+
},
|
|
1109
|
+
"defaultOpen": {
|
|
1110
|
+
"type": "boolean",
|
|
1111
|
+
"required": false,
|
|
1112
|
+
"defaultValue": "false",
|
|
1113
|
+
"description": "Default open state for uncontrolled usage."
|
|
1114
|
+
},
|
|
1115
|
+
"disabled": {
|
|
1116
|
+
"type": "boolean",
|
|
1117
|
+
"required": false,
|
|
1118
|
+
"defaultValue": "false",
|
|
1119
|
+
"description": "Whether the entire select is disabled."
|
|
1120
|
+
},
|
|
1121
|
+
"display": {
|
|
1122
|
+
"type": "\"count\" | \"chips\"",
|
|
1123
|
+
"required": false,
|
|
1124
|
+
"defaultValue": "'count'",
|
|
1125
|
+
"description": "Display mode for the trigger.\n- 'count': Shows \"N selected\"\n- 'chips': Shows visual chips for selected items"
|
|
1126
|
+
},
|
|
1127
|
+
"maxChips": {
|
|
1128
|
+
"type": "number",
|
|
1129
|
+
"required": false,
|
|
1130
|
+
"defaultValue": "3",
|
|
1131
|
+
"description": "Maximum number of chips to show before \"+N more\" badge.\nOnly applies when display='chips'."
|
|
1132
|
+
},
|
|
1133
|
+
"max": {
|
|
1134
|
+
"type": "number",
|
|
1135
|
+
"required": false,
|
|
1136
|
+
"description": "Maximum number of selections allowed.\nWhen reached, unselected options become disabled."
|
|
1137
|
+
},
|
|
1138
|
+
"id": {
|
|
1139
|
+
"type": "string",
|
|
1140
|
+
"required": false,
|
|
1141
|
+
"description": "Optional trigger ID override.\nUseful for Field integration via htmlFor."
|
|
1142
|
+
}
|
|
1143
|
+
},
|
|
1144
|
+
"cssTokens": [],
|
|
1145
|
+
"story": {
|
|
1146
|
+
"title": "Forms/MultiSelect",
|
|
1147
|
+
"tags": [
|
|
1148
|
+
"autodocs",
|
|
1149
|
+
"lms"
|
|
1150
|
+
]
|
|
1151
|
+
},
|
|
1152
|
+
"subcomponents": null,
|
|
1153
|
+
"description": null,
|
|
1154
|
+
"gotchas": null,
|
|
1155
|
+
"examples": null,
|
|
1156
|
+
"related": null
|
|
1157
|
+
},
|
|
865
1158
|
"Notice": {
|
|
866
1159
|
"props": {
|
|
867
1160
|
"inline": {
|
|
@@ -911,11 +1204,6 @@
|
|
|
911
1204
|
"required": false,
|
|
912
1205
|
"description": "Controls screen-reader announcement behavior.\n- off: no live region\n- polite: role=status\n- assertive: role=alert"
|
|
913
1206
|
},
|
|
914
|
-
"ariaLabel": {
|
|
915
|
-
"type": "string",
|
|
916
|
-
"required": false,
|
|
917
|
-
"description": "Accessible name when there is no visible title in Notice.Head.\nOnly use when Notice.Head has no title prop - if both exist, the visible title takes precedence."
|
|
918
|
-
},
|
|
919
1207
|
"dismissible": {
|
|
920
1208
|
"type": "boolean",
|
|
921
1209
|
"required": false,
|
|
@@ -1161,20 +1449,10 @@
|
|
|
1161
1449
|
"defaultValue": "true",
|
|
1162
1450
|
"description": "Whether to display labels.\nWhen false, hides all label content regardless of other props."
|
|
1163
1451
|
},
|
|
1164
|
-
"labelledBy": {
|
|
1165
|
-
"type": "string",
|
|
1166
|
-
"required": false,
|
|
1167
|
-
"description": "ARIA: ID of an element that labels this progress bar.\nTakes precedence over `ariaLabel` and `defaultLabel`."
|
|
1168
|
-
},
|
|
1169
|
-
"ariaLabel": {
|
|
1170
|
-
"type": "string",
|
|
1171
|
-
"required": false,
|
|
1172
|
-
"description": "ARIA: Accessible name for the progress bar.\nUse when no visible label exists. Takes precedence over `defaultLabel`."
|
|
1173
|
-
},
|
|
1174
1452
|
"defaultLabel": {
|
|
1175
1453
|
"type": "string",
|
|
1176
1454
|
"required": false,
|
|
1177
|
-
"description": "Fallback accessible name, rendered as visually-hidden text.\nOnly used if neither `
|
|
1455
|
+
"description": "Fallback accessible name, rendered as visually-hidden text.\nOnly used if neither `aria-labelledby` nor `aria-label` is provided."
|
|
1178
1456
|
},
|
|
1179
1457
|
"className": {
|
|
1180
1458
|
"type": "string",
|
|
@@ -1241,26 +1519,56 @@
|
|
|
1241
1519
|
"examples": null,
|
|
1242
1520
|
"related": null
|
|
1243
1521
|
},
|
|
1244
|
-
"
|
|
1522
|
+
"Radio": {
|
|
1245
1523
|
"props": {
|
|
1246
|
-
"
|
|
1247
|
-
"type": "
|
|
1248
|
-
"required": false
|
|
1249
|
-
"description": "Controlled value (1..max). Use with onChange"
|
|
1250
|
-
},
|
|
1251
|
-
"max": {
|
|
1252
|
-
"type": "number",
|
|
1253
|
-
"required": false,
|
|
1254
|
-
"defaultValue": "5",
|
|
1255
|
-
"description": "Maximum icons shown"
|
|
1524
|
+
"label": {
|
|
1525
|
+
"type": "ReactNode",
|
|
1526
|
+
"required": false
|
|
1256
1527
|
},
|
|
1257
1528
|
"disabled": {
|
|
1258
1529
|
"type": "boolean",
|
|
1259
1530
|
"required": false,
|
|
1260
|
-
"
|
|
1531
|
+
"defaultValue": "false"
|
|
1261
1532
|
},
|
|
1262
|
-
"
|
|
1263
|
-
"type": "
|
|
1533
|
+
"className": {
|
|
1534
|
+
"type": "string",
|
|
1535
|
+
"required": false
|
|
1536
|
+
}
|
|
1537
|
+
},
|
|
1538
|
+
"cssTokens": [],
|
|
1539
|
+
"story": {
|
|
1540
|
+
"title": "Forms/RadioGroup",
|
|
1541
|
+
"tags": [
|
|
1542
|
+
"autodocs",
|
|
1543
|
+
"lms"
|
|
1544
|
+
]
|
|
1545
|
+
},
|
|
1546
|
+
"subcomponents": null,
|
|
1547
|
+
"description": null,
|
|
1548
|
+
"gotchas": null,
|
|
1549
|
+
"examples": null,
|
|
1550
|
+
"related": null
|
|
1551
|
+
},
|
|
1552
|
+
"Rating": {
|
|
1553
|
+
"props": {
|
|
1554
|
+
"value": {
|
|
1555
|
+
"type": "number",
|
|
1556
|
+
"required": false,
|
|
1557
|
+
"description": "Controlled value (1..max). Use with onValueChange"
|
|
1558
|
+
},
|
|
1559
|
+
"max": {
|
|
1560
|
+
"type": "number",
|
|
1561
|
+
"required": false,
|
|
1562
|
+
"defaultValue": "5",
|
|
1563
|
+
"description": "Maximum icons shown"
|
|
1564
|
+
},
|
|
1565
|
+
"disabled": {
|
|
1566
|
+
"type": "boolean",
|
|
1567
|
+
"required": false,
|
|
1568
|
+
"description": "Disable interaction (keeps semantics)"
|
|
1569
|
+
},
|
|
1570
|
+
"readOnly": {
|
|
1571
|
+
"type": "boolean",
|
|
1264
1572
|
"required": false,
|
|
1265
1573
|
"description": "Presentational readOnly (no form semantics)"
|
|
1266
1574
|
},
|
|
@@ -1281,10 +1589,10 @@
|
|
|
1281
1589
|
"defaultValue": "secondary",
|
|
1282
1590
|
"description": "Theme feeds foreground color tokens"
|
|
1283
1591
|
},
|
|
1284
|
-
"
|
|
1592
|
+
"onValueChange": {
|
|
1285
1593
|
"type": "(value: number) => void",
|
|
1286
1594
|
"required": false,
|
|
1287
|
-
"description": "Called
|
|
1595
|
+
"description": "Called when the value changes"
|
|
1288
1596
|
},
|
|
1289
1597
|
"allowClear": {
|
|
1290
1598
|
"type": "boolean",
|
|
@@ -1299,11 +1607,6 @@
|
|
|
1299
1607
|
"type": "string",
|
|
1300
1608
|
"required": false,
|
|
1301
1609
|
"description": "Gap override (e.g. '0.25rem') – otherwise uses density utilities"
|
|
1302
|
-
},
|
|
1303
|
-
"ariaLabel": {
|
|
1304
|
-
"type": "string",
|
|
1305
|
-
"required": false,
|
|
1306
|
-
"description": "Accessible label for the rating group. Defaults to \"Rating: X of Y\""
|
|
1307
1610
|
}
|
|
1308
1611
|
},
|
|
1309
1612
|
"cssTokens": [],
|
|
@@ -1377,6 +1680,85 @@
|
|
|
1377
1680
|
"examples": null,
|
|
1378
1681
|
"related": null
|
|
1379
1682
|
},
|
|
1683
|
+
"Select": {
|
|
1684
|
+
"props": {
|
|
1685
|
+
"size": {
|
|
1686
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
1687
|
+
"required": false,
|
|
1688
|
+
"defaultValue": "'md'",
|
|
1689
|
+
"description": "Control size."
|
|
1690
|
+
},
|
|
1691
|
+
"value": {
|
|
1692
|
+
"type": "OptionValue",
|
|
1693
|
+
"required": false,
|
|
1694
|
+
"description": "Controlled selected value."
|
|
1695
|
+
},
|
|
1696
|
+
"onValueChange": {
|
|
1697
|
+
"type": "(value: OptionValue) => void",
|
|
1698
|
+
"required": false,
|
|
1699
|
+
"description": "Callback when selection changes.\nCalled with undefined when selection is cleared."
|
|
1700
|
+
},
|
|
1701
|
+
"open": {
|
|
1702
|
+
"type": "boolean",
|
|
1703
|
+
"required": false,
|
|
1704
|
+
"description": "Controlled open state."
|
|
1705
|
+
},
|
|
1706
|
+
"defaultOpen": {
|
|
1707
|
+
"type": "boolean",
|
|
1708
|
+
"required": false,
|
|
1709
|
+
"defaultValue": "false",
|
|
1710
|
+
"description": "Default open state for uncontrolled usage."
|
|
1711
|
+
},
|
|
1712
|
+
"disabled": {
|
|
1713
|
+
"type": "boolean",
|
|
1714
|
+
"required": false,
|
|
1715
|
+
"defaultValue": "false",
|
|
1716
|
+
"description": "Whether the entire select is disabled."
|
|
1717
|
+
},
|
|
1718
|
+
"side": {
|
|
1719
|
+
"type": "\"top\" | \"bottom\"",
|
|
1720
|
+
"required": false,
|
|
1721
|
+
"defaultValue": "'bottom'",
|
|
1722
|
+
"description": "Preferred side of the trigger to place the listbox."
|
|
1723
|
+
},
|
|
1724
|
+
"align": {
|
|
1725
|
+
"type": "\"start\" | \"center\" | \"end\"",
|
|
1726
|
+
"required": false,
|
|
1727
|
+
"defaultValue": "'start'",
|
|
1728
|
+
"description": "Alignment along the side."
|
|
1729
|
+
},
|
|
1730
|
+
"sideOffset": {
|
|
1731
|
+
"type": "number",
|
|
1732
|
+
"required": false,
|
|
1733
|
+
"defaultValue": "4",
|
|
1734
|
+
"description": "Distance from the trigger in pixels."
|
|
1735
|
+
},
|
|
1736
|
+
"clearable": {
|
|
1737
|
+
"type": "boolean",
|
|
1738
|
+
"required": false,
|
|
1739
|
+
"defaultValue": "false",
|
|
1740
|
+
"description": "Whether the selection can be cleared with a clear button."
|
|
1741
|
+
},
|
|
1742
|
+
"id": {
|
|
1743
|
+
"type": "string",
|
|
1744
|
+
"required": false,
|
|
1745
|
+
"description": "Optional trigger ID override.\nUseful for Field integration via htmlFor."
|
|
1746
|
+
}
|
|
1747
|
+
},
|
|
1748
|
+
"cssTokens": [],
|
|
1749
|
+
"story": {
|
|
1750
|
+
"title": "Forms/Select",
|
|
1751
|
+
"tags": [
|
|
1752
|
+
"autodocs",
|
|
1753
|
+
"lms"
|
|
1754
|
+
]
|
|
1755
|
+
},
|
|
1756
|
+
"subcomponents": null,
|
|
1757
|
+
"description": null,
|
|
1758
|
+
"gotchas": null,
|
|
1759
|
+
"examples": null,
|
|
1760
|
+
"related": null
|
|
1761
|
+
},
|
|
1380
1762
|
"Sidebar": {
|
|
1381
1763
|
"props": {
|
|
1382
1764
|
"position": {
|
|
@@ -1391,7 +1773,7 @@
|
|
|
1391
1773
|
"defaultValue": "false",
|
|
1392
1774
|
"description": "Enable drawer mode (mobile overlay).\nWhen true, sidebar renders via portal with backdrop and focus trap."
|
|
1393
1775
|
},
|
|
1394
|
-
"
|
|
1776
|
+
"open": {
|
|
1395
1777
|
"type": "boolean",
|
|
1396
1778
|
"required": false,
|
|
1397
1779
|
"description": "Drawer open state. Required when `drawer={true}`."
|
|
@@ -1401,11 +1783,6 @@
|
|
|
1401
1783
|
"required": false,
|
|
1402
1784
|
"description": "Callback to close the drawer.\nCalled when ESC is pressed or backdrop is clicked."
|
|
1403
1785
|
},
|
|
1404
|
-
"ariaLabel": {
|
|
1405
|
-
"type": "string",
|
|
1406
|
-
"required": false,
|
|
1407
|
-
"description": "Accessible label for the aside landmark.\nTypically omit this if using `ariaLabel` on `Sidebar.Nav` instead."
|
|
1408
|
-
},
|
|
1409
1786
|
"children": {
|
|
1410
1787
|
"type": "ReactNode",
|
|
1411
1788
|
"required": true,
|
|
@@ -1490,16 +1867,6 @@
|
|
|
1490
1867
|
},
|
|
1491
1868
|
"StepList": {
|
|
1492
1869
|
"props": {
|
|
1493
|
-
"ariaLabel": {
|
|
1494
|
-
"type": "string",
|
|
1495
|
-
"required": false,
|
|
1496
|
-
"description": "Accessible label for the navigation landmark.\nUse either `ariaLabel` or `ariaLabelledBy`, not both."
|
|
1497
|
-
},
|
|
1498
|
-
"ariaLabelledBy": {
|
|
1499
|
-
"type": "string",
|
|
1500
|
-
"required": false,
|
|
1501
|
-
"description": "ID of a visible heading that labels the navigation.\nUse either `ariaLabel` or `ariaLabelledBy`, not both."
|
|
1502
|
-
},
|
|
1503
1870
|
"ariaCurrent": {
|
|
1504
1871
|
"type": "\"step\" | \"page\"",
|
|
1505
1872
|
"required": false,
|
|
@@ -1537,6 +1904,60 @@
|
|
|
1537
1904
|
"examples": null,
|
|
1538
1905
|
"related": null
|
|
1539
1906
|
},
|
|
1907
|
+
"Switch": {
|
|
1908
|
+
"props": {
|
|
1909
|
+
"disabled": {
|
|
1910
|
+
"type": "boolean",
|
|
1911
|
+
"required": false
|
|
1912
|
+
},
|
|
1913
|
+
"className": {
|
|
1914
|
+
"type": "string",
|
|
1915
|
+
"required": false
|
|
1916
|
+
},
|
|
1917
|
+
"id": {
|
|
1918
|
+
"type": "string",
|
|
1919
|
+
"required": false
|
|
1920
|
+
},
|
|
1921
|
+
"style": {
|
|
1922
|
+
"type": "CSSProperties",
|
|
1923
|
+
"required": false
|
|
1924
|
+
},
|
|
1925
|
+
"title": {
|
|
1926
|
+
"type": "string",
|
|
1927
|
+
"required": false
|
|
1928
|
+
},
|
|
1929
|
+
"rel": {
|
|
1930
|
+
"type": "string",
|
|
1931
|
+
"required": false
|
|
1932
|
+
},
|
|
1933
|
+
"onClick": {
|
|
1934
|
+
"type": "MouseEventHandler<HTMLButtonElement>",
|
|
1935
|
+
"required": false
|
|
1936
|
+
},
|
|
1937
|
+
"size": {
|
|
1938
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
1939
|
+
"required": false,
|
|
1940
|
+
"defaultValue": "md"
|
|
1941
|
+
},
|
|
1942
|
+
"label": {
|
|
1943
|
+
"type": "ReactNode",
|
|
1944
|
+
"required": false
|
|
1945
|
+
}
|
|
1946
|
+
},
|
|
1947
|
+
"cssTokens": [],
|
|
1948
|
+
"story": {
|
|
1949
|
+
"title": "Forms/Switch",
|
|
1950
|
+
"tags": [
|
|
1951
|
+
"autodocs",
|
|
1952
|
+
"lms"
|
|
1953
|
+
]
|
|
1954
|
+
},
|
|
1955
|
+
"subcomponents": null,
|
|
1956
|
+
"description": null,
|
|
1957
|
+
"gotchas": null,
|
|
1958
|
+
"examples": null,
|
|
1959
|
+
"related": null
|
|
1960
|
+
},
|
|
1540
1961
|
"Tabs": {
|
|
1541
1962
|
"props": {
|
|
1542
1963
|
"variant": {
|
|
@@ -1634,6 +2055,156 @@
|
|
|
1634
2055
|
"SegmentedControl"
|
|
1635
2056
|
]
|
|
1636
2057
|
},
|
|
2058
|
+
"Textarea": {
|
|
2059
|
+
"props": {
|
|
2060
|
+
"disabled": {
|
|
2061
|
+
"type": "boolean",
|
|
2062
|
+
"required": false
|
|
2063
|
+
},
|
|
2064
|
+
"onChange": {
|
|
2065
|
+
"type": "ChangeEventHandler<HTMLTextAreaElement>",
|
|
2066
|
+
"required": false
|
|
2067
|
+
},
|
|
2068
|
+
"className": {
|
|
2069
|
+
"type": "string",
|
|
2070
|
+
"required": false,
|
|
2071
|
+
"description": "Class name applied to the textarea element."
|
|
2072
|
+
},
|
|
2073
|
+
"id": {
|
|
2074
|
+
"type": "string",
|
|
2075
|
+
"required": false
|
|
2076
|
+
},
|
|
2077
|
+
"style": {
|
|
2078
|
+
"type": "CSSProperties",
|
|
2079
|
+
"required": false
|
|
2080
|
+
},
|
|
2081
|
+
"title": {
|
|
2082
|
+
"type": "string",
|
|
2083
|
+
"required": false
|
|
2084
|
+
},
|
|
2085
|
+
"role": {
|
|
2086
|
+
"type": "AriaRole",
|
|
2087
|
+
"required": false
|
|
2088
|
+
},
|
|
2089
|
+
"rel": {
|
|
2090
|
+
"type": "string",
|
|
2091
|
+
"required": false
|
|
2092
|
+
},
|
|
2093
|
+
"onClick": {
|
|
2094
|
+
"type": "MouseEventHandler<HTMLTextAreaElement>",
|
|
2095
|
+
"required": false
|
|
2096
|
+
},
|
|
2097
|
+
"size": {
|
|
2098
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
2099
|
+
"required": false,
|
|
2100
|
+
"defaultValue": "md",
|
|
2101
|
+
"description": "Control size."
|
|
2102
|
+
},
|
|
2103
|
+
"resize": {
|
|
2104
|
+
"type": "\"none\" | \"vertical\" | \"horizontal\" | \"both\"",
|
|
2105
|
+
"required": false,
|
|
2106
|
+
"defaultValue": "vertical",
|
|
2107
|
+
"description": "Resize behaviour.\nIgnored when `autoResize` is true (resize is disabled to avoid conflict)."
|
|
2108
|
+
},
|
|
2109
|
+
"autoResize": {
|
|
2110
|
+
"type": "boolean",
|
|
2111
|
+
"required": false,
|
|
2112
|
+
"defaultValue": "false",
|
|
2113
|
+
"description": "Automatically grow height to fit content.\nDisables manual resize and scrollbar."
|
|
2114
|
+
}
|
|
2115
|
+
},
|
|
2116
|
+
"cssTokens": [],
|
|
2117
|
+
"story": {
|
|
2118
|
+
"title": "Forms/Textarea",
|
|
2119
|
+
"tags": [
|
|
2120
|
+
"autodocs",
|
|
2121
|
+
"stable",
|
|
2122
|
+
"lms"
|
|
2123
|
+
]
|
|
2124
|
+
},
|
|
2125
|
+
"subcomponents": null,
|
|
2126
|
+
"description": null,
|
|
2127
|
+
"gotchas": null,
|
|
2128
|
+
"examples": null,
|
|
2129
|
+
"related": null
|
|
2130
|
+
},
|
|
2131
|
+
"TextInput": {
|
|
2132
|
+
"props": {
|
|
2133
|
+
"disabled": {
|
|
2134
|
+
"type": "boolean",
|
|
2135
|
+
"required": false
|
|
2136
|
+
},
|
|
2137
|
+
"onChange": {
|
|
2138
|
+
"type": "ChangeEventHandler<HTMLInputElement>",
|
|
2139
|
+
"required": false
|
|
2140
|
+
},
|
|
2141
|
+
"className": {
|
|
2142
|
+
"type": "string",
|
|
2143
|
+
"required": false,
|
|
2144
|
+
"description": "Additional class name applied to the root wrapper element."
|
|
2145
|
+
},
|
|
2146
|
+
"id": {
|
|
2147
|
+
"type": "string",
|
|
2148
|
+
"required": false
|
|
2149
|
+
},
|
|
2150
|
+
"style": {
|
|
2151
|
+
"type": "CSSProperties",
|
|
2152
|
+
"required": false
|
|
2153
|
+
},
|
|
2154
|
+
"title": {
|
|
2155
|
+
"type": "string",
|
|
2156
|
+
"required": false
|
|
2157
|
+
},
|
|
2158
|
+
"role": {
|
|
2159
|
+
"type": "AriaRole",
|
|
2160
|
+
"required": false
|
|
2161
|
+
},
|
|
2162
|
+
"rel": {
|
|
2163
|
+
"type": "string",
|
|
2164
|
+
"required": false
|
|
2165
|
+
},
|
|
2166
|
+
"onClick": {
|
|
2167
|
+
"type": "MouseEventHandler<HTMLInputElement>",
|
|
2168
|
+
"required": false
|
|
2169
|
+
},
|
|
2170
|
+
"type": {
|
|
2171
|
+
"type": "\"number\" | \"text\" | \"email\" | \"password\" | \"url\" | \"tel\" | \"search\"",
|
|
2172
|
+
"required": false,
|
|
2173
|
+
"defaultValue": "text",
|
|
2174
|
+
"description": "Input type."
|
|
2175
|
+
},
|
|
2176
|
+
"size": {
|
|
2177
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
2178
|
+
"required": false,
|
|
2179
|
+
"defaultValue": "md",
|
|
2180
|
+
"description": "Control size."
|
|
2181
|
+
},
|
|
2182
|
+
"suffix": {
|
|
2183
|
+
"type": "ReactNode",
|
|
2184
|
+
"required": false,
|
|
2185
|
+
"description": "Content to render after the input (icon, button)."
|
|
2186
|
+
},
|
|
2187
|
+
"inputClassName": {
|
|
2188
|
+
"type": "string",
|
|
2189
|
+
"required": false,
|
|
2190
|
+
"description": "Class name applied directly to the `<input>` element.\nUse for utilities like `tui-input-reset` that must target the input itself."
|
|
2191
|
+
}
|
|
2192
|
+
},
|
|
2193
|
+
"cssTokens": [],
|
|
2194
|
+
"story": {
|
|
2195
|
+
"title": "Forms/TextInput",
|
|
2196
|
+
"tags": [
|
|
2197
|
+
"autodocs",
|
|
2198
|
+
"stable",
|
|
2199
|
+
"lms"
|
|
2200
|
+
]
|
|
2201
|
+
},
|
|
2202
|
+
"subcomponents": null,
|
|
2203
|
+
"description": null,
|
|
2204
|
+
"gotchas": null,
|
|
2205
|
+
"examples": null,
|
|
2206
|
+
"related": null
|
|
2207
|
+
},
|
|
1637
2208
|
"Toolbar": {
|
|
1638
2209
|
"props": {
|
|
1639
2210
|
"orientation": {
|
|
@@ -1850,9 +2421,9 @@
|
|
|
1850
2421
|
"lms": 7,
|
|
1851
2422
|
"player": 24,
|
|
1852
2423
|
"reaction": 36,
|
|
1853
|
-
"system":
|
|
2424
|
+
"system": 75
|
|
1854
2425
|
},
|
|
1855
|
-
"total":
|
|
2426
|
+
"total": 154,
|
|
1856
2427
|
"manifest": "./icons/manifest.json"
|
|
1857
2428
|
}
|
|
1858
2429
|
}
|