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