@treeui/mcp 0.1.0 → 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.
- package/LICENSE +22 -0
- package/dist/{chunk-SNF26WKA.js → chunk-HN245XRN.js} +482 -356
- package/dist/cli.cjs +482 -356
- package/dist/cli.js +1 -1
- package/dist/index.cjs +485 -361
- package/dist/index.js +4 -6
- package/package.json +6 -6
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// src/generated/treeui.catalog.json
|
|
2
2
|
var treeui_catalog_default = {
|
|
3
|
-
generatedAt: "2026-
|
|
3
|
+
generatedAt: "2026-06-26T22:57:20.487Z",
|
|
4
4
|
packageName: "@treeui/vue",
|
|
5
|
-
packageVersion: "0.
|
|
5
|
+
packageVersion: "0.8.0",
|
|
6
6
|
decisionGuides: [
|
|
7
7
|
{
|
|
8
8
|
id: "single-choice",
|
|
@@ -279,6 +279,37 @@ var treeui_catalog_default = {
|
|
|
279
279
|
"Use `TCard` only when the stat needs additional arbitrary content."
|
|
280
280
|
]
|
|
281
281
|
},
|
|
282
|
+
{
|
|
283
|
+
id: "color-field",
|
|
284
|
+
name: "Color field",
|
|
285
|
+
useWhen: [
|
|
286
|
+
"A form needs a color selection control without adding a dedicated TreeUI component."
|
|
287
|
+
],
|
|
288
|
+
compose: [
|
|
289
|
+
"TFormField",
|
|
290
|
+
'native input[type="color"]'
|
|
291
|
+
],
|
|
292
|
+
notes: [
|
|
293
|
+
"Wrap the native color input with `TFormField` for label, hint, and error handling."
|
|
294
|
+
]
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
id: "tag-input",
|
|
298
|
+
name: "Tag input field",
|
|
299
|
+
useWhen: [
|
|
300
|
+
"A form needs freeform tag entry such as domains, labels, or emails."
|
|
301
|
+
],
|
|
302
|
+
compose: [
|
|
303
|
+
"TFormField",
|
|
304
|
+
"TInput",
|
|
305
|
+
"TTag",
|
|
306
|
+
"TStack"
|
|
307
|
+
],
|
|
308
|
+
notes: [
|
|
309
|
+
"Keep the draft value in app state and add a tag on Enter or separator keys.",
|
|
310
|
+
"Use removable `TTag` items below or inside the field wrapper."
|
|
311
|
+
]
|
|
312
|
+
},
|
|
282
313
|
{
|
|
283
314
|
id: "data-listing",
|
|
284
315
|
name: "Data table with paging",
|
|
@@ -291,7 +322,23 @@ var treeui_catalog_default = {
|
|
|
291
322
|
"TStack"
|
|
292
323
|
],
|
|
293
324
|
notes: [
|
|
294
|
-
"`TTable` stays focused on structured listing; filters and toolbars compose around it."
|
|
325
|
+
"`TTable` stays focused on structured listing; filters and toolbars compose around it.",
|
|
326
|
+
"Use `#cell-{key}` slots when a column renders derived or rich content."
|
|
327
|
+
]
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
id: "router-backed-tabs",
|
|
331
|
+
name: "Router-backed tabs",
|
|
332
|
+
useWhen: [
|
|
333
|
+
"Tabs should deep-link to app state without turning into primary route navigation."
|
|
334
|
+
],
|
|
335
|
+
compose: [
|
|
336
|
+
"TTabs",
|
|
337
|
+
"app router state"
|
|
338
|
+
],
|
|
339
|
+
notes: [
|
|
340
|
+
"Bind `v-model` to a route param, query param, or derived route name in the app layer.",
|
|
341
|
+
"Prefer `TNavMenu` when the selection becomes app-section navigation instead of in-place panel switching."
|
|
295
342
|
]
|
|
296
343
|
},
|
|
297
344
|
{
|
|
@@ -309,6 +356,21 @@ var treeui_catalog_default = {
|
|
|
309
356
|
"Use `TToast` only for the post-confirm success feedback."
|
|
310
357
|
]
|
|
311
358
|
},
|
|
359
|
+
{
|
|
360
|
+
id: "chart-surface",
|
|
361
|
+
name: "Chart surface",
|
|
362
|
+
useWhen: [
|
|
363
|
+
"A screen needs data visualization, but the charting engine should stay external to TreeUI."
|
|
364
|
+
],
|
|
365
|
+
compose: [
|
|
366
|
+
"TCard",
|
|
367
|
+
"TStack",
|
|
368
|
+
"external chart library"
|
|
369
|
+
],
|
|
370
|
+
notes: [
|
|
371
|
+
"Use TreeUI for the surrounding surface, headings, badges, filters, and empty/loading states."
|
|
372
|
+
]
|
|
373
|
+
},
|
|
312
374
|
{
|
|
313
375
|
id: "anchored-help",
|
|
314
376
|
name: "Anchored help affordance",
|
|
@@ -381,7 +443,7 @@ var treeui_catalog_default = {
|
|
|
381
443
|
},
|
|
382
444
|
globalRules: [
|
|
383
445
|
"Always import `@treeui/vue/style.css` once in the consuming application.",
|
|
384
|
-
"
|
|
446
|
+
"All components use the `T<Name>` export prefix; there are no `Tree<Name>` aliases.",
|
|
385
447
|
"Form controls use `modelValue` + `update:modelValue`.",
|
|
386
448
|
"Overlay-style components generally support controlled and uncontrolled open state.",
|
|
387
449
|
"Date-only values use `YYYY-MM-DD`.",
|
|
@@ -409,7 +471,7 @@ var treeui_catalog_default = {
|
|
|
409
471
|
TSelect: {
|
|
410
472
|
required: [],
|
|
411
473
|
notes: [
|
|
412
|
-
"Pass `options` as `{ label, value, disabled? }[]`.",
|
|
474
|
+
"Pass `options` as `{ label, value, disabled? }[]` where `value` can be `string` or `number`.",
|
|
413
475
|
"Use `placeholder` when no selection has been made."
|
|
414
476
|
]
|
|
415
477
|
},
|
|
@@ -487,6 +549,19 @@ var treeui_catalog_default = {
|
|
|
487
549
|
notes: [
|
|
488
550
|
"Pass `plans` matching the same core fields used by `TPricingCard`."
|
|
489
551
|
]
|
|
552
|
+
},
|
|
553
|
+
TModal: {
|
|
554
|
+
required: [],
|
|
555
|
+
notes: [
|
|
556
|
+
"Use `v-model:open` for the idiomatic Vue controlled pattern."
|
|
557
|
+
]
|
|
558
|
+
},
|
|
559
|
+
TBreadcrumb: {
|
|
560
|
+
required: [],
|
|
561
|
+
notes: [
|
|
562
|
+
"Use `href` for native links.",
|
|
563
|
+
"Use `to` when the app has vue-router and breadcrumb items should render RouterLink."
|
|
564
|
+
]
|
|
490
565
|
}
|
|
491
566
|
},
|
|
492
567
|
appPatterns: {
|
|
@@ -509,16 +584,13 @@ var treeui_catalog_default = {
|
|
|
509
584
|
components: [
|
|
510
585
|
{
|
|
511
586
|
name: "TAccordion",
|
|
512
|
-
|
|
513
|
-
aliases: [
|
|
514
|
-
"TreeAccordion"
|
|
515
|
-
],
|
|
587
|
+
aliases: [],
|
|
516
588
|
package: "@treeui/vue",
|
|
517
589
|
kind: "disclosure",
|
|
518
590
|
category: "Data Display",
|
|
519
591
|
status: "available",
|
|
520
592
|
purpose: "Organized content sections with expandable/collapsible behavior. Supports single-open and multi-open modes.\n",
|
|
521
|
-
sourceFile: "packages/vue/src/components/
|
|
593
|
+
sourceFile: "packages/vue/src/components/TAccordion.vue",
|
|
522
594
|
storyFile: "apps/docs/src/stories/Accordion.stories.ts",
|
|
523
595
|
storyTitle: "Components/Data Display/Accordion",
|
|
524
596
|
manifestFile: "docs/ai/COMPONENTS/accordion.yaml",
|
|
@@ -565,16 +637,13 @@ var treeui_catalog_default = {
|
|
|
565
637
|
},
|
|
566
638
|
{
|
|
567
639
|
name: "TAlert",
|
|
568
|
-
|
|
569
|
-
aliases: [
|
|
570
|
-
"TreeAlert"
|
|
571
|
-
],
|
|
640
|
+
aliases: [],
|
|
572
641
|
package: "@treeui/vue",
|
|
573
642
|
kind: "feedback",
|
|
574
643
|
category: "Feedback",
|
|
575
644
|
status: "available",
|
|
576
645
|
purpose: "Inline status banner for info, success, warning, and danger messages.",
|
|
577
|
-
sourceFile: "packages/vue/src/components/
|
|
646
|
+
sourceFile: "packages/vue/src/components/TAlert.vue",
|
|
578
647
|
storyFile: "apps/docs/src/stories/Alert.stories.ts",
|
|
579
648
|
storyTitle: "Components/Feedback/Alert",
|
|
580
649
|
manifestFile: "docs/ai/COMPONENTS/alert.yaml",
|
|
@@ -592,7 +661,7 @@ var treeui_catalog_default = {
|
|
|
592
661
|
},
|
|
593
662
|
{
|
|
594
663
|
name: "size",
|
|
595
|
-
type: "
|
|
664
|
+
type: "TSize",
|
|
596
665
|
default: "md",
|
|
597
666
|
values: [
|
|
598
667
|
"sm",
|
|
@@ -668,14 +737,11 @@ var treeui_catalog_default = {
|
|
|
668
737
|
},
|
|
669
738
|
{
|
|
670
739
|
name: "TAvatar",
|
|
671
|
-
|
|
672
|
-
aliases: [
|
|
673
|
-
"TreeAvatar"
|
|
674
|
-
],
|
|
740
|
+
aliases: [],
|
|
675
741
|
package: "@treeui/vue",
|
|
676
742
|
category: "Data Display",
|
|
677
743
|
description: "User image with fallback initials and optional status indicator dot.",
|
|
678
|
-
sourceFile: "packages/vue/src/components/
|
|
744
|
+
sourceFile: "packages/vue/src/components/TAvatar.vue",
|
|
679
745
|
storyFile: "apps/docs/src/stories/Avatar.stories.ts",
|
|
680
746
|
storyTitle: "Components/Data Display/Avatar",
|
|
681
747
|
manifestFile: "docs/ai/COMPONENTS/avatar.yaml",
|
|
@@ -700,7 +766,7 @@ var treeui_catalog_default = {
|
|
|
700
766
|
},
|
|
701
767
|
{
|
|
702
768
|
name: "size",
|
|
703
|
-
type: "
|
|
769
|
+
type: "TSize",
|
|
704
770
|
default: "md",
|
|
705
771
|
values: [
|
|
706
772
|
"sm",
|
|
@@ -710,7 +776,7 @@ var treeui_catalog_default = {
|
|
|
710
776
|
},
|
|
711
777
|
{
|
|
712
778
|
name: "status",
|
|
713
|
-
type: "
|
|
779
|
+
type: "TAvatarStatus",
|
|
714
780
|
required: false,
|
|
715
781
|
values: [
|
|
716
782
|
"online",
|
|
@@ -748,23 +814,20 @@ var treeui_catalog_default = {
|
|
|
748
814
|
},
|
|
749
815
|
{
|
|
750
816
|
name: "TBadge",
|
|
751
|
-
|
|
752
|
-
aliases: [
|
|
753
|
-
"TreeBadge"
|
|
754
|
-
],
|
|
817
|
+
aliases: [],
|
|
755
818
|
package: "@treeui/vue",
|
|
756
819
|
kind: "display",
|
|
757
820
|
category: "Data Display",
|
|
758
821
|
status: "available",
|
|
759
822
|
purpose: "Compact status or metadata label with optional icon.",
|
|
760
|
-
sourceFile: "packages/vue/src/components/
|
|
823
|
+
sourceFile: "packages/vue/src/components/TBadge.vue",
|
|
761
824
|
storyFile: "apps/docs/src/stories/Badge.stories.ts",
|
|
762
825
|
storyTitle: "Components/Data Display/Badge",
|
|
763
826
|
manifestFile: "docs/ai/COMPONENTS/badge.yaml",
|
|
764
827
|
props: [
|
|
765
828
|
{
|
|
766
829
|
name: "variant",
|
|
767
|
-
type: "
|
|
830
|
+
type: "TVariant",
|
|
768
831
|
default: "soft",
|
|
769
832
|
values: [
|
|
770
833
|
"solid",
|
|
@@ -774,9 +837,22 @@ var treeui_catalog_default = {
|
|
|
774
837
|
"danger"
|
|
775
838
|
]
|
|
776
839
|
},
|
|
840
|
+
{
|
|
841
|
+
name: "tone",
|
|
842
|
+
type: "TBadgeTone",
|
|
843
|
+
default: "neutral",
|
|
844
|
+
values: [
|
|
845
|
+
"neutral",
|
|
846
|
+
"success",
|
|
847
|
+
"warning",
|
|
848
|
+
"danger",
|
|
849
|
+
"info"
|
|
850
|
+
],
|
|
851
|
+
description: "Optional semantic tone layered on top of the visual variant."
|
|
852
|
+
},
|
|
777
853
|
{
|
|
778
854
|
name: "size",
|
|
779
|
-
type: "
|
|
855
|
+
type: "TSize",
|
|
780
856
|
default: "md",
|
|
781
857
|
values: [
|
|
782
858
|
"sm",
|
|
@@ -815,16 +891,13 @@ var treeui_catalog_default = {
|
|
|
815
891
|
},
|
|
816
892
|
{
|
|
817
893
|
name: "TBreadcrumb",
|
|
818
|
-
|
|
819
|
-
aliases: [
|
|
820
|
-
"TreeBreadcrumb"
|
|
821
|
-
],
|
|
894
|
+
aliases: [],
|
|
822
895
|
package: "@treeui/vue",
|
|
823
896
|
kind: "navigation",
|
|
824
897
|
category: "Navigation",
|
|
825
898
|
status: "available",
|
|
826
899
|
purpose: "Hierarchical navigation trail showing the user's current location within a site or application.",
|
|
827
|
-
sourceFile: "packages/vue/src/components/
|
|
900
|
+
sourceFile: "packages/vue/src/components/TBreadcrumb.vue",
|
|
828
901
|
storyFile: "apps/docs/src/stories/Breadcrumb.stories.ts",
|
|
829
902
|
storyTitle: "Components/Navigation/Breadcrumb",
|
|
830
903
|
manifestFile: "docs/ai/COMPONENTS/breadcrumb.yaml",
|
|
@@ -858,22 +931,22 @@ var treeui_catalog_default = {
|
|
|
858
931
|
},
|
|
859
932
|
setup: {
|
|
860
933
|
required: [],
|
|
861
|
-
notes: [
|
|
934
|
+
notes: [
|
|
935
|
+
"Use `href` for native links.",
|
|
936
|
+
"Use `to` when the app has vue-router and breadcrumb items should render RouterLink."
|
|
937
|
+
]
|
|
862
938
|
},
|
|
863
939
|
recipes: []
|
|
864
940
|
},
|
|
865
941
|
{
|
|
866
942
|
name: "TButton",
|
|
867
|
-
|
|
868
|
-
aliases: [
|
|
869
|
-
"TreeButton"
|
|
870
|
-
],
|
|
943
|
+
aliases: [],
|
|
871
944
|
package: "@treeui/vue",
|
|
872
945
|
kind: "primitive",
|
|
873
946
|
category: "Actions",
|
|
874
947
|
status: "available",
|
|
875
948
|
purpose: "Clickable action trigger with variants, sizes, optional polymorphism, and loading state.",
|
|
876
|
-
sourceFile: "packages/vue/src/components/
|
|
949
|
+
sourceFile: "packages/vue/src/components/TButton.vue",
|
|
877
950
|
storyFile: "apps/docs/src/stories/Button.stories.ts",
|
|
878
951
|
storyTitle: "Components/Actions/Button",
|
|
879
952
|
manifestFile: "docs/ai/COMPONENTS/button.yaml",
|
|
@@ -885,7 +958,7 @@ var treeui_catalog_default = {
|
|
|
885
958
|
},
|
|
886
959
|
{
|
|
887
960
|
name: "variant",
|
|
888
|
-
type: "
|
|
961
|
+
type: "TVariant",
|
|
889
962
|
default: "solid",
|
|
890
963
|
values: [
|
|
891
964
|
"solid",
|
|
@@ -897,7 +970,7 @@ var treeui_catalog_default = {
|
|
|
897
970
|
},
|
|
898
971
|
{
|
|
899
972
|
name: "size",
|
|
900
|
-
type: "
|
|
973
|
+
type: "TSize",
|
|
901
974
|
default: "md",
|
|
902
975
|
values: [
|
|
903
976
|
"sm",
|
|
@@ -962,16 +1035,13 @@ var treeui_catalog_default = {
|
|
|
962
1035
|
},
|
|
963
1036
|
{
|
|
964
1037
|
name: "TCard",
|
|
965
|
-
|
|
966
|
-
aliases: [
|
|
967
|
-
"TreeCard"
|
|
968
|
-
],
|
|
1038
|
+
aliases: [],
|
|
969
1039
|
package: "@treeui/vue",
|
|
970
1040
|
kind: "layout",
|
|
971
1041
|
category: "Data Display",
|
|
972
1042
|
status: "available",
|
|
973
1043
|
purpose: "Surface container with optional header and footer slots.",
|
|
974
|
-
sourceFile: "packages/vue/src/components/
|
|
1044
|
+
sourceFile: "packages/vue/src/components/TCard.vue",
|
|
975
1045
|
storyFile: "apps/docs/src/stories/Card.stories.ts",
|
|
976
1046
|
storyTitle: "Components/Data Display/Card",
|
|
977
1047
|
manifestFile: "docs/ai/COMPONENTS/card.yaml",
|
|
@@ -983,23 +1053,30 @@ var treeui_catalog_default = {
|
|
|
983
1053
|
},
|
|
984
1054
|
{
|
|
985
1055
|
name: "variant",
|
|
986
|
-
type: "
|
|
1056
|
+
type: "TCardVariant",
|
|
987
1057
|
default: "outline",
|
|
988
1058
|
values: [
|
|
989
1059
|
"outline",
|
|
990
1060
|
"soft",
|
|
991
|
-
"solid"
|
|
1061
|
+
"solid",
|
|
1062
|
+
"inset"
|
|
992
1063
|
]
|
|
993
1064
|
},
|
|
994
1065
|
{
|
|
995
1066
|
name: "size",
|
|
996
|
-
type: "
|
|
1067
|
+
type: "TSize",
|
|
997
1068
|
default: "md",
|
|
998
1069
|
values: [
|
|
999
1070
|
"sm",
|
|
1000
1071
|
"md",
|
|
1001
1072
|
"lg"
|
|
1002
1073
|
]
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
name: "title",
|
|
1077
|
+
type: "string",
|
|
1078
|
+
default: "undefined",
|
|
1079
|
+
description: "Optional card heading rendered inside the header area."
|
|
1003
1080
|
}
|
|
1004
1081
|
],
|
|
1005
1082
|
events: [],
|
|
@@ -1007,6 +1084,9 @@ var treeui_catalog_default = {
|
|
|
1007
1084
|
{
|
|
1008
1085
|
name: "header"
|
|
1009
1086
|
},
|
|
1087
|
+
{
|
|
1088
|
+
name: "actions"
|
|
1089
|
+
},
|
|
1010
1090
|
{
|
|
1011
1091
|
name: "default"
|
|
1012
1092
|
},
|
|
@@ -1047,20 +1127,19 @@ var treeui_catalog_default = {
|
|
|
1047
1127
|
required: [],
|
|
1048
1128
|
notes: []
|
|
1049
1129
|
},
|
|
1050
|
-
recipes: [
|
|
1130
|
+
recipes: [
|
|
1131
|
+
"chart-surface"
|
|
1132
|
+
]
|
|
1051
1133
|
},
|
|
1052
1134
|
{
|
|
1053
1135
|
name: "TCheckbox",
|
|
1054
|
-
|
|
1055
|
-
aliases: [
|
|
1056
|
-
"TreeCheckbox"
|
|
1057
|
-
],
|
|
1136
|
+
aliases: [],
|
|
1058
1137
|
package: "@treeui/vue",
|
|
1059
1138
|
kind: "primitive",
|
|
1060
1139
|
category: "Data Entry",
|
|
1061
1140
|
status: "available",
|
|
1062
1141
|
purpose: "Boolean toggle with indeterminate state; supports v-model via modelValue.",
|
|
1063
|
-
sourceFile: "packages/vue/src/components/
|
|
1142
|
+
sourceFile: "packages/vue/src/components/TCheckbox.vue",
|
|
1064
1143
|
storyFile: "apps/docs/src/stories/Checkbox.stories.ts",
|
|
1065
1144
|
storyTitle: "Components/Data Entry/Checkbox",
|
|
1066
1145
|
manifestFile: "docs/ai/COMPONENTS/checkbox.yaml",
|
|
@@ -1072,7 +1151,7 @@ var treeui_catalog_default = {
|
|
|
1072
1151
|
},
|
|
1073
1152
|
{
|
|
1074
1153
|
name: "size",
|
|
1075
|
-
type: "
|
|
1154
|
+
type: "TSize",
|
|
1076
1155
|
default: "md",
|
|
1077
1156
|
values: [
|
|
1078
1157
|
"sm",
|
|
@@ -1152,16 +1231,13 @@ var treeui_catalog_default = {
|
|
|
1152
1231
|
},
|
|
1153
1232
|
{
|
|
1154
1233
|
name: "TCombobox",
|
|
1155
|
-
|
|
1156
|
-
aliases: [
|
|
1157
|
-
"TreeCombobox"
|
|
1158
|
-
],
|
|
1234
|
+
aliases: [],
|
|
1159
1235
|
package: "@treeui/vue",
|
|
1160
1236
|
kind: "primitive",
|
|
1161
1237
|
category: "Data Entry",
|
|
1162
1238
|
status: "available",
|
|
1163
1239
|
purpose: "Searchable combobox / autocomplete input with local filtering, controlled selection, and shared open-state behavior.",
|
|
1164
|
-
sourceFile: "packages/vue/src/components/
|
|
1240
|
+
sourceFile: "packages/vue/src/components/TCombobox.vue",
|
|
1165
1241
|
storyFile: "apps/docs/src/stories/Combobox.stories.ts",
|
|
1166
1242
|
storyTitle: "Components/Data Entry/Combobox",
|
|
1167
1243
|
manifestFile: "docs/ai/COMPONENTS/combobox.yaml",
|
|
@@ -1173,7 +1249,7 @@ var treeui_catalog_default = {
|
|
|
1173
1249
|
},
|
|
1174
1250
|
{
|
|
1175
1251
|
name: "options",
|
|
1176
|
-
type: "
|
|
1252
|
+
type: "TComboboxOption[]",
|
|
1177
1253
|
default: "[]",
|
|
1178
1254
|
note: "Array of { label: string; value: string; description?: string; keywords?: string[]; disabled?: boolean }"
|
|
1179
1255
|
},
|
|
@@ -1189,7 +1265,7 @@ var treeui_catalog_default = {
|
|
|
1189
1265
|
},
|
|
1190
1266
|
{
|
|
1191
1267
|
name: "size",
|
|
1192
|
-
type: "
|
|
1268
|
+
type: "TSize",
|
|
1193
1269
|
default: "md",
|
|
1194
1270
|
values: [
|
|
1195
1271
|
"sm",
|
|
@@ -1306,16 +1382,13 @@ var treeui_catalog_default = {
|
|
|
1306
1382
|
},
|
|
1307
1383
|
{
|
|
1308
1384
|
name: "TConfirmDialog",
|
|
1309
|
-
|
|
1310
|
-
aliases: [
|
|
1311
|
-
"TreeConfirmDialog"
|
|
1312
|
-
],
|
|
1385
|
+
aliases: [],
|
|
1313
1386
|
package: "@treeui/vue",
|
|
1314
1387
|
kind: "overlay",
|
|
1315
1388
|
category: "Overlay",
|
|
1316
1389
|
status: "available",
|
|
1317
1390
|
purpose: "High-level confirmation dialog built on the shared modal contract, with default confirm and cancel actions.",
|
|
1318
|
-
sourceFile: "packages/vue/src/components/
|
|
1391
|
+
sourceFile: "packages/vue/src/components/TConfirmDialog.vue",
|
|
1319
1392
|
storyFile: "apps/docs/src/stories/ConfirmDialog.stories.ts",
|
|
1320
1393
|
storyTitle: "Components/Overlay/ConfirmDialog",
|
|
1321
1394
|
manifestFile: "docs/ai/COMPONENTS/confirm-dialog.yaml",
|
|
@@ -1337,7 +1410,7 @@ var treeui_catalog_default = {
|
|
|
1337
1410
|
},
|
|
1338
1411
|
{
|
|
1339
1412
|
name: "size",
|
|
1340
|
-
type: "
|
|
1413
|
+
type: "TSize",
|
|
1341
1414
|
default: "sm",
|
|
1342
1415
|
values: [
|
|
1343
1416
|
"sm",
|
|
@@ -1367,7 +1440,7 @@ var treeui_catalog_default = {
|
|
|
1367
1440
|
},
|
|
1368
1441
|
{
|
|
1369
1442
|
name: "confirmVariant",
|
|
1370
|
-
type: "
|
|
1443
|
+
type: "TVariant",
|
|
1371
1444
|
default: "danger"
|
|
1372
1445
|
},
|
|
1373
1446
|
{
|
|
@@ -1475,16 +1548,13 @@ var treeui_catalog_default = {
|
|
|
1475
1548
|
},
|
|
1476
1549
|
{
|
|
1477
1550
|
name: "TContainer",
|
|
1478
|
-
|
|
1479
|
-
aliases: [
|
|
1480
|
-
"TreeContainer"
|
|
1481
|
-
],
|
|
1551
|
+
aliases: [],
|
|
1482
1552
|
package: "@treeui/vue",
|
|
1483
1553
|
kind: "layout",
|
|
1484
1554
|
category: "Layout",
|
|
1485
1555
|
status: "available",
|
|
1486
1556
|
purpose: "Width-constrained layout wrapper for readable page content and app sections.",
|
|
1487
|
-
sourceFile: "packages/vue/src/components/
|
|
1557
|
+
sourceFile: "packages/vue/src/components/TContainer.vue",
|
|
1488
1558
|
storyFile: "apps/docs/src/stories/Container.stories.ts",
|
|
1489
1559
|
storyTitle: "Components/Layout/Container",
|
|
1490
1560
|
manifestFile: "docs/ai/COMPONENTS/container.yaml",
|
|
@@ -1496,7 +1566,7 @@ var treeui_catalog_default = {
|
|
|
1496
1566
|
},
|
|
1497
1567
|
{
|
|
1498
1568
|
name: "size",
|
|
1499
|
-
type: "
|
|
1569
|
+
type: "TContainerSize",
|
|
1500
1570
|
default: "lg",
|
|
1501
1571
|
values: [
|
|
1502
1572
|
"sm",
|
|
@@ -1567,10 +1637,7 @@ var treeui_catalog_default = {
|
|
|
1567
1637
|
},
|
|
1568
1638
|
{
|
|
1569
1639
|
name: "TContextMenu",
|
|
1570
|
-
|
|
1571
|
-
aliases: [
|
|
1572
|
-
"TreeContextMenu"
|
|
1573
|
-
],
|
|
1640
|
+
aliases: [],
|
|
1574
1641
|
package: "@treeui/vue",
|
|
1575
1642
|
category: "Overlay",
|
|
1576
1643
|
status: "stable",
|
|
@@ -1580,7 +1647,7 @@ var treeui_catalog_default = {
|
|
|
1580
1647
|
props: [
|
|
1581
1648
|
{
|
|
1582
1649
|
name: "items",
|
|
1583
|
-
type: "
|
|
1650
|
+
type: "TContextMenuItem[]",
|
|
1584
1651
|
default: "[]",
|
|
1585
1652
|
description: "Menu items to render."
|
|
1586
1653
|
},
|
|
@@ -1604,7 +1671,7 @@ var treeui_catalog_default = {
|
|
|
1604
1671
|
},
|
|
1605
1672
|
{
|
|
1606
1673
|
name: "size",
|
|
1607
|
-
type: "
|
|
1674
|
+
type: "TSize",
|
|
1608
1675
|
default: "md",
|
|
1609
1676
|
description: "Item sizing variant."
|
|
1610
1677
|
}
|
|
@@ -1677,16 +1744,13 @@ var treeui_catalog_default = {
|
|
|
1677
1744
|
},
|
|
1678
1745
|
{
|
|
1679
1746
|
name: "TDatePicker",
|
|
1680
|
-
|
|
1681
|
-
aliases: [
|
|
1682
|
-
"TreeDatePicker"
|
|
1683
|
-
],
|
|
1747
|
+
aliases: [],
|
|
1684
1748
|
package: "@treeui/vue",
|
|
1685
1749
|
kind: "form_overlay",
|
|
1686
1750
|
category: "Data Entry",
|
|
1687
1751
|
status: "available",
|
|
1688
1752
|
purpose: "Date input with calendar popover and keyboard navigation.",
|
|
1689
|
-
sourceFile: "packages/vue/src/components/
|
|
1753
|
+
sourceFile: "packages/vue/src/components/TDatePicker.vue",
|
|
1690
1754
|
storyFile: "apps/docs/src/stories/DatePicker.stories.ts",
|
|
1691
1755
|
storyTitle: "Components/Data Entry/DatePicker",
|
|
1692
1756
|
manifestFile: "docs/ai/COMPONENTS/date-picker.yaml",
|
|
@@ -1708,7 +1772,7 @@ var treeui_catalog_default = {
|
|
|
1708
1772
|
},
|
|
1709
1773
|
{
|
|
1710
1774
|
name: "size",
|
|
1711
|
-
type: "
|
|
1775
|
+
type: "TSize",
|
|
1712
1776
|
default: "md",
|
|
1713
1777
|
values: [
|
|
1714
1778
|
"sm",
|
|
@@ -1829,16 +1893,13 @@ var treeui_catalog_default = {
|
|
|
1829
1893
|
},
|
|
1830
1894
|
{
|
|
1831
1895
|
name: "TDateTimePicker",
|
|
1832
|
-
|
|
1833
|
-
aliases: [
|
|
1834
|
-
"TreeDateTimePicker"
|
|
1835
|
-
],
|
|
1896
|
+
aliases: [],
|
|
1836
1897
|
package: "@treeui/vue",
|
|
1837
1898
|
kind: "form",
|
|
1838
1899
|
category: "Data Entry",
|
|
1839
1900
|
status: "available",
|
|
1840
1901
|
purpose: "Date and time picker with a calendar grid, time selection, and overlay trigger.",
|
|
1841
|
-
sourceFile: "packages/vue/src/components/
|
|
1902
|
+
sourceFile: "packages/vue/src/components/TDateTimePicker.vue",
|
|
1842
1903
|
storyFile: "apps/docs/src/stories/DateTimePicker.stories.ts",
|
|
1843
1904
|
storyTitle: "Components/Data Entry/DateTimePicker",
|
|
1844
1905
|
manifestFile: "docs/ai/COMPONENTS/date-time-picker.yaml",
|
|
@@ -1861,7 +1922,7 @@ var treeui_catalog_default = {
|
|
|
1861
1922
|
},
|
|
1862
1923
|
{
|
|
1863
1924
|
name: "size",
|
|
1864
|
-
type: "
|
|
1925
|
+
type: "TSize",
|
|
1865
1926
|
default: "md",
|
|
1866
1927
|
values: [
|
|
1867
1928
|
"sm",
|
|
@@ -1990,14 +2051,11 @@ var treeui_catalog_default = {
|
|
|
1990
2051
|
},
|
|
1991
2052
|
{
|
|
1992
2053
|
name: "TDivider",
|
|
1993
|
-
|
|
1994
|
-
aliases: [
|
|
1995
|
-
"TreeDivider"
|
|
1996
|
-
],
|
|
2054
|
+
aliases: [],
|
|
1997
2055
|
package: "@treeui/vue",
|
|
1998
2056
|
category: "Layout",
|
|
1999
2057
|
description: "Horizontal or vertical visual separator.",
|
|
2000
|
-
sourceFile: "packages/vue/src/components/
|
|
2058
|
+
sourceFile: "packages/vue/src/components/TDivider.vue",
|
|
2001
2059
|
storyFile: "apps/docs/src/stories/Divider.stories.ts",
|
|
2002
2060
|
storyTitle: "Components/Layout/Divider",
|
|
2003
2061
|
manifestFile: "docs/ai/COMPONENTS/divider.yaml",
|
|
@@ -2046,16 +2104,13 @@ var treeui_catalog_default = {
|
|
|
2046
2104
|
},
|
|
2047
2105
|
{
|
|
2048
2106
|
name: "TDrawer",
|
|
2049
|
-
|
|
2050
|
-
aliases: [
|
|
2051
|
-
"TreeDrawer"
|
|
2052
|
-
],
|
|
2107
|
+
aliases: [],
|
|
2053
2108
|
package: "@treeui/vue",
|
|
2054
2109
|
kind: "overlay",
|
|
2055
2110
|
category: "Overlay",
|
|
2056
2111
|
status: "available",
|
|
2057
2112
|
purpose: "Side-anchored panel for secondary content, navigation, or forms.",
|
|
2058
|
-
sourceFile: "packages/vue/src/components/
|
|
2113
|
+
sourceFile: "packages/vue/src/components/TDrawer.vue",
|
|
2059
2114
|
storyFile: "apps/docs/src/stories/Drawer.stories.ts",
|
|
2060
2115
|
storyTitle: "Components/Overlay/Drawer",
|
|
2061
2116
|
manifestFile: "docs/ai/COMPONENTS/drawer.yaml",
|
|
@@ -2077,7 +2132,7 @@ var treeui_catalog_default = {
|
|
|
2077
2132
|
},
|
|
2078
2133
|
{
|
|
2079
2134
|
name: "size",
|
|
2080
|
-
type: "
|
|
2135
|
+
type: "TSize",
|
|
2081
2136
|
default: "md",
|
|
2082
2137
|
values: [
|
|
2083
2138
|
"sm",
|
|
@@ -2087,7 +2142,7 @@ var treeui_catalog_default = {
|
|
|
2087
2142
|
},
|
|
2088
2143
|
{
|
|
2089
2144
|
name: "side",
|
|
2090
|
-
type: "
|
|
2145
|
+
type: "TDrawerSide",
|
|
2091
2146
|
default: "right",
|
|
2092
2147
|
values: [
|
|
2093
2148
|
"top",
|
|
@@ -2202,23 +2257,20 @@ var treeui_catalog_default = {
|
|
|
2202
2257
|
},
|
|
2203
2258
|
{
|
|
2204
2259
|
name: "TDropdown",
|
|
2205
|
-
|
|
2206
|
-
aliases: [
|
|
2207
|
-
"TreeDropdown"
|
|
2208
|
-
],
|
|
2260
|
+
aliases: [],
|
|
2209
2261
|
package: "@treeui/vue",
|
|
2210
2262
|
kind: "overlay",
|
|
2211
2263
|
category: "Overlay",
|
|
2212
2264
|
status: "available",
|
|
2213
2265
|
purpose: "Trigger + floating menu with keyboard navigation for action lists.",
|
|
2214
|
-
sourceFile: "packages/vue/src/components/
|
|
2266
|
+
sourceFile: "packages/vue/src/components/TDropdown.vue",
|
|
2215
2267
|
storyFile: "apps/docs/src/stories/Dropdown.stories.ts",
|
|
2216
2268
|
storyTitle: "Components/Overlay/Dropdown",
|
|
2217
2269
|
manifestFile: "docs/ai/COMPONENTS/dropdown.yaml",
|
|
2218
2270
|
props: [
|
|
2219
2271
|
{
|
|
2220
2272
|
name: "items",
|
|
2221
|
-
type: "
|
|
2273
|
+
type: "TDropdownItem[]",
|
|
2222
2274
|
default: "[]",
|
|
2223
2275
|
note: "Array of { label: string; value: string; disabled?: boolean }"
|
|
2224
2276
|
},
|
|
@@ -2239,7 +2291,7 @@ var treeui_catalog_default = {
|
|
|
2239
2291
|
},
|
|
2240
2292
|
{
|
|
2241
2293
|
name: "size",
|
|
2242
|
-
type: "
|
|
2294
|
+
type: "TSize",
|
|
2243
2295
|
default: "md",
|
|
2244
2296
|
values: [
|
|
2245
2297
|
"sm",
|
|
@@ -2319,16 +2371,13 @@ var treeui_catalog_default = {
|
|
|
2319
2371
|
},
|
|
2320
2372
|
{
|
|
2321
2373
|
name: "TEmptyState",
|
|
2322
|
-
|
|
2323
|
-
aliases: [
|
|
2324
|
-
"TreeEmptyState"
|
|
2325
|
-
],
|
|
2374
|
+
aliases: [],
|
|
2326
2375
|
package: "@treeui/vue",
|
|
2327
2376
|
kind: "feedback",
|
|
2328
2377
|
category: "Feedback",
|
|
2329
2378
|
status: "available",
|
|
2330
2379
|
purpose: "Structured empty, no-results, and first-run placeholder block with optional icon, body content, and actions.",
|
|
2331
|
-
sourceFile: "packages/vue/src/components/
|
|
2380
|
+
sourceFile: "packages/vue/src/components/TEmptyState.vue",
|
|
2332
2381
|
storyFile: "apps/docs/src/stories/EmptyState.stories.ts",
|
|
2333
2382
|
storyTitle: "Components/Feedback/EmptyState",
|
|
2334
2383
|
manifestFile: "docs/ai/COMPONENTS/empty-state.yaml",
|
|
@@ -2340,7 +2389,7 @@ var treeui_catalog_default = {
|
|
|
2340
2389
|
},
|
|
2341
2390
|
{
|
|
2342
2391
|
name: "size",
|
|
2343
|
-
type: "
|
|
2392
|
+
type: "TSize",
|
|
2344
2393
|
default: "md",
|
|
2345
2394
|
values: [
|
|
2346
2395
|
"sm",
|
|
@@ -2414,16 +2463,13 @@ var treeui_catalog_default = {
|
|
|
2414
2463
|
},
|
|
2415
2464
|
{
|
|
2416
2465
|
name: "TFileUpload",
|
|
2417
|
-
|
|
2418
|
-
aliases: [
|
|
2419
|
-
"TreeFileUpload"
|
|
2420
|
-
],
|
|
2466
|
+
aliases: [],
|
|
2421
2467
|
package: "@treeui/vue",
|
|
2422
2468
|
kind: "form",
|
|
2423
2469
|
category: "Form",
|
|
2424
2470
|
status: "available",
|
|
2425
2471
|
purpose: "Composable dropzone and file picker with browse, drag-and-drop, and Ctrl+V paste support.",
|
|
2426
|
-
sourceFile: "packages/vue/src/components/
|
|
2472
|
+
sourceFile: "packages/vue/src/components/TFileUpload.vue",
|
|
2427
2473
|
storyFile: "apps/docs/src/stories/FileUpload.stories.ts",
|
|
2428
2474
|
storyTitle: "Components/Form/FileUpload",
|
|
2429
2475
|
manifestFile: "docs/ai/COMPONENTS/file-upload.yaml",
|
|
@@ -2435,7 +2481,7 @@ var treeui_catalog_default = {
|
|
|
2435
2481
|
},
|
|
2436
2482
|
{
|
|
2437
2483
|
name: "size",
|
|
2438
|
-
type: "
|
|
2484
|
+
type: "TSize",
|
|
2439
2485
|
default: "md",
|
|
2440
2486
|
values: [
|
|
2441
2487
|
"sm",
|
|
@@ -2568,15 +2614,12 @@ var treeui_catalog_default = {
|
|
|
2568
2614
|
},
|
|
2569
2615
|
{
|
|
2570
2616
|
name: "TFormField",
|
|
2571
|
-
|
|
2572
|
-
aliases: [
|
|
2573
|
-
"TreeFormField"
|
|
2574
|
-
],
|
|
2617
|
+
aliases: [],
|
|
2575
2618
|
package: "@treeui/vue",
|
|
2576
2619
|
category: "Data Entry",
|
|
2577
2620
|
status: "milestone-1",
|
|
2578
2621
|
description: "Label + input wrapper with error and hint slots. Provides consistent layout, labelling, and validation messaging for any form control.\n",
|
|
2579
|
-
sourceFile: "packages/vue/src/components/
|
|
2622
|
+
sourceFile: "packages/vue/src/components/TFormField.vue",
|
|
2580
2623
|
storyFile: "apps/docs/src/stories/FormField.stories.ts",
|
|
2581
2624
|
storyTitle: "Components/Data Entry/FormField",
|
|
2582
2625
|
manifestFile: "docs/ai/COMPONENTS/form-field.yaml",
|
|
@@ -2619,7 +2662,7 @@ var treeui_catalog_default = {
|
|
|
2619
2662
|
},
|
|
2620
2663
|
{
|
|
2621
2664
|
name: "size",
|
|
2622
|
-
type: "
|
|
2665
|
+
type: "TSize",
|
|
2623
2666
|
default: "md",
|
|
2624
2667
|
values: [
|
|
2625
2668
|
"sm",
|
|
@@ -2693,21 +2736,20 @@ var treeui_catalog_default = {
|
|
|
2693
2736
|
"form-field-input",
|
|
2694
2737
|
"searchable-multi-choice",
|
|
2695
2738
|
"date-range-form",
|
|
2739
|
+
"color-field",
|
|
2740
|
+
"tag-input",
|
|
2696
2741
|
"hierarchy-picker"
|
|
2697
2742
|
]
|
|
2698
2743
|
},
|
|
2699
2744
|
{
|
|
2700
2745
|
name: "TGrid",
|
|
2701
|
-
|
|
2702
|
-
aliases: [
|
|
2703
|
-
"TreeGrid"
|
|
2704
|
-
],
|
|
2746
|
+
aliases: [],
|
|
2705
2747
|
package: "@treeui/vue",
|
|
2706
2748
|
kind: "layout",
|
|
2707
2749
|
category: "Layout",
|
|
2708
2750
|
status: "available",
|
|
2709
2751
|
purpose: "Responsive grid wrapper for cards, forms, stats, and other multi-column layouts.",
|
|
2710
|
-
sourceFile: "packages/vue/src/components/
|
|
2752
|
+
sourceFile: "packages/vue/src/components/TGrid.vue",
|
|
2711
2753
|
storyFile: "apps/docs/src/stories/Grid.stories.ts",
|
|
2712
2754
|
storyTitle: "Components/Layout/Grid",
|
|
2713
2755
|
manifestFile: "docs/ai/COMPONENTS/grid.yaml",
|
|
@@ -2800,17 +2842,104 @@ var treeui_catalog_default = {
|
|
|
2800
2842
|
]
|
|
2801
2843
|
},
|
|
2802
2844
|
{
|
|
2803
|
-
name: "
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2845
|
+
name: "TIcon",
|
|
2846
|
+
aliases: [],
|
|
2847
|
+
package: "@treeui/vue",
|
|
2848
|
+
kind: "display",
|
|
2849
|
+
category: "Data Display",
|
|
2850
|
+
status: "available",
|
|
2851
|
+
purpose: "Render a registered TreeUI icon by name with consistent sizing and accessibility defaults.",
|
|
2852
|
+
sourceFile: "packages/vue/src/components/TIcon.vue",
|
|
2853
|
+
storyFile: "apps/docs/src/stories/Icon.stories.ts",
|
|
2854
|
+
storyTitle: "Components/Data Display/Icon",
|
|
2855
|
+
manifestFile: "docs/ai/COMPONENTS/icon.yaml",
|
|
2856
|
+
props: [
|
|
2857
|
+
{
|
|
2858
|
+
name: "name",
|
|
2859
|
+
type: "TIconName",
|
|
2860
|
+
required: true,
|
|
2861
|
+
values: [
|
|
2862
|
+
"alert-circle",
|
|
2863
|
+
"calendar",
|
|
2864
|
+
"check",
|
|
2865
|
+
"chevron-left",
|
|
2866
|
+
"chevron-down",
|
|
2867
|
+
"chevron-right",
|
|
2868
|
+
"info",
|
|
2869
|
+
"loader-circle",
|
|
2870
|
+
"search",
|
|
2871
|
+
"x"
|
|
2872
|
+
],
|
|
2873
|
+
description: "Icon identifier from the @treeui/icons registry."
|
|
2874
|
+
},
|
|
2875
|
+
{
|
|
2876
|
+
name: "size",
|
|
2877
|
+
type: "number | string",
|
|
2878
|
+
default: "20",
|
|
2879
|
+
description: "Pixel size for both width and height of the rendered svg."
|
|
2880
|
+
},
|
|
2881
|
+
{
|
|
2882
|
+
name: "strokeWidth",
|
|
2883
|
+
type: "number | string",
|
|
2884
|
+
default: "2"
|
|
2885
|
+
},
|
|
2886
|
+
{
|
|
2887
|
+
name: "absoluteStrokeWidth",
|
|
2888
|
+
type: "boolean",
|
|
2889
|
+
default: "true",
|
|
2890
|
+
description: "When true, stroke width stays visually constant across sizes."
|
|
2891
|
+
},
|
|
2892
|
+
{
|
|
2893
|
+
name: "label",
|
|
2894
|
+
type: "string",
|
|
2895
|
+
default: "undefined",
|
|
2896
|
+
description: 'Accessible label. When set, the icon becomes role="img" with aria-label; otherwise it is aria-hidden.'
|
|
2897
|
+
}
|
|
2807
2898
|
],
|
|
2899
|
+
events: [],
|
|
2900
|
+
slots: [],
|
|
2901
|
+
a11y: [
|
|
2902
|
+
"decorative_by_default: true",
|
|
2903
|
+
"becomes_image_when_labeled: true",
|
|
2904
|
+
"rule: Provide `label` only when the icon conveys meaning that is not already in adjacent text."
|
|
2905
|
+
],
|
|
2906
|
+
behavior: [],
|
|
2907
|
+
selection: {
|
|
2908
|
+
keywords: [
|
|
2909
|
+
"icon",
|
|
2910
|
+
"svg",
|
|
2911
|
+
"glyph",
|
|
2912
|
+
"pictogram"
|
|
2913
|
+
],
|
|
2914
|
+
useWhen: [
|
|
2915
|
+
"You need to render a registered TreeUI icon by name.",
|
|
2916
|
+
"You want consistent sizing and a11y defaults without importing the icon component directly."
|
|
2917
|
+
],
|
|
2918
|
+
avoidWhen: [
|
|
2919
|
+
"The icon is not in the @treeui/icons registry \u2014 import or register it instead."
|
|
2920
|
+
],
|
|
2921
|
+
alternatives: [
|
|
2922
|
+
{
|
|
2923
|
+
component: "named import from @treeui/icons",
|
|
2924
|
+
when: "You need tree-shaken, statically-imported icon components."
|
|
2925
|
+
}
|
|
2926
|
+
]
|
|
2927
|
+
},
|
|
2928
|
+
setup: {
|
|
2929
|
+
required: [],
|
|
2930
|
+
notes: []
|
|
2931
|
+
},
|
|
2932
|
+
recipes: []
|
|
2933
|
+
},
|
|
2934
|
+
{
|
|
2935
|
+
name: "TInput",
|
|
2936
|
+
aliases: [],
|
|
2808
2937
|
package: "@treeui/vue",
|
|
2809
2938
|
kind: "primitive",
|
|
2810
2939
|
category: "Data Entry",
|
|
2811
2940
|
status: "available",
|
|
2812
2941
|
purpose: "Text input with size, loading, invalid, and prefix or suffix slots.",
|
|
2813
|
-
sourceFile: "packages/vue/src/components/
|
|
2942
|
+
sourceFile: "packages/vue/src/components/TInput.vue",
|
|
2814
2943
|
storyFile: "apps/docs/src/stories/Input.stories.ts",
|
|
2815
2944
|
storyTitle: "Components/Data Entry/Input",
|
|
2816
2945
|
manifestFile: "docs/ai/COMPONENTS/input.yaml",
|
|
@@ -2822,7 +2951,7 @@ var treeui_catalog_default = {
|
|
|
2822
2951
|
},
|
|
2823
2952
|
{
|
|
2824
2953
|
name: "size",
|
|
2825
|
-
type: "
|
|
2954
|
+
type: "TSize",
|
|
2826
2955
|
default: "md",
|
|
2827
2956
|
values: [
|
|
2828
2957
|
"sm",
|
|
@@ -2910,15 +3039,85 @@ var treeui_catalog_default = {
|
|
|
2910
3039
|
notes: []
|
|
2911
3040
|
},
|
|
2912
3041
|
recipes: [
|
|
2913
|
-
"form-field-input"
|
|
3042
|
+
"form-field-input",
|
|
3043
|
+
"tag-input"
|
|
2914
3044
|
]
|
|
2915
3045
|
},
|
|
2916
3046
|
{
|
|
2917
|
-
name: "
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
3047
|
+
name: "TLink",
|
|
3048
|
+
aliases: [],
|
|
3049
|
+
package: "@treeui/vue",
|
|
3050
|
+
kind: "navigation",
|
|
3051
|
+
category: "Navigation",
|
|
3052
|
+
status: "available",
|
|
3053
|
+
purpose: "Inline link with consistent styling, optional RouterLink rendering, and external link support.",
|
|
3054
|
+
sourceFile: "packages/vue/src/components/TLink.vue",
|
|
3055
|
+
storyFile: "apps/docs/src/stories/Link.stories.ts",
|
|
3056
|
+
storyTitle: "Components/Navigation/Link",
|
|
3057
|
+
manifestFile: "docs/ai/COMPONENTS/link.yaml",
|
|
3058
|
+
props: [
|
|
3059
|
+
{
|
|
3060
|
+
name: "to",
|
|
3061
|
+
type: "string | Record<string, unknown>",
|
|
3062
|
+
default: "undefined",
|
|
3063
|
+
description: "Route target. When provided and vue-router is available, renders RouterLink."
|
|
3064
|
+
},
|
|
3065
|
+
{
|
|
3066
|
+
name: "href",
|
|
3067
|
+
type: "string",
|
|
3068
|
+
default: "undefined",
|
|
3069
|
+
description: "Native href for anchor elements. Ignored when `to` is provided with vue-router."
|
|
3070
|
+
},
|
|
3071
|
+
{
|
|
3072
|
+
name: "external",
|
|
3073
|
+
type: "boolean",
|
|
3074
|
+
default: "false",
|
|
3075
|
+
description: "Opens link in new tab with rel='noopener noreferrer'."
|
|
3076
|
+
},
|
|
3077
|
+
{
|
|
3078
|
+
name: "disabled",
|
|
3079
|
+
type: "boolean",
|
|
3080
|
+
default: "false"
|
|
3081
|
+
},
|
|
3082
|
+
{
|
|
3083
|
+
name: "variant",
|
|
3084
|
+
type: "TLinkVariant",
|
|
3085
|
+
default: "default",
|
|
3086
|
+
values: [
|
|
3087
|
+
"default",
|
|
3088
|
+
"muted",
|
|
3089
|
+
"danger"
|
|
3090
|
+
]
|
|
3091
|
+
}
|
|
3092
|
+
],
|
|
3093
|
+
events: [],
|
|
3094
|
+
slots: [
|
|
3095
|
+
{
|
|
3096
|
+
name: "default"
|
|
3097
|
+
}
|
|
3098
|
+
],
|
|
3099
|
+
a11y: [
|
|
3100
|
+
"semantic_element: a (or RouterLink, or span when disabled)",
|
|
3101
|
+
"aria_disabled: set when disabled",
|
|
3102
|
+
"tabindex: -1 when disabled",
|
|
3103
|
+
"focus_visible: true"
|
|
2921
3104
|
],
|
|
3105
|
+
behavior: [],
|
|
3106
|
+
selection: {
|
|
3107
|
+
keywords: [],
|
|
3108
|
+
useWhen: [],
|
|
3109
|
+
avoidWhen: [],
|
|
3110
|
+
alternatives: []
|
|
3111
|
+
},
|
|
3112
|
+
setup: {
|
|
3113
|
+
required: [],
|
|
3114
|
+
notes: []
|
|
3115
|
+
},
|
|
3116
|
+
recipes: []
|
|
3117
|
+
},
|
|
3118
|
+
{
|
|
3119
|
+
name: "TMarkdownEditor",
|
|
3120
|
+
aliases: [],
|
|
2922
3121
|
package: "@treeui/vue",
|
|
2923
3122
|
category: "Form",
|
|
2924
3123
|
status: "stable",
|
|
@@ -2935,7 +3134,7 @@ var treeui_catalog_default = {
|
|
|
2935
3134
|
},
|
|
2936
3135
|
{
|
|
2937
3136
|
name: "size",
|
|
2938
|
-
type: "
|
|
3137
|
+
type: "TSize",
|
|
2939
3138
|
default: "md",
|
|
2940
3139
|
values: [
|
|
2941
3140
|
"sm",
|
|
@@ -3020,16 +3219,13 @@ var treeui_catalog_default = {
|
|
|
3020
3219
|
},
|
|
3021
3220
|
{
|
|
3022
3221
|
name: "TModal",
|
|
3023
|
-
|
|
3024
|
-
aliases: [
|
|
3025
|
-
"TreeModal"
|
|
3026
|
-
],
|
|
3222
|
+
aliases: [],
|
|
3027
3223
|
package: "@treeui/vue",
|
|
3028
3224
|
kind: "overlay",
|
|
3029
3225
|
category: "Overlay",
|
|
3030
3226
|
status: "available",
|
|
3031
3227
|
purpose: "Accessible modal dialog for focused tasks and confirmations.",
|
|
3032
|
-
sourceFile: "packages/vue/src/components/
|
|
3228
|
+
sourceFile: "packages/vue/src/components/TModal.vue",
|
|
3033
3229
|
storyFile: "apps/docs/src/stories/Modal.stories.ts",
|
|
3034
3230
|
storyTitle: "Components/Overlay/Modal",
|
|
3035
3231
|
manifestFile: "docs/ai/COMPONENTS/modal.yaml",
|
|
@@ -3051,7 +3247,7 @@ var treeui_catalog_default = {
|
|
|
3051
3247
|
},
|
|
3052
3248
|
{
|
|
3053
3249
|
name: "size",
|
|
3054
|
-
type: "
|
|
3250
|
+
type: "TSize",
|
|
3055
3251
|
default: "md",
|
|
3056
3252
|
values: [
|
|
3057
3253
|
"sm",
|
|
@@ -3163,22 +3359,21 @@ var treeui_catalog_default = {
|
|
|
3163
3359
|
},
|
|
3164
3360
|
setup: {
|
|
3165
3361
|
required: [],
|
|
3166
|
-
notes: [
|
|
3362
|
+
notes: [
|
|
3363
|
+
"Use `v-model:open` for the idiomatic Vue controlled pattern."
|
|
3364
|
+
]
|
|
3167
3365
|
},
|
|
3168
3366
|
recipes: []
|
|
3169
3367
|
},
|
|
3170
3368
|
{
|
|
3171
3369
|
name: "TMultiSelect",
|
|
3172
|
-
|
|
3173
|
-
aliases: [
|
|
3174
|
-
"TreeMultiSelect"
|
|
3175
|
-
],
|
|
3370
|
+
aliases: [],
|
|
3176
3371
|
package: "@treeui/vue",
|
|
3177
3372
|
kind: "form",
|
|
3178
3373
|
category: "Data Entry",
|
|
3179
3374
|
status: "available",
|
|
3180
3375
|
purpose: "Searchable multi-select control that renders selected values as tags.",
|
|
3181
|
-
sourceFile: "packages/vue/src/components/
|
|
3376
|
+
sourceFile: "packages/vue/src/components/TMultiSelect.vue",
|
|
3182
3377
|
storyFile: "apps/docs/src/stories/MultiSelect.stories.ts",
|
|
3183
3378
|
storyTitle: "Components/Data Entry/MultiSelect",
|
|
3184
3379
|
manifestFile: "docs/ai/COMPONENTS/multi-select.yaml",
|
|
@@ -3190,7 +3385,7 @@ var treeui_catalog_default = {
|
|
|
3190
3385
|
},
|
|
3191
3386
|
{
|
|
3192
3387
|
name: "options",
|
|
3193
|
-
type: "
|
|
3388
|
+
type: "TMultiSelectOption[]",
|
|
3194
3389
|
default: "[]",
|
|
3195
3390
|
note: "Array of `{ label, value, description?, keywords?, disabled? }`."
|
|
3196
3391
|
},
|
|
@@ -3206,7 +3401,7 @@ var treeui_catalog_default = {
|
|
|
3206
3401
|
},
|
|
3207
3402
|
{
|
|
3208
3403
|
name: "size",
|
|
3209
|
-
type: "
|
|
3404
|
+
type: "TSize",
|
|
3210
3405
|
default: "md",
|
|
3211
3406
|
values: [
|
|
3212
3407
|
"sm",
|
|
@@ -3331,18 +3526,15 @@ var treeui_catalog_default = {
|
|
|
3331
3526
|
},
|
|
3332
3527
|
{
|
|
3333
3528
|
name: "TNavbar",
|
|
3334
|
-
legacyAlias: "TreeAppBar",
|
|
3335
3529
|
aliases: [
|
|
3336
|
-
"TAppBar"
|
|
3337
|
-
"TreeAppBar",
|
|
3338
|
-
"TreeNavbar"
|
|
3530
|
+
"TAppBar"
|
|
3339
3531
|
],
|
|
3340
3532
|
package: "@treeui/vue",
|
|
3341
3533
|
kind: "layout",
|
|
3342
3534
|
category: "Layout",
|
|
3343
3535
|
status: "available",
|
|
3344
3536
|
purpose: "Top application bar with start, center, and end content areas.",
|
|
3345
|
-
sourceFile: "packages/vue/src/components/
|
|
3537
|
+
sourceFile: "packages/vue/src/components/TNavbar.vue",
|
|
3346
3538
|
storyFile: "apps/docs/src/stories/Navbar.stories.ts",
|
|
3347
3539
|
storyTitle: "Components/Layout/Navbar",
|
|
3348
3540
|
manifestFile: "docs/ai/COMPONENTS/navbar.yaml",
|
|
@@ -3354,7 +3546,7 @@ var treeui_catalog_default = {
|
|
|
3354
3546
|
},
|
|
3355
3547
|
{
|
|
3356
3548
|
name: "size",
|
|
3357
|
-
type: "
|
|
3549
|
+
type: "TSize",
|
|
3358
3550
|
default: "md",
|
|
3359
3551
|
values: [
|
|
3360
3552
|
"sm",
|
|
@@ -3432,16 +3624,13 @@ var treeui_catalog_default = {
|
|
|
3432
3624
|
},
|
|
3433
3625
|
{
|
|
3434
3626
|
name: "TNavMenu",
|
|
3435
|
-
|
|
3436
|
-
aliases: [
|
|
3437
|
-
"TreeNavMenu"
|
|
3438
|
-
],
|
|
3627
|
+
aliases: [],
|
|
3439
3628
|
package: "@treeui/vue",
|
|
3440
3629
|
kind: "navigation",
|
|
3441
3630
|
category: "Layout",
|
|
3442
3631
|
status: "available",
|
|
3443
|
-
purpose: "
|
|
3444
|
-
sourceFile: "packages/vue/src/components/
|
|
3632
|
+
purpose: "Vertical navigation menu with selection state, keyboard navigation, optional RouterLink rendering, and sidebar integration.",
|
|
3633
|
+
sourceFile: "packages/vue/src/components/TNavMenu.vue",
|
|
3445
3634
|
storyFile: "apps/docs/src/stories/NavMenu.stories.ts",
|
|
3446
3635
|
storyTitle: "Components/Layout/NavMenu",
|
|
3447
3636
|
manifestFile: "docs/ai/COMPONENTS/nav-menu.yaml",
|
|
@@ -3458,13 +3647,13 @@ var treeui_catalog_default = {
|
|
|
3458
3647
|
},
|
|
3459
3648
|
{
|
|
3460
3649
|
name: "items",
|
|
3461
|
-
type: "
|
|
3650
|
+
type: "TNavMenuItem[]",
|
|
3462
3651
|
default: "[]",
|
|
3463
|
-
note: "Array of `{ label, value, shortLabel?, description?, badge?, disabled? }`."
|
|
3652
|
+
note: "Array of `{ label, value, shortLabel?, description?, icon?, to?, badge?, disabled? }`."
|
|
3464
3653
|
},
|
|
3465
3654
|
{
|
|
3466
3655
|
name: "size",
|
|
3467
|
-
type: "
|
|
3656
|
+
type: "TSize",
|
|
3468
3657
|
default: "md",
|
|
3469
3658
|
values: [
|
|
3470
3659
|
"sm",
|
|
@@ -3504,7 +3693,9 @@ var treeui_catalog_default = {
|
|
|
3504
3693
|
"roving_focus: true",
|
|
3505
3694
|
"home_end_navigation: true",
|
|
3506
3695
|
"arrow_navigation: true",
|
|
3507
|
-
"activation_keys_select_item: true"
|
|
3696
|
+
"activation_keys_select_item: true",
|
|
3697
|
+
"aria_current: page on selected item",
|
|
3698
|
+
"aria_disabled: on link items when disabled"
|
|
3508
3699
|
],
|
|
3509
3700
|
behavior: [
|
|
3510
3701
|
"can_be_controlled_or_uncontrolled: true",
|
|
@@ -3546,16 +3737,13 @@ var treeui_catalog_default = {
|
|
|
3546
3737
|
},
|
|
3547
3738
|
{
|
|
3548
3739
|
name: "TNumberInput",
|
|
3549
|
-
|
|
3550
|
-
aliases: [
|
|
3551
|
-
"TreeNumberInput"
|
|
3552
|
-
],
|
|
3740
|
+
aliases: [],
|
|
3553
3741
|
package: "@treeui/vue",
|
|
3554
3742
|
kind: "form",
|
|
3555
3743
|
category: "Data Entry",
|
|
3556
3744
|
status: "available",
|
|
3557
3745
|
purpose: "Numeric input with optional increment and decrement controls.",
|
|
3558
|
-
sourceFile: "packages/vue/src/components/
|
|
3746
|
+
sourceFile: "packages/vue/src/components/TNumberInput.vue",
|
|
3559
3747
|
storyFile: "apps/docs/src/stories/NumberInput.stories.ts",
|
|
3560
3748
|
storyTitle: "Components/Data Entry/NumberInput",
|
|
3561
3749
|
manifestFile: "docs/ai/COMPONENTS/number-input.yaml",
|
|
@@ -3581,7 +3769,7 @@ var treeui_catalog_default = {
|
|
|
3581
3769
|
},
|
|
3582
3770
|
{
|
|
3583
3771
|
name: "size",
|
|
3584
|
-
type: "
|
|
3772
|
+
type: "TSize",
|
|
3585
3773
|
default: "md",
|
|
3586
3774
|
values: [
|
|
3587
3775
|
"sm",
|
|
@@ -3656,16 +3844,13 @@ var treeui_catalog_default = {
|
|
|
3656
3844
|
},
|
|
3657
3845
|
{
|
|
3658
3846
|
name: "TPagination",
|
|
3659
|
-
|
|
3660
|
-
aliases: [
|
|
3661
|
-
"TreePagination"
|
|
3662
|
-
],
|
|
3847
|
+
aliases: [],
|
|
3663
3848
|
package: "@treeui/vue",
|
|
3664
3849
|
kind: "primitive",
|
|
3665
3850
|
category: "Navigation",
|
|
3666
3851
|
status: "available",
|
|
3667
3852
|
purpose: "Page controls with previous/next navigation, numbered page buttons, and ellipsis for large page ranges. Supports v-model for the active page.\n",
|
|
3668
|
-
sourceFile: "packages/vue/src/components/
|
|
3853
|
+
sourceFile: "packages/vue/src/components/TPagination.vue",
|
|
3669
3854
|
storyFile: "apps/docs/src/stories/Pagination.stories.ts",
|
|
3670
3855
|
storyTitle: "Components/Navigation/Pagination",
|
|
3671
3856
|
manifestFile: "docs/ai/COMPONENTS/pagination.yaml",
|
|
@@ -3690,7 +3875,7 @@ var treeui_catalog_default = {
|
|
|
3690
3875
|
},
|
|
3691
3876
|
{
|
|
3692
3877
|
name: "size",
|
|
3693
|
-
type: "
|
|
3878
|
+
type: "TSize",
|
|
3694
3879
|
default: "md",
|
|
3695
3880
|
values: [
|
|
3696
3881
|
"sm",
|
|
@@ -3772,10 +3957,7 @@ var treeui_catalog_default = {
|
|
|
3772
3957
|
},
|
|
3773
3958
|
{
|
|
3774
3959
|
name: "TPopover",
|
|
3775
|
-
|
|
3776
|
-
aliases: [
|
|
3777
|
-
"TreePopover"
|
|
3778
|
-
],
|
|
3960
|
+
aliases: [],
|
|
3779
3961
|
package: "@treeui/vue",
|
|
3780
3962
|
category: "Overlay",
|
|
3781
3963
|
status: "stable",
|
|
@@ -3878,10 +4060,7 @@ var treeui_catalog_default = {
|
|
|
3878
4060
|
},
|
|
3879
4061
|
{
|
|
3880
4062
|
name: "TPricing",
|
|
3881
|
-
|
|
3882
|
-
aliases: [
|
|
3883
|
-
"TreePricing"
|
|
3884
|
-
],
|
|
4063
|
+
aliases: [],
|
|
3885
4064
|
package: "@treeui/vue",
|
|
3886
4065
|
status: "stable",
|
|
3887
4066
|
description: "Grid wrapper that renders multiple PricingCard components from an array of plan objects.\n",
|
|
@@ -3897,7 +4076,7 @@ var treeui_catalog_default = {
|
|
|
3897
4076
|
},
|
|
3898
4077
|
{
|
|
3899
4078
|
name: "size",
|
|
3900
|
-
type: "
|
|
4079
|
+
type: "TSize",
|
|
3901
4080
|
default: "md",
|
|
3902
4081
|
description: "Size applied to all child pricing cards."
|
|
3903
4082
|
},
|
|
@@ -3945,10 +4124,7 @@ var treeui_catalog_default = {
|
|
|
3945
4124
|
},
|
|
3946
4125
|
{
|
|
3947
4126
|
name: "TPricingCard",
|
|
3948
|
-
|
|
3949
|
-
aliases: [
|
|
3950
|
-
"TreePricingCard"
|
|
3951
|
-
],
|
|
4127
|
+
aliases: [],
|
|
3952
4128
|
package: "@treeui/vue",
|
|
3953
4129
|
category: "Data Display",
|
|
3954
4130
|
status: "stable",
|
|
@@ -4013,7 +4189,7 @@ var treeui_catalog_default = {
|
|
|
4013
4189
|
},
|
|
4014
4190
|
{
|
|
4015
4191
|
name: "size",
|
|
4016
|
-
type: "
|
|
4192
|
+
type: "TSize",
|
|
4017
4193
|
default: "md",
|
|
4018
4194
|
description: "Card size \u2014 affects padding, font sizes."
|
|
4019
4195
|
},
|
|
@@ -4058,7 +4234,7 @@ var treeui_catalog_default = {
|
|
|
4058
4234
|
"Uses <h3> for plan title.",
|
|
4059
4235
|
'Feature list uses role="list" with <ul>/<li>.',
|
|
4060
4236
|
'Feature icons are aria-hidden="true".',
|
|
4061
|
-
"CTA button inherits
|
|
4237
|
+
"CTA button inherits TButton a11y (disabled, aria-busy)."
|
|
4062
4238
|
],
|
|
4063
4239
|
behavior: [],
|
|
4064
4240
|
selection: {
|
|
@@ -4077,10 +4253,7 @@ var treeui_catalog_default = {
|
|
|
4077
4253
|
},
|
|
4078
4254
|
{
|
|
4079
4255
|
name: "TProgress",
|
|
4080
|
-
|
|
4081
|
-
aliases: [
|
|
4082
|
-
"TreeProgress"
|
|
4083
|
-
],
|
|
4256
|
+
aliases: [],
|
|
4084
4257
|
package: "@treeui/vue",
|
|
4085
4258
|
category: "Feedback",
|
|
4086
4259
|
status: "draft",
|
|
@@ -4103,7 +4276,7 @@ var treeui_catalog_default = {
|
|
|
4103
4276
|
},
|
|
4104
4277
|
{
|
|
4105
4278
|
name: "size",
|
|
4106
|
-
type: "
|
|
4279
|
+
type: "TSize",
|
|
4107
4280
|
default: "md",
|
|
4108
4281
|
values: [
|
|
4109
4282
|
"sm",
|
|
@@ -4141,15 +4314,12 @@ var treeui_catalog_default = {
|
|
|
4141
4314
|
},
|
|
4142
4315
|
{
|
|
4143
4316
|
name: "TRadio",
|
|
4144
|
-
|
|
4145
|
-
aliases: [
|
|
4146
|
-
"TreeRadio"
|
|
4147
|
-
],
|
|
4317
|
+
aliases: [],
|
|
4148
4318
|
package: "@treeui/vue",
|
|
4149
4319
|
kind: "primitive",
|
|
4150
4320
|
status: "available",
|
|
4151
4321
|
purpose: "Single radio option within a TRadioGroup; renders a native radio input.",
|
|
4152
|
-
sourceFile: "packages/vue/src/components/
|
|
4322
|
+
sourceFile: "packages/vue/src/components/TRadio.vue",
|
|
4153
4323
|
manifestFile: "docs/ai/COMPONENTS/radio.yaml",
|
|
4154
4324
|
props: [
|
|
4155
4325
|
{
|
|
@@ -4169,7 +4339,7 @@ var treeui_catalog_default = {
|
|
|
4169
4339
|
},
|
|
4170
4340
|
{
|
|
4171
4341
|
name: "size",
|
|
4172
|
-
type: "
|
|
4342
|
+
type: "TSize",
|
|
4173
4343
|
default: "inherited_from_group",
|
|
4174
4344
|
values: [
|
|
4175
4345
|
"sm",
|
|
@@ -4212,16 +4382,13 @@ var treeui_catalog_default = {
|
|
|
4212
4382
|
},
|
|
4213
4383
|
{
|
|
4214
4384
|
name: "TRadioGroup",
|
|
4215
|
-
|
|
4216
|
-
aliases: [
|
|
4217
|
-
"TreeRadioGroup"
|
|
4218
|
-
],
|
|
4385
|
+
aliases: [],
|
|
4219
4386
|
package: "@treeui/vue",
|
|
4220
4387
|
kind: "primitive",
|
|
4221
4388
|
category: "Data Entry",
|
|
4222
4389
|
status: "available",
|
|
4223
4390
|
purpose: "Container for TRadio options; manages v-model for single-select from a group.",
|
|
4224
|
-
sourceFile: "packages/vue/src/components/
|
|
4391
|
+
sourceFile: "packages/vue/src/components/TRadioGroup.vue",
|
|
4225
4392
|
storyFile: "apps/docs/src/stories/Radio.stories.ts",
|
|
4226
4393
|
storyTitle: "Components/Data Entry/Radio",
|
|
4227
4394
|
manifestFile: "docs/ai/COMPONENTS/radio.yaml",
|
|
@@ -4248,7 +4415,7 @@ var treeui_catalog_default = {
|
|
|
4248
4415
|
},
|
|
4249
4416
|
{
|
|
4250
4417
|
name: "size",
|
|
4251
|
-
type: "
|
|
4418
|
+
type: "TSize",
|
|
4252
4419
|
default: "md",
|
|
4253
4420
|
values: [
|
|
4254
4421
|
"sm",
|
|
@@ -4290,30 +4457,27 @@ var treeui_catalog_default = {
|
|
|
4290
4457
|
},
|
|
4291
4458
|
{
|
|
4292
4459
|
name: "TSelect",
|
|
4293
|
-
|
|
4294
|
-
aliases: [
|
|
4295
|
-
"TreeSelect"
|
|
4296
|
-
],
|
|
4460
|
+
aliases: [],
|
|
4297
4461
|
package: "@treeui/vue",
|
|
4298
4462
|
kind: "primitive",
|
|
4299
4463
|
category: "Data Entry",
|
|
4300
4464
|
status: "available",
|
|
4301
4465
|
purpose: "Custom styled dropdown select with listbox; controlled and uncontrolled via v-model and open/defaultOpen.",
|
|
4302
|
-
sourceFile: "packages/vue/src/components/
|
|
4466
|
+
sourceFile: "packages/vue/src/components/TSelect.vue",
|
|
4303
4467
|
storyFile: "apps/docs/src/stories/Select.stories.ts",
|
|
4304
4468
|
storyTitle: "Components/Data Entry/Select",
|
|
4305
4469
|
manifestFile: "docs/ai/COMPONENTS/select.yaml",
|
|
4306
4470
|
props: [
|
|
4307
4471
|
{
|
|
4308
4472
|
name: "modelValue",
|
|
4309
|
-
type: "string",
|
|
4473
|
+
type: "string | number",
|
|
4310
4474
|
default: ""
|
|
4311
4475
|
},
|
|
4312
4476
|
{
|
|
4313
4477
|
name: "options",
|
|
4314
|
-
type: "
|
|
4478
|
+
type: "TSelectOption[]",
|
|
4315
4479
|
default: "[]",
|
|
4316
|
-
note: "Array of { label: string; value: string; disabled?: boolean }"
|
|
4480
|
+
note: "Array of { label: string; value: string | number; disabled?: boolean }"
|
|
4317
4481
|
},
|
|
4318
4482
|
{
|
|
4319
4483
|
name: "open",
|
|
@@ -4327,7 +4491,7 @@ var treeui_catalog_default = {
|
|
|
4327
4491
|
},
|
|
4328
4492
|
{
|
|
4329
4493
|
name: "size",
|
|
4330
|
-
type: "
|
|
4494
|
+
type: "TSize",
|
|
4331
4495
|
default: "md",
|
|
4332
4496
|
values: [
|
|
4333
4497
|
"sm",
|
|
@@ -4387,13 +4551,14 @@ var treeui_catalog_default = {
|
|
|
4387
4551
|
"home_end_navigation: true"
|
|
4388
4552
|
],
|
|
4389
4553
|
behavior: [
|
|
4390
|
-
"update_payload_type: string",
|
|
4554
|
+
"update_payload_type: string | number",
|
|
4391
4555
|
"loading_does_not_disable_by_itself: true",
|
|
4392
4556
|
"placeholder_shown_as_muted_text: true",
|
|
4393
4557
|
"chevron_rotates_when_open: true",
|
|
4394
4558
|
"check_icon_on_selected_option: true",
|
|
4395
4559
|
"outside_click_closes_dropdown: true",
|
|
4396
|
-
"focus_restores_on_close: true"
|
|
4560
|
+
"focus_restores_on_close: true",
|
|
4561
|
+
"numeric_values_supported_without_string_coercion: true"
|
|
4397
4562
|
],
|
|
4398
4563
|
selection: {
|
|
4399
4564
|
keywords: [
|
|
@@ -4422,7 +4587,7 @@ var treeui_catalog_default = {
|
|
|
4422
4587
|
setup: {
|
|
4423
4588
|
required: [],
|
|
4424
4589
|
notes: [
|
|
4425
|
-
"Pass `options` as `{ label, value, disabled? }[]`.",
|
|
4590
|
+
"Pass `options` as `{ label, value, disabled? }[]` where `value` can be `string` or `number`.",
|
|
4426
4591
|
"Use `placeholder` when no selection has been made."
|
|
4427
4592
|
]
|
|
4428
4593
|
},
|
|
@@ -4430,16 +4595,13 @@ var treeui_catalog_default = {
|
|
|
4430
4595
|
},
|
|
4431
4596
|
{
|
|
4432
4597
|
name: "TSelectableList",
|
|
4433
|
-
|
|
4434
|
-
aliases: [
|
|
4435
|
-
"TreeSelectableList"
|
|
4436
|
-
],
|
|
4598
|
+
aliases: [],
|
|
4437
4599
|
package: "@treeui/vue",
|
|
4438
4600
|
kind: "selection",
|
|
4439
4601
|
category: "Navigation & Disclosure",
|
|
4440
4602
|
status: "available",
|
|
4441
4603
|
purpose: "Rich single-selection list for options with description and metadata.",
|
|
4442
|
-
sourceFile: "packages/vue/src/components/
|
|
4604
|
+
sourceFile: "packages/vue/src/components/TSelectableList.vue",
|
|
4443
4605
|
storyFile: "apps/docs/src/stories/SelectableList.stories.ts",
|
|
4444
4606
|
storyTitle: "Components/Navigation & Disclosure/SelectableList",
|
|
4445
4607
|
manifestFile: "docs/ai/COMPONENTS/selectable-list.yaml",
|
|
@@ -4456,13 +4618,13 @@ var treeui_catalog_default = {
|
|
|
4456
4618
|
},
|
|
4457
4619
|
{
|
|
4458
4620
|
name: "items",
|
|
4459
|
-
type: "
|
|
4621
|
+
type: "TSelectableListItem[]",
|
|
4460
4622
|
default: "[]",
|
|
4461
4623
|
note: "Array of `{ label, value, description?, meta?, disabled? }`."
|
|
4462
4624
|
},
|
|
4463
4625
|
{
|
|
4464
4626
|
name: "size",
|
|
4465
|
-
type: "
|
|
4627
|
+
type: "TSize",
|
|
4466
4628
|
default: "md",
|
|
4467
4629
|
values: [
|
|
4468
4630
|
"sm",
|
|
@@ -4539,16 +4701,13 @@ var treeui_catalog_default = {
|
|
|
4539
4701
|
},
|
|
4540
4702
|
{
|
|
4541
4703
|
name: "TSidebar",
|
|
4542
|
-
|
|
4543
|
-
aliases: [
|
|
4544
|
-
"TreeSidebar"
|
|
4545
|
-
],
|
|
4704
|
+
aliases: [],
|
|
4546
4705
|
package: "@treeui/vue",
|
|
4547
4706
|
kind: "layout",
|
|
4548
4707
|
category: "Layout",
|
|
4549
4708
|
status: "available",
|
|
4550
4709
|
purpose: "Persistent or collapsible side shell for app navigation and secondary workspace controls.",
|
|
4551
|
-
sourceFile: "packages/vue/src/components/
|
|
4710
|
+
sourceFile: "packages/vue/src/components/TSidebar.vue",
|
|
4552
4711
|
storyFile: "apps/docs/src/stories/Sidebar.stories.ts",
|
|
4553
4712
|
storyTitle: "Components/Layout/Sidebar",
|
|
4554
4713
|
manifestFile: "docs/ai/COMPONENTS/sidebar.yaml",
|
|
@@ -4575,7 +4734,7 @@ var treeui_catalog_default = {
|
|
|
4575
4734
|
},
|
|
4576
4735
|
{
|
|
4577
4736
|
name: "size",
|
|
4578
|
-
type: "
|
|
4737
|
+
type: "TSize",
|
|
4579
4738
|
default: "md",
|
|
4580
4739
|
values: [
|
|
4581
4740
|
"sm",
|
|
@@ -4585,7 +4744,7 @@ var treeui_catalog_default = {
|
|
|
4585
4744
|
},
|
|
4586
4745
|
{
|
|
4587
4746
|
name: "side",
|
|
4588
|
-
type: "
|
|
4747
|
+
type: "TSidebarSide",
|
|
4589
4748
|
default: "left",
|
|
4590
4749
|
values: [
|
|
4591
4750
|
"left",
|
|
@@ -4688,16 +4847,13 @@ var treeui_catalog_default = {
|
|
|
4688
4847
|
},
|
|
4689
4848
|
{
|
|
4690
4849
|
name: "TSkeleton",
|
|
4691
|
-
|
|
4692
|
-
aliases: [
|
|
4693
|
-
"TreeSkeleton"
|
|
4694
|
-
],
|
|
4850
|
+
aliases: [],
|
|
4695
4851
|
package: "@treeui/vue",
|
|
4696
4852
|
kind: "feedback",
|
|
4697
4853
|
category: "Feedback",
|
|
4698
4854
|
status: "available",
|
|
4699
4855
|
purpose: "Placeholder shimmer for loading states. Renders an animated block that indicates content is being loaded.",
|
|
4700
|
-
sourceFile: "packages/vue/src/components/
|
|
4856
|
+
sourceFile: "packages/vue/src/components/TSkeleton.vue",
|
|
4701
4857
|
storyFile: "apps/docs/src/stories/Skeleton.stories.ts",
|
|
4702
4858
|
storyTitle: "Components/Feedback/Skeleton",
|
|
4703
4859
|
manifestFile: "docs/ai/COMPONENTS/skeleton.yaml",
|
|
@@ -4754,23 +4910,20 @@ var treeui_catalog_default = {
|
|
|
4754
4910
|
},
|
|
4755
4911
|
{
|
|
4756
4912
|
name: "TSpinner",
|
|
4757
|
-
|
|
4758
|
-
aliases: [
|
|
4759
|
-
"TreeSpinner"
|
|
4760
|
-
],
|
|
4913
|
+
aliases: [],
|
|
4761
4914
|
package: "@treeui/vue",
|
|
4762
4915
|
kind: "feedback",
|
|
4763
4916
|
category: "Feedback",
|
|
4764
4917
|
status: "available",
|
|
4765
4918
|
purpose: "Accessible loading indicator.",
|
|
4766
|
-
sourceFile: "packages/vue/src/components/
|
|
4919
|
+
sourceFile: "packages/vue/src/components/TSpinner.vue",
|
|
4767
4920
|
storyFile: "apps/docs/src/stories/Spinner.stories.ts",
|
|
4768
4921
|
storyTitle: "Components/Feedback/Spinner",
|
|
4769
4922
|
manifestFile: "docs/ai/COMPONENTS/spinner.yaml",
|
|
4770
4923
|
props: [
|
|
4771
4924
|
{
|
|
4772
4925
|
name: "size",
|
|
4773
|
-
type: "
|
|
4926
|
+
type: "TSize",
|
|
4774
4927
|
default: "md",
|
|
4775
4928
|
values: [
|
|
4776
4929
|
"sm",
|
|
@@ -4806,16 +4959,13 @@ var treeui_catalog_default = {
|
|
|
4806
4959
|
},
|
|
4807
4960
|
{
|
|
4808
4961
|
name: "TStack",
|
|
4809
|
-
|
|
4810
|
-
aliases: [
|
|
4811
|
-
"TreeStack"
|
|
4812
|
-
],
|
|
4962
|
+
aliases: [],
|
|
4813
4963
|
package: "@treeui/vue",
|
|
4814
4964
|
kind: "layout",
|
|
4815
4965
|
category: "Layout",
|
|
4816
4966
|
status: "available",
|
|
4817
4967
|
purpose: "One-dimensional spacing and alignment wrapper for vertical or horizontal compositions.",
|
|
4818
|
-
sourceFile: "packages/vue/src/components/
|
|
4968
|
+
sourceFile: "packages/vue/src/components/TStack.vue",
|
|
4819
4969
|
storyFile: "apps/docs/src/stories/Stack.stories.ts",
|
|
4820
4970
|
storyTitle: "Components/Layout/Stack",
|
|
4821
4971
|
manifestFile: "docs/ai/COMPONENTS/stack.yaml",
|
|
@@ -4827,7 +4977,7 @@ var treeui_catalog_default = {
|
|
|
4827
4977
|
},
|
|
4828
4978
|
{
|
|
4829
4979
|
name: "direction",
|
|
4830
|
-
type: "
|
|
4980
|
+
type: "TStackDirection",
|
|
4831
4981
|
default: "vertical",
|
|
4832
4982
|
values: [
|
|
4833
4983
|
"vertical",
|
|
@@ -4900,21 +5050,20 @@ var treeui_catalog_default = {
|
|
|
4900
5050
|
notes: []
|
|
4901
5051
|
},
|
|
4902
5052
|
recipes: [
|
|
4903
|
-
"
|
|
5053
|
+
"tag-input",
|
|
5054
|
+
"data-listing",
|
|
5055
|
+
"chart-surface"
|
|
4904
5056
|
]
|
|
4905
5057
|
},
|
|
4906
5058
|
{
|
|
4907
5059
|
name: "TStat",
|
|
4908
|
-
|
|
4909
|
-
aliases: [
|
|
4910
|
-
"TreeStat"
|
|
4911
|
-
],
|
|
5060
|
+
aliases: [],
|
|
4912
5061
|
package: "@treeui/vue",
|
|
4913
5062
|
kind: "data-display",
|
|
4914
5063
|
category: "Data Display",
|
|
4915
5064
|
status: "available",
|
|
4916
5065
|
purpose: "Compact KPI display with label, value, trend, metadata, and optional icon.",
|
|
4917
|
-
sourceFile: "packages/vue/src/components/
|
|
5066
|
+
sourceFile: "packages/vue/src/components/TStat.vue",
|
|
4918
5067
|
storyFile: "apps/docs/src/stories/Stat.stories.ts",
|
|
4919
5068
|
storyTitle: "Components/Data Display/Stat",
|
|
4920
5069
|
manifestFile: "docs/ai/COMPONENTS/stat.yaml",
|
|
@@ -4941,7 +5090,7 @@ var treeui_catalog_default = {
|
|
|
4941
5090
|
},
|
|
4942
5091
|
{
|
|
4943
5092
|
name: "tone",
|
|
4944
|
-
type: "
|
|
5093
|
+
type: "TStatTone",
|
|
4945
5094
|
default: "neutral",
|
|
4946
5095
|
values: [
|
|
4947
5096
|
"neutral",
|
|
@@ -4953,13 +5102,18 @@ var treeui_catalog_default = {
|
|
|
4953
5102
|
},
|
|
4954
5103
|
{
|
|
4955
5104
|
name: "trendDirection",
|
|
4956
|
-
type: "
|
|
5105
|
+
type: "TStatTrendDirection",
|
|
4957
5106
|
default: "neutral",
|
|
4958
5107
|
values: [
|
|
4959
5108
|
"up",
|
|
4960
5109
|
"down",
|
|
4961
5110
|
"neutral"
|
|
4962
5111
|
]
|
|
5112
|
+
},
|
|
5113
|
+
{
|
|
5114
|
+
name: "loading",
|
|
5115
|
+
type: "boolean",
|
|
5116
|
+
default: "false"
|
|
4963
5117
|
}
|
|
4964
5118
|
],
|
|
4965
5119
|
events: [],
|
|
@@ -4987,7 +5141,8 @@ var treeui_catalog_default = {
|
|
|
4987
5141
|
behavior: [
|
|
4988
5142
|
"value_and_trend_are_optional: true",
|
|
4989
5143
|
"icon_slot_adds_visual_emphasis: true",
|
|
4990
|
-
"trend_indicator_changes_with_direction: true"
|
|
5144
|
+
"trend_indicator_changes_with_direction: true",
|
|
5145
|
+
"loading_renders_internal_skeleton_placeholders: true"
|
|
4991
5146
|
],
|
|
4992
5147
|
selection: {
|
|
4993
5148
|
keywords: [
|
|
@@ -5019,18 +5174,15 @@ var treeui_catalog_default = {
|
|
|
5019
5174
|
},
|
|
5020
5175
|
{
|
|
5021
5176
|
name: "TSteps",
|
|
5022
|
-
legacyAlias: "TreeStepper",
|
|
5023
5177
|
aliases: [
|
|
5024
|
-
"TStepper"
|
|
5025
|
-
"TreeStepper",
|
|
5026
|
-
"TreeSteps"
|
|
5178
|
+
"TStepper"
|
|
5027
5179
|
],
|
|
5028
5180
|
package: "@treeui/vue",
|
|
5029
5181
|
kind: "navigation",
|
|
5030
5182
|
category: "Navigation & Disclosure",
|
|
5031
5183
|
status: "available",
|
|
5032
5184
|
purpose: "Stepper component for visualizing workflow progress, with optional interactive selection.",
|
|
5033
|
-
sourceFile: "packages/vue/src/components/
|
|
5185
|
+
sourceFile: "packages/vue/src/components/TSteps.vue",
|
|
5034
5186
|
storyFile: "apps/docs/src/stories/Steps.stories.ts",
|
|
5035
5187
|
storyTitle: "Components/Navigation & Disclosure/Steps",
|
|
5036
5188
|
manifestFile: "docs/ai/COMPONENTS/steps.yaml",
|
|
@@ -5047,13 +5199,13 @@ var treeui_catalog_default = {
|
|
|
5047
5199
|
},
|
|
5048
5200
|
{
|
|
5049
5201
|
name: "items",
|
|
5050
|
-
type: "
|
|
5202
|
+
type: "TStepItem[]",
|
|
5051
5203
|
default: "[]",
|
|
5052
5204
|
note: "Array of `{ label, value, description?, meta?, status?, disabled? }`."
|
|
5053
5205
|
},
|
|
5054
5206
|
{
|
|
5055
5207
|
name: "size",
|
|
5056
|
-
type: "
|
|
5208
|
+
type: "TSize",
|
|
5057
5209
|
default: "md",
|
|
5058
5210
|
values: [
|
|
5059
5211
|
"sm",
|
|
@@ -5063,7 +5215,7 @@ var treeui_catalog_default = {
|
|
|
5063
5215
|
},
|
|
5064
5216
|
{
|
|
5065
5217
|
name: "orientation",
|
|
5066
|
-
type: "
|
|
5218
|
+
type: "TStepOrientation",
|
|
5067
5219
|
default: "horizontal",
|
|
5068
5220
|
values: [
|
|
5069
5221
|
"horizontal",
|
|
@@ -5126,16 +5278,13 @@ var treeui_catalog_default = {
|
|
|
5126
5278
|
},
|
|
5127
5279
|
{
|
|
5128
5280
|
name: "TSwitch",
|
|
5129
|
-
|
|
5130
|
-
aliases: [
|
|
5131
|
-
"TreeSwitch"
|
|
5132
|
-
],
|
|
5281
|
+
aliases: [],
|
|
5133
5282
|
package: "@treeui/vue",
|
|
5134
5283
|
kind: "primitive",
|
|
5135
5284
|
category: "Data Entry",
|
|
5136
5285
|
status: "available",
|
|
5137
5286
|
purpose: "On/off toggle; semantic alternative to checkbox for settings. Supports v-model via modelValue.",
|
|
5138
|
-
sourceFile: "packages/vue/src/components/
|
|
5287
|
+
sourceFile: "packages/vue/src/components/TSwitch.vue",
|
|
5139
5288
|
storyFile: "apps/docs/src/stories/Switch.stories.ts",
|
|
5140
5289
|
storyTitle: "Components/Data Entry/Switch",
|
|
5141
5290
|
manifestFile: "docs/ai/COMPONENTS/switch.yaml",
|
|
@@ -5147,7 +5296,7 @@ var treeui_catalog_default = {
|
|
|
5147
5296
|
},
|
|
5148
5297
|
{
|
|
5149
5298
|
name: "size",
|
|
5150
|
-
type: "
|
|
5299
|
+
type: "TSize",
|
|
5151
5300
|
default: "md",
|
|
5152
5301
|
values: [
|
|
5153
5302
|
"sm",
|
|
@@ -5218,21 +5367,18 @@ var treeui_catalog_default = {
|
|
|
5218
5367
|
},
|
|
5219
5368
|
{
|
|
5220
5369
|
name: "TTable",
|
|
5221
|
-
|
|
5222
|
-
aliases: [
|
|
5223
|
-
"TreeTable"
|
|
5224
|
-
],
|
|
5370
|
+
aliases: [],
|
|
5225
5371
|
package: "@treeui/vue",
|
|
5226
5372
|
category: "Data Display",
|
|
5227
5373
|
description: "Sortable, accessible data table with column definitions and row data.",
|
|
5228
|
-
sourceFile: "packages/vue/src/components/
|
|
5374
|
+
sourceFile: "packages/vue/src/components/TTable.vue",
|
|
5229
5375
|
storyFile: "apps/docs/src/stories/Table.stories.ts",
|
|
5230
5376
|
storyTitle: "Components/Data Display/Table",
|
|
5231
5377
|
manifestFile: "docs/ai/COMPONENTS/table.yaml",
|
|
5232
5378
|
props: [
|
|
5233
5379
|
{
|
|
5234
5380
|
name: "columns",
|
|
5235
|
-
type: "
|
|
5381
|
+
type: "TTableColumn[]",
|
|
5236
5382
|
required: true,
|
|
5237
5383
|
description: "Array of column definitions with key, label, sortable, align, and width."
|
|
5238
5384
|
},
|
|
@@ -5244,7 +5390,7 @@ var treeui_catalog_default = {
|
|
|
5244
5390
|
},
|
|
5245
5391
|
{
|
|
5246
5392
|
name: "size",
|
|
5247
|
-
type: "
|
|
5393
|
+
type: "TSize",
|
|
5248
5394
|
default: "md",
|
|
5249
5395
|
values: [
|
|
5250
5396
|
"sm",
|
|
@@ -5254,7 +5400,7 @@ var treeui_catalog_default = {
|
|
|
5254
5400
|
},
|
|
5255
5401
|
{
|
|
5256
5402
|
name: "sortBy",
|
|
5257
|
-
type: "
|
|
5403
|
+
type: "TTableSortState",
|
|
5258
5404
|
required: false,
|
|
5259
5405
|
description: "Controlled sort state. When provided, overrides internal sort tracking."
|
|
5260
5406
|
}
|
|
@@ -5263,7 +5409,7 @@ var treeui_catalog_default = {
|
|
|
5263
5409
|
{
|
|
5264
5410
|
name: "sort",
|
|
5265
5411
|
description: "Emitted when a sortable column header is clicked.",
|
|
5266
|
-
payload: "
|
|
5412
|
+
payload: "TTableSortState"
|
|
5267
5413
|
}
|
|
5268
5414
|
],
|
|
5269
5415
|
slots: [
|
|
@@ -5322,16 +5468,13 @@ var treeui_catalog_default = {
|
|
|
5322
5468
|
},
|
|
5323
5469
|
{
|
|
5324
5470
|
name: "TTabs",
|
|
5325
|
-
|
|
5326
|
-
aliases: [
|
|
5327
|
-
"TreeTabs"
|
|
5328
|
-
],
|
|
5471
|
+
aliases: [],
|
|
5329
5472
|
package: "@treeui/vue",
|
|
5330
5473
|
kind: "navigation",
|
|
5331
5474
|
category: "Navigation",
|
|
5332
5475
|
status: "available",
|
|
5333
5476
|
purpose: "Tabbed panel navigation with full keyboard support and automatic/manual activation modes.",
|
|
5334
|
-
sourceFile: "packages/vue/src/components/
|
|
5477
|
+
sourceFile: "packages/vue/src/components/TTabs.vue",
|
|
5335
5478
|
storyFile: "apps/docs/src/stories/Tabs.stories.ts",
|
|
5336
5479
|
storyTitle: "Components/Navigation/Tabs",
|
|
5337
5480
|
manifestFile: "docs/ai/COMPONENTS/tabs.yaml",
|
|
@@ -5350,7 +5493,7 @@ var treeui_catalog_default = {
|
|
|
5350
5493
|
},
|
|
5351
5494
|
{
|
|
5352
5495
|
name: "size",
|
|
5353
|
-
type: "
|
|
5496
|
+
type: "TSize",
|
|
5354
5497
|
default: "md",
|
|
5355
5498
|
values: [
|
|
5356
5499
|
"sm",
|
|
@@ -5425,25 +5568,24 @@ var treeui_catalog_default = {
|
|
|
5425
5568
|
required: [],
|
|
5426
5569
|
notes: []
|
|
5427
5570
|
},
|
|
5428
|
-
recipes: [
|
|
5571
|
+
recipes: [
|
|
5572
|
+
"router-backed-tabs"
|
|
5573
|
+
]
|
|
5429
5574
|
},
|
|
5430
5575
|
{
|
|
5431
5576
|
name: "TTag",
|
|
5432
|
-
|
|
5433
|
-
aliases: [
|
|
5434
|
-
"TreeTag"
|
|
5435
|
-
],
|
|
5577
|
+
aliases: [],
|
|
5436
5578
|
package: "@treeui/vue",
|
|
5437
5579
|
category: "Data Display",
|
|
5438
5580
|
description: "Removable label/chip for filters and selections.",
|
|
5439
|
-
sourceFile: "packages/vue/src/components/
|
|
5581
|
+
sourceFile: "packages/vue/src/components/TTag.vue",
|
|
5440
5582
|
storyFile: "apps/docs/src/stories/Tag.stories.ts",
|
|
5441
5583
|
storyTitle: "Components/Data Display/Tag",
|
|
5442
5584
|
manifestFile: "docs/ai/COMPONENTS/tag.yaml",
|
|
5443
5585
|
props: [
|
|
5444
5586
|
{
|
|
5445
5587
|
name: "variant",
|
|
5446
|
-
type: "
|
|
5588
|
+
type: "TTagVariant",
|
|
5447
5589
|
default: "soft",
|
|
5448
5590
|
values: [
|
|
5449
5591
|
"solid",
|
|
@@ -5453,7 +5595,7 @@ var treeui_catalog_default = {
|
|
|
5453
5595
|
},
|
|
5454
5596
|
{
|
|
5455
5597
|
name: "size",
|
|
5456
|
-
type: "
|
|
5598
|
+
type: "TSize",
|
|
5457
5599
|
default: "md",
|
|
5458
5600
|
values: [
|
|
5459
5601
|
"sm",
|
|
@@ -5506,20 +5648,19 @@ var treeui_catalog_default = {
|
|
|
5506
5648
|
required: [],
|
|
5507
5649
|
notes: []
|
|
5508
5650
|
},
|
|
5509
|
-
recipes: [
|
|
5651
|
+
recipes: [
|
|
5652
|
+
"tag-input"
|
|
5653
|
+
]
|
|
5510
5654
|
},
|
|
5511
5655
|
{
|
|
5512
5656
|
name: "TTextarea",
|
|
5513
|
-
|
|
5514
|
-
aliases: [
|
|
5515
|
-
"TreeTextarea"
|
|
5516
|
-
],
|
|
5657
|
+
aliases: [],
|
|
5517
5658
|
package: "@treeui/vue",
|
|
5518
5659
|
kind: "primitive",
|
|
5519
5660
|
category: "Data Entry",
|
|
5520
5661
|
status: "available",
|
|
5521
5662
|
purpose: "Multi-line text field with size, loading, invalid states, and auto-grow option.",
|
|
5522
|
-
sourceFile: "packages/vue/src/components/
|
|
5663
|
+
sourceFile: "packages/vue/src/components/TTextarea.vue",
|
|
5523
5664
|
storyFile: "apps/docs/src/stories/Textarea.stories.ts",
|
|
5524
5665
|
storyTitle: "Components/Data Entry/Textarea",
|
|
5525
5666
|
manifestFile: "docs/ai/COMPONENTS/textarea.yaml",
|
|
@@ -5531,7 +5672,7 @@ var treeui_catalog_default = {
|
|
|
5531
5672
|
},
|
|
5532
5673
|
{
|
|
5533
5674
|
name: "size",
|
|
5534
|
-
type: "
|
|
5675
|
+
type: "TSize",
|
|
5535
5676
|
default: "md",
|
|
5536
5677
|
values: [
|
|
5537
5678
|
"sm",
|
|
@@ -5616,28 +5757,25 @@ var treeui_catalog_default = {
|
|
|
5616
5757
|
},
|
|
5617
5758
|
{
|
|
5618
5759
|
name: "TTimeline",
|
|
5619
|
-
|
|
5620
|
-
aliases: [
|
|
5621
|
-
"TreeTimeline"
|
|
5622
|
-
],
|
|
5760
|
+
aliases: [],
|
|
5623
5761
|
package: "@treeui/vue",
|
|
5624
5762
|
kind: "data_display",
|
|
5625
5763
|
status: "available",
|
|
5626
5764
|
purpose: "Vertical timeline for activity history, audits, release events, and chronological product updates.",
|
|
5627
|
-
sourceFile: "packages/vue/src/components/
|
|
5765
|
+
sourceFile: "packages/vue/src/components/TTimeline.vue",
|
|
5628
5766
|
storyFile: "apps/docs/src/stories/Timeline.stories.ts",
|
|
5629
5767
|
storyTitle: "Release queued for review",
|
|
5630
5768
|
manifestFile: "docs/ai/COMPONENTS/timeline.yaml",
|
|
5631
5769
|
props: [
|
|
5632
5770
|
{
|
|
5633
5771
|
name: "items",
|
|
5634
|
-
type: "
|
|
5772
|
+
type: "TTimelineItem[]",
|
|
5635
5773
|
default: "[]",
|
|
5636
5774
|
note: "Array of { id?: string | number; title: string; description?: string; meta?: string; timestamp?: string; datetime?: string; tone?: 'neutral' | 'brand' | 'success' | 'warning' | 'danger' }"
|
|
5637
5775
|
},
|
|
5638
5776
|
{
|
|
5639
5777
|
name: "size",
|
|
5640
|
-
type: "
|
|
5778
|
+
type: "TSize",
|
|
5641
5779
|
default: "md",
|
|
5642
5780
|
values: [
|
|
5643
5781
|
"sm",
|
|
@@ -5679,15 +5817,12 @@ var treeui_catalog_default = {
|
|
|
5679
5817
|
},
|
|
5680
5818
|
{
|
|
5681
5819
|
name: "TToast",
|
|
5682
|
-
|
|
5683
|
-
aliases: [
|
|
5684
|
-
"TreeToast"
|
|
5685
|
-
],
|
|
5820
|
+
aliases: [],
|
|
5686
5821
|
package: "@treeui/vue",
|
|
5687
5822
|
kind: "feedback",
|
|
5688
5823
|
status: "available",
|
|
5689
5824
|
purpose: "Ephemeral notification stack driven by a composable. Renders toast items inside a positioned container with auto-dismiss and manual close.",
|
|
5690
|
-
sourceFile: "packages/vue/src/components/
|
|
5825
|
+
sourceFile: "packages/vue/src/components/TToast.vue",
|
|
5691
5826
|
manifestFile: "docs/ai/COMPONENTS/toast.yaml",
|
|
5692
5827
|
props: [],
|
|
5693
5828
|
events: [
|
|
@@ -5745,16 +5880,13 @@ var treeui_catalog_default = {
|
|
|
5745
5880
|
},
|
|
5746
5881
|
{
|
|
5747
5882
|
name: "TToggleGroup",
|
|
5748
|
-
|
|
5749
|
-
aliases: [
|
|
5750
|
-
"TreeToggleGroup"
|
|
5751
|
-
],
|
|
5883
|
+
aliases: [],
|
|
5752
5884
|
package: "@treeui/vue",
|
|
5753
5885
|
kind: "selection",
|
|
5754
5886
|
category: "Data Entry",
|
|
5755
5887
|
status: "available",
|
|
5756
5888
|
purpose: "Segmented button group for single or multiple visible choices.",
|
|
5757
|
-
sourceFile: "packages/vue/src/components/
|
|
5889
|
+
sourceFile: "packages/vue/src/components/TToggleGroup.vue",
|
|
5758
5890
|
storyFile: "apps/docs/src/stories/ToggleGroup.stories.ts",
|
|
5759
5891
|
storyTitle: "Components/Data Entry/ToggleGroup",
|
|
5760
5892
|
manifestFile: "docs/ai/COMPONENTS/toggle-group.yaml",
|
|
@@ -5766,13 +5898,13 @@ var treeui_catalog_default = {
|
|
|
5766
5898
|
},
|
|
5767
5899
|
{
|
|
5768
5900
|
name: "options",
|
|
5769
|
-
type: "
|
|
5901
|
+
type: "TToggleGroupOption[]",
|
|
5770
5902
|
default: "[]",
|
|
5771
5903
|
note: "Array of `{ label, value, disabled? }`."
|
|
5772
5904
|
},
|
|
5773
5905
|
{
|
|
5774
5906
|
name: "selectionMode",
|
|
5775
|
-
type: "
|
|
5907
|
+
type: "TToggleGroupSelectionMode",
|
|
5776
5908
|
default: "single",
|
|
5777
5909
|
values: [
|
|
5778
5910
|
"single",
|
|
@@ -5781,7 +5913,7 @@ var treeui_catalog_default = {
|
|
|
5781
5913
|
},
|
|
5782
5914
|
{
|
|
5783
5915
|
name: "size",
|
|
5784
|
-
type: "
|
|
5916
|
+
type: "TSize",
|
|
5785
5917
|
default: "md",
|
|
5786
5918
|
values: [
|
|
5787
5919
|
"sm",
|
|
@@ -5791,7 +5923,7 @@ var treeui_catalog_default = {
|
|
|
5791
5923
|
},
|
|
5792
5924
|
{
|
|
5793
5925
|
name: "variant",
|
|
5794
|
-
type: "
|
|
5926
|
+
type: "TToggleGroupVariant",
|
|
5795
5927
|
default: "outline",
|
|
5796
5928
|
values: [
|
|
5797
5929
|
"outline",
|
|
@@ -5865,16 +5997,13 @@ var treeui_catalog_default = {
|
|
|
5865
5997
|
},
|
|
5866
5998
|
{
|
|
5867
5999
|
name: "TTooltip",
|
|
5868
|
-
|
|
5869
|
-
aliases: [
|
|
5870
|
-
"TreeTooltip"
|
|
5871
|
-
],
|
|
6000
|
+
aliases: [],
|
|
5872
6001
|
package: "@treeui/vue",
|
|
5873
6002
|
kind: "overlay",
|
|
5874
6003
|
category: "Overlay",
|
|
5875
6004
|
status: "available",
|
|
5876
6005
|
purpose: "Small contextual overlay shown on hover or focus.",
|
|
5877
|
-
sourceFile: "packages/vue/src/components/
|
|
6006
|
+
sourceFile: "packages/vue/src/components/TTooltip.vue",
|
|
5878
6007
|
storyFile: "apps/docs/src/stories/Tooltip.stories.ts",
|
|
5879
6008
|
storyTitle: "Components/Overlay/Tooltip",
|
|
5880
6009
|
manifestFile: "docs/ai/COMPONENTS/tooltip.yaml",
|
|
@@ -5901,7 +6030,7 @@ var treeui_catalog_default = {
|
|
|
5901
6030
|
},
|
|
5902
6031
|
{
|
|
5903
6032
|
name: "side",
|
|
5904
|
-
type: "
|
|
6033
|
+
type: "TTooltipSide",
|
|
5905
6034
|
default: "top",
|
|
5906
6035
|
values: [
|
|
5907
6036
|
"top",
|
|
@@ -5980,18 +6109,15 @@ var treeui_catalog_default = {
|
|
|
5980
6109
|
},
|
|
5981
6110
|
{
|
|
5982
6111
|
name: "TTreeView",
|
|
5983
|
-
|
|
5984
|
-
aliases: [
|
|
5985
|
-
"TreeTreeView"
|
|
5986
|
-
],
|
|
6112
|
+
aliases: [],
|
|
5987
6113
|
package: "@treeui/vue",
|
|
5988
6114
|
kind: "selection",
|
|
5989
6115
|
category: "Navigation & Disclosure",
|
|
5990
6116
|
status: "available",
|
|
5991
6117
|
purpose: "Hierarchical tree view with expansion, keyboard navigation, and single or multiple selection.",
|
|
5992
|
-
sourceFile: "packages/vue/src/components/
|
|
6118
|
+
sourceFile: "packages/vue/src/components/TTreeView.vue",
|
|
5993
6119
|
storyFile: "apps/docs/src/stories/TreeView.stories.ts",
|
|
5994
|
-
storyTitle: "Components/Navigation & Disclosure/
|
|
6120
|
+
storyTitle: "Components/Navigation & Disclosure/TView",
|
|
5995
6121
|
manifestFile: "docs/ai/COMPONENTS/tree-view.yaml",
|
|
5996
6122
|
props: [
|
|
5997
6123
|
{
|
|
@@ -6006,13 +6132,13 @@ var treeui_catalog_default = {
|
|
|
6006
6132
|
},
|
|
6007
6133
|
{
|
|
6008
6134
|
name: "nodes",
|
|
6009
|
-
type: "
|
|
6135
|
+
type: "TTreeViewNode[]",
|
|
6010
6136
|
default: "[]",
|
|
6011
6137
|
note: "Array of `{ id, label, description?, meta?, disabled?, children? }`."
|
|
6012
6138
|
},
|
|
6013
6139
|
{
|
|
6014
6140
|
name: "selectionMode",
|
|
6015
|
-
type: "
|
|
6141
|
+
type: "TTreeViewSelectionMode",
|
|
6016
6142
|
default: "single",
|
|
6017
6143
|
values: [
|
|
6018
6144
|
"single",
|
|
@@ -6550,7 +6676,7 @@ var createTreeuiMcpServer = () => {
|
|
|
6550
6676
|
inputSchema: {
|
|
6551
6677
|
type: "object",
|
|
6552
6678
|
properties: {
|
|
6553
|
-
name: { type: "string", description: "Component name or alias, such as TSelect or
|
|
6679
|
+
name: { type: "string", description: "Component name or alias, such as TSelect or TSelect." }
|
|
6554
6680
|
},
|
|
6555
6681
|
required: ["name"]
|
|
6556
6682
|
}
|