@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/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-04-08T23:21:47.215Z",
37
+ generatedAt: "2026-06-26T22:57:20.487Z",
38
38
  packageName: "@treeui/vue",
39
- packageVersion: "0.5.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
- "Compatibility aliases such as `TreeButton` remain available but are not the preferred direction.",
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
- legacyAlias: "TreeAccordion",
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/TreeAccordion.vue",
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
- legacyAlias: "TreeAlert",
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/TreeAlert.vue",
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: "TreeSize",
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
- legacyAlias: "TreeAvatar",
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/TreeAvatar.vue",
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: "TreeSize",
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: "TreeAvatarStatus",
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
- legacyAlias: "TreeBadge",
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/TreeBadge.vue",
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: "TreeVariant",
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: "TreeSize",
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
- legacyAlias: "TreeBreadcrumb",
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/TreeBreadcrumb.vue",
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
- legacyAlias: "TreeButton",
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/TreeButton.vue",
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: "TreeVariant",
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: "TreeSize",
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
- legacyAlias: "TreeCard",
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/TreeCard.vue",
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: "TreeCardVariant",
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: "TreeSize",
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
- legacyAlias: "TreeCheckbox",
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/TreeCheckbox.vue",
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: "TreeSize",
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
- legacyAlias: "TreeCombobox",
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/TreeCombobox.vue",
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: "TreeComboboxOption[]",
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: "TreeSize",
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
- legacyAlias: "TreeConfirmDialog",
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/TreeConfirmDialog.vue",
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: "TreeSize",
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: "TreeVariant",
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
- legacyAlias: "TreeContainer",
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/TreeContainer.vue",
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: "TreeContainerSize",
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
- legacyAlias: "TreeContextMenu",
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: "TreeContextMenuItem[]",
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: "TreeSize",
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
- legacyAlias: "TreeDatePicker",
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/TreeDatePicker.vue",
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: "TreeSize",
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
- legacyAlias: "TreeDateTimePicker",
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/TreeDateTimePicker.vue",
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: "TreeSize",
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
- legacyAlias: "TreeDivider",
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/TreeDivider.vue",
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
- legacyAlias: "TreeDrawer",
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/TreeDrawer.vue",
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: "TreeSize",
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: "TreeDrawerSide",
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
- legacyAlias: "TreeDropdown",
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/TreeDropdown.vue",
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: "TreeDropdownItem[]",
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: "TreeSize",
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
- legacyAlias: "TreeEmptyState",
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/TreeEmptyState.vue",
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: "TreeSize",
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
- legacyAlias: "TreeFileUpload",
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/TreeFileUpload.vue",
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: "TreeSize",
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
- legacyAlias: "TreeFormField",
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/TreeFormField.vue",
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: "TreeSize",
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
- legacyAlias: "TreeGrid",
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/TreeGrid.vue",
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: "TInput",
2838
- legacyAlias: "TreeInput",
2839
- aliases: [
2840
- "TreeInput"
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/TreeInput.vue",
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: "TreeSize",
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: "TMarkdownEditor",
2952
- legacyAlias: "TreeMarkdownEditor",
2953
- aliases: [
2954
- "TreeMarkdownEditor"
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: "TreeSize",
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
- legacyAlias: "TreeModal",
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/TreeModal.vue",
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: "TreeSize",
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
- legacyAlias: "TreeMultiSelect",
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/TreeMultiSelect.vue",
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: "TreeMultiSelectOption[]",
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: "TreeSize",
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/TreeNavbar.vue",
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: "TreeSize",
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
- legacyAlias: "TreeNavMenu",
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: "App-section navigation menu with roving focus, optional badges, and sidebar-aware collapsed mode.",
3478
- sourceFile: "packages/vue/src/components/TreeNavMenu.vue",
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: "TreeNavMenuItem[]",
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: "TreeSize",
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
- legacyAlias: "TreeNumberInput",
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/TreeNumberInput.vue",
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: "TreeSize",
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
- legacyAlias: "TreePagination",
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/TreePagination.vue",
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: "TreeSize",
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
- legacyAlias: "TreePopover",
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
- legacyAlias: "TreePricing",
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: "TreeSize",
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
- legacyAlias: "TreePricingCard",
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: "TreeSize",
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 TreeButton a11y (disabled, aria-busy)."
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
- legacyAlias: "TreeProgress",
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: "TreeSize",
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
- legacyAlias: "TreeRadio",
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/TreeRadio.vue",
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: "TreeSize",
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
- legacyAlias: "TreeRadioGroup",
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/TreeRadioGroup.vue",
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: "TreeSize",
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
- legacyAlias: "TreeSelect",
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/TreeSelect.vue",
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: "TreeSelectOption[]",
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: "TreeSize",
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
- legacyAlias: "TreeSelectableList",
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/TreeSelectableList.vue",
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: "TreeSelectableListItem[]",
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: "TreeSize",
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
- legacyAlias: "TreeSidebar",
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/TreeSidebar.vue",
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: "TreeSize",
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: "TreeSidebarSide",
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
- legacyAlias: "TreeSkeleton",
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/TreeSkeleton.vue",
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
- legacyAlias: "TreeSpinner",
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/TreeSpinner.vue",
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: "TreeSize",
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
- legacyAlias: "TreeStack",
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/TreeStack.vue",
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: "TreeStackDirection",
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
- "data-listing"
5087
+ "tag-input",
5088
+ "data-listing",
5089
+ "chart-surface"
4938
5090
  ]
4939
5091
  },
4940
5092
  {
4941
5093
  name: "TStat",
4942
- legacyAlias: "TreeStat",
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/TreeStat.vue",
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: "TreeStatTone",
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: "TreeStatTrendDirection",
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/TreeSteps.vue",
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: "TreeStepItem[]",
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: "TreeSize",
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: "TreeStepOrientation",
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
- legacyAlias: "TreeSwitch",
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/TreeSwitch.vue",
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: "TreeSize",
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
- legacyAlias: "TreeTable",
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/TreeTable.vue",
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: "TreeTableColumn[]",
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: "TreeSize",
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: "TreeTableSortState",
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: "TreeTableSortState"
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
- legacyAlias: "TreeTabs",
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/TreeTabs.vue",
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: "TreeSize",
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
- legacyAlias: "TreeTag",
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/TreeTag.vue",
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: "TreeTagVariant",
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: "TreeSize",
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
- legacyAlias: "TreeTextarea",
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/TreeTextarea.vue",
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: "TreeSize",
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
- legacyAlias: "TreeTimeline",
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/TreeTimeline.vue",
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: "TreeTimelineItem[]",
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: "TreeSize",
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
- legacyAlias: "TreeToast",
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/TreeToast.vue",
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
- legacyAlias: "TreeToggleGroup",
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/TreeToggleGroup.vue",
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: "TreeToggleGroupOption[]",
5935
+ type: "TToggleGroupOption[]",
5804
5936
  default: "[]",
5805
5937
  note: "Array of `{ label, value, disabled? }`."
5806
5938
  },
5807
5939
  {
5808
5940
  name: "selectionMode",
5809
- type: "TreeToggleGroupSelectionMode",
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: "TreeSize",
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: "TreeToggleGroupVariant",
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
- legacyAlias: "TreeTooltip",
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/TreeTooltip.vue",
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: "TreeTooltipSide",
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
- legacyAlias: "TreeTreeView",
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/TreeTreeView.vue",
6152
+ sourceFile: "packages/vue/src/components/TTreeView.vue",
6027
6153
  storyFile: "apps/docs/src/stories/TreeView.stories.ts",
6028
- storyTitle: "Components/Navigation & Disclosure/TreeView",
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: "TreeTreeViewNode[]",
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: "TreeTreeViewSelectionMode",
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 TreeSelect." }
6706
+ name: { type: "string", description: "Component name or alias, such as TSelect or TSelect." }
6581
6707
  },
6582
6708
  required: ["name"]
6583
6709
  }