@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
package/dist/cli.cjs
CHANGED
|
@@ -34,9 +34,9 @@ var import_server = require("@modelcontextprotocol/sdk/server/index.js");
|
|
|
34
34
|
|
|
35
35
|
// src/generated/treeui.catalog.json
|
|
36
36
|
var treeui_catalog_default = {
|
|
37
|
-
generatedAt: "2026-
|
|
37
|
+
generatedAt: "2026-06-26T22:57:20.487Z",
|
|
38
38
|
packageName: "@treeui/vue",
|
|
39
|
-
packageVersion: "0.
|
|
39
|
+
packageVersion: "0.8.0",
|
|
40
40
|
decisionGuides: [
|
|
41
41
|
{
|
|
42
42
|
id: "single-choice",
|
|
@@ -313,6 +313,37 @@ var treeui_catalog_default = {
|
|
|
313
313
|
"Use `TCard` only when the stat needs additional arbitrary content."
|
|
314
314
|
]
|
|
315
315
|
},
|
|
316
|
+
{
|
|
317
|
+
id: "color-field",
|
|
318
|
+
name: "Color field",
|
|
319
|
+
useWhen: [
|
|
320
|
+
"A form needs a color selection control without adding a dedicated TreeUI component."
|
|
321
|
+
],
|
|
322
|
+
compose: [
|
|
323
|
+
"TFormField",
|
|
324
|
+
'native input[type="color"]'
|
|
325
|
+
],
|
|
326
|
+
notes: [
|
|
327
|
+
"Wrap the native color input with `TFormField` for label, hint, and error handling."
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
id: "tag-input",
|
|
332
|
+
name: "Tag input field",
|
|
333
|
+
useWhen: [
|
|
334
|
+
"A form needs freeform tag entry such as domains, labels, or emails."
|
|
335
|
+
],
|
|
336
|
+
compose: [
|
|
337
|
+
"TFormField",
|
|
338
|
+
"TInput",
|
|
339
|
+
"TTag",
|
|
340
|
+
"TStack"
|
|
341
|
+
],
|
|
342
|
+
notes: [
|
|
343
|
+
"Keep the draft value in app state and add a tag on Enter or separator keys.",
|
|
344
|
+
"Use removable `TTag` items below or inside the field wrapper."
|
|
345
|
+
]
|
|
346
|
+
},
|
|
316
347
|
{
|
|
317
348
|
id: "data-listing",
|
|
318
349
|
name: "Data table with paging",
|
|
@@ -325,7 +356,23 @@ var treeui_catalog_default = {
|
|
|
325
356
|
"TStack"
|
|
326
357
|
],
|
|
327
358
|
notes: [
|
|
328
|
-
"`TTable` stays focused on structured listing; filters and toolbars compose around it."
|
|
359
|
+
"`TTable` stays focused on structured listing; filters and toolbars compose around it.",
|
|
360
|
+
"Use `#cell-{key}` slots when a column renders derived or rich content."
|
|
361
|
+
]
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
id: "router-backed-tabs",
|
|
365
|
+
name: "Router-backed tabs",
|
|
366
|
+
useWhen: [
|
|
367
|
+
"Tabs should deep-link to app state without turning into primary route navigation."
|
|
368
|
+
],
|
|
369
|
+
compose: [
|
|
370
|
+
"TTabs",
|
|
371
|
+
"app router state"
|
|
372
|
+
],
|
|
373
|
+
notes: [
|
|
374
|
+
"Bind `v-model` to a route param, query param, or derived route name in the app layer.",
|
|
375
|
+
"Prefer `TNavMenu` when the selection becomes app-section navigation instead of in-place panel switching."
|
|
329
376
|
]
|
|
330
377
|
},
|
|
331
378
|
{
|
|
@@ -343,6 +390,21 @@ var treeui_catalog_default = {
|
|
|
343
390
|
"Use `TToast` only for the post-confirm success feedback."
|
|
344
391
|
]
|
|
345
392
|
},
|
|
393
|
+
{
|
|
394
|
+
id: "chart-surface",
|
|
395
|
+
name: "Chart surface",
|
|
396
|
+
useWhen: [
|
|
397
|
+
"A screen needs data visualization, but the charting engine should stay external to TreeUI."
|
|
398
|
+
],
|
|
399
|
+
compose: [
|
|
400
|
+
"TCard",
|
|
401
|
+
"TStack",
|
|
402
|
+
"external chart library"
|
|
403
|
+
],
|
|
404
|
+
notes: [
|
|
405
|
+
"Use TreeUI for the surrounding surface, headings, badges, filters, and empty/loading states."
|
|
406
|
+
]
|
|
407
|
+
},
|
|
346
408
|
{
|
|
347
409
|
id: "anchored-help",
|
|
348
410
|
name: "Anchored help affordance",
|
|
@@ -415,7 +477,7 @@ var treeui_catalog_default = {
|
|
|
415
477
|
},
|
|
416
478
|
globalRules: [
|
|
417
479
|
"Always import `@treeui/vue/style.css` once in the consuming application.",
|
|
418
|
-
"
|
|
480
|
+
"All components use the `T<Name>` export prefix; there are no `Tree<Name>` aliases.",
|
|
419
481
|
"Form controls use `modelValue` + `update:modelValue`.",
|
|
420
482
|
"Overlay-style components generally support controlled and uncontrolled open state.",
|
|
421
483
|
"Date-only values use `YYYY-MM-DD`.",
|
|
@@ -443,7 +505,7 @@ var treeui_catalog_default = {
|
|
|
443
505
|
TSelect: {
|
|
444
506
|
required: [],
|
|
445
507
|
notes: [
|
|
446
|
-
"Pass `options` as `{ label, value, disabled? }[]`.",
|
|
508
|
+
"Pass `options` as `{ label, value, disabled? }[]` where `value` can be `string` or `number`.",
|
|
447
509
|
"Use `placeholder` when no selection has been made."
|
|
448
510
|
]
|
|
449
511
|
},
|
|
@@ -521,6 +583,19 @@ var treeui_catalog_default = {
|
|
|
521
583
|
notes: [
|
|
522
584
|
"Pass `plans` matching the same core fields used by `TPricingCard`."
|
|
523
585
|
]
|
|
586
|
+
},
|
|
587
|
+
TModal: {
|
|
588
|
+
required: [],
|
|
589
|
+
notes: [
|
|
590
|
+
"Use `v-model:open` for the idiomatic Vue controlled pattern."
|
|
591
|
+
]
|
|
592
|
+
},
|
|
593
|
+
TBreadcrumb: {
|
|
594
|
+
required: [],
|
|
595
|
+
notes: [
|
|
596
|
+
"Use `href` for native links.",
|
|
597
|
+
"Use `to` when the app has vue-router and breadcrumb items should render RouterLink."
|
|
598
|
+
]
|
|
524
599
|
}
|
|
525
600
|
},
|
|
526
601
|
appPatterns: {
|
|
@@ -543,16 +618,13 @@ var treeui_catalog_default = {
|
|
|
543
618
|
components: [
|
|
544
619
|
{
|
|
545
620
|
name: "TAccordion",
|
|
546
|
-
|
|
547
|
-
aliases: [
|
|
548
|
-
"TreeAccordion"
|
|
549
|
-
],
|
|
621
|
+
aliases: [],
|
|
550
622
|
package: "@treeui/vue",
|
|
551
623
|
kind: "disclosure",
|
|
552
624
|
category: "Data Display",
|
|
553
625
|
status: "available",
|
|
554
626
|
purpose: "Organized content sections with expandable/collapsible behavior. Supports single-open and multi-open modes.\n",
|
|
555
|
-
sourceFile: "packages/vue/src/components/
|
|
627
|
+
sourceFile: "packages/vue/src/components/TAccordion.vue",
|
|
556
628
|
storyFile: "apps/docs/src/stories/Accordion.stories.ts",
|
|
557
629
|
storyTitle: "Components/Data Display/Accordion",
|
|
558
630
|
manifestFile: "docs/ai/COMPONENTS/accordion.yaml",
|
|
@@ -599,16 +671,13 @@ var treeui_catalog_default = {
|
|
|
599
671
|
},
|
|
600
672
|
{
|
|
601
673
|
name: "TAlert",
|
|
602
|
-
|
|
603
|
-
aliases: [
|
|
604
|
-
"TreeAlert"
|
|
605
|
-
],
|
|
674
|
+
aliases: [],
|
|
606
675
|
package: "@treeui/vue",
|
|
607
676
|
kind: "feedback",
|
|
608
677
|
category: "Feedback",
|
|
609
678
|
status: "available",
|
|
610
679
|
purpose: "Inline status banner for info, success, warning, and danger messages.",
|
|
611
|
-
sourceFile: "packages/vue/src/components/
|
|
680
|
+
sourceFile: "packages/vue/src/components/TAlert.vue",
|
|
612
681
|
storyFile: "apps/docs/src/stories/Alert.stories.ts",
|
|
613
682
|
storyTitle: "Components/Feedback/Alert",
|
|
614
683
|
manifestFile: "docs/ai/COMPONENTS/alert.yaml",
|
|
@@ -626,7 +695,7 @@ var treeui_catalog_default = {
|
|
|
626
695
|
},
|
|
627
696
|
{
|
|
628
697
|
name: "size",
|
|
629
|
-
type: "
|
|
698
|
+
type: "TSize",
|
|
630
699
|
default: "md",
|
|
631
700
|
values: [
|
|
632
701
|
"sm",
|
|
@@ -702,14 +771,11 @@ var treeui_catalog_default = {
|
|
|
702
771
|
},
|
|
703
772
|
{
|
|
704
773
|
name: "TAvatar",
|
|
705
|
-
|
|
706
|
-
aliases: [
|
|
707
|
-
"TreeAvatar"
|
|
708
|
-
],
|
|
774
|
+
aliases: [],
|
|
709
775
|
package: "@treeui/vue",
|
|
710
776
|
category: "Data Display",
|
|
711
777
|
description: "User image with fallback initials and optional status indicator dot.",
|
|
712
|
-
sourceFile: "packages/vue/src/components/
|
|
778
|
+
sourceFile: "packages/vue/src/components/TAvatar.vue",
|
|
713
779
|
storyFile: "apps/docs/src/stories/Avatar.stories.ts",
|
|
714
780
|
storyTitle: "Components/Data Display/Avatar",
|
|
715
781
|
manifestFile: "docs/ai/COMPONENTS/avatar.yaml",
|
|
@@ -734,7 +800,7 @@ var treeui_catalog_default = {
|
|
|
734
800
|
},
|
|
735
801
|
{
|
|
736
802
|
name: "size",
|
|
737
|
-
type: "
|
|
803
|
+
type: "TSize",
|
|
738
804
|
default: "md",
|
|
739
805
|
values: [
|
|
740
806
|
"sm",
|
|
@@ -744,7 +810,7 @@ var treeui_catalog_default = {
|
|
|
744
810
|
},
|
|
745
811
|
{
|
|
746
812
|
name: "status",
|
|
747
|
-
type: "
|
|
813
|
+
type: "TAvatarStatus",
|
|
748
814
|
required: false,
|
|
749
815
|
values: [
|
|
750
816
|
"online",
|
|
@@ -782,23 +848,20 @@ var treeui_catalog_default = {
|
|
|
782
848
|
},
|
|
783
849
|
{
|
|
784
850
|
name: "TBadge",
|
|
785
|
-
|
|
786
|
-
aliases: [
|
|
787
|
-
"TreeBadge"
|
|
788
|
-
],
|
|
851
|
+
aliases: [],
|
|
789
852
|
package: "@treeui/vue",
|
|
790
853
|
kind: "display",
|
|
791
854
|
category: "Data Display",
|
|
792
855
|
status: "available",
|
|
793
856
|
purpose: "Compact status or metadata label with optional icon.",
|
|
794
|
-
sourceFile: "packages/vue/src/components/
|
|
857
|
+
sourceFile: "packages/vue/src/components/TBadge.vue",
|
|
795
858
|
storyFile: "apps/docs/src/stories/Badge.stories.ts",
|
|
796
859
|
storyTitle: "Components/Data Display/Badge",
|
|
797
860
|
manifestFile: "docs/ai/COMPONENTS/badge.yaml",
|
|
798
861
|
props: [
|
|
799
862
|
{
|
|
800
863
|
name: "variant",
|
|
801
|
-
type: "
|
|
864
|
+
type: "TVariant",
|
|
802
865
|
default: "soft",
|
|
803
866
|
values: [
|
|
804
867
|
"solid",
|
|
@@ -808,9 +871,22 @@ var treeui_catalog_default = {
|
|
|
808
871
|
"danger"
|
|
809
872
|
]
|
|
810
873
|
},
|
|
874
|
+
{
|
|
875
|
+
name: "tone",
|
|
876
|
+
type: "TBadgeTone",
|
|
877
|
+
default: "neutral",
|
|
878
|
+
values: [
|
|
879
|
+
"neutral",
|
|
880
|
+
"success",
|
|
881
|
+
"warning",
|
|
882
|
+
"danger",
|
|
883
|
+
"info"
|
|
884
|
+
],
|
|
885
|
+
description: "Optional semantic tone layered on top of the visual variant."
|
|
886
|
+
},
|
|
811
887
|
{
|
|
812
888
|
name: "size",
|
|
813
|
-
type: "
|
|
889
|
+
type: "TSize",
|
|
814
890
|
default: "md",
|
|
815
891
|
values: [
|
|
816
892
|
"sm",
|
|
@@ -849,16 +925,13 @@ var treeui_catalog_default = {
|
|
|
849
925
|
},
|
|
850
926
|
{
|
|
851
927
|
name: "TBreadcrumb",
|
|
852
|
-
|
|
853
|
-
aliases: [
|
|
854
|
-
"TreeBreadcrumb"
|
|
855
|
-
],
|
|
928
|
+
aliases: [],
|
|
856
929
|
package: "@treeui/vue",
|
|
857
930
|
kind: "navigation",
|
|
858
931
|
category: "Navigation",
|
|
859
932
|
status: "available",
|
|
860
933
|
purpose: "Hierarchical navigation trail showing the user's current location within a site or application.",
|
|
861
|
-
sourceFile: "packages/vue/src/components/
|
|
934
|
+
sourceFile: "packages/vue/src/components/TBreadcrumb.vue",
|
|
862
935
|
storyFile: "apps/docs/src/stories/Breadcrumb.stories.ts",
|
|
863
936
|
storyTitle: "Components/Navigation/Breadcrumb",
|
|
864
937
|
manifestFile: "docs/ai/COMPONENTS/breadcrumb.yaml",
|
|
@@ -892,22 +965,22 @@ var treeui_catalog_default = {
|
|
|
892
965
|
},
|
|
893
966
|
setup: {
|
|
894
967
|
required: [],
|
|
895
|
-
notes: [
|
|
968
|
+
notes: [
|
|
969
|
+
"Use `href` for native links.",
|
|
970
|
+
"Use `to` when the app has vue-router and breadcrumb items should render RouterLink."
|
|
971
|
+
]
|
|
896
972
|
},
|
|
897
973
|
recipes: []
|
|
898
974
|
},
|
|
899
975
|
{
|
|
900
976
|
name: "TButton",
|
|
901
|
-
|
|
902
|
-
aliases: [
|
|
903
|
-
"TreeButton"
|
|
904
|
-
],
|
|
977
|
+
aliases: [],
|
|
905
978
|
package: "@treeui/vue",
|
|
906
979
|
kind: "primitive",
|
|
907
980
|
category: "Actions",
|
|
908
981
|
status: "available",
|
|
909
982
|
purpose: "Clickable action trigger with variants, sizes, optional polymorphism, and loading state.",
|
|
910
|
-
sourceFile: "packages/vue/src/components/
|
|
983
|
+
sourceFile: "packages/vue/src/components/TButton.vue",
|
|
911
984
|
storyFile: "apps/docs/src/stories/Button.stories.ts",
|
|
912
985
|
storyTitle: "Components/Actions/Button",
|
|
913
986
|
manifestFile: "docs/ai/COMPONENTS/button.yaml",
|
|
@@ -919,7 +992,7 @@ var treeui_catalog_default = {
|
|
|
919
992
|
},
|
|
920
993
|
{
|
|
921
994
|
name: "variant",
|
|
922
|
-
type: "
|
|
995
|
+
type: "TVariant",
|
|
923
996
|
default: "solid",
|
|
924
997
|
values: [
|
|
925
998
|
"solid",
|
|
@@ -931,7 +1004,7 @@ var treeui_catalog_default = {
|
|
|
931
1004
|
},
|
|
932
1005
|
{
|
|
933
1006
|
name: "size",
|
|
934
|
-
type: "
|
|
1007
|
+
type: "TSize",
|
|
935
1008
|
default: "md",
|
|
936
1009
|
values: [
|
|
937
1010
|
"sm",
|
|
@@ -996,16 +1069,13 @@ var treeui_catalog_default = {
|
|
|
996
1069
|
},
|
|
997
1070
|
{
|
|
998
1071
|
name: "TCard",
|
|
999
|
-
|
|
1000
|
-
aliases: [
|
|
1001
|
-
"TreeCard"
|
|
1002
|
-
],
|
|
1072
|
+
aliases: [],
|
|
1003
1073
|
package: "@treeui/vue",
|
|
1004
1074
|
kind: "layout",
|
|
1005
1075
|
category: "Data Display",
|
|
1006
1076
|
status: "available",
|
|
1007
1077
|
purpose: "Surface container with optional header and footer slots.",
|
|
1008
|
-
sourceFile: "packages/vue/src/components/
|
|
1078
|
+
sourceFile: "packages/vue/src/components/TCard.vue",
|
|
1009
1079
|
storyFile: "apps/docs/src/stories/Card.stories.ts",
|
|
1010
1080
|
storyTitle: "Components/Data Display/Card",
|
|
1011
1081
|
manifestFile: "docs/ai/COMPONENTS/card.yaml",
|
|
@@ -1017,23 +1087,30 @@ var treeui_catalog_default = {
|
|
|
1017
1087
|
},
|
|
1018
1088
|
{
|
|
1019
1089
|
name: "variant",
|
|
1020
|
-
type: "
|
|
1090
|
+
type: "TCardVariant",
|
|
1021
1091
|
default: "outline",
|
|
1022
1092
|
values: [
|
|
1023
1093
|
"outline",
|
|
1024
1094
|
"soft",
|
|
1025
|
-
"solid"
|
|
1095
|
+
"solid",
|
|
1096
|
+
"inset"
|
|
1026
1097
|
]
|
|
1027
1098
|
},
|
|
1028
1099
|
{
|
|
1029
1100
|
name: "size",
|
|
1030
|
-
type: "
|
|
1101
|
+
type: "TSize",
|
|
1031
1102
|
default: "md",
|
|
1032
1103
|
values: [
|
|
1033
1104
|
"sm",
|
|
1034
1105
|
"md",
|
|
1035
1106
|
"lg"
|
|
1036
1107
|
]
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
name: "title",
|
|
1111
|
+
type: "string",
|
|
1112
|
+
default: "undefined",
|
|
1113
|
+
description: "Optional card heading rendered inside the header area."
|
|
1037
1114
|
}
|
|
1038
1115
|
],
|
|
1039
1116
|
events: [],
|
|
@@ -1041,6 +1118,9 @@ var treeui_catalog_default = {
|
|
|
1041
1118
|
{
|
|
1042
1119
|
name: "header"
|
|
1043
1120
|
},
|
|
1121
|
+
{
|
|
1122
|
+
name: "actions"
|
|
1123
|
+
},
|
|
1044
1124
|
{
|
|
1045
1125
|
name: "default"
|
|
1046
1126
|
},
|
|
@@ -1081,20 +1161,19 @@ var treeui_catalog_default = {
|
|
|
1081
1161
|
required: [],
|
|
1082
1162
|
notes: []
|
|
1083
1163
|
},
|
|
1084
|
-
recipes: [
|
|
1164
|
+
recipes: [
|
|
1165
|
+
"chart-surface"
|
|
1166
|
+
]
|
|
1085
1167
|
},
|
|
1086
1168
|
{
|
|
1087
1169
|
name: "TCheckbox",
|
|
1088
|
-
|
|
1089
|
-
aliases: [
|
|
1090
|
-
"TreeCheckbox"
|
|
1091
|
-
],
|
|
1170
|
+
aliases: [],
|
|
1092
1171
|
package: "@treeui/vue",
|
|
1093
1172
|
kind: "primitive",
|
|
1094
1173
|
category: "Data Entry",
|
|
1095
1174
|
status: "available",
|
|
1096
1175
|
purpose: "Boolean toggle with indeterminate state; supports v-model via modelValue.",
|
|
1097
|
-
sourceFile: "packages/vue/src/components/
|
|
1176
|
+
sourceFile: "packages/vue/src/components/TCheckbox.vue",
|
|
1098
1177
|
storyFile: "apps/docs/src/stories/Checkbox.stories.ts",
|
|
1099
1178
|
storyTitle: "Components/Data Entry/Checkbox",
|
|
1100
1179
|
manifestFile: "docs/ai/COMPONENTS/checkbox.yaml",
|
|
@@ -1106,7 +1185,7 @@ var treeui_catalog_default = {
|
|
|
1106
1185
|
},
|
|
1107
1186
|
{
|
|
1108
1187
|
name: "size",
|
|
1109
|
-
type: "
|
|
1188
|
+
type: "TSize",
|
|
1110
1189
|
default: "md",
|
|
1111
1190
|
values: [
|
|
1112
1191
|
"sm",
|
|
@@ -1186,16 +1265,13 @@ var treeui_catalog_default = {
|
|
|
1186
1265
|
},
|
|
1187
1266
|
{
|
|
1188
1267
|
name: "TCombobox",
|
|
1189
|
-
|
|
1190
|
-
aliases: [
|
|
1191
|
-
"TreeCombobox"
|
|
1192
|
-
],
|
|
1268
|
+
aliases: [],
|
|
1193
1269
|
package: "@treeui/vue",
|
|
1194
1270
|
kind: "primitive",
|
|
1195
1271
|
category: "Data Entry",
|
|
1196
1272
|
status: "available",
|
|
1197
1273
|
purpose: "Searchable combobox / autocomplete input with local filtering, controlled selection, and shared open-state behavior.",
|
|
1198
|
-
sourceFile: "packages/vue/src/components/
|
|
1274
|
+
sourceFile: "packages/vue/src/components/TCombobox.vue",
|
|
1199
1275
|
storyFile: "apps/docs/src/stories/Combobox.stories.ts",
|
|
1200
1276
|
storyTitle: "Components/Data Entry/Combobox",
|
|
1201
1277
|
manifestFile: "docs/ai/COMPONENTS/combobox.yaml",
|
|
@@ -1207,7 +1283,7 @@ var treeui_catalog_default = {
|
|
|
1207
1283
|
},
|
|
1208
1284
|
{
|
|
1209
1285
|
name: "options",
|
|
1210
|
-
type: "
|
|
1286
|
+
type: "TComboboxOption[]",
|
|
1211
1287
|
default: "[]",
|
|
1212
1288
|
note: "Array of { label: string; value: string; description?: string; keywords?: string[]; disabled?: boolean }"
|
|
1213
1289
|
},
|
|
@@ -1223,7 +1299,7 @@ var treeui_catalog_default = {
|
|
|
1223
1299
|
},
|
|
1224
1300
|
{
|
|
1225
1301
|
name: "size",
|
|
1226
|
-
type: "
|
|
1302
|
+
type: "TSize",
|
|
1227
1303
|
default: "md",
|
|
1228
1304
|
values: [
|
|
1229
1305
|
"sm",
|
|
@@ -1340,16 +1416,13 @@ var treeui_catalog_default = {
|
|
|
1340
1416
|
},
|
|
1341
1417
|
{
|
|
1342
1418
|
name: "TConfirmDialog",
|
|
1343
|
-
|
|
1344
|
-
aliases: [
|
|
1345
|
-
"TreeConfirmDialog"
|
|
1346
|
-
],
|
|
1419
|
+
aliases: [],
|
|
1347
1420
|
package: "@treeui/vue",
|
|
1348
1421
|
kind: "overlay",
|
|
1349
1422
|
category: "Overlay",
|
|
1350
1423
|
status: "available",
|
|
1351
1424
|
purpose: "High-level confirmation dialog built on the shared modal contract, with default confirm and cancel actions.",
|
|
1352
|
-
sourceFile: "packages/vue/src/components/
|
|
1425
|
+
sourceFile: "packages/vue/src/components/TConfirmDialog.vue",
|
|
1353
1426
|
storyFile: "apps/docs/src/stories/ConfirmDialog.stories.ts",
|
|
1354
1427
|
storyTitle: "Components/Overlay/ConfirmDialog",
|
|
1355
1428
|
manifestFile: "docs/ai/COMPONENTS/confirm-dialog.yaml",
|
|
@@ -1371,7 +1444,7 @@ var treeui_catalog_default = {
|
|
|
1371
1444
|
},
|
|
1372
1445
|
{
|
|
1373
1446
|
name: "size",
|
|
1374
|
-
type: "
|
|
1447
|
+
type: "TSize",
|
|
1375
1448
|
default: "sm",
|
|
1376
1449
|
values: [
|
|
1377
1450
|
"sm",
|
|
@@ -1401,7 +1474,7 @@ var treeui_catalog_default = {
|
|
|
1401
1474
|
},
|
|
1402
1475
|
{
|
|
1403
1476
|
name: "confirmVariant",
|
|
1404
|
-
type: "
|
|
1477
|
+
type: "TVariant",
|
|
1405
1478
|
default: "danger"
|
|
1406
1479
|
},
|
|
1407
1480
|
{
|
|
@@ -1509,16 +1582,13 @@ var treeui_catalog_default = {
|
|
|
1509
1582
|
},
|
|
1510
1583
|
{
|
|
1511
1584
|
name: "TContainer",
|
|
1512
|
-
|
|
1513
|
-
aliases: [
|
|
1514
|
-
"TreeContainer"
|
|
1515
|
-
],
|
|
1585
|
+
aliases: [],
|
|
1516
1586
|
package: "@treeui/vue",
|
|
1517
1587
|
kind: "layout",
|
|
1518
1588
|
category: "Layout",
|
|
1519
1589
|
status: "available",
|
|
1520
1590
|
purpose: "Width-constrained layout wrapper for readable page content and app sections.",
|
|
1521
|
-
sourceFile: "packages/vue/src/components/
|
|
1591
|
+
sourceFile: "packages/vue/src/components/TContainer.vue",
|
|
1522
1592
|
storyFile: "apps/docs/src/stories/Container.stories.ts",
|
|
1523
1593
|
storyTitle: "Components/Layout/Container",
|
|
1524
1594
|
manifestFile: "docs/ai/COMPONENTS/container.yaml",
|
|
@@ -1530,7 +1600,7 @@ var treeui_catalog_default = {
|
|
|
1530
1600
|
},
|
|
1531
1601
|
{
|
|
1532
1602
|
name: "size",
|
|
1533
|
-
type: "
|
|
1603
|
+
type: "TContainerSize",
|
|
1534
1604
|
default: "lg",
|
|
1535
1605
|
values: [
|
|
1536
1606
|
"sm",
|
|
@@ -1601,10 +1671,7 @@ var treeui_catalog_default = {
|
|
|
1601
1671
|
},
|
|
1602
1672
|
{
|
|
1603
1673
|
name: "TContextMenu",
|
|
1604
|
-
|
|
1605
|
-
aliases: [
|
|
1606
|
-
"TreeContextMenu"
|
|
1607
|
-
],
|
|
1674
|
+
aliases: [],
|
|
1608
1675
|
package: "@treeui/vue",
|
|
1609
1676
|
category: "Overlay",
|
|
1610
1677
|
status: "stable",
|
|
@@ -1614,7 +1681,7 @@ var treeui_catalog_default = {
|
|
|
1614
1681
|
props: [
|
|
1615
1682
|
{
|
|
1616
1683
|
name: "items",
|
|
1617
|
-
type: "
|
|
1684
|
+
type: "TContextMenuItem[]",
|
|
1618
1685
|
default: "[]",
|
|
1619
1686
|
description: "Menu items to render."
|
|
1620
1687
|
},
|
|
@@ -1638,7 +1705,7 @@ var treeui_catalog_default = {
|
|
|
1638
1705
|
},
|
|
1639
1706
|
{
|
|
1640
1707
|
name: "size",
|
|
1641
|
-
type: "
|
|
1708
|
+
type: "TSize",
|
|
1642
1709
|
default: "md",
|
|
1643
1710
|
description: "Item sizing variant."
|
|
1644
1711
|
}
|
|
@@ -1711,16 +1778,13 @@ var treeui_catalog_default = {
|
|
|
1711
1778
|
},
|
|
1712
1779
|
{
|
|
1713
1780
|
name: "TDatePicker",
|
|
1714
|
-
|
|
1715
|
-
aliases: [
|
|
1716
|
-
"TreeDatePicker"
|
|
1717
|
-
],
|
|
1781
|
+
aliases: [],
|
|
1718
1782
|
package: "@treeui/vue",
|
|
1719
1783
|
kind: "form_overlay",
|
|
1720
1784
|
category: "Data Entry",
|
|
1721
1785
|
status: "available",
|
|
1722
1786
|
purpose: "Date input with calendar popover and keyboard navigation.",
|
|
1723
|
-
sourceFile: "packages/vue/src/components/
|
|
1787
|
+
sourceFile: "packages/vue/src/components/TDatePicker.vue",
|
|
1724
1788
|
storyFile: "apps/docs/src/stories/DatePicker.stories.ts",
|
|
1725
1789
|
storyTitle: "Components/Data Entry/DatePicker",
|
|
1726
1790
|
manifestFile: "docs/ai/COMPONENTS/date-picker.yaml",
|
|
@@ -1742,7 +1806,7 @@ var treeui_catalog_default = {
|
|
|
1742
1806
|
},
|
|
1743
1807
|
{
|
|
1744
1808
|
name: "size",
|
|
1745
|
-
type: "
|
|
1809
|
+
type: "TSize",
|
|
1746
1810
|
default: "md",
|
|
1747
1811
|
values: [
|
|
1748
1812
|
"sm",
|
|
@@ -1863,16 +1927,13 @@ var treeui_catalog_default = {
|
|
|
1863
1927
|
},
|
|
1864
1928
|
{
|
|
1865
1929
|
name: "TDateTimePicker",
|
|
1866
|
-
|
|
1867
|
-
aliases: [
|
|
1868
|
-
"TreeDateTimePicker"
|
|
1869
|
-
],
|
|
1930
|
+
aliases: [],
|
|
1870
1931
|
package: "@treeui/vue",
|
|
1871
1932
|
kind: "form",
|
|
1872
1933
|
category: "Data Entry",
|
|
1873
1934
|
status: "available",
|
|
1874
1935
|
purpose: "Date and time picker with a calendar grid, time selection, and overlay trigger.",
|
|
1875
|
-
sourceFile: "packages/vue/src/components/
|
|
1936
|
+
sourceFile: "packages/vue/src/components/TDateTimePicker.vue",
|
|
1876
1937
|
storyFile: "apps/docs/src/stories/DateTimePicker.stories.ts",
|
|
1877
1938
|
storyTitle: "Components/Data Entry/DateTimePicker",
|
|
1878
1939
|
manifestFile: "docs/ai/COMPONENTS/date-time-picker.yaml",
|
|
@@ -1895,7 +1956,7 @@ var treeui_catalog_default = {
|
|
|
1895
1956
|
},
|
|
1896
1957
|
{
|
|
1897
1958
|
name: "size",
|
|
1898
|
-
type: "
|
|
1959
|
+
type: "TSize",
|
|
1899
1960
|
default: "md",
|
|
1900
1961
|
values: [
|
|
1901
1962
|
"sm",
|
|
@@ -2024,14 +2085,11 @@ var treeui_catalog_default = {
|
|
|
2024
2085
|
},
|
|
2025
2086
|
{
|
|
2026
2087
|
name: "TDivider",
|
|
2027
|
-
|
|
2028
|
-
aliases: [
|
|
2029
|
-
"TreeDivider"
|
|
2030
|
-
],
|
|
2088
|
+
aliases: [],
|
|
2031
2089
|
package: "@treeui/vue",
|
|
2032
2090
|
category: "Layout",
|
|
2033
2091
|
description: "Horizontal or vertical visual separator.",
|
|
2034
|
-
sourceFile: "packages/vue/src/components/
|
|
2092
|
+
sourceFile: "packages/vue/src/components/TDivider.vue",
|
|
2035
2093
|
storyFile: "apps/docs/src/stories/Divider.stories.ts",
|
|
2036
2094
|
storyTitle: "Components/Layout/Divider",
|
|
2037
2095
|
manifestFile: "docs/ai/COMPONENTS/divider.yaml",
|
|
@@ -2080,16 +2138,13 @@ var treeui_catalog_default = {
|
|
|
2080
2138
|
},
|
|
2081
2139
|
{
|
|
2082
2140
|
name: "TDrawer",
|
|
2083
|
-
|
|
2084
|
-
aliases: [
|
|
2085
|
-
"TreeDrawer"
|
|
2086
|
-
],
|
|
2141
|
+
aliases: [],
|
|
2087
2142
|
package: "@treeui/vue",
|
|
2088
2143
|
kind: "overlay",
|
|
2089
2144
|
category: "Overlay",
|
|
2090
2145
|
status: "available",
|
|
2091
2146
|
purpose: "Side-anchored panel for secondary content, navigation, or forms.",
|
|
2092
|
-
sourceFile: "packages/vue/src/components/
|
|
2147
|
+
sourceFile: "packages/vue/src/components/TDrawer.vue",
|
|
2093
2148
|
storyFile: "apps/docs/src/stories/Drawer.stories.ts",
|
|
2094
2149
|
storyTitle: "Components/Overlay/Drawer",
|
|
2095
2150
|
manifestFile: "docs/ai/COMPONENTS/drawer.yaml",
|
|
@@ -2111,7 +2166,7 @@ var treeui_catalog_default = {
|
|
|
2111
2166
|
},
|
|
2112
2167
|
{
|
|
2113
2168
|
name: "size",
|
|
2114
|
-
type: "
|
|
2169
|
+
type: "TSize",
|
|
2115
2170
|
default: "md",
|
|
2116
2171
|
values: [
|
|
2117
2172
|
"sm",
|
|
@@ -2121,7 +2176,7 @@ var treeui_catalog_default = {
|
|
|
2121
2176
|
},
|
|
2122
2177
|
{
|
|
2123
2178
|
name: "side",
|
|
2124
|
-
type: "
|
|
2179
|
+
type: "TDrawerSide",
|
|
2125
2180
|
default: "right",
|
|
2126
2181
|
values: [
|
|
2127
2182
|
"top",
|
|
@@ -2236,23 +2291,20 @@ var treeui_catalog_default = {
|
|
|
2236
2291
|
},
|
|
2237
2292
|
{
|
|
2238
2293
|
name: "TDropdown",
|
|
2239
|
-
|
|
2240
|
-
aliases: [
|
|
2241
|
-
"TreeDropdown"
|
|
2242
|
-
],
|
|
2294
|
+
aliases: [],
|
|
2243
2295
|
package: "@treeui/vue",
|
|
2244
2296
|
kind: "overlay",
|
|
2245
2297
|
category: "Overlay",
|
|
2246
2298
|
status: "available",
|
|
2247
2299
|
purpose: "Trigger + floating menu with keyboard navigation for action lists.",
|
|
2248
|
-
sourceFile: "packages/vue/src/components/
|
|
2300
|
+
sourceFile: "packages/vue/src/components/TDropdown.vue",
|
|
2249
2301
|
storyFile: "apps/docs/src/stories/Dropdown.stories.ts",
|
|
2250
2302
|
storyTitle: "Components/Overlay/Dropdown",
|
|
2251
2303
|
manifestFile: "docs/ai/COMPONENTS/dropdown.yaml",
|
|
2252
2304
|
props: [
|
|
2253
2305
|
{
|
|
2254
2306
|
name: "items",
|
|
2255
|
-
type: "
|
|
2307
|
+
type: "TDropdownItem[]",
|
|
2256
2308
|
default: "[]",
|
|
2257
2309
|
note: "Array of { label: string; value: string; disabled?: boolean }"
|
|
2258
2310
|
},
|
|
@@ -2273,7 +2325,7 @@ var treeui_catalog_default = {
|
|
|
2273
2325
|
},
|
|
2274
2326
|
{
|
|
2275
2327
|
name: "size",
|
|
2276
|
-
type: "
|
|
2328
|
+
type: "TSize",
|
|
2277
2329
|
default: "md",
|
|
2278
2330
|
values: [
|
|
2279
2331
|
"sm",
|
|
@@ -2353,16 +2405,13 @@ var treeui_catalog_default = {
|
|
|
2353
2405
|
},
|
|
2354
2406
|
{
|
|
2355
2407
|
name: "TEmptyState",
|
|
2356
|
-
|
|
2357
|
-
aliases: [
|
|
2358
|
-
"TreeEmptyState"
|
|
2359
|
-
],
|
|
2408
|
+
aliases: [],
|
|
2360
2409
|
package: "@treeui/vue",
|
|
2361
2410
|
kind: "feedback",
|
|
2362
2411
|
category: "Feedback",
|
|
2363
2412
|
status: "available",
|
|
2364
2413
|
purpose: "Structured empty, no-results, and first-run placeholder block with optional icon, body content, and actions.",
|
|
2365
|
-
sourceFile: "packages/vue/src/components/
|
|
2414
|
+
sourceFile: "packages/vue/src/components/TEmptyState.vue",
|
|
2366
2415
|
storyFile: "apps/docs/src/stories/EmptyState.stories.ts",
|
|
2367
2416
|
storyTitle: "Components/Feedback/EmptyState",
|
|
2368
2417
|
manifestFile: "docs/ai/COMPONENTS/empty-state.yaml",
|
|
@@ -2374,7 +2423,7 @@ var treeui_catalog_default = {
|
|
|
2374
2423
|
},
|
|
2375
2424
|
{
|
|
2376
2425
|
name: "size",
|
|
2377
|
-
type: "
|
|
2426
|
+
type: "TSize",
|
|
2378
2427
|
default: "md",
|
|
2379
2428
|
values: [
|
|
2380
2429
|
"sm",
|
|
@@ -2448,16 +2497,13 @@ var treeui_catalog_default = {
|
|
|
2448
2497
|
},
|
|
2449
2498
|
{
|
|
2450
2499
|
name: "TFileUpload",
|
|
2451
|
-
|
|
2452
|
-
aliases: [
|
|
2453
|
-
"TreeFileUpload"
|
|
2454
|
-
],
|
|
2500
|
+
aliases: [],
|
|
2455
2501
|
package: "@treeui/vue",
|
|
2456
2502
|
kind: "form",
|
|
2457
2503
|
category: "Form",
|
|
2458
2504
|
status: "available",
|
|
2459
2505
|
purpose: "Composable dropzone and file picker with browse, drag-and-drop, and Ctrl+V paste support.",
|
|
2460
|
-
sourceFile: "packages/vue/src/components/
|
|
2506
|
+
sourceFile: "packages/vue/src/components/TFileUpload.vue",
|
|
2461
2507
|
storyFile: "apps/docs/src/stories/FileUpload.stories.ts",
|
|
2462
2508
|
storyTitle: "Components/Form/FileUpload",
|
|
2463
2509
|
manifestFile: "docs/ai/COMPONENTS/file-upload.yaml",
|
|
@@ -2469,7 +2515,7 @@ var treeui_catalog_default = {
|
|
|
2469
2515
|
},
|
|
2470
2516
|
{
|
|
2471
2517
|
name: "size",
|
|
2472
|
-
type: "
|
|
2518
|
+
type: "TSize",
|
|
2473
2519
|
default: "md",
|
|
2474
2520
|
values: [
|
|
2475
2521
|
"sm",
|
|
@@ -2602,15 +2648,12 @@ var treeui_catalog_default = {
|
|
|
2602
2648
|
},
|
|
2603
2649
|
{
|
|
2604
2650
|
name: "TFormField",
|
|
2605
|
-
|
|
2606
|
-
aliases: [
|
|
2607
|
-
"TreeFormField"
|
|
2608
|
-
],
|
|
2651
|
+
aliases: [],
|
|
2609
2652
|
package: "@treeui/vue",
|
|
2610
2653
|
category: "Data Entry",
|
|
2611
2654
|
status: "milestone-1",
|
|
2612
2655
|
description: "Label + input wrapper with error and hint slots. Provides consistent layout, labelling, and validation messaging for any form control.\n",
|
|
2613
|
-
sourceFile: "packages/vue/src/components/
|
|
2656
|
+
sourceFile: "packages/vue/src/components/TFormField.vue",
|
|
2614
2657
|
storyFile: "apps/docs/src/stories/FormField.stories.ts",
|
|
2615
2658
|
storyTitle: "Components/Data Entry/FormField",
|
|
2616
2659
|
manifestFile: "docs/ai/COMPONENTS/form-field.yaml",
|
|
@@ -2653,7 +2696,7 @@ var treeui_catalog_default = {
|
|
|
2653
2696
|
},
|
|
2654
2697
|
{
|
|
2655
2698
|
name: "size",
|
|
2656
|
-
type: "
|
|
2699
|
+
type: "TSize",
|
|
2657
2700
|
default: "md",
|
|
2658
2701
|
values: [
|
|
2659
2702
|
"sm",
|
|
@@ -2727,21 +2770,20 @@ var treeui_catalog_default = {
|
|
|
2727
2770
|
"form-field-input",
|
|
2728
2771
|
"searchable-multi-choice",
|
|
2729
2772
|
"date-range-form",
|
|
2773
|
+
"color-field",
|
|
2774
|
+
"tag-input",
|
|
2730
2775
|
"hierarchy-picker"
|
|
2731
2776
|
]
|
|
2732
2777
|
},
|
|
2733
2778
|
{
|
|
2734
2779
|
name: "TGrid",
|
|
2735
|
-
|
|
2736
|
-
aliases: [
|
|
2737
|
-
"TreeGrid"
|
|
2738
|
-
],
|
|
2780
|
+
aliases: [],
|
|
2739
2781
|
package: "@treeui/vue",
|
|
2740
2782
|
kind: "layout",
|
|
2741
2783
|
category: "Layout",
|
|
2742
2784
|
status: "available",
|
|
2743
2785
|
purpose: "Responsive grid wrapper for cards, forms, stats, and other multi-column layouts.",
|
|
2744
|
-
sourceFile: "packages/vue/src/components/
|
|
2786
|
+
sourceFile: "packages/vue/src/components/TGrid.vue",
|
|
2745
2787
|
storyFile: "apps/docs/src/stories/Grid.stories.ts",
|
|
2746
2788
|
storyTitle: "Components/Layout/Grid",
|
|
2747
2789
|
manifestFile: "docs/ai/COMPONENTS/grid.yaml",
|
|
@@ -2834,17 +2876,104 @@ var treeui_catalog_default = {
|
|
|
2834
2876
|
]
|
|
2835
2877
|
},
|
|
2836
2878
|
{
|
|
2837
|
-
name: "
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2879
|
+
name: "TIcon",
|
|
2880
|
+
aliases: [],
|
|
2881
|
+
package: "@treeui/vue",
|
|
2882
|
+
kind: "display",
|
|
2883
|
+
category: "Data Display",
|
|
2884
|
+
status: "available",
|
|
2885
|
+
purpose: "Render a registered TreeUI icon by name with consistent sizing and accessibility defaults.",
|
|
2886
|
+
sourceFile: "packages/vue/src/components/TIcon.vue",
|
|
2887
|
+
storyFile: "apps/docs/src/stories/Icon.stories.ts",
|
|
2888
|
+
storyTitle: "Components/Data Display/Icon",
|
|
2889
|
+
manifestFile: "docs/ai/COMPONENTS/icon.yaml",
|
|
2890
|
+
props: [
|
|
2891
|
+
{
|
|
2892
|
+
name: "name",
|
|
2893
|
+
type: "TIconName",
|
|
2894
|
+
required: true,
|
|
2895
|
+
values: [
|
|
2896
|
+
"alert-circle",
|
|
2897
|
+
"calendar",
|
|
2898
|
+
"check",
|
|
2899
|
+
"chevron-left",
|
|
2900
|
+
"chevron-down",
|
|
2901
|
+
"chevron-right",
|
|
2902
|
+
"info",
|
|
2903
|
+
"loader-circle",
|
|
2904
|
+
"search",
|
|
2905
|
+
"x"
|
|
2906
|
+
],
|
|
2907
|
+
description: "Icon identifier from the @treeui/icons registry."
|
|
2908
|
+
},
|
|
2909
|
+
{
|
|
2910
|
+
name: "size",
|
|
2911
|
+
type: "number | string",
|
|
2912
|
+
default: "20",
|
|
2913
|
+
description: "Pixel size for both width and height of the rendered svg."
|
|
2914
|
+
},
|
|
2915
|
+
{
|
|
2916
|
+
name: "strokeWidth",
|
|
2917
|
+
type: "number | string",
|
|
2918
|
+
default: "2"
|
|
2919
|
+
},
|
|
2920
|
+
{
|
|
2921
|
+
name: "absoluteStrokeWidth",
|
|
2922
|
+
type: "boolean",
|
|
2923
|
+
default: "true",
|
|
2924
|
+
description: "When true, stroke width stays visually constant across sizes."
|
|
2925
|
+
},
|
|
2926
|
+
{
|
|
2927
|
+
name: "label",
|
|
2928
|
+
type: "string",
|
|
2929
|
+
default: "undefined",
|
|
2930
|
+
description: 'Accessible label. When set, the icon becomes role="img" with aria-label; otherwise it is aria-hidden.'
|
|
2931
|
+
}
|
|
2841
2932
|
],
|
|
2933
|
+
events: [],
|
|
2934
|
+
slots: [],
|
|
2935
|
+
a11y: [
|
|
2936
|
+
"decorative_by_default: true",
|
|
2937
|
+
"becomes_image_when_labeled: true",
|
|
2938
|
+
"rule: Provide `label` only when the icon conveys meaning that is not already in adjacent text."
|
|
2939
|
+
],
|
|
2940
|
+
behavior: [],
|
|
2941
|
+
selection: {
|
|
2942
|
+
keywords: [
|
|
2943
|
+
"icon",
|
|
2944
|
+
"svg",
|
|
2945
|
+
"glyph",
|
|
2946
|
+
"pictogram"
|
|
2947
|
+
],
|
|
2948
|
+
useWhen: [
|
|
2949
|
+
"You need to render a registered TreeUI icon by name.",
|
|
2950
|
+
"You want consistent sizing and a11y defaults without importing the icon component directly."
|
|
2951
|
+
],
|
|
2952
|
+
avoidWhen: [
|
|
2953
|
+
"The icon is not in the @treeui/icons registry \u2014 import or register it instead."
|
|
2954
|
+
],
|
|
2955
|
+
alternatives: [
|
|
2956
|
+
{
|
|
2957
|
+
component: "named import from @treeui/icons",
|
|
2958
|
+
when: "You need tree-shaken, statically-imported icon components."
|
|
2959
|
+
}
|
|
2960
|
+
]
|
|
2961
|
+
},
|
|
2962
|
+
setup: {
|
|
2963
|
+
required: [],
|
|
2964
|
+
notes: []
|
|
2965
|
+
},
|
|
2966
|
+
recipes: []
|
|
2967
|
+
},
|
|
2968
|
+
{
|
|
2969
|
+
name: "TInput",
|
|
2970
|
+
aliases: [],
|
|
2842
2971
|
package: "@treeui/vue",
|
|
2843
2972
|
kind: "primitive",
|
|
2844
2973
|
category: "Data Entry",
|
|
2845
2974
|
status: "available",
|
|
2846
2975
|
purpose: "Text input with size, loading, invalid, and prefix or suffix slots.",
|
|
2847
|
-
sourceFile: "packages/vue/src/components/
|
|
2976
|
+
sourceFile: "packages/vue/src/components/TInput.vue",
|
|
2848
2977
|
storyFile: "apps/docs/src/stories/Input.stories.ts",
|
|
2849
2978
|
storyTitle: "Components/Data Entry/Input",
|
|
2850
2979
|
manifestFile: "docs/ai/COMPONENTS/input.yaml",
|
|
@@ -2856,7 +2985,7 @@ var treeui_catalog_default = {
|
|
|
2856
2985
|
},
|
|
2857
2986
|
{
|
|
2858
2987
|
name: "size",
|
|
2859
|
-
type: "
|
|
2988
|
+
type: "TSize",
|
|
2860
2989
|
default: "md",
|
|
2861
2990
|
values: [
|
|
2862
2991
|
"sm",
|
|
@@ -2944,15 +3073,85 @@ var treeui_catalog_default = {
|
|
|
2944
3073
|
notes: []
|
|
2945
3074
|
},
|
|
2946
3075
|
recipes: [
|
|
2947
|
-
"form-field-input"
|
|
3076
|
+
"form-field-input",
|
|
3077
|
+
"tag-input"
|
|
2948
3078
|
]
|
|
2949
3079
|
},
|
|
2950
3080
|
{
|
|
2951
|
-
name: "
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
3081
|
+
name: "TLink",
|
|
3082
|
+
aliases: [],
|
|
3083
|
+
package: "@treeui/vue",
|
|
3084
|
+
kind: "navigation",
|
|
3085
|
+
category: "Navigation",
|
|
3086
|
+
status: "available",
|
|
3087
|
+
purpose: "Inline link with consistent styling, optional RouterLink rendering, and external link support.",
|
|
3088
|
+
sourceFile: "packages/vue/src/components/TLink.vue",
|
|
3089
|
+
storyFile: "apps/docs/src/stories/Link.stories.ts",
|
|
3090
|
+
storyTitle: "Components/Navigation/Link",
|
|
3091
|
+
manifestFile: "docs/ai/COMPONENTS/link.yaml",
|
|
3092
|
+
props: [
|
|
3093
|
+
{
|
|
3094
|
+
name: "to",
|
|
3095
|
+
type: "string | Record<string, unknown>",
|
|
3096
|
+
default: "undefined",
|
|
3097
|
+
description: "Route target. When provided and vue-router is available, renders RouterLink."
|
|
3098
|
+
},
|
|
3099
|
+
{
|
|
3100
|
+
name: "href",
|
|
3101
|
+
type: "string",
|
|
3102
|
+
default: "undefined",
|
|
3103
|
+
description: "Native href for anchor elements. Ignored when `to` is provided with vue-router."
|
|
3104
|
+
},
|
|
3105
|
+
{
|
|
3106
|
+
name: "external",
|
|
3107
|
+
type: "boolean",
|
|
3108
|
+
default: "false",
|
|
3109
|
+
description: "Opens link in new tab with rel='noopener noreferrer'."
|
|
3110
|
+
},
|
|
3111
|
+
{
|
|
3112
|
+
name: "disabled",
|
|
3113
|
+
type: "boolean",
|
|
3114
|
+
default: "false"
|
|
3115
|
+
},
|
|
3116
|
+
{
|
|
3117
|
+
name: "variant",
|
|
3118
|
+
type: "TLinkVariant",
|
|
3119
|
+
default: "default",
|
|
3120
|
+
values: [
|
|
3121
|
+
"default",
|
|
3122
|
+
"muted",
|
|
3123
|
+
"danger"
|
|
3124
|
+
]
|
|
3125
|
+
}
|
|
3126
|
+
],
|
|
3127
|
+
events: [],
|
|
3128
|
+
slots: [
|
|
3129
|
+
{
|
|
3130
|
+
name: "default"
|
|
3131
|
+
}
|
|
3132
|
+
],
|
|
3133
|
+
a11y: [
|
|
3134
|
+
"semantic_element: a (or RouterLink, or span when disabled)",
|
|
3135
|
+
"aria_disabled: set when disabled",
|
|
3136
|
+
"tabindex: -1 when disabled",
|
|
3137
|
+
"focus_visible: true"
|
|
2955
3138
|
],
|
|
3139
|
+
behavior: [],
|
|
3140
|
+
selection: {
|
|
3141
|
+
keywords: [],
|
|
3142
|
+
useWhen: [],
|
|
3143
|
+
avoidWhen: [],
|
|
3144
|
+
alternatives: []
|
|
3145
|
+
},
|
|
3146
|
+
setup: {
|
|
3147
|
+
required: [],
|
|
3148
|
+
notes: []
|
|
3149
|
+
},
|
|
3150
|
+
recipes: []
|
|
3151
|
+
},
|
|
3152
|
+
{
|
|
3153
|
+
name: "TMarkdownEditor",
|
|
3154
|
+
aliases: [],
|
|
2956
3155
|
package: "@treeui/vue",
|
|
2957
3156
|
category: "Form",
|
|
2958
3157
|
status: "stable",
|
|
@@ -2969,7 +3168,7 @@ var treeui_catalog_default = {
|
|
|
2969
3168
|
},
|
|
2970
3169
|
{
|
|
2971
3170
|
name: "size",
|
|
2972
|
-
type: "
|
|
3171
|
+
type: "TSize",
|
|
2973
3172
|
default: "md",
|
|
2974
3173
|
values: [
|
|
2975
3174
|
"sm",
|
|
@@ -3054,16 +3253,13 @@ var treeui_catalog_default = {
|
|
|
3054
3253
|
},
|
|
3055
3254
|
{
|
|
3056
3255
|
name: "TModal",
|
|
3057
|
-
|
|
3058
|
-
aliases: [
|
|
3059
|
-
"TreeModal"
|
|
3060
|
-
],
|
|
3256
|
+
aliases: [],
|
|
3061
3257
|
package: "@treeui/vue",
|
|
3062
3258
|
kind: "overlay",
|
|
3063
3259
|
category: "Overlay",
|
|
3064
3260
|
status: "available",
|
|
3065
3261
|
purpose: "Accessible modal dialog for focused tasks and confirmations.",
|
|
3066
|
-
sourceFile: "packages/vue/src/components/
|
|
3262
|
+
sourceFile: "packages/vue/src/components/TModal.vue",
|
|
3067
3263
|
storyFile: "apps/docs/src/stories/Modal.stories.ts",
|
|
3068
3264
|
storyTitle: "Components/Overlay/Modal",
|
|
3069
3265
|
manifestFile: "docs/ai/COMPONENTS/modal.yaml",
|
|
@@ -3085,7 +3281,7 @@ var treeui_catalog_default = {
|
|
|
3085
3281
|
},
|
|
3086
3282
|
{
|
|
3087
3283
|
name: "size",
|
|
3088
|
-
type: "
|
|
3284
|
+
type: "TSize",
|
|
3089
3285
|
default: "md",
|
|
3090
3286
|
values: [
|
|
3091
3287
|
"sm",
|
|
@@ -3197,22 +3393,21 @@ var treeui_catalog_default = {
|
|
|
3197
3393
|
},
|
|
3198
3394
|
setup: {
|
|
3199
3395
|
required: [],
|
|
3200
|
-
notes: [
|
|
3396
|
+
notes: [
|
|
3397
|
+
"Use `v-model:open` for the idiomatic Vue controlled pattern."
|
|
3398
|
+
]
|
|
3201
3399
|
},
|
|
3202
3400
|
recipes: []
|
|
3203
3401
|
},
|
|
3204
3402
|
{
|
|
3205
3403
|
name: "TMultiSelect",
|
|
3206
|
-
|
|
3207
|
-
aliases: [
|
|
3208
|
-
"TreeMultiSelect"
|
|
3209
|
-
],
|
|
3404
|
+
aliases: [],
|
|
3210
3405
|
package: "@treeui/vue",
|
|
3211
3406
|
kind: "form",
|
|
3212
3407
|
category: "Data Entry",
|
|
3213
3408
|
status: "available",
|
|
3214
3409
|
purpose: "Searchable multi-select control that renders selected values as tags.",
|
|
3215
|
-
sourceFile: "packages/vue/src/components/
|
|
3410
|
+
sourceFile: "packages/vue/src/components/TMultiSelect.vue",
|
|
3216
3411
|
storyFile: "apps/docs/src/stories/MultiSelect.stories.ts",
|
|
3217
3412
|
storyTitle: "Components/Data Entry/MultiSelect",
|
|
3218
3413
|
manifestFile: "docs/ai/COMPONENTS/multi-select.yaml",
|
|
@@ -3224,7 +3419,7 @@ var treeui_catalog_default = {
|
|
|
3224
3419
|
},
|
|
3225
3420
|
{
|
|
3226
3421
|
name: "options",
|
|
3227
|
-
type: "
|
|
3422
|
+
type: "TMultiSelectOption[]",
|
|
3228
3423
|
default: "[]",
|
|
3229
3424
|
note: "Array of `{ label, value, description?, keywords?, disabled? }`."
|
|
3230
3425
|
},
|
|
@@ -3240,7 +3435,7 @@ var treeui_catalog_default = {
|
|
|
3240
3435
|
},
|
|
3241
3436
|
{
|
|
3242
3437
|
name: "size",
|
|
3243
|
-
type: "
|
|
3438
|
+
type: "TSize",
|
|
3244
3439
|
default: "md",
|
|
3245
3440
|
values: [
|
|
3246
3441
|
"sm",
|
|
@@ -3365,18 +3560,15 @@ var treeui_catalog_default = {
|
|
|
3365
3560
|
},
|
|
3366
3561
|
{
|
|
3367
3562
|
name: "TNavbar",
|
|
3368
|
-
legacyAlias: "TreeAppBar",
|
|
3369
3563
|
aliases: [
|
|
3370
|
-
"TAppBar"
|
|
3371
|
-
"TreeAppBar",
|
|
3372
|
-
"TreeNavbar"
|
|
3564
|
+
"TAppBar"
|
|
3373
3565
|
],
|
|
3374
3566
|
package: "@treeui/vue",
|
|
3375
3567
|
kind: "layout",
|
|
3376
3568
|
category: "Layout",
|
|
3377
3569
|
status: "available",
|
|
3378
3570
|
purpose: "Top application bar with start, center, and end content areas.",
|
|
3379
|
-
sourceFile: "packages/vue/src/components/
|
|
3571
|
+
sourceFile: "packages/vue/src/components/TNavbar.vue",
|
|
3380
3572
|
storyFile: "apps/docs/src/stories/Navbar.stories.ts",
|
|
3381
3573
|
storyTitle: "Components/Layout/Navbar",
|
|
3382
3574
|
manifestFile: "docs/ai/COMPONENTS/navbar.yaml",
|
|
@@ -3388,7 +3580,7 @@ var treeui_catalog_default = {
|
|
|
3388
3580
|
},
|
|
3389
3581
|
{
|
|
3390
3582
|
name: "size",
|
|
3391
|
-
type: "
|
|
3583
|
+
type: "TSize",
|
|
3392
3584
|
default: "md",
|
|
3393
3585
|
values: [
|
|
3394
3586
|
"sm",
|
|
@@ -3466,16 +3658,13 @@ var treeui_catalog_default = {
|
|
|
3466
3658
|
},
|
|
3467
3659
|
{
|
|
3468
3660
|
name: "TNavMenu",
|
|
3469
|
-
|
|
3470
|
-
aliases: [
|
|
3471
|
-
"TreeNavMenu"
|
|
3472
|
-
],
|
|
3661
|
+
aliases: [],
|
|
3473
3662
|
package: "@treeui/vue",
|
|
3474
3663
|
kind: "navigation",
|
|
3475
3664
|
category: "Layout",
|
|
3476
3665
|
status: "available",
|
|
3477
|
-
purpose: "
|
|
3478
|
-
sourceFile: "packages/vue/src/components/
|
|
3666
|
+
purpose: "Vertical navigation menu with selection state, keyboard navigation, optional RouterLink rendering, and sidebar integration.",
|
|
3667
|
+
sourceFile: "packages/vue/src/components/TNavMenu.vue",
|
|
3479
3668
|
storyFile: "apps/docs/src/stories/NavMenu.stories.ts",
|
|
3480
3669
|
storyTitle: "Components/Layout/NavMenu",
|
|
3481
3670
|
manifestFile: "docs/ai/COMPONENTS/nav-menu.yaml",
|
|
@@ -3492,13 +3681,13 @@ var treeui_catalog_default = {
|
|
|
3492
3681
|
},
|
|
3493
3682
|
{
|
|
3494
3683
|
name: "items",
|
|
3495
|
-
type: "
|
|
3684
|
+
type: "TNavMenuItem[]",
|
|
3496
3685
|
default: "[]",
|
|
3497
|
-
note: "Array of `{ label, value, shortLabel?, description?, badge?, disabled? }`."
|
|
3686
|
+
note: "Array of `{ label, value, shortLabel?, description?, icon?, to?, badge?, disabled? }`."
|
|
3498
3687
|
},
|
|
3499
3688
|
{
|
|
3500
3689
|
name: "size",
|
|
3501
|
-
type: "
|
|
3690
|
+
type: "TSize",
|
|
3502
3691
|
default: "md",
|
|
3503
3692
|
values: [
|
|
3504
3693
|
"sm",
|
|
@@ -3538,7 +3727,9 @@ var treeui_catalog_default = {
|
|
|
3538
3727
|
"roving_focus: true",
|
|
3539
3728
|
"home_end_navigation: true",
|
|
3540
3729
|
"arrow_navigation: true",
|
|
3541
|
-
"activation_keys_select_item: true"
|
|
3730
|
+
"activation_keys_select_item: true",
|
|
3731
|
+
"aria_current: page on selected item",
|
|
3732
|
+
"aria_disabled: on link items when disabled"
|
|
3542
3733
|
],
|
|
3543
3734
|
behavior: [
|
|
3544
3735
|
"can_be_controlled_or_uncontrolled: true",
|
|
@@ -3580,16 +3771,13 @@ var treeui_catalog_default = {
|
|
|
3580
3771
|
},
|
|
3581
3772
|
{
|
|
3582
3773
|
name: "TNumberInput",
|
|
3583
|
-
|
|
3584
|
-
aliases: [
|
|
3585
|
-
"TreeNumberInput"
|
|
3586
|
-
],
|
|
3774
|
+
aliases: [],
|
|
3587
3775
|
package: "@treeui/vue",
|
|
3588
3776
|
kind: "form",
|
|
3589
3777
|
category: "Data Entry",
|
|
3590
3778
|
status: "available",
|
|
3591
3779
|
purpose: "Numeric input with optional increment and decrement controls.",
|
|
3592
|
-
sourceFile: "packages/vue/src/components/
|
|
3780
|
+
sourceFile: "packages/vue/src/components/TNumberInput.vue",
|
|
3593
3781
|
storyFile: "apps/docs/src/stories/NumberInput.stories.ts",
|
|
3594
3782
|
storyTitle: "Components/Data Entry/NumberInput",
|
|
3595
3783
|
manifestFile: "docs/ai/COMPONENTS/number-input.yaml",
|
|
@@ -3615,7 +3803,7 @@ var treeui_catalog_default = {
|
|
|
3615
3803
|
},
|
|
3616
3804
|
{
|
|
3617
3805
|
name: "size",
|
|
3618
|
-
type: "
|
|
3806
|
+
type: "TSize",
|
|
3619
3807
|
default: "md",
|
|
3620
3808
|
values: [
|
|
3621
3809
|
"sm",
|
|
@@ -3690,16 +3878,13 @@ var treeui_catalog_default = {
|
|
|
3690
3878
|
},
|
|
3691
3879
|
{
|
|
3692
3880
|
name: "TPagination",
|
|
3693
|
-
|
|
3694
|
-
aliases: [
|
|
3695
|
-
"TreePagination"
|
|
3696
|
-
],
|
|
3881
|
+
aliases: [],
|
|
3697
3882
|
package: "@treeui/vue",
|
|
3698
3883
|
kind: "primitive",
|
|
3699
3884
|
category: "Navigation",
|
|
3700
3885
|
status: "available",
|
|
3701
3886
|
purpose: "Page controls with previous/next navigation, numbered page buttons, and ellipsis for large page ranges. Supports v-model for the active page.\n",
|
|
3702
|
-
sourceFile: "packages/vue/src/components/
|
|
3887
|
+
sourceFile: "packages/vue/src/components/TPagination.vue",
|
|
3703
3888
|
storyFile: "apps/docs/src/stories/Pagination.stories.ts",
|
|
3704
3889
|
storyTitle: "Components/Navigation/Pagination",
|
|
3705
3890
|
manifestFile: "docs/ai/COMPONENTS/pagination.yaml",
|
|
@@ -3724,7 +3909,7 @@ var treeui_catalog_default = {
|
|
|
3724
3909
|
},
|
|
3725
3910
|
{
|
|
3726
3911
|
name: "size",
|
|
3727
|
-
type: "
|
|
3912
|
+
type: "TSize",
|
|
3728
3913
|
default: "md",
|
|
3729
3914
|
values: [
|
|
3730
3915
|
"sm",
|
|
@@ -3806,10 +3991,7 @@ var treeui_catalog_default = {
|
|
|
3806
3991
|
},
|
|
3807
3992
|
{
|
|
3808
3993
|
name: "TPopover",
|
|
3809
|
-
|
|
3810
|
-
aliases: [
|
|
3811
|
-
"TreePopover"
|
|
3812
|
-
],
|
|
3994
|
+
aliases: [],
|
|
3813
3995
|
package: "@treeui/vue",
|
|
3814
3996
|
category: "Overlay",
|
|
3815
3997
|
status: "stable",
|
|
@@ -3912,10 +4094,7 @@ var treeui_catalog_default = {
|
|
|
3912
4094
|
},
|
|
3913
4095
|
{
|
|
3914
4096
|
name: "TPricing",
|
|
3915
|
-
|
|
3916
|
-
aliases: [
|
|
3917
|
-
"TreePricing"
|
|
3918
|
-
],
|
|
4097
|
+
aliases: [],
|
|
3919
4098
|
package: "@treeui/vue",
|
|
3920
4099
|
status: "stable",
|
|
3921
4100
|
description: "Grid wrapper that renders multiple PricingCard components from an array of plan objects.\n",
|
|
@@ -3931,7 +4110,7 @@ var treeui_catalog_default = {
|
|
|
3931
4110
|
},
|
|
3932
4111
|
{
|
|
3933
4112
|
name: "size",
|
|
3934
|
-
type: "
|
|
4113
|
+
type: "TSize",
|
|
3935
4114
|
default: "md",
|
|
3936
4115
|
description: "Size applied to all child pricing cards."
|
|
3937
4116
|
},
|
|
@@ -3979,10 +4158,7 @@ var treeui_catalog_default = {
|
|
|
3979
4158
|
},
|
|
3980
4159
|
{
|
|
3981
4160
|
name: "TPricingCard",
|
|
3982
|
-
|
|
3983
|
-
aliases: [
|
|
3984
|
-
"TreePricingCard"
|
|
3985
|
-
],
|
|
4161
|
+
aliases: [],
|
|
3986
4162
|
package: "@treeui/vue",
|
|
3987
4163
|
category: "Data Display",
|
|
3988
4164
|
status: "stable",
|
|
@@ -4047,7 +4223,7 @@ var treeui_catalog_default = {
|
|
|
4047
4223
|
},
|
|
4048
4224
|
{
|
|
4049
4225
|
name: "size",
|
|
4050
|
-
type: "
|
|
4226
|
+
type: "TSize",
|
|
4051
4227
|
default: "md",
|
|
4052
4228
|
description: "Card size \u2014 affects padding, font sizes."
|
|
4053
4229
|
},
|
|
@@ -4092,7 +4268,7 @@ var treeui_catalog_default = {
|
|
|
4092
4268
|
"Uses <h3> for plan title.",
|
|
4093
4269
|
'Feature list uses role="list" with <ul>/<li>.',
|
|
4094
4270
|
'Feature icons are aria-hidden="true".',
|
|
4095
|
-
"CTA button inherits
|
|
4271
|
+
"CTA button inherits TButton a11y (disabled, aria-busy)."
|
|
4096
4272
|
],
|
|
4097
4273
|
behavior: [],
|
|
4098
4274
|
selection: {
|
|
@@ -4111,10 +4287,7 @@ var treeui_catalog_default = {
|
|
|
4111
4287
|
},
|
|
4112
4288
|
{
|
|
4113
4289
|
name: "TProgress",
|
|
4114
|
-
|
|
4115
|
-
aliases: [
|
|
4116
|
-
"TreeProgress"
|
|
4117
|
-
],
|
|
4290
|
+
aliases: [],
|
|
4118
4291
|
package: "@treeui/vue",
|
|
4119
4292
|
category: "Feedback",
|
|
4120
4293
|
status: "draft",
|
|
@@ -4137,7 +4310,7 @@ var treeui_catalog_default = {
|
|
|
4137
4310
|
},
|
|
4138
4311
|
{
|
|
4139
4312
|
name: "size",
|
|
4140
|
-
type: "
|
|
4313
|
+
type: "TSize",
|
|
4141
4314
|
default: "md",
|
|
4142
4315
|
values: [
|
|
4143
4316
|
"sm",
|
|
@@ -4175,15 +4348,12 @@ var treeui_catalog_default = {
|
|
|
4175
4348
|
},
|
|
4176
4349
|
{
|
|
4177
4350
|
name: "TRadio",
|
|
4178
|
-
|
|
4179
|
-
aliases: [
|
|
4180
|
-
"TreeRadio"
|
|
4181
|
-
],
|
|
4351
|
+
aliases: [],
|
|
4182
4352
|
package: "@treeui/vue",
|
|
4183
4353
|
kind: "primitive",
|
|
4184
4354
|
status: "available",
|
|
4185
4355
|
purpose: "Single radio option within a TRadioGroup; renders a native radio input.",
|
|
4186
|
-
sourceFile: "packages/vue/src/components/
|
|
4356
|
+
sourceFile: "packages/vue/src/components/TRadio.vue",
|
|
4187
4357
|
manifestFile: "docs/ai/COMPONENTS/radio.yaml",
|
|
4188
4358
|
props: [
|
|
4189
4359
|
{
|
|
@@ -4203,7 +4373,7 @@ var treeui_catalog_default = {
|
|
|
4203
4373
|
},
|
|
4204
4374
|
{
|
|
4205
4375
|
name: "size",
|
|
4206
|
-
type: "
|
|
4376
|
+
type: "TSize",
|
|
4207
4377
|
default: "inherited_from_group",
|
|
4208
4378
|
values: [
|
|
4209
4379
|
"sm",
|
|
@@ -4246,16 +4416,13 @@ var treeui_catalog_default = {
|
|
|
4246
4416
|
},
|
|
4247
4417
|
{
|
|
4248
4418
|
name: "TRadioGroup",
|
|
4249
|
-
|
|
4250
|
-
aliases: [
|
|
4251
|
-
"TreeRadioGroup"
|
|
4252
|
-
],
|
|
4419
|
+
aliases: [],
|
|
4253
4420
|
package: "@treeui/vue",
|
|
4254
4421
|
kind: "primitive",
|
|
4255
4422
|
category: "Data Entry",
|
|
4256
4423
|
status: "available",
|
|
4257
4424
|
purpose: "Container for TRadio options; manages v-model for single-select from a group.",
|
|
4258
|
-
sourceFile: "packages/vue/src/components/
|
|
4425
|
+
sourceFile: "packages/vue/src/components/TRadioGroup.vue",
|
|
4259
4426
|
storyFile: "apps/docs/src/stories/Radio.stories.ts",
|
|
4260
4427
|
storyTitle: "Components/Data Entry/Radio",
|
|
4261
4428
|
manifestFile: "docs/ai/COMPONENTS/radio.yaml",
|
|
@@ -4282,7 +4449,7 @@ var treeui_catalog_default = {
|
|
|
4282
4449
|
},
|
|
4283
4450
|
{
|
|
4284
4451
|
name: "size",
|
|
4285
|
-
type: "
|
|
4452
|
+
type: "TSize",
|
|
4286
4453
|
default: "md",
|
|
4287
4454
|
values: [
|
|
4288
4455
|
"sm",
|
|
@@ -4324,30 +4491,27 @@ var treeui_catalog_default = {
|
|
|
4324
4491
|
},
|
|
4325
4492
|
{
|
|
4326
4493
|
name: "TSelect",
|
|
4327
|
-
|
|
4328
|
-
aliases: [
|
|
4329
|
-
"TreeSelect"
|
|
4330
|
-
],
|
|
4494
|
+
aliases: [],
|
|
4331
4495
|
package: "@treeui/vue",
|
|
4332
4496
|
kind: "primitive",
|
|
4333
4497
|
category: "Data Entry",
|
|
4334
4498
|
status: "available",
|
|
4335
4499
|
purpose: "Custom styled dropdown select with listbox; controlled and uncontrolled via v-model and open/defaultOpen.",
|
|
4336
|
-
sourceFile: "packages/vue/src/components/
|
|
4500
|
+
sourceFile: "packages/vue/src/components/TSelect.vue",
|
|
4337
4501
|
storyFile: "apps/docs/src/stories/Select.stories.ts",
|
|
4338
4502
|
storyTitle: "Components/Data Entry/Select",
|
|
4339
4503
|
manifestFile: "docs/ai/COMPONENTS/select.yaml",
|
|
4340
4504
|
props: [
|
|
4341
4505
|
{
|
|
4342
4506
|
name: "modelValue",
|
|
4343
|
-
type: "string",
|
|
4507
|
+
type: "string | number",
|
|
4344
4508
|
default: ""
|
|
4345
4509
|
},
|
|
4346
4510
|
{
|
|
4347
4511
|
name: "options",
|
|
4348
|
-
type: "
|
|
4512
|
+
type: "TSelectOption[]",
|
|
4349
4513
|
default: "[]",
|
|
4350
|
-
note: "Array of { label: string; value: string; disabled?: boolean }"
|
|
4514
|
+
note: "Array of { label: string; value: string | number; disabled?: boolean }"
|
|
4351
4515
|
},
|
|
4352
4516
|
{
|
|
4353
4517
|
name: "open",
|
|
@@ -4361,7 +4525,7 @@ var treeui_catalog_default = {
|
|
|
4361
4525
|
},
|
|
4362
4526
|
{
|
|
4363
4527
|
name: "size",
|
|
4364
|
-
type: "
|
|
4528
|
+
type: "TSize",
|
|
4365
4529
|
default: "md",
|
|
4366
4530
|
values: [
|
|
4367
4531
|
"sm",
|
|
@@ -4421,13 +4585,14 @@ var treeui_catalog_default = {
|
|
|
4421
4585
|
"home_end_navigation: true"
|
|
4422
4586
|
],
|
|
4423
4587
|
behavior: [
|
|
4424
|
-
"update_payload_type: string",
|
|
4588
|
+
"update_payload_type: string | number",
|
|
4425
4589
|
"loading_does_not_disable_by_itself: true",
|
|
4426
4590
|
"placeholder_shown_as_muted_text: true",
|
|
4427
4591
|
"chevron_rotates_when_open: true",
|
|
4428
4592
|
"check_icon_on_selected_option: true",
|
|
4429
4593
|
"outside_click_closes_dropdown: true",
|
|
4430
|
-
"focus_restores_on_close: true"
|
|
4594
|
+
"focus_restores_on_close: true",
|
|
4595
|
+
"numeric_values_supported_without_string_coercion: true"
|
|
4431
4596
|
],
|
|
4432
4597
|
selection: {
|
|
4433
4598
|
keywords: [
|
|
@@ -4456,7 +4621,7 @@ var treeui_catalog_default = {
|
|
|
4456
4621
|
setup: {
|
|
4457
4622
|
required: [],
|
|
4458
4623
|
notes: [
|
|
4459
|
-
"Pass `options` as `{ label, value, disabled? }[]`.",
|
|
4624
|
+
"Pass `options` as `{ label, value, disabled? }[]` where `value` can be `string` or `number`.",
|
|
4460
4625
|
"Use `placeholder` when no selection has been made."
|
|
4461
4626
|
]
|
|
4462
4627
|
},
|
|
@@ -4464,16 +4629,13 @@ var treeui_catalog_default = {
|
|
|
4464
4629
|
},
|
|
4465
4630
|
{
|
|
4466
4631
|
name: "TSelectableList",
|
|
4467
|
-
|
|
4468
|
-
aliases: [
|
|
4469
|
-
"TreeSelectableList"
|
|
4470
|
-
],
|
|
4632
|
+
aliases: [],
|
|
4471
4633
|
package: "@treeui/vue",
|
|
4472
4634
|
kind: "selection",
|
|
4473
4635
|
category: "Navigation & Disclosure",
|
|
4474
4636
|
status: "available",
|
|
4475
4637
|
purpose: "Rich single-selection list for options with description and metadata.",
|
|
4476
|
-
sourceFile: "packages/vue/src/components/
|
|
4638
|
+
sourceFile: "packages/vue/src/components/TSelectableList.vue",
|
|
4477
4639
|
storyFile: "apps/docs/src/stories/SelectableList.stories.ts",
|
|
4478
4640
|
storyTitle: "Components/Navigation & Disclosure/SelectableList",
|
|
4479
4641
|
manifestFile: "docs/ai/COMPONENTS/selectable-list.yaml",
|
|
@@ -4490,13 +4652,13 @@ var treeui_catalog_default = {
|
|
|
4490
4652
|
},
|
|
4491
4653
|
{
|
|
4492
4654
|
name: "items",
|
|
4493
|
-
type: "
|
|
4655
|
+
type: "TSelectableListItem[]",
|
|
4494
4656
|
default: "[]",
|
|
4495
4657
|
note: "Array of `{ label, value, description?, meta?, disabled? }`."
|
|
4496
4658
|
},
|
|
4497
4659
|
{
|
|
4498
4660
|
name: "size",
|
|
4499
|
-
type: "
|
|
4661
|
+
type: "TSize",
|
|
4500
4662
|
default: "md",
|
|
4501
4663
|
values: [
|
|
4502
4664
|
"sm",
|
|
@@ -4573,16 +4735,13 @@ var treeui_catalog_default = {
|
|
|
4573
4735
|
},
|
|
4574
4736
|
{
|
|
4575
4737
|
name: "TSidebar",
|
|
4576
|
-
|
|
4577
|
-
aliases: [
|
|
4578
|
-
"TreeSidebar"
|
|
4579
|
-
],
|
|
4738
|
+
aliases: [],
|
|
4580
4739
|
package: "@treeui/vue",
|
|
4581
4740
|
kind: "layout",
|
|
4582
4741
|
category: "Layout",
|
|
4583
4742
|
status: "available",
|
|
4584
4743
|
purpose: "Persistent or collapsible side shell for app navigation and secondary workspace controls.",
|
|
4585
|
-
sourceFile: "packages/vue/src/components/
|
|
4744
|
+
sourceFile: "packages/vue/src/components/TSidebar.vue",
|
|
4586
4745
|
storyFile: "apps/docs/src/stories/Sidebar.stories.ts",
|
|
4587
4746
|
storyTitle: "Components/Layout/Sidebar",
|
|
4588
4747
|
manifestFile: "docs/ai/COMPONENTS/sidebar.yaml",
|
|
@@ -4609,7 +4768,7 @@ var treeui_catalog_default = {
|
|
|
4609
4768
|
},
|
|
4610
4769
|
{
|
|
4611
4770
|
name: "size",
|
|
4612
|
-
type: "
|
|
4771
|
+
type: "TSize",
|
|
4613
4772
|
default: "md",
|
|
4614
4773
|
values: [
|
|
4615
4774
|
"sm",
|
|
@@ -4619,7 +4778,7 @@ var treeui_catalog_default = {
|
|
|
4619
4778
|
},
|
|
4620
4779
|
{
|
|
4621
4780
|
name: "side",
|
|
4622
|
-
type: "
|
|
4781
|
+
type: "TSidebarSide",
|
|
4623
4782
|
default: "left",
|
|
4624
4783
|
values: [
|
|
4625
4784
|
"left",
|
|
@@ -4722,16 +4881,13 @@ var treeui_catalog_default = {
|
|
|
4722
4881
|
},
|
|
4723
4882
|
{
|
|
4724
4883
|
name: "TSkeleton",
|
|
4725
|
-
|
|
4726
|
-
aliases: [
|
|
4727
|
-
"TreeSkeleton"
|
|
4728
|
-
],
|
|
4884
|
+
aliases: [],
|
|
4729
4885
|
package: "@treeui/vue",
|
|
4730
4886
|
kind: "feedback",
|
|
4731
4887
|
category: "Feedback",
|
|
4732
4888
|
status: "available",
|
|
4733
4889
|
purpose: "Placeholder shimmer for loading states. Renders an animated block that indicates content is being loaded.",
|
|
4734
|
-
sourceFile: "packages/vue/src/components/
|
|
4890
|
+
sourceFile: "packages/vue/src/components/TSkeleton.vue",
|
|
4735
4891
|
storyFile: "apps/docs/src/stories/Skeleton.stories.ts",
|
|
4736
4892
|
storyTitle: "Components/Feedback/Skeleton",
|
|
4737
4893
|
manifestFile: "docs/ai/COMPONENTS/skeleton.yaml",
|
|
@@ -4788,23 +4944,20 @@ var treeui_catalog_default = {
|
|
|
4788
4944
|
},
|
|
4789
4945
|
{
|
|
4790
4946
|
name: "TSpinner",
|
|
4791
|
-
|
|
4792
|
-
aliases: [
|
|
4793
|
-
"TreeSpinner"
|
|
4794
|
-
],
|
|
4947
|
+
aliases: [],
|
|
4795
4948
|
package: "@treeui/vue",
|
|
4796
4949
|
kind: "feedback",
|
|
4797
4950
|
category: "Feedback",
|
|
4798
4951
|
status: "available",
|
|
4799
4952
|
purpose: "Accessible loading indicator.",
|
|
4800
|
-
sourceFile: "packages/vue/src/components/
|
|
4953
|
+
sourceFile: "packages/vue/src/components/TSpinner.vue",
|
|
4801
4954
|
storyFile: "apps/docs/src/stories/Spinner.stories.ts",
|
|
4802
4955
|
storyTitle: "Components/Feedback/Spinner",
|
|
4803
4956
|
manifestFile: "docs/ai/COMPONENTS/spinner.yaml",
|
|
4804
4957
|
props: [
|
|
4805
4958
|
{
|
|
4806
4959
|
name: "size",
|
|
4807
|
-
type: "
|
|
4960
|
+
type: "TSize",
|
|
4808
4961
|
default: "md",
|
|
4809
4962
|
values: [
|
|
4810
4963
|
"sm",
|
|
@@ -4840,16 +4993,13 @@ var treeui_catalog_default = {
|
|
|
4840
4993
|
},
|
|
4841
4994
|
{
|
|
4842
4995
|
name: "TStack",
|
|
4843
|
-
|
|
4844
|
-
aliases: [
|
|
4845
|
-
"TreeStack"
|
|
4846
|
-
],
|
|
4996
|
+
aliases: [],
|
|
4847
4997
|
package: "@treeui/vue",
|
|
4848
4998
|
kind: "layout",
|
|
4849
4999
|
category: "Layout",
|
|
4850
5000
|
status: "available",
|
|
4851
5001
|
purpose: "One-dimensional spacing and alignment wrapper for vertical or horizontal compositions.",
|
|
4852
|
-
sourceFile: "packages/vue/src/components/
|
|
5002
|
+
sourceFile: "packages/vue/src/components/TStack.vue",
|
|
4853
5003
|
storyFile: "apps/docs/src/stories/Stack.stories.ts",
|
|
4854
5004
|
storyTitle: "Components/Layout/Stack",
|
|
4855
5005
|
manifestFile: "docs/ai/COMPONENTS/stack.yaml",
|
|
@@ -4861,7 +5011,7 @@ var treeui_catalog_default = {
|
|
|
4861
5011
|
},
|
|
4862
5012
|
{
|
|
4863
5013
|
name: "direction",
|
|
4864
|
-
type: "
|
|
5014
|
+
type: "TStackDirection",
|
|
4865
5015
|
default: "vertical",
|
|
4866
5016
|
values: [
|
|
4867
5017
|
"vertical",
|
|
@@ -4934,21 +5084,20 @@ var treeui_catalog_default = {
|
|
|
4934
5084
|
notes: []
|
|
4935
5085
|
},
|
|
4936
5086
|
recipes: [
|
|
4937
|
-
"
|
|
5087
|
+
"tag-input",
|
|
5088
|
+
"data-listing",
|
|
5089
|
+
"chart-surface"
|
|
4938
5090
|
]
|
|
4939
5091
|
},
|
|
4940
5092
|
{
|
|
4941
5093
|
name: "TStat",
|
|
4942
|
-
|
|
4943
|
-
aliases: [
|
|
4944
|
-
"TreeStat"
|
|
4945
|
-
],
|
|
5094
|
+
aliases: [],
|
|
4946
5095
|
package: "@treeui/vue",
|
|
4947
5096
|
kind: "data-display",
|
|
4948
5097
|
category: "Data Display",
|
|
4949
5098
|
status: "available",
|
|
4950
5099
|
purpose: "Compact KPI display with label, value, trend, metadata, and optional icon.",
|
|
4951
|
-
sourceFile: "packages/vue/src/components/
|
|
5100
|
+
sourceFile: "packages/vue/src/components/TStat.vue",
|
|
4952
5101
|
storyFile: "apps/docs/src/stories/Stat.stories.ts",
|
|
4953
5102
|
storyTitle: "Components/Data Display/Stat",
|
|
4954
5103
|
manifestFile: "docs/ai/COMPONENTS/stat.yaml",
|
|
@@ -4975,7 +5124,7 @@ var treeui_catalog_default = {
|
|
|
4975
5124
|
},
|
|
4976
5125
|
{
|
|
4977
5126
|
name: "tone",
|
|
4978
|
-
type: "
|
|
5127
|
+
type: "TStatTone",
|
|
4979
5128
|
default: "neutral",
|
|
4980
5129
|
values: [
|
|
4981
5130
|
"neutral",
|
|
@@ -4987,13 +5136,18 @@ var treeui_catalog_default = {
|
|
|
4987
5136
|
},
|
|
4988
5137
|
{
|
|
4989
5138
|
name: "trendDirection",
|
|
4990
|
-
type: "
|
|
5139
|
+
type: "TStatTrendDirection",
|
|
4991
5140
|
default: "neutral",
|
|
4992
5141
|
values: [
|
|
4993
5142
|
"up",
|
|
4994
5143
|
"down",
|
|
4995
5144
|
"neutral"
|
|
4996
5145
|
]
|
|
5146
|
+
},
|
|
5147
|
+
{
|
|
5148
|
+
name: "loading",
|
|
5149
|
+
type: "boolean",
|
|
5150
|
+
default: "false"
|
|
4997
5151
|
}
|
|
4998
5152
|
],
|
|
4999
5153
|
events: [],
|
|
@@ -5021,7 +5175,8 @@ var treeui_catalog_default = {
|
|
|
5021
5175
|
behavior: [
|
|
5022
5176
|
"value_and_trend_are_optional: true",
|
|
5023
5177
|
"icon_slot_adds_visual_emphasis: true",
|
|
5024
|
-
"trend_indicator_changes_with_direction: true"
|
|
5178
|
+
"trend_indicator_changes_with_direction: true",
|
|
5179
|
+
"loading_renders_internal_skeleton_placeholders: true"
|
|
5025
5180
|
],
|
|
5026
5181
|
selection: {
|
|
5027
5182
|
keywords: [
|
|
@@ -5053,18 +5208,15 @@ var treeui_catalog_default = {
|
|
|
5053
5208
|
},
|
|
5054
5209
|
{
|
|
5055
5210
|
name: "TSteps",
|
|
5056
|
-
legacyAlias: "TreeStepper",
|
|
5057
5211
|
aliases: [
|
|
5058
|
-
"TStepper"
|
|
5059
|
-
"TreeStepper",
|
|
5060
|
-
"TreeSteps"
|
|
5212
|
+
"TStepper"
|
|
5061
5213
|
],
|
|
5062
5214
|
package: "@treeui/vue",
|
|
5063
5215
|
kind: "navigation",
|
|
5064
5216
|
category: "Navigation & Disclosure",
|
|
5065
5217
|
status: "available",
|
|
5066
5218
|
purpose: "Stepper component for visualizing workflow progress, with optional interactive selection.",
|
|
5067
|
-
sourceFile: "packages/vue/src/components/
|
|
5219
|
+
sourceFile: "packages/vue/src/components/TSteps.vue",
|
|
5068
5220
|
storyFile: "apps/docs/src/stories/Steps.stories.ts",
|
|
5069
5221
|
storyTitle: "Components/Navigation & Disclosure/Steps",
|
|
5070
5222
|
manifestFile: "docs/ai/COMPONENTS/steps.yaml",
|
|
@@ -5081,13 +5233,13 @@ var treeui_catalog_default = {
|
|
|
5081
5233
|
},
|
|
5082
5234
|
{
|
|
5083
5235
|
name: "items",
|
|
5084
|
-
type: "
|
|
5236
|
+
type: "TStepItem[]",
|
|
5085
5237
|
default: "[]",
|
|
5086
5238
|
note: "Array of `{ label, value, description?, meta?, status?, disabled? }`."
|
|
5087
5239
|
},
|
|
5088
5240
|
{
|
|
5089
5241
|
name: "size",
|
|
5090
|
-
type: "
|
|
5242
|
+
type: "TSize",
|
|
5091
5243
|
default: "md",
|
|
5092
5244
|
values: [
|
|
5093
5245
|
"sm",
|
|
@@ -5097,7 +5249,7 @@ var treeui_catalog_default = {
|
|
|
5097
5249
|
},
|
|
5098
5250
|
{
|
|
5099
5251
|
name: "orientation",
|
|
5100
|
-
type: "
|
|
5252
|
+
type: "TStepOrientation",
|
|
5101
5253
|
default: "horizontal",
|
|
5102
5254
|
values: [
|
|
5103
5255
|
"horizontal",
|
|
@@ -5160,16 +5312,13 @@ var treeui_catalog_default = {
|
|
|
5160
5312
|
},
|
|
5161
5313
|
{
|
|
5162
5314
|
name: "TSwitch",
|
|
5163
|
-
|
|
5164
|
-
aliases: [
|
|
5165
|
-
"TreeSwitch"
|
|
5166
|
-
],
|
|
5315
|
+
aliases: [],
|
|
5167
5316
|
package: "@treeui/vue",
|
|
5168
5317
|
kind: "primitive",
|
|
5169
5318
|
category: "Data Entry",
|
|
5170
5319
|
status: "available",
|
|
5171
5320
|
purpose: "On/off toggle; semantic alternative to checkbox for settings. Supports v-model via modelValue.",
|
|
5172
|
-
sourceFile: "packages/vue/src/components/
|
|
5321
|
+
sourceFile: "packages/vue/src/components/TSwitch.vue",
|
|
5173
5322
|
storyFile: "apps/docs/src/stories/Switch.stories.ts",
|
|
5174
5323
|
storyTitle: "Components/Data Entry/Switch",
|
|
5175
5324
|
manifestFile: "docs/ai/COMPONENTS/switch.yaml",
|
|
@@ -5181,7 +5330,7 @@ var treeui_catalog_default = {
|
|
|
5181
5330
|
},
|
|
5182
5331
|
{
|
|
5183
5332
|
name: "size",
|
|
5184
|
-
type: "
|
|
5333
|
+
type: "TSize",
|
|
5185
5334
|
default: "md",
|
|
5186
5335
|
values: [
|
|
5187
5336
|
"sm",
|
|
@@ -5252,21 +5401,18 @@ var treeui_catalog_default = {
|
|
|
5252
5401
|
},
|
|
5253
5402
|
{
|
|
5254
5403
|
name: "TTable",
|
|
5255
|
-
|
|
5256
|
-
aliases: [
|
|
5257
|
-
"TreeTable"
|
|
5258
|
-
],
|
|
5404
|
+
aliases: [],
|
|
5259
5405
|
package: "@treeui/vue",
|
|
5260
5406
|
category: "Data Display",
|
|
5261
5407
|
description: "Sortable, accessible data table with column definitions and row data.",
|
|
5262
|
-
sourceFile: "packages/vue/src/components/
|
|
5408
|
+
sourceFile: "packages/vue/src/components/TTable.vue",
|
|
5263
5409
|
storyFile: "apps/docs/src/stories/Table.stories.ts",
|
|
5264
5410
|
storyTitle: "Components/Data Display/Table",
|
|
5265
5411
|
manifestFile: "docs/ai/COMPONENTS/table.yaml",
|
|
5266
5412
|
props: [
|
|
5267
5413
|
{
|
|
5268
5414
|
name: "columns",
|
|
5269
|
-
type: "
|
|
5415
|
+
type: "TTableColumn[]",
|
|
5270
5416
|
required: true,
|
|
5271
5417
|
description: "Array of column definitions with key, label, sortable, align, and width."
|
|
5272
5418
|
},
|
|
@@ -5278,7 +5424,7 @@ var treeui_catalog_default = {
|
|
|
5278
5424
|
},
|
|
5279
5425
|
{
|
|
5280
5426
|
name: "size",
|
|
5281
|
-
type: "
|
|
5427
|
+
type: "TSize",
|
|
5282
5428
|
default: "md",
|
|
5283
5429
|
values: [
|
|
5284
5430
|
"sm",
|
|
@@ -5288,7 +5434,7 @@ var treeui_catalog_default = {
|
|
|
5288
5434
|
},
|
|
5289
5435
|
{
|
|
5290
5436
|
name: "sortBy",
|
|
5291
|
-
type: "
|
|
5437
|
+
type: "TTableSortState",
|
|
5292
5438
|
required: false,
|
|
5293
5439
|
description: "Controlled sort state. When provided, overrides internal sort tracking."
|
|
5294
5440
|
}
|
|
@@ -5297,7 +5443,7 @@ var treeui_catalog_default = {
|
|
|
5297
5443
|
{
|
|
5298
5444
|
name: "sort",
|
|
5299
5445
|
description: "Emitted when a sortable column header is clicked.",
|
|
5300
|
-
payload: "
|
|
5446
|
+
payload: "TTableSortState"
|
|
5301
5447
|
}
|
|
5302
5448
|
],
|
|
5303
5449
|
slots: [
|
|
@@ -5356,16 +5502,13 @@ var treeui_catalog_default = {
|
|
|
5356
5502
|
},
|
|
5357
5503
|
{
|
|
5358
5504
|
name: "TTabs",
|
|
5359
|
-
|
|
5360
|
-
aliases: [
|
|
5361
|
-
"TreeTabs"
|
|
5362
|
-
],
|
|
5505
|
+
aliases: [],
|
|
5363
5506
|
package: "@treeui/vue",
|
|
5364
5507
|
kind: "navigation",
|
|
5365
5508
|
category: "Navigation",
|
|
5366
5509
|
status: "available",
|
|
5367
5510
|
purpose: "Tabbed panel navigation with full keyboard support and automatic/manual activation modes.",
|
|
5368
|
-
sourceFile: "packages/vue/src/components/
|
|
5511
|
+
sourceFile: "packages/vue/src/components/TTabs.vue",
|
|
5369
5512
|
storyFile: "apps/docs/src/stories/Tabs.stories.ts",
|
|
5370
5513
|
storyTitle: "Components/Navigation/Tabs",
|
|
5371
5514
|
manifestFile: "docs/ai/COMPONENTS/tabs.yaml",
|
|
@@ -5384,7 +5527,7 @@ var treeui_catalog_default = {
|
|
|
5384
5527
|
},
|
|
5385
5528
|
{
|
|
5386
5529
|
name: "size",
|
|
5387
|
-
type: "
|
|
5530
|
+
type: "TSize",
|
|
5388
5531
|
default: "md",
|
|
5389
5532
|
values: [
|
|
5390
5533
|
"sm",
|
|
@@ -5459,25 +5602,24 @@ var treeui_catalog_default = {
|
|
|
5459
5602
|
required: [],
|
|
5460
5603
|
notes: []
|
|
5461
5604
|
},
|
|
5462
|
-
recipes: [
|
|
5605
|
+
recipes: [
|
|
5606
|
+
"router-backed-tabs"
|
|
5607
|
+
]
|
|
5463
5608
|
},
|
|
5464
5609
|
{
|
|
5465
5610
|
name: "TTag",
|
|
5466
|
-
|
|
5467
|
-
aliases: [
|
|
5468
|
-
"TreeTag"
|
|
5469
|
-
],
|
|
5611
|
+
aliases: [],
|
|
5470
5612
|
package: "@treeui/vue",
|
|
5471
5613
|
category: "Data Display",
|
|
5472
5614
|
description: "Removable label/chip for filters and selections.",
|
|
5473
|
-
sourceFile: "packages/vue/src/components/
|
|
5615
|
+
sourceFile: "packages/vue/src/components/TTag.vue",
|
|
5474
5616
|
storyFile: "apps/docs/src/stories/Tag.stories.ts",
|
|
5475
5617
|
storyTitle: "Components/Data Display/Tag",
|
|
5476
5618
|
manifestFile: "docs/ai/COMPONENTS/tag.yaml",
|
|
5477
5619
|
props: [
|
|
5478
5620
|
{
|
|
5479
5621
|
name: "variant",
|
|
5480
|
-
type: "
|
|
5622
|
+
type: "TTagVariant",
|
|
5481
5623
|
default: "soft",
|
|
5482
5624
|
values: [
|
|
5483
5625
|
"solid",
|
|
@@ -5487,7 +5629,7 @@ var treeui_catalog_default = {
|
|
|
5487
5629
|
},
|
|
5488
5630
|
{
|
|
5489
5631
|
name: "size",
|
|
5490
|
-
type: "
|
|
5632
|
+
type: "TSize",
|
|
5491
5633
|
default: "md",
|
|
5492
5634
|
values: [
|
|
5493
5635
|
"sm",
|
|
@@ -5540,20 +5682,19 @@ var treeui_catalog_default = {
|
|
|
5540
5682
|
required: [],
|
|
5541
5683
|
notes: []
|
|
5542
5684
|
},
|
|
5543
|
-
recipes: [
|
|
5685
|
+
recipes: [
|
|
5686
|
+
"tag-input"
|
|
5687
|
+
]
|
|
5544
5688
|
},
|
|
5545
5689
|
{
|
|
5546
5690
|
name: "TTextarea",
|
|
5547
|
-
|
|
5548
|
-
aliases: [
|
|
5549
|
-
"TreeTextarea"
|
|
5550
|
-
],
|
|
5691
|
+
aliases: [],
|
|
5551
5692
|
package: "@treeui/vue",
|
|
5552
5693
|
kind: "primitive",
|
|
5553
5694
|
category: "Data Entry",
|
|
5554
5695
|
status: "available",
|
|
5555
5696
|
purpose: "Multi-line text field with size, loading, invalid states, and auto-grow option.",
|
|
5556
|
-
sourceFile: "packages/vue/src/components/
|
|
5697
|
+
sourceFile: "packages/vue/src/components/TTextarea.vue",
|
|
5557
5698
|
storyFile: "apps/docs/src/stories/Textarea.stories.ts",
|
|
5558
5699
|
storyTitle: "Components/Data Entry/Textarea",
|
|
5559
5700
|
manifestFile: "docs/ai/COMPONENTS/textarea.yaml",
|
|
@@ -5565,7 +5706,7 @@ var treeui_catalog_default = {
|
|
|
5565
5706
|
},
|
|
5566
5707
|
{
|
|
5567
5708
|
name: "size",
|
|
5568
|
-
type: "
|
|
5709
|
+
type: "TSize",
|
|
5569
5710
|
default: "md",
|
|
5570
5711
|
values: [
|
|
5571
5712
|
"sm",
|
|
@@ -5650,28 +5791,25 @@ var treeui_catalog_default = {
|
|
|
5650
5791
|
},
|
|
5651
5792
|
{
|
|
5652
5793
|
name: "TTimeline",
|
|
5653
|
-
|
|
5654
|
-
aliases: [
|
|
5655
|
-
"TreeTimeline"
|
|
5656
|
-
],
|
|
5794
|
+
aliases: [],
|
|
5657
5795
|
package: "@treeui/vue",
|
|
5658
5796
|
kind: "data_display",
|
|
5659
5797
|
status: "available",
|
|
5660
5798
|
purpose: "Vertical timeline for activity history, audits, release events, and chronological product updates.",
|
|
5661
|
-
sourceFile: "packages/vue/src/components/
|
|
5799
|
+
sourceFile: "packages/vue/src/components/TTimeline.vue",
|
|
5662
5800
|
storyFile: "apps/docs/src/stories/Timeline.stories.ts",
|
|
5663
5801
|
storyTitle: "Release queued for review",
|
|
5664
5802
|
manifestFile: "docs/ai/COMPONENTS/timeline.yaml",
|
|
5665
5803
|
props: [
|
|
5666
5804
|
{
|
|
5667
5805
|
name: "items",
|
|
5668
|
-
type: "
|
|
5806
|
+
type: "TTimelineItem[]",
|
|
5669
5807
|
default: "[]",
|
|
5670
5808
|
note: "Array of { id?: string | number; title: string; description?: string; meta?: string; timestamp?: string; datetime?: string; tone?: 'neutral' | 'brand' | 'success' | 'warning' | 'danger' }"
|
|
5671
5809
|
},
|
|
5672
5810
|
{
|
|
5673
5811
|
name: "size",
|
|
5674
|
-
type: "
|
|
5812
|
+
type: "TSize",
|
|
5675
5813
|
default: "md",
|
|
5676
5814
|
values: [
|
|
5677
5815
|
"sm",
|
|
@@ -5713,15 +5851,12 @@ var treeui_catalog_default = {
|
|
|
5713
5851
|
},
|
|
5714
5852
|
{
|
|
5715
5853
|
name: "TToast",
|
|
5716
|
-
|
|
5717
|
-
aliases: [
|
|
5718
|
-
"TreeToast"
|
|
5719
|
-
],
|
|
5854
|
+
aliases: [],
|
|
5720
5855
|
package: "@treeui/vue",
|
|
5721
5856
|
kind: "feedback",
|
|
5722
5857
|
status: "available",
|
|
5723
5858
|
purpose: "Ephemeral notification stack driven by a composable. Renders toast items inside a positioned container with auto-dismiss and manual close.",
|
|
5724
|
-
sourceFile: "packages/vue/src/components/
|
|
5859
|
+
sourceFile: "packages/vue/src/components/TToast.vue",
|
|
5725
5860
|
manifestFile: "docs/ai/COMPONENTS/toast.yaml",
|
|
5726
5861
|
props: [],
|
|
5727
5862
|
events: [
|
|
@@ -5779,16 +5914,13 @@ var treeui_catalog_default = {
|
|
|
5779
5914
|
},
|
|
5780
5915
|
{
|
|
5781
5916
|
name: "TToggleGroup",
|
|
5782
|
-
|
|
5783
|
-
aliases: [
|
|
5784
|
-
"TreeToggleGroup"
|
|
5785
|
-
],
|
|
5917
|
+
aliases: [],
|
|
5786
5918
|
package: "@treeui/vue",
|
|
5787
5919
|
kind: "selection",
|
|
5788
5920
|
category: "Data Entry",
|
|
5789
5921
|
status: "available",
|
|
5790
5922
|
purpose: "Segmented button group for single or multiple visible choices.",
|
|
5791
|
-
sourceFile: "packages/vue/src/components/
|
|
5923
|
+
sourceFile: "packages/vue/src/components/TToggleGroup.vue",
|
|
5792
5924
|
storyFile: "apps/docs/src/stories/ToggleGroup.stories.ts",
|
|
5793
5925
|
storyTitle: "Components/Data Entry/ToggleGroup",
|
|
5794
5926
|
manifestFile: "docs/ai/COMPONENTS/toggle-group.yaml",
|
|
@@ -5800,13 +5932,13 @@ var treeui_catalog_default = {
|
|
|
5800
5932
|
},
|
|
5801
5933
|
{
|
|
5802
5934
|
name: "options",
|
|
5803
|
-
type: "
|
|
5935
|
+
type: "TToggleGroupOption[]",
|
|
5804
5936
|
default: "[]",
|
|
5805
5937
|
note: "Array of `{ label, value, disabled? }`."
|
|
5806
5938
|
},
|
|
5807
5939
|
{
|
|
5808
5940
|
name: "selectionMode",
|
|
5809
|
-
type: "
|
|
5941
|
+
type: "TToggleGroupSelectionMode",
|
|
5810
5942
|
default: "single",
|
|
5811
5943
|
values: [
|
|
5812
5944
|
"single",
|
|
@@ -5815,7 +5947,7 @@ var treeui_catalog_default = {
|
|
|
5815
5947
|
},
|
|
5816
5948
|
{
|
|
5817
5949
|
name: "size",
|
|
5818
|
-
type: "
|
|
5950
|
+
type: "TSize",
|
|
5819
5951
|
default: "md",
|
|
5820
5952
|
values: [
|
|
5821
5953
|
"sm",
|
|
@@ -5825,7 +5957,7 @@ var treeui_catalog_default = {
|
|
|
5825
5957
|
},
|
|
5826
5958
|
{
|
|
5827
5959
|
name: "variant",
|
|
5828
|
-
type: "
|
|
5960
|
+
type: "TToggleGroupVariant",
|
|
5829
5961
|
default: "outline",
|
|
5830
5962
|
values: [
|
|
5831
5963
|
"outline",
|
|
@@ -5899,16 +6031,13 @@ var treeui_catalog_default = {
|
|
|
5899
6031
|
},
|
|
5900
6032
|
{
|
|
5901
6033
|
name: "TTooltip",
|
|
5902
|
-
|
|
5903
|
-
aliases: [
|
|
5904
|
-
"TreeTooltip"
|
|
5905
|
-
],
|
|
6034
|
+
aliases: [],
|
|
5906
6035
|
package: "@treeui/vue",
|
|
5907
6036
|
kind: "overlay",
|
|
5908
6037
|
category: "Overlay",
|
|
5909
6038
|
status: "available",
|
|
5910
6039
|
purpose: "Small contextual overlay shown on hover or focus.",
|
|
5911
|
-
sourceFile: "packages/vue/src/components/
|
|
6040
|
+
sourceFile: "packages/vue/src/components/TTooltip.vue",
|
|
5912
6041
|
storyFile: "apps/docs/src/stories/Tooltip.stories.ts",
|
|
5913
6042
|
storyTitle: "Components/Overlay/Tooltip",
|
|
5914
6043
|
manifestFile: "docs/ai/COMPONENTS/tooltip.yaml",
|
|
@@ -5935,7 +6064,7 @@ var treeui_catalog_default = {
|
|
|
5935
6064
|
},
|
|
5936
6065
|
{
|
|
5937
6066
|
name: "side",
|
|
5938
|
-
type: "
|
|
6067
|
+
type: "TTooltipSide",
|
|
5939
6068
|
default: "top",
|
|
5940
6069
|
values: [
|
|
5941
6070
|
"top",
|
|
@@ -6014,18 +6143,15 @@ var treeui_catalog_default = {
|
|
|
6014
6143
|
},
|
|
6015
6144
|
{
|
|
6016
6145
|
name: "TTreeView",
|
|
6017
|
-
|
|
6018
|
-
aliases: [
|
|
6019
|
-
"TreeTreeView"
|
|
6020
|
-
],
|
|
6146
|
+
aliases: [],
|
|
6021
6147
|
package: "@treeui/vue",
|
|
6022
6148
|
kind: "selection",
|
|
6023
6149
|
category: "Navigation & Disclosure",
|
|
6024
6150
|
status: "available",
|
|
6025
6151
|
purpose: "Hierarchical tree view with expansion, keyboard navigation, and single or multiple selection.",
|
|
6026
|
-
sourceFile: "packages/vue/src/components/
|
|
6152
|
+
sourceFile: "packages/vue/src/components/TTreeView.vue",
|
|
6027
6153
|
storyFile: "apps/docs/src/stories/TreeView.stories.ts",
|
|
6028
|
-
storyTitle: "Components/Navigation & Disclosure/
|
|
6154
|
+
storyTitle: "Components/Navigation & Disclosure/TView",
|
|
6029
6155
|
manifestFile: "docs/ai/COMPONENTS/tree-view.yaml",
|
|
6030
6156
|
props: [
|
|
6031
6157
|
{
|
|
@@ -6040,13 +6166,13 @@ var treeui_catalog_default = {
|
|
|
6040
6166
|
},
|
|
6041
6167
|
{
|
|
6042
6168
|
name: "nodes",
|
|
6043
|
-
type: "
|
|
6169
|
+
type: "TTreeViewNode[]",
|
|
6044
6170
|
default: "[]",
|
|
6045
6171
|
note: "Array of `{ id, label, description?, meta?, disabled?, children? }`."
|
|
6046
6172
|
},
|
|
6047
6173
|
{
|
|
6048
6174
|
name: "selectionMode",
|
|
6049
|
-
type: "
|
|
6175
|
+
type: "TTreeViewSelectionMode",
|
|
6050
6176
|
default: "single",
|
|
6051
6177
|
values: [
|
|
6052
6178
|
"single",
|
|
@@ -6577,7 +6703,7 @@ var createTreeuiMcpServer = () => {
|
|
|
6577
6703
|
inputSchema: {
|
|
6578
6704
|
type: "object",
|
|
6579
6705
|
properties: {
|
|
6580
|
-
name: { type: "string", description: "Component name or alias, such as TSelect or
|
|
6706
|
+
name: { type: "string", description: "Component name or alias, such as TSelect or TSelect." }
|
|
6581
6707
|
},
|
|
6582
6708
|
required: ["name"]
|
|
6583
6709
|
}
|