agentic-ds-kit 0.1.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.
Files changed (345) hide show
  1. package/AGENTS.md +10 -0
  2. package/CLAUDE.md +1 -0
  3. package/LICENSE +21 -0
  4. package/README.md +38 -0
  5. package/contracts/accordion.json +38 -0
  6. package/contracts/alert.json +57 -0
  7. package/contracts/alertdialog.json +89 -0
  8. package/contracts/appheader.json +140 -0
  9. package/contracts/appnav.json +72 -0
  10. package/contracts/avatar.json +63 -0
  11. package/contracts/avatargroup.json +83 -0
  12. package/contracts/badge.json +92 -0
  13. package/contracts/barchart.json +55 -0
  14. package/contracts/breadcrumb.json +76 -0
  15. package/contracts/button.json +120 -0
  16. package/contracts/buttongroup.json +48 -0
  17. package/contracts/calendar.json +93 -0
  18. package/contracts/card.json +123 -0
  19. package/contracts/carousel.json +98 -0
  20. package/contracts/cell.json +203 -0
  21. package/contracts/chat.json +131 -0
  22. package/contracts/checkbox.json +101 -0
  23. package/contracts/collapsible.json +66 -0
  24. package/contracts/command.json +84 -0
  25. package/contracts/datatable.json +126 -0
  26. package/contracts/datepicker.json +102 -0
  27. package/contracts/drawer.json +93 -0
  28. package/contracts/dropdownmenu.json +190 -0
  29. package/contracts/empty.json +79 -0
  30. package/contracts/field.json +49 -0
  31. package/contracts/fieldset.json +29 -0
  32. package/contracts/headercell.json +107 -0
  33. package/contracts/index.json +478 -0
  34. package/contracts/input.json +119 -0
  35. package/contracts/inputotp.json +119 -0
  36. package/contracts/insightcard.json +130 -0
  37. package/contracts/linechart.json +51 -0
  38. package/contracts/loadinganimation.json +33 -0
  39. package/contracts/modal.json +100 -0
  40. package/contracts/modalcard.json +88 -0
  41. package/contracts/navigationmenu.json +65 -0
  42. package/contracts/numbertransition.json +33 -0
  43. package/contracts/pageheader.json +101 -0
  44. package/contracts/pagination.json +85 -0
  45. package/contracts/patterns/activity.json +30 -0
  46. package/contracts/patterns/assistant-workspace.json +16 -0
  47. package/contracts/patterns/dashboard.json +12 -0
  48. package/contracts/patterns/empty-first-run.json +15 -0
  49. package/contracts/patterns/inbox.json +32 -0
  50. package/contracts/patterns/invite-members.json +14 -0
  51. package/contracts/patterns/list-detail.json +13 -0
  52. package/contracts/patterns/settings-form.json +13 -0
  53. package/contracts/piechart.json +68 -0
  54. package/contracts/progress.json +124 -0
  55. package/contracts/progresssteps.json +91 -0
  56. package/contracts/radiogroup.json +132 -0
  57. package/contracts/scoreboard.json +46 -0
  58. package/contracts/scorecard.json +124 -0
  59. package/contracts/section.json +97 -0
  60. package/contracts/select.json +130 -0
  61. package/contracts/shimmertext.json +33 -0
  62. package/contracts/sidenav.json +133 -0
  63. package/contracts/slider.json +81 -0
  64. package/contracts/spinner.json +52 -0
  65. package/contracts/switch.json +94 -0
  66. package/contracts/table.json +92 -0
  67. package/contracts/tabs.json +90 -0
  68. package/contracts/textarea.json +54 -0
  69. package/contracts/thinkinganimation.json +32 -0
  70. package/contracts/timeline.json +49 -0
  71. package/contracts/toast.json +104 -0
  72. package/contracts/tooltip.json +66 -0
  73. package/lib/tokens.css +637 -0
  74. package/package.json +60 -0
  75. package/skills/prototype-from-kit/SKILL.md +29 -0
  76. package/src/index.ts +71 -0
  77. package/tokens/tokens.json +725 -0
  78. package/ui/Accordion/Accordion.module.css +68 -0
  79. package/ui/Accordion/Accordion.tsx +51 -0
  80. package/ui/Accordion/Accordion.types.ts +10 -0
  81. package/ui/Accordion/index.ts +2 -0
  82. package/ui/Alert/Alert.module.css +62 -0
  83. package/ui/Alert/Alert.tsx +27 -0
  84. package/ui/Alert/Alert.types.ts +7 -0
  85. package/ui/Alert/index.ts +2 -0
  86. package/ui/AlertDialog/AlertDialog.module.css +71 -0
  87. package/ui/AlertDialog/AlertDialog.tsx +109 -0
  88. package/ui/AlertDialog/AlertDialog.types.ts +14 -0
  89. package/ui/AlertDialog/index.ts +6 -0
  90. package/ui/AppHeader/AppHeader.module.css +120 -0
  91. package/ui/AppHeader/AppHeader.tsx +70 -0
  92. package/ui/AppHeader/AppHeader.types.ts +28 -0
  93. package/ui/AppHeader/index.ts +2 -0
  94. package/ui/AppNav/AppNav.module.css +168 -0
  95. package/ui/AppNav/AppNav.tsx +137 -0
  96. package/ui/AppNav/AppNav.types.ts +24 -0
  97. package/ui/AppNav/index.ts +2 -0
  98. package/ui/Avatar/Avatar.module.css +52 -0
  99. package/ui/Avatar/Avatar.tsx +62 -0
  100. package/ui/Avatar/Avatar.types.ts +8 -0
  101. package/ui/Avatar/index.ts +2 -0
  102. package/ui/AvatarGroup/AvatarGroup.module.css +49 -0
  103. package/ui/AvatarGroup/AvatarGroup.tsx +29 -0
  104. package/ui/AvatarGroup/AvatarGroup.types.ts +16 -0
  105. package/ui/AvatarGroup/index.ts +2 -0
  106. package/ui/Badge/Badge.module.css +92 -0
  107. package/ui/Badge/Badge.tsx +43 -0
  108. package/ui/Badge/Badge.types.ts +11 -0
  109. package/ui/Badge/index.ts +2 -0
  110. package/ui/BarChart/BarChart.module.css +56 -0
  111. package/ui/BarChart/BarChart.tsx +380 -0
  112. package/ui/BarChart/BarChart.types.ts +18 -0
  113. package/ui/BarChart/index.ts +2 -0
  114. package/ui/Breadcrumb/Breadcrumb.module.css +64 -0
  115. package/ui/Breadcrumb/Breadcrumb.tsx +89 -0
  116. package/ui/Breadcrumb/Breadcrumb.types.ts +14 -0
  117. package/ui/Breadcrumb/index.ts +2 -0
  118. package/ui/Button/Button.module.css +101 -0
  119. package/ui/Button/Button.tsx +49 -0
  120. package/ui/Button/Button.types.ts +18 -0
  121. package/ui/Button/index.ts +2 -0
  122. package/ui/Button/lucideName.tsx +188 -0
  123. package/ui/ButtonGroup/ButtonGroup.module.css +31 -0
  124. package/ui/ButtonGroup/ButtonGroup.tsx +12 -0
  125. package/ui/ButtonGroup/ButtonGroup.types.ts +6 -0
  126. package/ui/ButtonGroup/index.ts +2 -0
  127. package/ui/Calendar/Calendar.module.css +146 -0
  128. package/ui/Calendar/Calendar.tsx +296 -0
  129. package/ui/Calendar/Calendar.types.ts +11 -0
  130. package/ui/Calendar/index.ts +2 -0
  131. package/ui/Card/Card.module.css +95 -0
  132. package/ui/Card/Card.tsx +69 -0
  133. package/ui/Card/Card.types.ts +23 -0
  134. package/ui/Card/index.ts +2 -0
  135. package/ui/Carousel/Carousel.module.css +114 -0
  136. package/ui/Carousel/Carousel.tsx +152 -0
  137. package/ui/Carousel/Carousel.types.ts +17 -0
  138. package/ui/Carousel/index.ts +7 -0
  139. package/ui/Cell/Cell.module.css +133 -0
  140. package/ui/Cell/Cell.tsx +300 -0
  141. package/ui/Cell/Cell.types.ts +69 -0
  142. package/ui/Cell/index.ts +11 -0
  143. package/ui/Chat/Chat.module.css +149 -0
  144. package/ui/Chat/Chat.tsx +175 -0
  145. package/ui/Chat/Chat.types.ts +39 -0
  146. package/ui/Chat/index.ts +2 -0
  147. package/ui/Checkbox/Checkbox.module.css +135 -0
  148. package/ui/Checkbox/Checkbox.tsx +70 -0
  149. package/ui/Checkbox/Checkbox.types.ts +15 -0
  150. package/ui/Checkbox/index.ts +2 -0
  151. package/ui/Collapsible/Collapsible.module.css +68 -0
  152. package/ui/Collapsible/Collapsible.tsx +59 -0
  153. package/ui/Collapsible/Collapsible.types.ts +9 -0
  154. package/ui/Collapsible/index.ts +2 -0
  155. package/ui/Command/Command.module.css +138 -0
  156. package/ui/Command/Command.tsx +152 -0
  157. package/ui/Command/Command.types.ts +20 -0
  158. package/ui/Command/index.ts +2 -0
  159. package/ui/DataTable/DataTable.module.css +211 -0
  160. package/ui/DataTable/DataTable.tsx +429 -0
  161. package/ui/DataTable/DataTable.types.ts +35 -0
  162. package/ui/DataTable/index.ts +8 -0
  163. package/ui/DatePicker/DatePicker.module.css +44 -0
  164. package/ui/DatePicker/DatePicker.tsx +123 -0
  165. package/ui/DatePicker/DatePicker.types.ts +15 -0
  166. package/ui/DatePicker/index.ts +2 -0
  167. package/ui/Drawer/Drawer.module.css +204 -0
  168. package/ui/Drawer/Drawer.tsx +112 -0
  169. package/ui/Drawer/Drawer.types.ts +14 -0
  170. package/ui/Drawer/index.ts +2 -0
  171. package/ui/DropdownMenu/DropdownMenu.module.css +319 -0
  172. package/ui/DropdownMenu/DropdownMenu.tsx +580 -0
  173. package/ui/DropdownMenu/DropdownMenu.types.ts +48 -0
  174. package/ui/DropdownMenu/index.ts +8 -0
  175. package/ui/Empty/Empty.module.css +68 -0
  176. package/ui/Empty/Empty.tsx +35 -0
  177. package/ui/Empty/Empty.types.ts +10 -0
  178. package/ui/Empty/index.ts +2 -0
  179. package/ui/Field/Field.module.css +66 -0
  180. package/ui/Field/Field.tsx +46 -0
  181. package/ui/Field/Field.types.ts +12 -0
  182. package/ui/Field/index.ts +2 -0
  183. package/ui/FieldSet/FieldSet.module.css +30 -0
  184. package/ui/FieldSet/FieldSet.tsx +14 -0
  185. package/ui/FieldSet/FieldSet.types.ts +7 -0
  186. package/ui/FieldSet/index.ts +2 -0
  187. package/ui/HeaderCell/HeaderCell.module.css +85 -0
  188. package/ui/HeaderCell/HeaderCell.tsx +71 -0
  189. package/ui/HeaderCell/HeaderCell.types.ts +18 -0
  190. package/ui/HeaderCell/index.ts +2 -0
  191. package/ui/Input/Input.module.css +59 -0
  192. package/ui/Input/Input.tsx +65 -0
  193. package/ui/Input/Input.types.ts +22 -0
  194. package/ui/Input/index.ts +2 -0
  195. package/ui/InputOTP/InputOTP.module.css +139 -0
  196. package/ui/InputOTP/InputOTP.tsx +136 -0
  197. package/ui/InputOTP/InputOTP.types.ts +19 -0
  198. package/ui/InputOTP/index.ts +2 -0
  199. package/ui/InsightCard/InsightCard.module.css +166 -0
  200. package/ui/InsightCard/InsightCard.tsx +90 -0
  201. package/ui/InsightCard/InsightCard.types.ts +20 -0
  202. package/ui/InsightCard/index.ts +7 -0
  203. package/ui/LineChart/LineChart.module.css +93 -0
  204. package/ui/LineChart/LineChart.tsx +424 -0
  205. package/ui/LineChart/LineChart.types.ts +19 -0
  206. package/ui/LineChart/index.ts +2 -0
  207. package/ui/LoadingAnimation/LoadingAnimation.module.css +66 -0
  208. package/ui/LoadingAnimation/LoadingAnimation.tsx +41 -0
  209. package/ui/LoadingAnimation/LoadingAnimation.types.ts +9 -0
  210. package/ui/LoadingAnimation/index.ts +6 -0
  211. package/ui/Modal/Modal.module.css +48 -0
  212. package/ui/Modal/Modal.tsx +114 -0
  213. package/ui/Modal/Modal.types.ts +15 -0
  214. package/ui/Modal/index.ts +2 -0
  215. package/ui/ModalCard/ModalCard.module.css +137 -0
  216. package/ui/ModalCard/ModalCard.tsx +58 -0
  217. package/ui/ModalCard/ModalCard.types.ts +15 -0
  218. package/ui/ModalCard/index.ts +2 -0
  219. package/ui/NavigationMenu/NavigationMenu.module.css +31 -0
  220. package/ui/NavigationMenu/NavigationMenu.tsx +57 -0
  221. package/ui/NavigationMenu/NavigationMenu.types.ts +22 -0
  222. package/ui/NavigationMenu/index.ts +7 -0
  223. package/ui/NumberTransition/NumberTransition.module.css +110 -0
  224. package/ui/NumberTransition/NumberTransition.tsx +78 -0
  225. package/ui/NumberTransition/NumberTransition.types.ts +9 -0
  226. package/ui/NumberTransition/index.ts +2 -0
  227. package/ui/PageHeader/PageHeader.module.css +57 -0
  228. package/ui/PageHeader/PageHeader.tsx +39 -0
  229. package/ui/PageHeader/PageHeader.types.ts +12 -0
  230. package/ui/PageHeader/index.ts +2 -0
  231. package/ui/Pagination/Pagination.module.css +19 -0
  232. package/ui/Pagination/Pagination.tsx +147 -0
  233. package/ui/Pagination/Pagination.types.ts +12 -0
  234. package/ui/Pagination/index.ts +2 -0
  235. package/ui/PieChart/PieChart.module.css +116 -0
  236. package/ui/PieChart/PieChart.tsx +293 -0
  237. package/ui/PieChart/PieChart.types.ts +22 -0
  238. package/ui/PieChart/index.ts +2 -0
  239. package/ui/Progress/Progress.module.css +226 -0
  240. package/ui/Progress/Progress.tsx +167 -0
  241. package/ui/Progress/Progress.types.ts +15 -0
  242. package/ui/Progress/index.ts +8 -0
  243. package/ui/ProgressSteps/ProgressSteps.module.css +210 -0
  244. package/ui/ProgressSteps/ProgressSteps.tsx +105 -0
  245. package/ui/ProgressSteps/ProgressSteps.types.ts +19 -0
  246. package/ui/ProgressSteps/index.ts +8 -0
  247. package/ui/RadioGroup/RadioGroup.module.css +284 -0
  248. package/ui/RadioGroup/RadioGroup.tsx +116 -0
  249. package/ui/RadioGroup/RadioGroup.types.ts +30 -0
  250. package/ui/RadioGroup/index.ts +8 -0
  251. package/ui/Scoreboard/Scoreboard.module.css +53 -0
  252. package/ui/Scoreboard/Scoreboard.tsx +41 -0
  253. package/ui/Scoreboard/Scoreboard.types.ts +7 -0
  254. package/ui/Scoreboard/index.ts +2 -0
  255. package/ui/Scorecard/Scorecard.module.css +150 -0
  256. package/ui/Scorecard/Scorecard.tsx +92 -0
  257. package/ui/Scorecard/Scorecard.types.ts +18 -0
  258. package/ui/Scorecard/index.ts +2 -0
  259. package/ui/Section/Section.module.css +104 -0
  260. package/ui/Section/Section.tsx +75 -0
  261. package/ui/Section/Section.types.ts +15 -0
  262. package/ui/Section/index.ts +2 -0
  263. package/ui/Select/Select.module.css +7 -0
  264. package/ui/Select/Select.tsx +113 -0
  265. package/ui/Select/Select.types.ts +26 -0
  266. package/ui/Select/index.ts +2 -0
  267. package/ui/ShimmerText/ShimmerText.module.css +46 -0
  268. package/ui/ShimmerText/ShimmerText.tsx +48 -0
  269. package/ui/ShimmerText/ShimmerText.types.ts +12 -0
  270. package/ui/ShimmerText/index.ts +2 -0
  271. package/ui/SideNav/SideNav.module.css +347 -0
  272. package/ui/SideNav/SideNav.tsx +222 -0
  273. package/ui/SideNav/SideNav.types.ts +42 -0
  274. package/ui/SideNav/index.ts +8 -0
  275. package/ui/Slider/Slider.module.css +105 -0
  276. package/ui/Slider/Slider.tsx +187 -0
  277. package/ui/Slider/Slider.types.ts +11 -0
  278. package/ui/Slider/index.ts +2 -0
  279. package/ui/Spinner/Spinner.module.css +58 -0
  280. package/ui/Spinner/Spinner.tsx +19 -0
  281. package/ui/Spinner/Spinner.types.ts +6 -0
  282. package/ui/Spinner/index.ts +2 -0
  283. package/ui/Switch/Switch.module.css +189 -0
  284. package/ui/Switch/Switch.tsx +65 -0
  285. package/ui/Switch/Switch.types.ts +12 -0
  286. package/ui/Switch/index.ts +2 -0
  287. package/ui/Table/Table.module.css +132 -0
  288. package/ui/Table/Table.tsx +108 -0
  289. package/ui/Table/Table.types.ts +26 -0
  290. package/ui/Table/index.ts +8 -0
  291. package/ui/Tabs/Tabs.module.css +162 -0
  292. package/ui/Tabs/Tabs.tsx +150 -0
  293. package/ui/Tabs/Tabs.types.ts +21 -0
  294. package/ui/Tabs/index.ts +2 -0
  295. package/ui/Textarea/Textarea.module.css +74 -0
  296. package/ui/Textarea/Textarea.tsx +38 -0
  297. package/ui/Textarea/Textarea.types.ts +14 -0
  298. package/ui/Textarea/index.ts +2 -0
  299. package/ui/ThinkingAnimation/ThinkingAnimation.module.css +75 -0
  300. package/ui/ThinkingAnimation/ThinkingAnimation.tsx +31 -0
  301. package/ui/ThinkingAnimation/ThinkingAnimation.types.ts +8 -0
  302. package/ui/ThinkingAnimation/index.ts +2 -0
  303. package/ui/Timeline/Timeline.module.css +99 -0
  304. package/ui/Timeline/Timeline.tsx +47 -0
  305. package/ui/Timeline/Timeline.types.ts +16 -0
  306. package/ui/Timeline/index.ts +2 -0
  307. package/ui/Toast/Toast.module.css +133 -0
  308. package/ui/Toast/Toast.tsx +89 -0
  309. package/ui/Toast/Toast.types.ts +17 -0
  310. package/ui/Toast/index.ts +2 -0
  311. package/ui/Tooltip/Tooltip.module.css +111 -0
  312. package/ui/Tooltip/Tooltip.tsx +101 -0
  313. package/ui/Tooltip/index.ts +2 -0
  314. package/ui/patterns/ActivityPattern/ActivityFeed.tsx +77 -0
  315. package/ui/patterns/ActivityPattern/ActivityPattern.tsx +120 -0
  316. package/ui/patterns/ActivityPattern/ActivityTasks.tsx +86 -0
  317. package/ui/patterns/ActivityPattern/TaskDrawer.module.css +39 -0
  318. package/ui/patterns/ActivityPattern/TaskDrawer.tsx +186 -0
  319. package/ui/patterns/ActivityPattern/index.ts +2 -0
  320. package/ui/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.module.css +16 -0
  321. package/ui/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.tsx +159 -0
  322. package/ui/patterns/AssistantWorkspacePattern/index.ts +2 -0
  323. package/ui/patterns/DashboardPattern/DashboardPattern.tsx +102 -0
  324. package/ui/patterns/DashboardPattern/index.ts +1 -0
  325. package/ui/patterns/DashboardPattern/patterns.module.css +6 -0
  326. package/ui/patterns/EmptyFirstRunPattern/EmptyFirstRunPattern.tsx +125 -0
  327. package/ui/patterns/EmptyFirstRunPattern/index.ts +2 -0
  328. package/ui/patterns/InboxPattern/InboxPattern.module.css +40 -0
  329. package/ui/patterns/InboxPattern/InboxPattern.tsx +192 -0
  330. package/ui/patterns/InboxPattern/InboxReplyDrawer.tsx +97 -0
  331. package/ui/patterns/InboxPattern/inbox-data.ts +101 -0
  332. package/ui/patterns/InboxPattern/index.ts +2 -0
  333. package/ui/patterns/InviteMembersPattern/InviteMembersPattern.tsx +148 -0
  334. package/ui/patterns/InviteMembersPattern/index.ts +2 -0
  335. package/ui/patterns/ListDetailPattern/ListDetailPattern.module.css +34 -0
  336. package/ui/patterns/ListDetailPattern/ListDetailPattern.tsx +145 -0
  337. package/ui/patterns/ListDetailPattern/index.ts +2 -0
  338. package/ui/patterns/SettingsFormPattern/SettingsFormPattern.module.css +12 -0
  339. package/ui/patterns/SettingsFormPattern/SettingsFormPattern.tsx +89 -0
  340. package/ui/patterns/SettingsFormPattern/index.ts +3 -0
  341. package/ui/shared/ChartFrame.module.css +295 -0
  342. package/ui/shared/ChartFrame.tsx +87 -0
  343. package/ui/shared/chartMath.ts +228 -0
  344. package/ui/shared/controls.module.css +48 -0
  345. package/ui/shared/useChartSize.ts +22 -0
@@ -0,0 +1,107 @@
1
+ {
2
+ "id": "headercell",
3
+ "status": "stable",
4
+ "intent": "Column header for DataTable: label, optional select-all checkbox, optional sort, sm or md.",
5
+ "useWhen": [
6
+ "DataTable column titles",
7
+ "Select-all in the leading header column",
8
+ "Sortable DataTable column titles"
9
+ ],
10
+ "doNotUseWhen": [
11
+ "Body cells \u2014 use Cell",
12
+ "A short static table \u2014 use Table"
13
+ ],
14
+ "contains": [
15
+ "checkbox"
16
+ ],
17
+ "props": {
18
+ "label": {
19
+ "type": "string",
20
+ "required": false,
21
+ "note": "Column title. Omit for checkbox-only select-all."
22
+ },
23
+ "size": {
24
+ "type": "enum",
25
+ "values": [
26
+ "sm",
27
+ "md"
28
+ ],
29
+ "default": "md"
30
+ },
31
+ "checkbox": {
32
+ "type": "boolean",
33
+ "default": false
34
+ },
35
+ "checked": {
36
+ "type": "boolean",
37
+ "required": false
38
+ },
39
+ "indeterminate": {
40
+ "type": "boolean",
41
+ "required": false
42
+ },
43
+ "onCheckedChange": {
44
+ "type": "function",
45
+ "required": false,
46
+ "note": "(checked: boolean) => void"
47
+ },
48
+ "align": {
49
+ "type": "enum",
50
+ "values": [
51
+ "start",
52
+ "end",
53
+ "center"
54
+ ],
55
+ "default": "start",
56
+ "note": "end for number columns. center for actionMenu columns."
57
+ },
58
+ "id": {
59
+ "type": "string",
60
+ "required": false
61
+ },
62
+ "sortable": {
63
+ "type": "boolean",
64
+ "default": false
65
+ },
66
+ "sort": {
67
+ "type": "enum",
68
+ "values": [
69
+ "asc",
70
+ "desc"
71
+ ],
72
+ "required": false,
73
+ "note": "Active direction. Omit when unsorted."
74
+ },
75
+ "onSort": {
76
+ "type": "function",
77
+ "required": false,
78
+ "note": "() => void. DataTable cycles asc, desc, off."
79
+ }
80
+ },
81
+ "tokens": [
82
+ "surface.muted",
83
+ "text.secondary",
84
+ "type.size.label",
85
+ "type.size.caption",
86
+ "space.1",
87
+ "space.3",
88
+ "space.4",
89
+ "icon.muted",
90
+ "icon.primary"
91
+ ],
92
+ "a11y": {
93
+ "element": "span",
94
+ "requirements": [
95
+ "Lives inside th scope=col",
96
+ "Checkbox unlabeled needs aria-label Select all {label} or Select all rows",
97
+ "When sortable, button with aria-label Sort {label} ascending/descending/Clear sort"
98
+ ]
99
+ },
100
+ "doNot": [
101
+ "Do not invent a local header cell or th cousin",
102
+ "Do not use Cell for headers",
103
+ "Do not use raw hex",
104
+ "Do not invent a SortButton or extra chevron component"
105
+ ],
106
+ "snippet": "<HeaderCell label=\"Name\" size=\"md\" sortable sort=\"asc\" />"
107
+ }
@@ -0,0 +1,478 @@
1
+ [
2
+ {
3
+ "id": "tokens",
4
+ "intent": "Design tokens: color, space, radius, type, shadow, and motion primitives with semantic roles.",
5
+ "group": "foundation",
6
+ "path": "tokens/tokens.json",
7
+ "status": "stable"
8
+ },
9
+ {
10
+ "id": "button",
11
+ "intent": "Primary action control for forms and dashboards.",
12
+ "group": "component",
13
+ "path": "contracts/button.json",
14
+ "status": "stable"
15
+ },
16
+ {
17
+ "id": "buttongroup",
18
+ "intent": "Joined row of kit Buttons.",
19
+ "group": "component",
20
+ "path": "contracts/buttongroup.json",
21
+ "status": "stable"
22
+ },
23
+ {
24
+ "id": "scorecard",
25
+ "intent": "Single KPI tile with label, value, optional delta and trend.",
26
+ "group": "component",
27
+ "path": "contracts/scorecard.json",
28
+ "status": "stable"
29
+ },
30
+ {
31
+ "id": "scoreboard",
32
+ "intent": "Horizontal row of Scorecards for a metrics strip.",
33
+ "group": "component",
34
+ "path": "contracts/scoreboard.json",
35
+ "status": "stable"
36
+ },
37
+ {
38
+ "id": "input",
39
+ "intent": "Single-line text entry with optional start and end slots inside the field.",
40
+ "group": "component",
41
+ "path": "contracts/input.json",
42
+ "status": "stable"
43
+ },
44
+ {
45
+ "id": "inputotp",
46
+ "intent": "One-time code / PIN as separate slots. Paste and autocomplete work. Not a row of Inputs.",
47
+ "group": "component",
48
+ "path": "contracts/inputotp.json",
49
+ "status": "stable"
50
+ },
51
+ {
52
+ "id": "insightcard",
53
+ "intent": "A recommended insight or opportunity as a compact card, with tone and optional actions.",
54
+ "group": "component",
55
+ "path": "contracts/insightcard.json",
56
+ "status": "stable"
57
+ },
58
+ {
59
+ "id": "linechart",
60
+ "intent": "Change and progress over ordered samples as a line or area chart.",
61
+ "group": "component",
62
+ "path": "contracts/linechart.json",
63
+ "status": "stable"
64
+ },
65
+ {
66
+ "id": "loadinganimation",
67
+ "intent": "Square dot-grid loading indicator for compact waits.",
68
+ "group": "component",
69
+ "path": "contracts/loadinganimation.json",
70
+ "status": "stable"
71
+ },
72
+ {
73
+ "id": "textarea",
74
+ "intent": "Multi-line text for notes. Wrap with Field.",
75
+ "group": "component",
76
+ "path": "contracts/textarea.json",
77
+ "status": "stable"
78
+ },
79
+ {
80
+ "id": "select",
81
+ "intent": "Choose one or several options from a short list. Field trigger, kit DropdownMenu panel.",
82
+ "group": "component",
83
+ "path": "contracts/select.json",
84
+ "status": "stable"
85
+ },
86
+ {
87
+ "id": "shimmertext",
88
+ "intent": "Animated text for short indeterminate processing copy.",
89
+ "group": "component",
90
+ "path": "contracts/shimmertext.json",
91
+ "status": "stable"
92
+ },
93
+ {
94
+ "id": "slider",
95
+ "intent": "Pick a value or range along a track.",
96
+ "group": "component",
97
+ "path": "contracts/slider.json",
98
+ "status": "stable"
99
+ },
100
+ {
101
+ "id": "spinner",
102
+ "intent": "Spinning circular loader for indeterminate waits.",
103
+ "group": "component",
104
+ "path": "contracts/spinner.json",
105
+ "status": "stable"
106
+ },
107
+ {
108
+ "id": "switch",
109
+ "intent": "Immediate on/off setting. Pill track, role=switch. Not a Checkbox.",
110
+ "group": "component",
111
+ "path": "contracts/switch.json",
112
+ "status": "stable"
113
+ },
114
+ {
115
+ "id": "checkbox",
116
+ "intent": "Multi-select or confirmation control. Optional visible label.",
117
+ "group": "component",
118
+ "path": "contracts/checkbox.json",
119
+ "status": "stable"
120
+ },
121
+ {
122
+ "id": "collapsible",
123
+ "intent": "Single show/hide panel.",
124
+ "group": "component",
125
+ "path": "contracts/collapsible.json",
126
+ "status": "stable"
127
+ },
128
+ {
129
+ "id": "command",
130
+ "intent": "Searchable command menu for quick actions.",
131
+ "group": "component",
132
+ "path": "contracts/command.json",
133
+ "status": "stable"
134
+ },
135
+ {
136
+ "id": "datatable",
137
+ "intent": "Responsive structured data with search, filters, column settings, and clear empty states.",
138
+ "group": "component",
139
+ "path": "contracts/datatable.json",
140
+ "status": "stable"
141
+ },
142
+ {
143
+ "id": "datepicker",
144
+ "intent": "Form field that opens kit Calendar to pick one date.",
145
+ "group": "component",
146
+ "path": "contracts/datepicker.json",
147
+ "status": "stable"
148
+ },
149
+ {
150
+ "id": "calendar",
151
+ "intent": "Month grid for picking one date.",
152
+ "group": "component",
153
+ "path": "contracts/calendar.json",
154
+ "status": "stable"
155
+ },
156
+ {
157
+ "id": "cell",
158
+ "intent": "Inline cell content for datasets: text, avatar, file, payment, badge, trend, avatar group, select, progress, rating, or row actions.",
159
+ "group": "component",
160
+ "path": "contracts/cell.json",
161
+ "status": "stable"
162
+ },
163
+ {
164
+ "id": "headercell",
165
+ "intent": "Column header for DataTable: label, optional select-all checkbox, sm or md.",
166
+ "group": "component",
167
+ "path": "contracts/headercell.json",
168
+ "status": "stable"
169
+ },
170
+ {
171
+ "id": "card",
172
+ "intent": "Framed tile with optional header, body, and footer actions.",
173
+ "group": "component",
174
+ "path": "contracts/card.json",
175
+ "status": "stable"
176
+ },
177
+ {
178
+ "id": "carousel",
179
+ "intent": "Paged track of slides with prev/next kit Buttons. One piece.",
180
+ "group": "component",
181
+ "path": "contracts/carousel.json",
182
+ "status": "stable"
183
+ },
184
+ {
185
+ "id": "chat",
186
+ "intent": "Assistant panel with a header, a thread, and a composer. One piece.",
187
+ "group": "component",
188
+ "path": "contracts/chat.json",
189
+ "status": "stable"
190
+ },
191
+ {
192
+ "id": "radiogroup",
193
+ "intent": "Choose exactly one option from a small visible radio set.",
194
+ "group": "component",
195
+ "path": "contracts/radiogroup.json",
196
+ "status": "stable"
197
+ },
198
+ {
199
+ "id": "field",
200
+ "intent": "One labeled control with optional hint and error. Label on top or start (left).",
201
+ "group": "component",
202
+ "path": "contracts/field.json",
203
+ "status": "stable"
204
+ },
205
+ {
206
+ "id": "fieldset",
207
+ "intent": "Semantic group of fields with a legend and optional description.",
208
+ "group": "component",
209
+ "path": "contracts/fieldset.json",
210
+ "status": "stable"
211
+ },
212
+ {
213
+ "id": "badge",
214
+ "intent": "Compact status or category pill.",
215
+ "group": "component",
216
+ "path": "contracts/badge.json",
217
+ "status": "stable"
218
+ },
219
+ {
220
+ "id": "barchart",
221
+ "intent": "Compare magnitudes across categories with vertical or horizontal bars.",
222
+ "group": "component",
223
+ "path": "contracts/barchart.json",
224
+ "status": "stable"
225
+ },
226
+ {
227
+ "id": "breadcrumb",
228
+ "intent": "Path to the current page as a hierarchy of links.",
229
+ "group": "component",
230
+ "path": "contracts/breadcrumb.json",
231
+ "status": "stable"
232
+ },
233
+ {
234
+ "id": "tooltip",
235
+ "intent": "Brief supplementary text on hover or focus.",
236
+ "group": "component",
237
+ "path": "contracts/tooltip.json",
238
+ "status": "stable"
239
+ },
240
+ {
241
+ "id": "tabs",
242
+ "intent": "Switch between related views in place. Segmented or line, in lg, md, and sm.",
243
+ "group": "component",
244
+ "path": "contracts/tabs.json",
245
+ "status": "stable"
246
+ },
247
+ {
248
+ "id": "modal",
249
+ "intent": "Dismissible overlay for short tasks, forms, or extra detail. Composes ModalCard. Not a must-choose confirm.",
250
+ "group": "component",
251
+ "path": "contracts/modal.json",
252
+ "status": "stable"
253
+ },
254
+ {
255
+ "id": "modalcard",
256
+ "intent": "The panel chrome for a modal (title, body, footer). Use inside Modal, or standalone in docs. Not a page Card.",
257
+ "group": "component",
258
+ "path": "contracts/modalcard.json",
259
+ "status": "stable"
260
+ },
261
+ {
262
+ "id": "drawer",
263
+ "intent": "Edge panel for secondary tasks that need more room than a Modal.",
264
+ "group": "component",
265
+ "path": "contracts/drawer.json",
266
+ "status": "stable"
267
+ },
268
+ {
269
+ "id": "dropdownmenu",
270
+ "intent": "Actions or value menu from a button, field, or nav trigger.",
271
+ "group": "component",
272
+ "path": "contracts/dropdownmenu.json",
273
+ "status": "stable"
274
+ },
275
+ {
276
+ "id": "empty",
277
+ "intent": "Placeholder when a list, page, or region has nothing to show.",
278
+ "group": "component",
279
+ "path": "contracts/empty.json",
280
+ "status": "stable"
281
+ },
282
+ {
283
+ "id": "navigationmenu",
284
+ "intent": "Horizontal site nav. Dropdowns are kit DropdownMenu. Not SideNav. Not AppNav.",
285
+ "group": "component",
286
+ "path": "contracts/navigationmenu.json",
287
+ "status": "stable"
288
+ },
289
+ {
290
+ "id": "numbertransition",
291
+ "intent": "Rolling number treatment for live metrics and counters.",
292
+ "group": "component",
293
+ "path": "contracts/numbertransition.json",
294
+ "status": "stable"
295
+ },
296
+ {
297
+ "id": "pageheader",
298
+ "intent": "Top-of-page title with optional Breadcrumb trail, subtitle, and actions.",
299
+ "group": "component",
300
+ "path": "contracts/pageheader.json",
301
+ "status": "stable"
302
+ },
303
+ {
304
+ "id": "pagination",
305
+ "intent": "Page navigation with previous, next, page numbers, and ellipsis. Not ButtonGroup. Not Tabs.",
306
+ "group": "component",
307
+ "path": "contracts/pagination.json",
308
+ "status": "stable"
309
+ },
310
+ {
311
+ "id": "piechart",
312
+ "intent": "Part-to-whole share for a handful of segments, as a donut or solid pie.",
313
+ "group": "component",
314
+ "path": "contracts/piechart.json",
315
+ "status": "stable"
316
+ },
317
+ {
318
+ "id": "progress",
319
+ "intent": "Task completion as a bar or circle from 0 to 100. Optional label and percent.",
320
+ "group": "component",
321
+ "path": "contracts/progress.json",
322
+ "status": "stable"
323
+ },
324
+ {
325
+ "id": "progresssteps",
326
+ "intent": "Ordered wizard steps as numbered circles with complete, current, and upcoming.",
327
+ "group": "component",
328
+ "path": "contracts/progresssteps.json",
329
+ "status": "stable"
330
+ },
331
+ {
332
+ "id": "section",
333
+ "intent": "Grouped page block with heading, optional description and actions.",
334
+ "group": "component",
335
+ "path": "contracts/section.json",
336
+ "status": "stable"
337
+ },
338
+ {
339
+ "id": "appheader",
340
+ "intent": "Product top chrome: brand mark, centered search, trailing actions.",
341
+ "group": "component",
342
+ "path": "contracts/appheader.json",
343
+ "status": "stable"
344
+ },
345
+ {
346
+ "id": "appnav",
347
+ "intent": "Vertical sidebar navigation with active item state.",
348
+ "group": "component",
349
+ "path": "contracts/appnav.json",
350
+ "status": "stable"
351
+ },
352
+ {
353
+ "id": "sidenav",
354
+ "intent": "Product side nav: brand header, icon items, optional badges, closeable. Not AppNav. Not Drawer.",
355
+ "group": "component",
356
+ "path": "contracts/sidenav.json",
357
+ "status": "stable"
358
+ },
359
+ {
360
+ "id": "table",
361
+ "intent": "Simple semantic table for invoices, lists, and text rows. Search and filters belong on DataTable. One piece.",
362
+ "group": "component",
363
+ "path": "contracts/table.json",
364
+ "status": "stable"
365
+ },
366
+ {
367
+ "id": "thinkinganimation",
368
+ "intent": "Calm processing indicator for assistants and short system waits.",
369
+ "group": "component",
370
+ "path": "contracts/thinkinganimation.json",
371
+ "status": "stable"
372
+ },
373
+ {
374
+ "id": "timeline",
375
+ "intent": "Vertical sequence of now, next, and later for ordered multi-stage work.",
376
+ "group": "component",
377
+ "path": "contracts/timeline.json",
378
+ "status": "stable"
379
+ },
380
+ {
381
+ "id": "toast",
382
+ "intent": "Floating notice after an action. Status colors the icon only. Title + optional description + dismiss.",
383
+ "group": "component",
384
+ "path": "contracts/toast.json",
385
+ "status": "stable"
386
+ },
387
+ {
388
+ "id": "accordion",
389
+ "intent": "One-open disclosure list for short related sections.",
390
+ "group": "component",
391
+ "path": "contracts/accordion.json",
392
+ "status": "stable"
393
+ },
394
+ {
395
+ "id": "alert",
396
+ "intent": "Inline status banner that stays on the page.",
397
+ "group": "component",
398
+ "path": "contracts/alert.json",
399
+ "status": "stable"
400
+ },
401
+ {
402
+ "id": "alertdialog",
403
+ "intent": "Must-choose overlay that interrupts until the user cancels or confirms.",
404
+ "group": "component",
405
+ "path": "contracts/alertdialog.json",
406
+ "status": "stable"
407
+ },
408
+ {
409
+ "id": "avatar",
410
+ "intent": "Face or initials for a person. Not a status chip and not a button.",
411
+ "group": "component",
412
+ "path": "contracts/avatar.json",
413
+ "status": "stable"
414
+ },
415
+ {
416
+ "id": "avatargroup",
417
+ "intent": "Overlapping row of kit Avatars with an optional leftover count.",
418
+ "group": "component",
419
+ "path": "contracts/avatargroup.json",
420
+ "status": "stable"
421
+ },
422
+ {
423
+ "id": "dashboard",
424
+ "intent": "Dashboard blueprint: PageHeader, LineChart, Section, DataTable, Buttons.",
425
+ "group": "pattern",
426
+ "path": "contracts/patterns/dashboard.json",
427
+ "status": "stable"
428
+ },
429
+ {
430
+ "id": "settings-form",
431
+ "intent": "Settings blueprint: PageHeader, Fields, and save actions.",
432
+ "group": "pattern",
433
+ "path": "contracts/patterns/settings-form.json",
434
+ "status": "stable"
435
+ },
436
+ {
437
+ "id": "list-detail",
438
+ "intent": "List-detail blueprint: AppNav, Table, and detail Section.",
439
+ "group": "pattern",
440
+ "path": "contracts/patterns/list-detail.json",
441
+ "status": "stable"
442
+ },
443
+ {
444
+ "id": "invite-members",
445
+ "intent": "Invite overlay: empty team state, AvatarGroup, and a dismissible Modal with FieldSet.",
446
+ "group": "pattern",
447
+ "path": "contracts/patterns/invite-members.json",
448
+ "status": "stable"
449
+ },
450
+ {
451
+ "id": "assistant-workspace",
452
+ "intent": "Workspace with two-column InsightCards and an inline Chat rail.",
453
+ "group": "pattern",
454
+ "path": "contracts/patterns/assistant-workspace.json",
455
+ "status": "stable"
456
+ },
457
+ {
458
+ "id": "empty-first-run",
459
+ "intent": "First-run page: PageHeader, outlined Empty, and one primary that opens a create Modal.",
460
+ "group": "pattern",
461
+ "path": "contracts/patterns/empty-first-run.json",
462
+ "status": "stable"
463
+ },
464
+ {
465
+ "id": "activity",
466
+ "intent": "Activity blueprint: PageHeader, Scoreboard, task cards or list, and a tabbed DataTable feed.",
467
+ "group": "pattern",
468
+ "path": "contracts/patterns/activity.json",
469
+ "status": "stable"
470
+ },
471
+ {
472
+ "id": "inbox",
473
+ "intent": "Inbox blueprint: PageHeader, Scoreboard, tabbed Table, detail Section, and a reply Drawer.",
474
+ "group": "pattern",
475
+ "path": "contracts/patterns/inbox.json",
476
+ "status": "stable"
477
+ }
478
+ ]