agentic-ds-kit 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.
Files changed (750) hide show
  1. package/README.md +6 -7
  2. package/dist/lib/tokens.css +637 -0
  3. package/dist/src/index.d.ts +67 -0
  4. package/dist/src/index.js +69 -0
  5. package/dist/src/tokens.d.ts +0 -0
  6. package/dist/src/tokens.js +2 -0
  7. package/dist/ui/Accordion/Accordion.d.ts +3 -0
  8. package/dist/ui/Accordion/Accordion.js +49 -0
  9. package/dist/ui/Accordion/Accordion.js.map +1 -0
  10. package/{ui → dist/ui}/Accordion/Accordion.module.css +11 -11
  11. package/dist/ui/Accordion/Accordion.module.js +16 -0
  12. package/dist/ui/Accordion/Accordion.module.js.map +1 -0
  13. package/dist/ui/Accordion/Accordion.types.d.ts +9 -0
  14. package/dist/ui/Accordion/index.d.ts +2 -0
  15. package/dist/ui/Alert/Alert.d.ts +3 -0
  16. package/dist/ui/Alert/Alert.js +36 -0
  17. package/dist/ui/Alert/Alert.js.map +1 -0
  18. package/{ui → dist/ui}/Alert/Alert.module.css +12 -12
  19. package/dist/ui/Alert/Alert.module.js +17 -0
  20. package/dist/ui/Alert/Alert.module.js.map +1 -0
  21. package/{ui/Alert/Alert.types.ts → dist/ui/Alert/Alert.types.d.ts} +3 -4
  22. package/dist/ui/Alert/index.d.ts +2 -0
  23. package/dist/ui/AlertDialog/AlertDialog.d.ts +3 -0
  24. package/dist/ui/AlertDialog/AlertDialog.js +76 -0
  25. package/dist/ui/AlertDialog/AlertDialog.js.map +1 -0
  26. package/{ui → dist/ui}/AlertDialog/AlertDialog.module.css +11 -11
  27. package/dist/ui/AlertDialog/AlertDialog.module.js +17 -0
  28. package/dist/ui/AlertDialog/AlertDialog.module.js.map +1 -0
  29. package/dist/ui/AlertDialog/AlertDialog.types.d.ts +13 -0
  30. package/dist/ui/AlertDialog/index.d.ts +2 -0
  31. package/dist/ui/AppHeader/AppHeader.d.ts +3 -0
  32. package/dist/ui/AppHeader/AppHeader.js +57 -0
  33. package/dist/ui/AppHeader/AppHeader.js.map +1 -0
  34. package/{ui → dist/ui}/AppHeader/AppHeader.module.css +15 -15
  35. package/dist/ui/AppHeader/AppHeader.module.js +17 -0
  36. package/dist/ui/AppHeader/AppHeader.module.js.map +1 -0
  37. package/dist/ui/AppHeader/AppHeader.types.d.ts +26 -0
  38. package/dist/ui/AppHeader/index.d.ts +2 -0
  39. package/dist/ui/AppNav/AppNav.d.ts +3 -0
  40. package/dist/ui/AppNav/AppNav.js +108 -0
  41. package/dist/ui/AppNav/AppNav.js.map +1 -0
  42. package/{ui → dist/ui}/AppNav/AppNav.module.css +27 -27
  43. package/dist/ui/AppNav/AppNav.module.js +28 -0
  44. package/dist/ui/AppNav/AppNav.module.js.map +1 -0
  45. package/dist/ui/AppNav/AppNav.types.d.ts +21 -0
  46. package/{ui/AppNav/index.ts → dist/ui/AppNav/index.d.ts} +2 -2
  47. package/dist/ui/Avatar/Avatar.d.ts +3 -0
  48. package/dist/ui/Avatar/Avatar.js +48 -0
  49. package/dist/ui/Avatar/Avatar.js.map +1 -0
  50. package/{ui → dist/ui}/Avatar/Avatar.module.css +7 -7
  51. package/dist/ui/Avatar/Avatar.module.js +15 -0
  52. package/dist/ui/Avatar/Avatar.module.js.map +1 -0
  53. package/dist/ui/Avatar/Avatar.types.d.ts +7 -0
  54. package/dist/ui/Avatar/index.d.ts +2 -0
  55. package/dist/ui/AvatarGroup/AvatarGroup.d.ts +3 -0
  56. package/dist/ui/AvatarGroup/AvatarGroup.js +31 -0
  57. package/dist/ui/AvatarGroup/AvatarGroup.js.map +1 -0
  58. package/{ui → dist/ui}/AvatarGroup/AvatarGroup.module.css +7 -7
  59. package/dist/ui/AvatarGroup/AvatarGroup.module.js +14 -0
  60. package/dist/ui/AvatarGroup/AvatarGroup.module.js.map +1 -0
  61. package/dist/ui/AvatarGroup/AvatarGroup.types.d.ts +13 -0
  62. package/dist/ui/AvatarGroup/index.d.ts +2 -0
  63. package/dist/ui/Badge/Badge.d.ts +3 -0
  64. package/dist/ui/Badge/Badge.js +35 -0
  65. package/dist/ui/Badge/Badge.js.map +1 -0
  66. package/{ui → dist/ui}/Badge/Badge.module.css +14 -14
  67. package/dist/ui/Badge/Badge.module.js +20 -0
  68. package/dist/ui/Badge/Badge.module.js.map +1 -0
  69. package/{ui/Badge/Badge.types.ts → dist/ui/Badge/Badge.types.d.ts} +6 -7
  70. package/dist/ui/Badge/index.d.ts +2 -0
  71. package/dist/ui/BarChart/BarChart.d.ts +3 -0
  72. package/dist/ui/BarChart/BarChart.js +242 -0
  73. package/dist/ui/BarChart/BarChart.js.map +1 -0
  74. package/{ui → dist/ui}/BarChart/BarChart.module.css +10 -10
  75. package/dist/ui/BarChart/BarChart.module.js +16 -0
  76. package/dist/ui/BarChart/BarChart.module.js.map +1 -0
  77. package/dist/ui/BarChart/BarChart.types.d.ts +16 -0
  78. package/dist/ui/BarChart/index.d.ts +2 -0
  79. package/dist/ui/Breadcrumb/Breadcrumb.d.ts +3 -0
  80. package/dist/ui/Breadcrumb/Breadcrumb.js +78 -0
  81. package/dist/ui/Breadcrumb/Breadcrumb.js.map +1 -0
  82. package/{ui → dist/ui}/Breadcrumb/Breadcrumb.module.css +11 -11
  83. package/dist/ui/Breadcrumb/Breadcrumb.module.js +16 -0
  84. package/dist/ui/Breadcrumb/Breadcrumb.module.js.map +1 -0
  85. package/dist/ui/Breadcrumb/Breadcrumb.types.d.ts +12 -0
  86. package/dist/ui/Breadcrumb/index.d.ts +2 -0
  87. package/dist/ui/Button/Button.d.ts +3 -0
  88. package/dist/ui/Button/Button.js +44 -0
  89. package/dist/ui/Button/Button.js.map +1 -0
  90. package/{ui → dist/ui}/Button/Button.module.css +20 -20
  91. package/dist/ui/Button/Button.module.js +20 -0
  92. package/dist/ui/Button/Button.module.js.map +1 -0
  93. package/dist/ui/Button/Button.types.d.ts +17 -0
  94. package/dist/ui/Button/index.d.ts +2 -0
  95. package/dist/ui/Button/lucideName.d.ts +5 -0
  96. package/dist/ui/Button/lucideName.js +103 -0
  97. package/dist/ui/Button/lucideName.js.map +1 -0
  98. package/dist/ui/ButtonGroup/ButtonGroup.d.ts +3 -0
  99. package/dist/ui/ButtonGroup/ButtonGroup.js +15 -0
  100. package/dist/ui/ButtonGroup/ButtonGroup.js.map +1 -0
  101. package/dist/ui/ButtonGroup/ButtonGroup.module.css +31 -0
  102. package/dist/ui/ButtonGroup/ButtonGroup.module.js +7 -0
  103. package/dist/ui/ButtonGroup/ButtonGroup.module.js.map +1 -0
  104. package/dist/ui/ButtonGroup/ButtonGroup.types.d.ts +5 -0
  105. package/dist/ui/ButtonGroup/index.d.ts +2 -0
  106. package/dist/ui/Calendar/Calendar.d.ts +3 -0
  107. package/dist/ui/Calendar/Calendar.js +205 -0
  108. package/dist/ui/Calendar/Calendar.js.map +1 -0
  109. package/{ui → dist/ui}/Calendar/Calendar.module.css +22 -22
  110. package/dist/ui/Calendar/Calendar.module.js +20 -0
  111. package/dist/ui/Calendar/Calendar.module.js.map +1 -0
  112. package/dist/ui/Calendar/Calendar.types.d.ts +10 -0
  113. package/dist/ui/Calendar/index.d.ts +2 -0
  114. package/dist/ui/Card/Card.d.ts +3 -0
  115. package/dist/ui/Card/Card.js +57 -0
  116. package/dist/ui/Card/Card.js.map +1 -0
  117. package/{ui → dist/ui}/Card/Card.module.css +13 -13
  118. package/dist/ui/Card/Card.module.js +18 -0
  119. package/dist/ui/Card/Card.module.js.map +1 -0
  120. package/dist/ui/Card/Card.types.d.ts +20 -0
  121. package/{ui/Card/index.ts → dist/ui/Card/index.d.ts} +2 -2
  122. package/dist/ui/Carousel/Carousel.d.ts +3 -0
  123. package/dist/ui/Carousel/Carousel.js +99 -0
  124. package/dist/ui/Carousel/Carousel.js.map +1 -0
  125. package/{ui → dist/ui}/Carousel/Carousel.module.css +22 -22
  126. package/dist/ui/Carousel/Carousel.module.js +21 -0
  127. package/dist/ui/Carousel/Carousel.module.js.map +1 -0
  128. package/dist/ui/Carousel/Carousel.types.d.ts +15 -0
  129. package/dist/ui/Carousel/index.d.ts +2 -0
  130. package/dist/ui/Cell/Cell.d.ts +3 -0
  131. package/dist/ui/Cell/Cell.js +215 -0
  132. package/dist/ui/Cell/Cell.js.map +1 -0
  133. package/{ui → dist/ui}/Cell/Cell.module.css +23 -23
  134. package/dist/ui/Cell/Cell.module.js +27 -0
  135. package/dist/ui/Cell/Cell.module.js.map +1 -0
  136. package/dist/ui/Cell/Cell.types.d.ts +46 -0
  137. package/dist/ui/Cell/index.d.ts +2 -0
  138. package/dist/ui/Chat/Chat.d.ts +3 -0
  139. package/dist/ui/Chat/Chat.js +149 -0
  140. package/dist/ui/Chat/Chat.js.map +1 -0
  141. package/{ui → dist/ui}/Chat/Chat.module.css +21 -21
  142. package/dist/ui/Chat/Chat.module.js +27 -0
  143. package/dist/ui/Chat/Chat.module.js.map +1 -0
  144. package/dist/ui/Chat/Chat.types.d.ts +35 -0
  145. package/dist/ui/Chat/index.d.ts +2 -0
  146. package/dist/ui/Checkbox/Checkbox.d.ts +3 -0
  147. package/dist/ui/Checkbox/Checkbox.js +64 -0
  148. package/dist/ui/Checkbox/Checkbox.js.map +1 -0
  149. package/{ui → dist/ui}/Checkbox/Checkbox.module.css +28 -28
  150. package/dist/ui/Checkbox/Checkbox.module.js +16 -0
  151. package/dist/ui/Checkbox/Checkbox.module.js.map +1 -0
  152. package/dist/ui/Checkbox/Checkbox.types.d.ts +14 -0
  153. package/dist/ui/Checkbox/index.d.ts +2 -0
  154. package/dist/ui/Collapsible/Collapsible.d.ts +3 -0
  155. package/dist/ui/Collapsible/Collapsible.js +50 -0
  156. package/dist/ui/Collapsible/Collapsible.js.map +1 -0
  157. package/{ui → dist/ui}/Collapsible/Collapsible.module.css +8 -8
  158. package/dist/ui/Collapsible/Collapsible.module.js +14 -0
  159. package/dist/ui/Collapsible/Collapsible.module.js.map +1 -0
  160. package/dist/ui/Collapsible/Collapsible.types.d.ts +8 -0
  161. package/dist/ui/Collapsible/index.d.ts +2 -0
  162. package/dist/ui/Command/Command.d.ts +3 -0
  163. package/dist/ui/Command/Command.js +120 -0
  164. package/dist/ui/Command/Command.js.map +1 -0
  165. package/{ui → dist/ui}/Command/Command.module.css +22 -22
  166. package/dist/ui/Command/Command.module.js +22 -0
  167. package/dist/ui/Command/Command.module.js.map +1 -0
  168. package/dist/ui/Command/Command.types.d.ts +18 -0
  169. package/dist/ui/Command/index.d.ts +2 -0
  170. package/dist/ui/DataTable/DataTable.d.ts +3 -0
  171. package/dist/ui/DataTable/DataTable.js +324 -0
  172. package/dist/ui/DataTable/DataTable.js.map +1 -0
  173. package/{ui → dist/ui}/DataTable/DataTable.module.css +34 -34
  174. package/dist/ui/DataTable/DataTable.module.js +27 -0
  175. package/dist/ui/DataTable/DataTable.module.js.map +1 -0
  176. package/dist/ui/DataTable/DataTable.types.d.ts +28 -0
  177. package/dist/ui/DataTable/index.d.ts +2 -0
  178. package/dist/ui/DatePicker/DatePicker.d.ts +3 -0
  179. package/dist/ui/DatePicker/DatePicker.js +92 -0
  180. package/dist/ui/DatePicker/DatePicker.js.map +1 -0
  181. package/{ui → dist/ui}/DatePicker/DatePicker.module.css +7 -7
  182. package/dist/ui/DatePicker/DatePicker.module.js +14 -0
  183. package/dist/ui/DatePicker/DatePicker.module.js.map +1 -0
  184. package/dist/ui/DatePicker/DatePicker.types.d.ts +14 -0
  185. package/dist/ui/DatePicker/index.d.ts +2 -0
  186. package/dist/ui/Drawer/Drawer.d.ts +3 -0
  187. package/dist/ui/Drawer/Drawer.js +82 -0
  188. package/dist/ui/Drawer/Drawer.js.map +1 -0
  189. package/{ui → dist/ui}/Drawer/Drawer.module.css +31 -31
  190. package/dist/ui/Drawer/Drawer.module.js +26 -0
  191. package/dist/ui/Drawer/Drawer.module.js.map +1 -0
  192. package/dist/ui/Drawer/Drawer.types.d.ts +12 -0
  193. package/dist/ui/Drawer/index.d.ts +2 -0
  194. package/dist/ui/DropdownMenu/DropdownMenu.d.ts +3 -0
  195. package/dist/ui/DropdownMenu/DropdownMenu.js +378 -0
  196. package/dist/ui/DropdownMenu/DropdownMenu.js.map +1 -0
  197. package/{ui → dist/ui}/DropdownMenu/DropdownMenu.module.css +53 -53
  198. package/dist/ui/DropdownMenu/DropdownMenu.module.js +42 -0
  199. package/dist/ui/DropdownMenu/DropdownMenu.module.js.map +1 -0
  200. package/dist/ui/DropdownMenu/DropdownMenu.types.d.ts +44 -0
  201. package/dist/ui/DropdownMenu/index.d.ts +2 -0
  202. package/dist/ui/Empty/Empty.d.ts +3 -0
  203. package/dist/ui/Empty/Empty.js +43 -0
  204. package/dist/ui/Empty/Empty.js.map +1 -0
  205. package/{ui → dist/ui}/Empty/Empty.module.css +9 -9
  206. package/dist/ui/Empty/Empty.module.js +16 -0
  207. package/dist/ui/Empty/Empty.module.js.map +1 -0
  208. package/dist/ui/Empty/Empty.types.d.ts +9 -0
  209. package/dist/ui/Empty/index.d.ts +2 -0
  210. package/dist/ui/Field/Field.d.ts +3 -0
  211. package/dist/ui/Field/Field.js +38 -0
  212. package/dist/ui/Field/Field.js.map +1 -0
  213. package/{ui → dist/ui}/Field/Field.module.css +11 -11
  214. package/dist/ui/Field/Field.module.js +15 -0
  215. package/dist/ui/Field/Field.module.js.map +1 -0
  216. package/dist/ui/Field/Field.types.d.ts +10 -0
  217. package/dist/ui/Field/index.d.ts +2 -0
  218. package/dist/ui/FieldSet/FieldSet.d.ts +3 -0
  219. package/dist/ui/FieldSet/FieldSet.js +26 -0
  220. package/dist/ui/FieldSet/FieldSet.js.map +1 -0
  221. package/{ui → dist/ui}/FieldSet/FieldSet.module.css +4 -4
  222. package/dist/ui/FieldSet/FieldSet.module.js +12 -0
  223. package/dist/ui/FieldSet/FieldSet.module.js.map +1 -0
  224. package/dist/ui/FieldSet/FieldSet.types.d.ts +6 -0
  225. package/dist/ui/FieldSet/index.d.ts +2 -0
  226. package/dist/ui/HeaderCell/HeaderCell.d.ts +3 -0
  227. package/dist/ui/HeaderCell/HeaderCell.js +42 -0
  228. package/dist/ui/HeaderCell/HeaderCell.js.map +1 -0
  229. package/{ui → dist/ui}/HeaderCell/HeaderCell.module.css +14 -14
  230. package/dist/ui/HeaderCell/HeaderCell.module.js +19 -0
  231. package/dist/ui/HeaderCell/HeaderCell.module.js.map +1 -0
  232. package/dist/ui/HeaderCell/HeaderCell.types.d.ts +17 -0
  233. package/dist/ui/HeaderCell/index.d.ts +2 -0
  234. package/dist/ui/Input/Input.d.ts +3 -0
  235. package/dist/ui/Input/Input.js +58 -0
  236. package/dist/ui/Input/Input.js.map +1 -0
  237. package/{ui → dist/ui}/Input/Input.module.css +12 -12
  238. package/dist/ui/Input/Input.module.js +13 -0
  239. package/dist/ui/Input/Input.module.js.map +1 -0
  240. package/dist/ui/Input/Input.types.d.ts +21 -0
  241. package/dist/ui/Input/index.d.ts +2 -0
  242. package/dist/ui/InputOTP/InputOTP.d.ts +3 -0
  243. package/dist/ui/InputOTP/InputOTP.js +86 -0
  244. package/dist/ui/InputOTP/InputOTP.js.map +1 -0
  245. package/{ui → dist/ui}/InputOTP/InputOTP.module.css +20 -20
  246. package/dist/ui/InputOTP/InputOTP.module.js +20 -0
  247. package/dist/ui/InputOTP/InputOTP.module.js.map +1 -0
  248. package/dist/ui/InputOTP/InputOTP.types.d.ts +18 -0
  249. package/{ui/InputOTP/index.ts → dist/ui/InputOTP/index.d.ts} +2 -2
  250. package/dist/ui/InsightCard/InsightCard.d.ts +3 -0
  251. package/dist/ui/InsightCard/InsightCard.js +89 -0
  252. package/dist/ui/InsightCard/InsightCard.js.map +1 -0
  253. package/{ui → dist/ui}/InsightCard/InsightCard.module.css +23 -23
  254. package/dist/ui/InsightCard/InsightCard.module.js +29 -0
  255. package/dist/ui/InsightCard/InsightCard.module.js.map +1 -0
  256. package/dist/ui/InsightCard/InsightCard.types.d.ts +18 -0
  257. package/dist/ui/InsightCard/index.d.ts +2 -0
  258. package/dist/ui/LineChart/LineChart.d.ts +3 -0
  259. package/dist/ui/LineChart/LineChart.js +307 -0
  260. package/dist/ui/LineChart/LineChart.js.map +1 -0
  261. package/{ui → dist/ui}/LineChart/LineChart.module.css +16 -16
  262. package/dist/ui/LineChart/LineChart.module.js +22 -0
  263. package/dist/ui/LineChart/LineChart.module.js.map +1 -0
  264. package/dist/ui/LineChart/LineChart.types.d.ts +17 -0
  265. package/dist/ui/LineChart/index.d.ts +2 -0
  266. package/dist/ui/LoadingAnimation/LoadingAnimation.d.ts +3 -0
  267. package/dist/ui/LoadingAnimation/LoadingAnimation.js +24 -0
  268. package/dist/ui/LoadingAnimation/LoadingAnimation.js.map +1 -0
  269. package/{ui → dist/ui}/LoadingAnimation/LoadingAnimation.module.css +11 -11
  270. package/dist/ui/LoadingAnimation/LoadingAnimation.module.js +13 -0
  271. package/dist/ui/LoadingAnimation/LoadingAnimation.module.js.map +1 -0
  272. package/{ui/LoadingAnimation/LoadingAnimation.types.ts → dist/ui/LoadingAnimation/LoadingAnimation.types.d.ts} +4 -5
  273. package/dist/ui/LoadingAnimation/index.d.ts +2 -0
  274. package/dist/ui/Modal/Modal.d.ts +3 -0
  275. package/dist/ui/Modal/Modal.js +66 -0
  276. package/dist/ui/Modal/Modal.js.map +1 -0
  277. package/{ui → dist/ui}/Modal/Modal.module.css +7 -7
  278. package/dist/ui/Modal/Modal.module.js +12 -0
  279. package/dist/ui/Modal/Modal.module.js.map +1 -0
  280. package/dist/ui/Modal/Modal.types.d.ts +13 -0
  281. package/dist/ui/Modal/index.d.ts +2 -0
  282. package/dist/ui/ModalCard/ModalCard.d.ts +3 -0
  283. package/dist/ui/ModalCard/ModalCard.js +56 -0
  284. package/dist/ui/ModalCard/ModalCard.js.map +1 -0
  285. package/{ui → dist/ui}/ModalCard/ModalCard.module.css +20 -20
  286. package/dist/ui/ModalCard/ModalCard.module.js +20 -0
  287. package/dist/ui/ModalCard/ModalCard.module.js.map +1 -0
  288. package/dist/ui/ModalCard/ModalCard.types.d.ts +13 -0
  289. package/dist/ui/ModalCard/index.d.ts +2 -0
  290. package/dist/ui/NavigationMenu/NavigationMenu.d.ts +3 -0
  291. package/dist/ui/NavigationMenu/NavigationMenu.js +35 -0
  292. package/dist/ui/NavigationMenu/NavigationMenu.js.map +1 -0
  293. package/{ui → dist/ui}/NavigationMenu/NavigationMenu.module.css +5 -5
  294. package/dist/ui/NavigationMenu/NavigationMenu.module.js +11 -0
  295. package/dist/ui/NavigationMenu/NavigationMenu.module.js.map +1 -0
  296. package/dist/ui/NavigationMenu/NavigationMenu.types.d.ts +18 -0
  297. package/dist/ui/NavigationMenu/index.d.ts +2 -0
  298. package/dist/ui/NumberTransition/NumberTransition.d.ts +3 -0
  299. package/dist/ui/NumberTransition/NumberTransition.js +54 -0
  300. package/dist/ui/NumberTransition/NumberTransition.js.map +1 -0
  301. package/{ui → dist/ui}/NumberTransition/NumberTransition.module.css +21 -21
  302. package/dist/ui/NumberTransition/NumberTransition.module.js +20 -0
  303. package/dist/ui/NumberTransition/NumberTransition.module.js.map +1 -0
  304. package/dist/ui/NumberTransition/NumberTransition.types.d.ts +8 -0
  305. package/dist/ui/NumberTransition/index.d.ts +2 -0
  306. package/dist/ui/PageHeader/PageHeader.d.ts +3 -0
  307. package/dist/ui/PageHeader/PageHeader.js +44 -0
  308. package/dist/ui/PageHeader/PageHeader.js.map +1 -0
  309. package/{ui → dist/ui}/PageHeader/PageHeader.module.css +8 -8
  310. package/dist/ui/PageHeader/PageHeader.module.js +16 -0
  311. package/dist/ui/PageHeader/PageHeader.module.js.map +1 -0
  312. package/dist/ui/PageHeader/PageHeader.types.d.ts +11 -0
  313. package/dist/ui/PageHeader/index.d.ts +2 -0
  314. package/dist/ui/Pagination/Pagination.d.ts +3 -0
  315. package/dist/ui/Pagination/Pagination.js +109 -0
  316. package/dist/ui/Pagination/Pagination.js.map +1 -0
  317. package/{ui → dist/ui}/Pagination/Pagination.module.css +3 -3
  318. package/dist/ui/Pagination/Pagination.module.js +11 -0
  319. package/dist/ui/Pagination/Pagination.module.js.map +1 -0
  320. package/dist/ui/Pagination/Pagination.types.d.ts +11 -0
  321. package/dist/ui/Pagination/index.d.ts +2 -0
  322. package/dist/ui/PieChart/PieChart.d.ts +3 -0
  323. package/dist/ui/PieChart/PieChart.js +254 -0
  324. package/dist/ui/PieChart/PieChart.js.map +1 -0
  325. package/{ui → dist/ui}/PieChart/PieChart.module.css +22 -22
  326. package/dist/ui/PieChart/PieChart.module.js +22 -0
  327. package/dist/ui/PieChart/PieChart.module.js.map +1 -0
  328. package/dist/ui/PieChart/PieChart.types.d.ts +20 -0
  329. package/{ui/PieChart/index.ts → dist/ui/PieChart/index.d.ts} +2 -2
  330. package/dist/ui/Progress/Progress.d.ts +3 -0
  331. package/dist/ui/Progress/Progress.js +117 -0
  332. package/dist/ui/Progress/Progress.js.map +1 -0
  333. package/{ui → dist/ui}/Progress/Progress.module.css +42 -42
  334. package/dist/ui/Progress/Progress.module.js +32 -0
  335. package/dist/ui/Progress/Progress.module.js.map +1 -0
  336. package/{ui/Progress/Progress.types.ts → dist/ui/Progress/Progress.types.d.ts} +8 -9
  337. package/dist/ui/Progress/index.d.ts +2 -0
  338. package/dist/ui/ProgressSteps/ProgressSteps.d.ts +3 -0
  339. package/dist/ui/ProgressSteps/ProgressSteps.js +92 -0
  340. package/dist/ui/ProgressSteps/ProgressSteps.js.map +1 -0
  341. package/{ui → dist/ui}/ProgressSteps/ProgressSteps.module.css +33 -33
  342. package/dist/ui/ProgressSteps/ProgressSteps.module.js +31 -0
  343. package/dist/ui/ProgressSteps/ProgressSteps.module.js.map +1 -0
  344. package/{ui/ProgressSteps/ProgressSteps.types.ts → dist/ui/ProgressSteps/ProgressSteps.types.d.ts} +10 -12
  345. package/dist/ui/ProgressSteps/index.d.ts +2 -0
  346. package/dist/ui/RadioGroup/RadioGroup.d.ts +3 -0
  347. package/dist/ui/RadioGroup/RadioGroup.js +87 -0
  348. package/dist/ui/RadioGroup/RadioGroup.js.map +1 -0
  349. package/{ui → dist/ui}/RadioGroup/RadioGroup.module.css +48 -48
  350. package/dist/ui/RadioGroup/RadioGroup.module.js +27 -0
  351. package/dist/ui/RadioGroup/RadioGroup.module.js.map +1 -0
  352. package/dist/ui/RadioGroup/RadioGroup.types.d.ts +27 -0
  353. package/dist/ui/RadioGroup/index.d.ts +2 -0
  354. package/dist/ui/Scoreboard/Scoreboard.d.ts +3 -0
  355. package/dist/ui/Scoreboard/Scoreboard.js +33 -0
  356. package/dist/ui/Scoreboard/Scoreboard.js.map +1 -0
  357. package/{ui → dist/ui}/Scoreboard/Scoreboard.module.css +11 -11
  358. package/dist/ui/Scoreboard/Scoreboard.module.js +15 -0
  359. package/dist/ui/Scoreboard/Scoreboard.module.js.map +1 -0
  360. package/dist/ui/Scoreboard/Scoreboard.types.d.ts +6 -0
  361. package/dist/ui/Scoreboard/index.d.ts +2 -0
  362. package/dist/ui/Scorecard/Scorecard.d.ts +3 -0
  363. package/dist/ui/Scorecard/Scorecard.js +76 -0
  364. package/dist/ui/Scorecard/Scorecard.js.map +1 -0
  365. package/{ui → dist/ui}/Scorecard/Scorecard.module.css +25 -25
  366. package/dist/ui/Scorecard/Scorecard.module.js +26 -0
  367. package/dist/ui/Scorecard/Scorecard.module.js.map +1 -0
  368. package/dist/ui/Scorecard/Scorecard.types.d.ts +15 -0
  369. package/dist/ui/Scorecard/index.d.ts +2 -0
  370. package/dist/ui/Section/Section.d.ts +3 -0
  371. package/dist/ui/Section/Section.js +54 -0
  372. package/dist/ui/Section/Section.js.map +1 -0
  373. package/{ui → dist/ui}/Section/Section.module.css +15 -15
  374. package/dist/ui/Section/Section.module.js +21 -0
  375. package/dist/ui/Section/Section.module.js.map +1 -0
  376. package/dist/ui/Section/Section.types.d.ts +13 -0
  377. package/dist/ui/Section/index.d.ts +2 -0
  378. package/dist/ui/Select/Select.d.ts +3 -0
  379. package/dist/ui/Select/Select.js +59 -0
  380. package/dist/ui/Select/Select.js.map +1 -0
  381. package/dist/ui/Select/Select.types.d.ts +24 -0
  382. package/dist/ui/Select/index.d.ts +2 -0
  383. package/dist/ui/ShimmerText/ShimmerText.d.ts +3 -0
  384. package/dist/ui/ShimmerText/ShimmerText.js +35 -0
  385. package/dist/ui/ShimmerText/ShimmerText.js.map +1 -0
  386. package/{ui → dist/ui}/ShimmerText/ShimmerText.module.css +8 -8
  387. package/dist/ui/ShimmerText/ShimmerText.module.js +14 -0
  388. package/dist/ui/ShimmerText/ShimmerText.module.js.map +1 -0
  389. package/dist/ui/ShimmerText/ShimmerText.types.d.ts +10 -0
  390. package/dist/ui/ShimmerText/index.d.ts +2 -0
  391. package/dist/ui/SideNav/SideNav.d.ts +3 -0
  392. package/dist/ui/SideNav/SideNav.js +176 -0
  393. package/dist/ui/SideNav/SideNav.js.map +1 -0
  394. package/{ui → dist/ui}/SideNav/SideNav.module.css +54 -54
  395. package/dist/ui/SideNav/SideNav.module.js +32 -0
  396. package/dist/ui/SideNav/SideNav.module.js.map +1 -0
  397. package/dist/ui/SideNav/SideNav.types.d.ts +38 -0
  398. package/dist/ui/SideNav/index.d.ts +2 -0
  399. package/dist/ui/Slider/Slider.d.ts +3 -0
  400. package/dist/ui/Slider/Slider.js +129 -0
  401. package/dist/ui/Slider/Slider.js.map +1 -0
  402. package/{ui → dist/ui}/Slider/Slider.module.css +18 -18
  403. package/dist/ui/Slider/Slider.module.js +15 -0
  404. package/dist/ui/Slider/Slider.module.js.map +1 -0
  405. package/dist/ui/Slider/Slider.types.d.ts +10 -0
  406. package/dist/ui/Slider/index.d.ts +2 -0
  407. package/dist/ui/Spinner/Spinner.d.ts +3 -0
  408. package/dist/ui/Spinner/Spinner.js +24 -0
  409. package/dist/ui/Spinner/Spinner.js.map +1 -0
  410. package/{ui → dist/ui}/Spinner/Spinner.module.css +11 -11
  411. package/dist/ui/Spinner/Spinner.module.js +15 -0
  412. package/dist/ui/Spinner/Spinner.module.js.map +1 -0
  413. package/{ui/Spinner/Spinner.types.ts → dist/ui/Spinner/Spinner.types.d.ts} +2 -3
  414. package/dist/ui/Spinner/index.d.ts +2 -0
  415. package/dist/ui/Switch/Switch.d.ts +3 -0
  416. package/dist/ui/Switch/Switch.js +45 -0
  417. package/dist/ui/Switch/Switch.js.map +1 -0
  418. package/{ui → dist/ui}/Switch/Switch.module.css +27 -27
  419. package/dist/ui/Switch/Switch.module.js +18 -0
  420. package/dist/ui/Switch/Switch.module.js.map +1 -0
  421. package/dist/ui/Switch/Switch.types.d.ts +11 -0
  422. package/dist/ui/Switch/index.d.ts +2 -0
  423. package/dist/ui/Table/Table.d.ts +3 -0
  424. package/dist/ui/Table/Table.js +84 -0
  425. package/dist/ui/Table/Table.js.map +1 -0
  426. package/{ui → dist/ui}/Table/Table.module.css +24 -24
  427. package/dist/ui/Table/Table.module.js +22 -0
  428. package/dist/ui/Table/Table.module.js.map +1 -0
  429. package/dist/ui/Table/Table.types.d.ts +22 -0
  430. package/dist/ui/Table/index.d.ts +2 -0
  431. package/dist/ui/Tabs/Tabs.d.ts +3 -0
  432. package/dist/ui/Tabs/Tabs.js +112 -0
  433. package/dist/ui/Tabs/Tabs.js.map +1 -0
  434. package/{ui → dist/ui}/Tabs/Tabs.module.css +26 -26
  435. package/dist/ui/Tabs/Tabs.module.js +18 -0
  436. package/dist/ui/Tabs/Tabs.module.js.map +1 -0
  437. package/dist/ui/Tabs/Tabs.types.d.ts +18 -0
  438. package/dist/ui/Tabs/index.d.ts +2 -0
  439. package/dist/ui/Textarea/Textarea.d.ts +3 -0
  440. package/dist/ui/Textarea/Textarea.js +26 -0
  441. package/dist/ui/Textarea/Textarea.js.map +1 -0
  442. package/{ui → dist/ui}/Textarea/Textarea.module.css +15 -15
  443. package/dist/ui/Textarea/Textarea.module.js +13 -0
  444. package/dist/ui/Textarea/Textarea.module.js.map +1 -0
  445. package/dist/ui/Textarea/Textarea.types.d.ts +13 -0
  446. package/dist/ui/Textarea/index.d.ts +2 -0
  447. package/dist/ui/ThinkingAnimation/ThinkingAnimation.d.ts +3 -0
  448. package/dist/ui/ThinkingAnimation/ThinkingAnimation.js +28 -0
  449. package/dist/ui/ThinkingAnimation/ThinkingAnimation.js.map +1 -0
  450. package/{ui → dist/ui}/ThinkingAnimation/ThinkingAnimation.module.css +13 -13
  451. package/dist/ui/ThinkingAnimation/ThinkingAnimation.module.js +15 -0
  452. package/dist/ui/ThinkingAnimation/ThinkingAnimation.module.js.map +1 -0
  453. package/dist/ui/ThinkingAnimation/ThinkingAnimation.types.d.ts +7 -0
  454. package/dist/ui/ThinkingAnimation/index.d.ts +2 -0
  455. package/dist/ui/Timeline/Timeline.d.ts +3 -0
  456. package/dist/ui/Timeline/Timeline.js +50 -0
  457. package/dist/ui/Timeline/Timeline.js.map +1 -0
  458. package/{ui → dist/ui}/Timeline/Timeline.module.css +16 -16
  459. package/dist/ui/Timeline/Timeline.module.js +20 -0
  460. package/dist/ui/Timeline/Timeline.module.js.map +1 -0
  461. package/dist/ui/Timeline/Timeline.types.d.ts +14 -0
  462. package/{ui/Timeline/index.ts → dist/ui/Timeline/index.d.ts} +2 -2
  463. package/dist/ui/Toast/Toast.d.ts +3 -0
  464. package/dist/ui/Toast/Toast.js +86 -0
  465. package/dist/ui/Toast/Toast.js.map +1 -0
  466. package/{ui → dist/ui}/Toast/Toast.module.css +20 -20
  467. package/dist/ui/Toast/Toast.module.js +24 -0
  468. package/dist/ui/Toast/Toast.module.js.map +1 -0
  469. package/dist/ui/Toast/Toast.types.d.ts +15 -0
  470. package/dist/ui/Toast/index.d.ts +2 -0
  471. package/dist/ui/Tooltip/Tooltip.d.ts +12 -0
  472. package/dist/ui/Tooltip/Tooltip.js +51 -0
  473. package/dist/ui/Tooltip/Tooltip.js.map +1 -0
  474. package/{ui → dist/ui}/Tooltip/Tooltip.module.css +17 -17
  475. package/dist/ui/Tooltip/Tooltip.module.js +16 -0
  476. package/dist/ui/Tooltip/Tooltip.module.js.map +1 -0
  477. package/dist/ui/Tooltip/index.d.ts +2 -0
  478. package/dist/ui/patterns/ActivityPattern/ActivityFeed.d.ts +4 -0
  479. package/dist/ui/patterns/ActivityPattern/ActivityFeed.js +162 -0
  480. package/dist/ui/patterns/ActivityPattern/ActivityFeed.js.map +1 -0
  481. package/dist/ui/patterns/ActivityPattern/ActivityPattern.d.ts +5 -0
  482. package/dist/ui/patterns/ActivityPattern/ActivityPattern.js +168 -0
  483. package/dist/ui/patterns/ActivityPattern/ActivityPattern.js.map +1 -0
  484. package/dist/ui/patterns/ActivityPattern/ActivityTasks.d.ts +11 -0
  485. package/dist/ui/patterns/ActivityPattern/ActivityTasks.js +89 -0
  486. package/dist/ui/patterns/ActivityPattern/ActivityTasks.js.map +1 -0
  487. package/dist/ui/patterns/ActivityPattern/TaskDrawer.d.ts +21 -0
  488. package/dist/ui/patterns/ActivityPattern/TaskDrawer.js +184 -0
  489. package/dist/ui/patterns/ActivityPattern/TaskDrawer.js.map +1 -0
  490. package/{ui → dist/ui}/patterns/ActivityPattern/TaskDrawer.module.css +6 -6
  491. package/dist/ui/patterns/ActivityPattern/TaskDrawer.module.js +14 -0
  492. package/dist/ui/patterns/ActivityPattern/TaskDrawer.module.js.map +1 -0
  493. package/dist/ui/patterns/ActivityPattern/index.d.ts +2 -0
  494. package/dist/ui/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.d.ts +5 -0
  495. package/dist/ui/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.js +123 -0
  496. package/dist/ui/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.js.map +1 -0
  497. package/{ui → dist/ui}/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.module.css +3 -3
  498. package/dist/ui/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.module.js +11 -0
  499. package/dist/ui/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.module.js.map +1 -0
  500. package/dist/ui/patterns/AssistantWorkspacePattern/index.d.ts +2 -0
  501. package/dist/ui/patterns/DashboardPattern/DashboardPattern.d.ts +4 -0
  502. package/dist/ui/patterns/DashboardPattern/DashboardPattern.js +225 -0
  503. package/dist/ui/patterns/DashboardPattern/DashboardPattern.js.map +1 -0
  504. package/dist/ui/patterns/DashboardPattern/index.d.ts +1 -0
  505. package/dist/ui/patterns/EmptyFirstRunPattern/EmptyFirstRunPattern.d.ts +8 -0
  506. package/dist/ui/patterns/EmptyFirstRunPattern/EmptyFirstRunPattern.js +109 -0
  507. package/dist/ui/patterns/EmptyFirstRunPattern/EmptyFirstRunPattern.js.map +1 -0
  508. package/dist/ui/patterns/EmptyFirstRunPattern/index.d.ts +2 -0
  509. package/dist/ui/patterns/InboxPattern/InboxPattern.d.ts +5 -0
  510. package/dist/ui/patterns/InboxPattern/InboxPattern.js +275 -0
  511. package/dist/ui/patterns/InboxPattern/InboxPattern.js.map +1 -0
  512. package/{ui → dist/ui}/patterns/InboxPattern/InboxPattern.module.css +6 -6
  513. package/dist/ui/patterns/InboxPattern/InboxPattern.module.js +14 -0
  514. package/dist/ui/patterns/InboxPattern/InboxPattern.module.js.map +1 -0
  515. package/dist/ui/patterns/InboxPattern/InboxReplyDrawer.d.ts +7 -0
  516. package/dist/ui/patterns/InboxPattern/InboxReplyDrawer.js +87 -0
  517. package/dist/ui/patterns/InboxPattern/InboxReplyDrawer.js.map +1 -0
  518. package/dist/ui/patterns/InboxPattern/inbox-data.d.ts +15 -0
  519. package/dist/ui/patterns/InboxPattern/inbox-data.js +86 -0
  520. package/dist/ui/patterns/InboxPattern/inbox-data.js.map +1 -0
  521. package/dist/ui/patterns/InboxPattern/index.d.ts +2 -0
  522. package/dist/ui/patterns/InviteMembersPattern/InviteMembersPattern.d.ts +9 -0
  523. package/dist/ui/patterns/InviteMembersPattern/InviteMembersPattern.js +158 -0
  524. package/dist/ui/patterns/InviteMembersPattern/InviteMembersPattern.js.map +1 -0
  525. package/dist/ui/patterns/InviteMembersPattern/index.d.ts +2 -0
  526. package/dist/ui/patterns/ListDetailPattern/ListDetailPattern.d.ts +16 -0
  527. package/dist/ui/patterns/ListDetailPattern/ListDetailPattern.js +143 -0
  528. package/dist/ui/patterns/ListDetailPattern/ListDetailPattern.js.map +1 -0
  529. package/{ui → dist/ui}/patterns/ListDetailPattern/ListDetailPattern.module.css +5 -5
  530. package/dist/ui/patterns/ListDetailPattern/ListDetailPattern.module.js +12 -0
  531. package/dist/ui/patterns/ListDetailPattern/ListDetailPattern.module.js.map +1 -0
  532. package/dist/ui/patterns/ListDetailPattern/index.d.ts +2 -0
  533. package/dist/ui/patterns/SettingsFormPattern/SettingsFormPattern.d.ts +7 -0
  534. package/dist/ui/patterns/SettingsFormPattern/SettingsFormPattern.js +127 -0
  535. package/dist/ui/patterns/SettingsFormPattern/SettingsFormPattern.js.map +1 -0
  536. package/{ui → dist/ui}/patterns/SettingsFormPattern/SettingsFormPattern.module.css +2 -2
  537. package/dist/ui/patterns/SettingsFormPattern/SettingsFormPattern.module.js +10 -0
  538. package/dist/ui/patterns/SettingsFormPattern/SettingsFormPattern.module.js.map +1 -0
  539. package/dist/ui/patterns/SettingsFormPattern/index.d.ts +2 -0
  540. package/dist/ui/shared/ChartFrame.d.ts +14 -0
  541. package/dist/ui/shared/ChartFrame.js +61 -0
  542. package/dist/ui/shared/ChartFrame.js.map +1 -0
  543. package/{ui → dist/ui}/shared/ChartFrame.module.css +41 -41
  544. package/dist/ui/shared/ChartFrame.module.js +39 -0
  545. package/dist/ui/shared/ChartFrame.module.js.map +1 -0
  546. package/dist/ui/shared/chartMath.d.ts +78 -0
  547. package/dist/ui/shared/chartMath.js +127 -0
  548. package/dist/ui/shared/chartMath.js.map +1 -0
  549. package/{ui → dist/ui}/shared/controls.module.css +8 -8
  550. package/dist/ui/shared/controls.module.js +13 -0
  551. package/dist/ui/shared/controls.module.js.map +1 -0
  552. package/dist/ui/shared/useChartSize.d.ts +5 -0
  553. package/dist/ui/shared/useChartSize.js +22 -0
  554. package/dist/ui/shared/useChartSize.js.map +1 -0
  555. package/package.json +28 -8
  556. package/skills/prototype-from-kit/SKILL.md +1 -1
  557. package/src/index.ts +0 -71
  558. package/ui/Accordion/Accordion.tsx +0 -51
  559. package/ui/Accordion/Accordion.types.ts +0 -10
  560. package/ui/Accordion/index.ts +0 -2
  561. package/ui/Alert/Alert.tsx +0 -27
  562. package/ui/Alert/index.ts +0 -2
  563. package/ui/AlertDialog/AlertDialog.tsx +0 -109
  564. package/ui/AlertDialog/AlertDialog.types.ts +0 -14
  565. package/ui/AlertDialog/index.ts +0 -6
  566. package/ui/AppHeader/AppHeader.tsx +0 -70
  567. package/ui/AppHeader/AppHeader.types.ts +0 -28
  568. package/ui/AppHeader/index.ts +0 -2
  569. package/ui/AppNav/AppNav.tsx +0 -137
  570. package/ui/AppNav/AppNav.types.ts +0 -24
  571. package/ui/Avatar/Avatar.tsx +0 -62
  572. package/ui/Avatar/Avatar.types.ts +0 -8
  573. package/ui/Avatar/index.ts +0 -2
  574. package/ui/AvatarGroup/AvatarGroup.tsx +0 -29
  575. package/ui/AvatarGroup/AvatarGroup.types.ts +0 -16
  576. package/ui/AvatarGroup/index.ts +0 -2
  577. package/ui/Badge/Badge.tsx +0 -43
  578. package/ui/Badge/index.ts +0 -2
  579. package/ui/BarChart/BarChart.tsx +0 -380
  580. package/ui/BarChart/BarChart.types.ts +0 -18
  581. package/ui/BarChart/index.ts +0 -2
  582. package/ui/Breadcrumb/Breadcrumb.tsx +0 -89
  583. package/ui/Breadcrumb/Breadcrumb.types.ts +0 -14
  584. package/ui/Breadcrumb/index.ts +0 -2
  585. package/ui/Button/Button.tsx +0 -49
  586. package/ui/Button/Button.types.ts +0 -18
  587. package/ui/Button/index.ts +0 -2
  588. package/ui/Button/lucideName.tsx +0 -188
  589. package/ui/ButtonGroup/ButtonGroup.module.css +0 -31
  590. package/ui/ButtonGroup/ButtonGroup.tsx +0 -12
  591. package/ui/ButtonGroup/ButtonGroup.types.ts +0 -6
  592. package/ui/ButtonGroup/index.ts +0 -2
  593. package/ui/Calendar/Calendar.tsx +0 -296
  594. package/ui/Calendar/Calendar.types.ts +0 -11
  595. package/ui/Calendar/index.ts +0 -2
  596. package/ui/Card/Card.tsx +0 -69
  597. package/ui/Card/Card.types.ts +0 -23
  598. package/ui/Carousel/Carousel.tsx +0 -152
  599. package/ui/Carousel/Carousel.types.ts +0 -17
  600. package/ui/Carousel/index.ts +0 -7
  601. package/ui/Cell/Cell.tsx +0 -300
  602. package/ui/Cell/Cell.types.ts +0 -69
  603. package/ui/Cell/index.ts +0 -11
  604. package/ui/Chat/Chat.tsx +0 -175
  605. package/ui/Chat/Chat.types.ts +0 -39
  606. package/ui/Chat/index.ts +0 -2
  607. package/ui/Checkbox/Checkbox.tsx +0 -70
  608. package/ui/Checkbox/Checkbox.types.ts +0 -15
  609. package/ui/Checkbox/index.ts +0 -2
  610. package/ui/Collapsible/Collapsible.tsx +0 -59
  611. package/ui/Collapsible/Collapsible.types.ts +0 -9
  612. package/ui/Collapsible/index.ts +0 -2
  613. package/ui/Command/Command.tsx +0 -152
  614. package/ui/Command/Command.types.ts +0 -20
  615. package/ui/Command/index.ts +0 -2
  616. package/ui/DataTable/DataTable.tsx +0 -429
  617. package/ui/DataTable/DataTable.types.ts +0 -35
  618. package/ui/DataTable/index.ts +0 -8
  619. package/ui/DatePicker/DatePicker.tsx +0 -123
  620. package/ui/DatePicker/DatePicker.types.ts +0 -15
  621. package/ui/DatePicker/index.ts +0 -2
  622. package/ui/Drawer/Drawer.tsx +0 -112
  623. package/ui/Drawer/Drawer.types.ts +0 -14
  624. package/ui/Drawer/index.ts +0 -2
  625. package/ui/DropdownMenu/DropdownMenu.tsx +0 -580
  626. package/ui/DropdownMenu/DropdownMenu.types.ts +0 -48
  627. package/ui/DropdownMenu/index.ts +0 -8
  628. package/ui/Empty/Empty.tsx +0 -35
  629. package/ui/Empty/Empty.types.ts +0 -10
  630. package/ui/Empty/index.ts +0 -2
  631. package/ui/Field/Field.tsx +0 -46
  632. package/ui/Field/Field.types.ts +0 -12
  633. package/ui/Field/index.ts +0 -2
  634. package/ui/FieldSet/FieldSet.tsx +0 -14
  635. package/ui/FieldSet/FieldSet.types.ts +0 -7
  636. package/ui/FieldSet/index.ts +0 -2
  637. package/ui/HeaderCell/HeaderCell.tsx +0 -71
  638. package/ui/HeaderCell/HeaderCell.types.ts +0 -18
  639. package/ui/HeaderCell/index.ts +0 -2
  640. package/ui/Input/Input.tsx +0 -65
  641. package/ui/Input/Input.types.ts +0 -22
  642. package/ui/Input/index.ts +0 -2
  643. package/ui/InputOTP/InputOTP.tsx +0 -136
  644. package/ui/InputOTP/InputOTP.types.ts +0 -19
  645. package/ui/InsightCard/InsightCard.tsx +0 -90
  646. package/ui/InsightCard/InsightCard.types.ts +0 -20
  647. package/ui/InsightCard/index.ts +0 -7
  648. package/ui/LineChart/LineChart.tsx +0 -424
  649. package/ui/LineChart/LineChart.types.ts +0 -19
  650. package/ui/LineChart/index.ts +0 -2
  651. package/ui/LoadingAnimation/LoadingAnimation.tsx +0 -41
  652. package/ui/LoadingAnimation/index.ts +0 -6
  653. package/ui/Modal/Modal.tsx +0 -114
  654. package/ui/Modal/Modal.types.ts +0 -15
  655. package/ui/Modal/index.ts +0 -2
  656. package/ui/ModalCard/ModalCard.tsx +0 -58
  657. package/ui/ModalCard/ModalCard.types.ts +0 -15
  658. package/ui/ModalCard/index.ts +0 -2
  659. package/ui/NavigationMenu/NavigationMenu.tsx +0 -57
  660. package/ui/NavigationMenu/NavigationMenu.types.ts +0 -22
  661. package/ui/NavigationMenu/index.ts +0 -7
  662. package/ui/NumberTransition/NumberTransition.tsx +0 -78
  663. package/ui/NumberTransition/NumberTransition.types.ts +0 -9
  664. package/ui/NumberTransition/index.ts +0 -2
  665. package/ui/PageHeader/PageHeader.tsx +0 -39
  666. package/ui/PageHeader/PageHeader.types.ts +0 -12
  667. package/ui/PageHeader/index.ts +0 -2
  668. package/ui/Pagination/Pagination.tsx +0 -147
  669. package/ui/Pagination/Pagination.types.ts +0 -12
  670. package/ui/Pagination/index.ts +0 -2
  671. package/ui/PieChart/PieChart.tsx +0 -293
  672. package/ui/PieChart/PieChart.types.ts +0 -22
  673. package/ui/Progress/Progress.tsx +0 -167
  674. package/ui/Progress/index.ts +0 -8
  675. package/ui/ProgressSteps/ProgressSteps.tsx +0 -105
  676. package/ui/ProgressSteps/index.ts +0 -8
  677. package/ui/RadioGroup/RadioGroup.tsx +0 -116
  678. package/ui/RadioGroup/RadioGroup.types.ts +0 -30
  679. package/ui/RadioGroup/index.ts +0 -8
  680. package/ui/Scoreboard/Scoreboard.tsx +0 -41
  681. package/ui/Scoreboard/Scoreboard.types.ts +0 -7
  682. package/ui/Scoreboard/index.ts +0 -2
  683. package/ui/Scorecard/Scorecard.tsx +0 -92
  684. package/ui/Scorecard/Scorecard.types.ts +0 -18
  685. package/ui/Scorecard/index.ts +0 -2
  686. package/ui/Section/Section.tsx +0 -75
  687. package/ui/Section/Section.types.ts +0 -15
  688. package/ui/Section/index.ts +0 -2
  689. package/ui/Select/Select.module.css +0 -7
  690. package/ui/Select/Select.tsx +0 -113
  691. package/ui/Select/Select.types.ts +0 -26
  692. package/ui/Select/index.ts +0 -2
  693. package/ui/ShimmerText/ShimmerText.tsx +0 -48
  694. package/ui/ShimmerText/ShimmerText.types.ts +0 -12
  695. package/ui/ShimmerText/index.ts +0 -2
  696. package/ui/SideNav/SideNav.tsx +0 -222
  697. package/ui/SideNav/SideNav.types.ts +0 -42
  698. package/ui/SideNav/index.ts +0 -8
  699. package/ui/Slider/Slider.tsx +0 -187
  700. package/ui/Slider/Slider.types.ts +0 -11
  701. package/ui/Slider/index.ts +0 -2
  702. package/ui/Spinner/Spinner.tsx +0 -19
  703. package/ui/Spinner/index.ts +0 -2
  704. package/ui/Switch/Switch.tsx +0 -65
  705. package/ui/Switch/Switch.types.ts +0 -12
  706. package/ui/Switch/index.ts +0 -2
  707. package/ui/Table/Table.tsx +0 -108
  708. package/ui/Table/Table.types.ts +0 -26
  709. package/ui/Table/index.ts +0 -8
  710. package/ui/Tabs/Tabs.tsx +0 -150
  711. package/ui/Tabs/Tabs.types.ts +0 -21
  712. package/ui/Tabs/index.ts +0 -2
  713. package/ui/Textarea/Textarea.tsx +0 -38
  714. package/ui/Textarea/Textarea.types.ts +0 -14
  715. package/ui/Textarea/index.ts +0 -2
  716. package/ui/ThinkingAnimation/ThinkingAnimation.tsx +0 -31
  717. package/ui/ThinkingAnimation/ThinkingAnimation.types.ts +0 -8
  718. package/ui/ThinkingAnimation/index.ts +0 -2
  719. package/ui/Timeline/Timeline.tsx +0 -47
  720. package/ui/Timeline/Timeline.types.ts +0 -16
  721. package/ui/Toast/Toast.tsx +0 -89
  722. package/ui/Toast/Toast.types.ts +0 -17
  723. package/ui/Toast/index.ts +0 -2
  724. package/ui/Tooltip/Tooltip.tsx +0 -101
  725. package/ui/Tooltip/index.ts +0 -2
  726. package/ui/patterns/ActivityPattern/ActivityFeed.tsx +0 -77
  727. package/ui/patterns/ActivityPattern/ActivityPattern.tsx +0 -120
  728. package/ui/patterns/ActivityPattern/ActivityTasks.tsx +0 -86
  729. package/ui/patterns/ActivityPattern/TaskDrawer.tsx +0 -186
  730. package/ui/patterns/ActivityPattern/index.ts +0 -2
  731. package/ui/patterns/AssistantWorkspacePattern/AssistantWorkspacePattern.tsx +0 -159
  732. package/ui/patterns/AssistantWorkspacePattern/index.ts +0 -2
  733. package/ui/patterns/DashboardPattern/DashboardPattern.tsx +0 -102
  734. package/ui/patterns/DashboardPattern/index.ts +0 -1
  735. package/ui/patterns/DashboardPattern/patterns.module.css +0 -6
  736. package/ui/patterns/EmptyFirstRunPattern/EmptyFirstRunPattern.tsx +0 -125
  737. package/ui/patterns/EmptyFirstRunPattern/index.ts +0 -2
  738. package/ui/patterns/InboxPattern/InboxPattern.tsx +0 -192
  739. package/ui/patterns/InboxPattern/InboxReplyDrawer.tsx +0 -97
  740. package/ui/patterns/InboxPattern/inbox-data.ts +0 -101
  741. package/ui/patterns/InboxPattern/index.ts +0 -2
  742. package/ui/patterns/InviteMembersPattern/InviteMembersPattern.tsx +0 -148
  743. package/ui/patterns/InviteMembersPattern/index.ts +0 -2
  744. package/ui/patterns/ListDetailPattern/ListDetailPattern.tsx +0 -145
  745. package/ui/patterns/ListDetailPattern/index.ts +0 -2
  746. package/ui/patterns/SettingsFormPattern/SettingsFormPattern.tsx +0 -89
  747. package/ui/patterns/SettingsFormPattern/index.ts +0 -3
  748. package/ui/shared/ChartFrame.tsx +0 -87
  749. package/ui/shared/chartMath.ts +0 -228
  750. package/ui/shared/useChartSize.ts +0 -22
@@ -1,112 +0,0 @@
1
- "use client";
2
-
3
- import { useEffect, useId, useRef } from "react";
4
- import { LucideByName } from "../Button/lucideName";
5
- import type { DrawerProps } from "./Drawer.types";
6
- import styles from "./Drawer.module.css";
7
-
8
- export type { DrawerProps, DrawerSide } from "./Drawer.types";
9
-
10
- const FOCUSABLE = "a, button, input, select, textarea, [tabindex]:not([tabindex='-1'])";
11
-
12
- export function Drawer({
13
- open,
14
- title,
15
- description,
16
- side = "right",
17
- showClose = true,
18
- onClose,
19
- children,
20
- footer,
21
- }: DrawerProps) {
22
- const titleId = useId();
23
- const descriptionId = useId();
24
- const panelRef = useRef<HTMLDivElement>(null);
25
- const onCloseRef = useRef(onClose);
26
-
27
- onCloseRef.current = onClose;
28
-
29
- useEffect(() => {
30
- if (!open) return;
31
-
32
- const root = panelRef.current;
33
- if (!root) return;
34
-
35
- const getFocusable = () => Array.from(root.querySelectorAll<HTMLElement>(FOCUSABLE));
36
- const firstFocusable = getFocusable()[0];
37
- (firstFocusable ?? root).focus();
38
-
39
- const onKeyDown = (event: KeyboardEvent) => {
40
- if (event.key === "Escape") {
41
- event.preventDefault();
42
- onCloseRef.current();
43
- return;
44
- }
45
-
46
- if (event.key !== "Tab") return;
47
-
48
- const items = getFocusable();
49
- if (items.length === 0) return;
50
-
51
- const first = items[0];
52
- const last = items[items.length - 1];
53
- const active = document.activeElement;
54
- const inside = active instanceof Node && root.contains(active);
55
-
56
- if (event.shiftKey) {
57
- if (!inside || active === first) {
58
- event.preventDefault();
59
- last.focus();
60
- }
61
- } else if (!inside || active === last) {
62
- event.preventDefault();
63
- first.focus();
64
- }
65
- };
66
-
67
- document.addEventListener("keydown", onKeyDown);
68
- return () => document.removeEventListener("keydown", onKeyDown);
69
- }, [open]);
70
-
71
- if (!open) return null;
72
-
73
- return (
74
- <div
75
- className={styles.overlay}
76
- role="presentation"
77
- onMouseDown={(event) => {
78
- if (event.target === event.currentTarget) onClose();
79
- }}
80
- >
81
- <div
82
- ref={panelRef}
83
- role="dialog"
84
- aria-modal="true"
85
- aria-labelledby={titleId}
86
- aria-describedby={description ? descriptionId : undefined}
87
- className={`${styles.panel} ${styles[side]}`}
88
- tabIndex={-1}
89
- >
90
- <header className={styles.header}>
91
- <div className={styles.copy}>
92
- <h2 id={titleId} className={styles.title}>
93
- {title}
94
- </h2>
95
- {description ? (
96
- <p id={descriptionId} className={styles.description}>
97
- {description}
98
- </p>
99
- ) : null}
100
- </div>
101
- {showClose ? (
102
- <button type="button" className={styles.close} onClick={onClose} aria-label="Close">
103
- <LucideByName name="X" size={16} />
104
- </button>
105
- ) : null}
106
- </header>
107
- <div className={styles.body}>{children}</div>
108
- {footer ? <div className={styles.footer}>{footer}</div> : null}
109
- </div>
110
- </div>
111
- );
112
- }
@@ -1,14 +0,0 @@
1
- import type { ReactNode } from "react";
2
-
3
- export type DrawerSide = "right" | "left" | "bottom" | "top";
4
-
5
- export interface DrawerProps {
6
- open: boolean;
7
- title: string;
8
- description?: string;
9
- side?: DrawerSide;
10
- showClose?: boolean;
11
- onClose: () => void;
12
- children: ReactNode;
13
- footer?: ReactNode;
14
- }
@@ -1,2 +0,0 @@
1
- export { Drawer } from "./Drawer";
2
- export type { DrawerProps, DrawerSide } from "./Drawer.types";
@@ -1,580 +0,0 @@
1
- "use client";
2
-
3
- import {
4
- useEffect,
5
- useId,
6
- useLayoutEffect,
7
- useMemo,
8
- useRef,
9
- useState,
10
- type CSSProperties,
11
- type KeyboardEvent as ReactKeyboardEvent,
12
- type ReactNode,
13
- } from "react";
14
- import { createPortal } from "react-dom";
15
- import { Badge } from "../Badge";
16
- import { Button } from "../Button";
17
- import { Checkbox } from "../Checkbox";
18
- import { Input } from "../Input";
19
- import { LucideByName } from "../Button/lucideName";
20
- import type { DropdownMenuGroup, DropdownMenuItem, DropdownMenuProps } from "./DropdownMenu.types";
21
- import styles from "./DropdownMenu.module.css";
22
-
23
- export type {
24
- DropdownMenuProps,
25
- DropdownMenuGroup,
26
- DropdownMenuItem,
27
- DropdownMenuAlign,
28
- DropdownMenuTriggerStyle,
29
- } from "./DropdownMenu.types";
30
-
31
- function flattenItems(groups: DropdownMenuGroup[]): DropdownMenuItem[] {
32
- return groups.flatMap((group) => group.items);
33
- }
34
-
35
- export function DropdownMenu({
36
- trigger,
37
- triggerStyle = "button",
38
- iconStart,
39
- iconEnd,
40
- id,
41
- disabled = false,
42
- error = false,
43
- describedBy,
44
- ariaLabel,
45
- variant = "secondary",
46
- size = "md",
47
- align = "start",
48
- columns = 1,
49
- groups,
50
- open: openProp,
51
- onOpenChange,
52
- onSelect,
53
- closeOnSelect = true,
54
- triggerMuted = false,
55
- triggerBadge,
56
- searchable = false,
57
- searchPlaceholder = "Search",
58
- }: DropdownMenuProps) {
59
- const isControlled = typeof openProp === "boolean";
60
- const [uncontrolledOpen, setUncontrolledOpen] = useState(false);
61
- const open = isControlled ? openProp : uncontrolledOpen;
62
- const uid = useId();
63
- const menuId = `${uid}-menu`;
64
- const rootRef = useRef<HTMLDivElement>(null);
65
- const panelRef = useRef<HTMLDivElement>(null);
66
- const subPanelRef = useRef<HTMLDivElement>(null);
67
- const [highlightId, setHighlightId] = useState<string | null>(null);
68
- const [openSubId, setOpenSubId] = useState<string | null>(null);
69
- const [coords, setCoords] = useState<CSSProperties | null>(null);
70
- const [subCoords, setSubCoords] = useState<CSSProperties | null>(null);
71
- const [mounted, setMounted] = useState(false);
72
- const [query, setQuery] = useState("");
73
- const searchId = `${uid}-search`;
74
-
75
- const visibleGroups = useMemo(() => {
76
- const q = query.trim().toLowerCase();
77
- if (!q) return groups;
78
- return groups
79
- .map((group) => ({
80
- ...group,
81
- items: group.items.filter((item) => item.label.toLowerCase().includes(q)),
82
- }))
83
- .filter((group) => group.items.length > 0);
84
- }, [groups, query]);
85
-
86
- const mainItems = useMemo(() => flattenItems(visibleGroups), [visibleGroups]);
87
- const enabledIds = useMemo(
88
- () => mainItems.filter((item) => !item.disabled).map((item) => item.id),
89
- [mainItems],
90
- );
91
- const activeId =
92
- highlightId && enabledIds.includes(highlightId) ? highlightId : (enabledIds[0] ?? null);
93
- const activeItem = mainItems.find((item) => item.id === activeId) ?? null;
94
- const subGroups = mainItems.find((item) => item.id === openSubId)?.submenu;
95
- const subItems = subGroups ? flattenItems(subGroups) : [];
96
- const subEnabledIds = subItems.filter((item) => !item.disabled).map((item) => item.id);
97
-
98
- function setOpen(next: boolean) {
99
- if (!isControlled) setUncontrolledOpen(next);
100
- onOpenChange?.(next);
101
- if (!next) {
102
- setHighlightId(null);
103
- setOpenSubId(null);
104
- setQuery("");
105
- }
106
- }
107
-
108
- function triggerButton(): HTMLButtonElement | null {
109
- return rootRef.current?.querySelector("button") ?? null;
110
- }
111
-
112
- function queryItem(root: HTMLElement | null, id: string): HTMLElement | null {
113
- const escaped = typeof CSS !== "undefined" && CSS.escape ? CSS.escape(id) : id;
114
- return root?.querySelector<HTMLElement>(`[data-id="${escaped}"]`) ?? null;
115
- }
116
-
117
- function placePanel() {
118
- const button = triggerButton();
119
- if (!button) return;
120
- const rect = button.getBoundingClientRect();
121
- const next: CSSProperties = {
122
- top: rect.bottom + 4,
123
- };
124
- if (columns === 2) {
125
- next.minWidth = "28rem";
126
- } else if (triggerStyle === "field") {
127
- next.minWidth = rect.width;
128
- } else {
129
- next.minWidth = Math.max(216, rect.width);
130
- }
131
- if (align === "end") {
132
- next.right = window.innerWidth - rect.right;
133
- next.left = "auto";
134
- } else {
135
- next.left = rect.left;
136
- next.right = "auto";
137
- }
138
- setCoords(next);
139
- }
140
-
141
- function placeSubPanel(id: string) {
142
- const el = queryItem(panelRef.current, id);
143
- if (!el) return;
144
- const rect = el.getBoundingClientRect();
145
- const next: CSSProperties = { top: rect.top, minWidth: 160 };
146
- if (window.innerWidth - rect.right < 168) {
147
- next.right = window.innerWidth - rect.left + 4;
148
- next.left = "auto";
149
- } else {
150
- next.left = rect.right + 4;
151
- next.right = "auto";
152
- }
153
- setSubCoords(next);
154
- }
155
-
156
- useEffect(() => {
157
- setMounted(true);
158
- }, []);
159
-
160
- useLayoutEffect(() => {
161
- const button = triggerButton();
162
- if (!button) return;
163
- button.setAttribute("aria-haspopup", "menu");
164
- button.setAttribute("aria-expanded", open ? "true" : "false");
165
- button.setAttribute("aria-controls", menuId);
166
- }, [open, menuId]);
167
-
168
- useLayoutEffect(() => {
169
- if (!open) {
170
- setCoords(null);
171
- return;
172
- }
173
- placePanel();
174
- }, [open, align, size, triggerStyle, columns]);
175
-
176
- useLayoutEffect(() => {
177
- if (!open || !openSubId) {
178
- setSubCoords(null);
179
- return;
180
- }
181
- placeSubPanel(openSubId);
182
- }, [open, openSubId, coords]);
183
-
184
- useEffect(() => {
185
- if (!open) return undefined;
186
-
187
- function onPointerDown(event: PointerEvent) {
188
- const target = event.target as Node;
189
- if (
190
- rootRef.current?.contains(target) ||
191
- panelRef.current?.contains(target) ||
192
- subPanelRef.current?.contains(target)
193
- ) {
194
- return;
195
- }
196
- setOpen(false);
197
- }
198
-
199
- function onDocumentKey(event: globalThis.KeyboardEvent) {
200
- if (event.key === "Escape") {
201
- event.preventDefault();
202
- if (openSubId) {
203
- setOpenSubId(null);
204
- if (activeId) queryItem(panelRef.current, activeId)?.focus();
205
- return;
206
- }
207
- setOpen(false);
208
- triggerButton()?.focus();
209
- }
210
- }
211
-
212
- function onReposition() {
213
- placePanel();
214
- if (openSubId) placeSubPanel(openSubId);
215
- }
216
-
217
- document.addEventListener("pointerdown", onPointerDown);
218
- document.addEventListener("keydown", onDocumentKey);
219
- window.addEventListener("resize", onReposition);
220
- window.addEventListener("scroll", onReposition, true);
221
- return () => {
222
- document.removeEventListener("pointerdown", onPointerDown);
223
- document.removeEventListener("keydown", onDocumentKey);
224
- window.removeEventListener("resize", onReposition);
225
- window.removeEventListener("scroll", onReposition, true);
226
- };
227
- }, [open, align, size, columns, openSubId, activeId]);
228
-
229
- useEffect(() => {
230
- if (!open || !mounted) return;
231
- if (searchable) {
232
- panelRef.current?.querySelector<HTMLInputElement>("input")?.focus();
233
- return;
234
- }
235
- const item = panelRef.current?.querySelector<HTMLElement>("[role='menuitem'][data-enabled='true'], [role='menuitemcheckbox'][data-enabled='true']");
236
- item?.focus();
237
- }, [open, mounted, coords, searchable]);
238
-
239
- function findItem(id: string): DropdownMenuItem | undefined {
240
- return mainItems.find((item) => item.id === id) ?? subItems.find((item) => item.id === id);
241
- }
242
-
243
- function select(id: string) {
244
- const item = findItem(id);
245
- if (!item || item.disabled || item.submenu) return;
246
- onSelect?.(id);
247
- if (!closeOnSelect) return;
248
- setOpen(false);
249
- triggerButton()?.focus();
250
- }
251
-
252
- function highlight(id: string) {
253
- const item = mainItems.find((entry) => entry.id === id);
254
- if (!item || item.disabled) return;
255
- setHighlightId(id);
256
- setOpenSubId(item.submenu ? id : null);
257
- }
258
-
259
- function move(delta: number) {
260
- if (enabledIds.length === 0) return;
261
- const current = activeId ? enabledIds.indexOf(activeId) : -1;
262
- const next = (current + delta + enabledIds.length) % enabledIds.length;
263
- highlight(enabledIds[next]);
264
- queryItem(panelRef.current, enabledIds[next])?.focus();
265
- }
266
-
267
- function onMenuKeyDown(event: ReactKeyboardEvent<HTMLDivElement>) {
268
- const inSearch = event.target instanceof HTMLInputElement;
269
- if (inSearch) {
270
- if (event.key === "ArrowDown") {
271
- event.preventDefault();
272
- if (enabledIds[0]) {
273
- highlight(enabledIds[0]);
274
- queryItem(panelRef.current, enabledIds[0])?.focus();
275
- }
276
- }
277
- if (event.key === "Tab") setOpen(false);
278
- if (event.key === "Enter") event.preventDefault();
279
- return;
280
- }
281
- switch (event.key) {
282
- case "ArrowDown":
283
- event.preventDefault();
284
- move(1);
285
- break;
286
- case "ArrowUp":
287
- event.preventDefault();
288
- move(-1);
289
- break;
290
- case "ArrowRight":
291
- if (activeItem?.submenu) {
292
- event.preventDefault();
293
- setOpenSubId(activeItem.id);
294
- const first = flattenItems(activeItem.submenu).find((item) => !item.disabled);
295
- if (first) {
296
- requestAnimationFrame(() => queryItem(subPanelRef.current, first.id)?.focus());
297
- }
298
- }
299
- break;
300
- case "Home":
301
- event.preventDefault();
302
- if (enabledIds[0]) {
303
- highlight(enabledIds[0]);
304
- queryItem(panelRef.current, enabledIds[0])?.focus();
305
- }
306
- break;
307
- case "End":
308
- event.preventDefault();
309
- if (enabledIds[enabledIds.length - 1]) {
310
- const last = enabledIds[enabledIds.length - 1];
311
- highlight(last);
312
- queryItem(panelRef.current, last)?.focus();
313
- }
314
- break;
315
- case "Tab":
316
- setOpen(false);
317
- break;
318
- default:
319
- break;
320
- }
321
- }
322
-
323
- function onSubKeyDown(event: ReactKeyboardEvent<HTMLDivElement>) {
324
- const current = document.activeElement instanceof HTMLElement ? document.activeElement.dataset.id : null;
325
- const index = current ? subEnabledIds.indexOf(current) : -1;
326
- switch (event.key) {
327
- case "ArrowDown": {
328
- event.preventDefault();
329
- if (subEnabledIds.length === 0) return;
330
- const next = (index + 1 + subEnabledIds.length) % subEnabledIds.length;
331
- queryItem(subPanelRef.current, subEnabledIds[next])?.focus();
332
- break;
333
- }
334
- case "ArrowUp": {
335
- event.preventDefault();
336
- if (subEnabledIds.length === 0) return;
337
- const next = (index - 1 + subEnabledIds.length) % subEnabledIds.length;
338
- queryItem(subPanelRef.current, subEnabledIds[next])?.focus();
339
- break;
340
- }
341
- case "ArrowLeft":
342
- event.preventDefault();
343
- setOpenSubId(null);
344
- if (openSubId) queryItem(panelRef.current, openSubId)?.focus();
345
- break;
346
- case "Escape":
347
- event.preventDefault();
348
- setOpenSubId(null);
349
- if (openSubId) queryItem(panelRef.current, openSubId)?.focus();
350
- break;
351
- case "Tab":
352
- setOpen(false);
353
- break;
354
- default:
355
- break;
356
- }
357
- }
358
-
359
- function renderItems(list: DropdownMenuGroup[], inSubmenu: boolean): ReactNode {
360
- return list.map((group, groupIndex) => (
361
- <div
362
- key={group.heading ?? `group-${groupIndex}`}
363
- className={styles.group}
364
- role="group"
365
- aria-label={group.heading}
366
- >
367
- {group.heading ? <div className={styles.heading}>{group.heading}</div> : null}
368
- {group.items.map((item) => {
369
- const highlighted = !inSubmenu && item.id === activeId;
370
- const hasSub = Boolean(item.submenu && item.submenu.length > 0);
371
- const asLink = Boolean(item.href) && !item.disabled && !hasSub;
372
- const className = [
373
- styles.item,
374
- highlighted || openSubId === item.id ? styles.itemHighlighted : "",
375
- item.disabled ? styles.itemDisabled : "",
376
- item.danger ? styles.itemDanger : "",
377
- item.description ? styles.itemWithDescription : "",
378
- ]
379
- .filter(Boolean)
380
- .join(" ");
381
- const showCheck = typeof item.selected === "boolean" && !item.checkbox;
382
- const body = (
383
- <>
384
- {item.checkbox ? (
385
- <span className={styles.itemCheckbox} inert aria-hidden>
386
- <Checkbox
387
- id={`${uid}-cb-${item.id}`}
388
- size="sm"
389
- checked={Boolean(item.selected)}
390
- ariaLabel={item.label}
391
- onChange={() => {}}
392
- />
393
- </span>
394
- ) : showCheck ? (
395
- item.selected ? (
396
- <LucideByName name="Check" size={16} className={styles.itemCheck} />
397
- ) : (
398
- <span className={styles.itemCheck} />
399
- )
400
- ) : item.icon ? (
401
- <LucideByName name={item.icon} size={16} className={styles.itemIcon} />
402
- ) : null}
403
- <span className={styles.itemText}>
404
- <span className={styles.itemLabel}>{item.label}</span>
405
- {item.description ? (
406
- <span className={styles.itemDescription}>{item.description}</span>
407
- ) : null}
408
- </span>
409
- {item.shortcut ? <span className={styles.shortcut}>{item.shortcut}</span> : null}
410
- {hasSub ? <LucideByName name="ChevronRight" size={16} className={styles.itemChevron} /> : null}
411
- </>
412
- );
413
- const shared = {
414
- className,
415
- role: (item.checkbox ? "menuitemcheckbox" : "menuitem") as "menuitem" | "menuitemcheckbox",
416
- "data-id": item.id,
417
- "data-enabled": item.disabled ? "false" : "true",
418
- "aria-checked": item.checkbox ? Boolean(item.selected) : undefined,
419
- "aria-disabled": item.disabled || undefined,
420
- "aria-haspopup": hasSub ? ("menu" as const) : undefined,
421
- "aria-expanded": hasSub ? openSubId === item.id : undefined,
422
- tabIndex: highlighted ? 0 : -1,
423
- onMouseEnter: () => {
424
- if (item.disabled) return;
425
- if (inSubmenu) return;
426
- highlight(item.id);
427
- },
428
- onClick: () => {
429
- if (hasSub) {
430
- setOpenSubId(item.id);
431
- return;
432
- }
433
- select(item.id);
434
- },
435
- };
436
- if (asLink) {
437
- return (
438
- <a key={item.id} href={item.href} {...shared}>
439
- {body}
440
- </a>
441
- );
442
- }
443
- return (
444
- <button key={item.id} type="button" {...shared}>
445
- {body}
446
- </button>
447
- );
448
- })}
449
- </div>
450
- ));
451
- }
452
-
453
- const hasLabel = Boolean(trigger && trigger.trim());
454
-
455
- const panelClass = [
456
- styles.panel,
457
- columns === 2 ? styles.panelColumns : "",
458
- searchable ? styles.panelSearchable : "",
459
- ]
460
- .filter(Boolean)
461
- .join(" ");
462
-
463
-
464
- const panel =
465
- open && mounted && coords
466
- ? createPortal(
467
- <div
468
- ref={panelRef}
469
- id={menuId}
470
- role="menu"
471
- aria-label={ariaLabel || trigger || "Menu"}
472
- className={panelClass}
473
- style={coords}
474
- onKeyDown={onMenuKeyDown}
475
- >
476
- {searchable ? (
477
- <div className={styles.search}>
478
- <Input
479
- id={searchId}
480
- size="sm"
481
- type="search"
482
- iconStart="Search"
483
- placeholder={searchPlaceholder}
484
- value={query}
485
- onChange={setQuery}
486
- ariaLabel="Search options"
487
- />
488
- </div>
489
- ) : null}
490
- {visibleGroups.length === 0 ? (
491
- <div className={styles.empty}>No results.</div>
492
- ) : (
493
- renderItems(visibleGroups, false)
494
- )}
495
- </div>,
496
- document.body,
497
- )
498
- : null;
499
-
500
- const subPanel =
501
- open && mounted && openSubId && subGroups && subCoords
502
- ? createPortal(
503
- <div
504
- ref={subPanelRef}
505
- role="menu"
506
- aria-label={mainItems.find((item) => item.id === openSubId)?.label || "Submenu"}
507
- className={styles.panel}
508
- style={subCoords}
509
- onKeyDown={onSubKeyDown}
510
- onMouseEnter={() => setOpenSubId(openSubId)}
511
- >
512
- {renderItems(subGroups, true)}
513
- </div>,
514
- document.body,
515
- )
516
- : null;
517
-
518
- const fieldTrigger = triggerStyle === "field";
519
- const navTrigger = triggerStyle === "nav";
520
- const iconPx = size === "sm" ? 14 : size === "lg" ? 18 : 16;
521
-
522
- return (
523
- <div ref={rootRef} className={`${styles.root}${fieldTrigger ? ` ${styles.rootField}` : ""}`}>
524
- {fieldTrigger ? (
525
- <button
526
- type="button"
527
- id={id}
528
- disabled={disabled}
529
- aria-label={ariaLabel}
530
- aria-invalid={error || undefined}
531
- aria-describedby={describedBy}
532
- className={`${styles.fieldTrigger} ${styles[`field${size}`]}${error ? ` ${styles.fieldError}` : ""}${triggerMuted ? ` ${styles.fieldMuted}` : ""}`}
533
- onClick={() => {
534
- if (!disabled) setOpen(!open);
535
- }}
536
- >
537
- <span className={styles.fieldMain}>
538
- <span className={styles.fieldLabel}>{trigger || "Select"}</span>
539
- {triggerBadge ? (
540
- <Badge size="sm" tone="neutral">
541
- {triggerBadge}
542
- </Badge>
543
- ) : null}
544
- </span>
545
- <LucideByName name={iconEnd || "ChevronsUpDown"} size={iconPx} className={styles.fieldIcon} />
546
- </button>
547
- ) : navTrigger ? (
548
- <button
549
- type="button"
550
- id={id}
551
- disabled={disabled}
552
- aria-label={ariaLabel}
553
- aria-haspopup="menu"
554
- aria-expanded={open}
555
- aria-controls={menuId}
556
- className={`${styles.navTrigger}${open ? ` ${styles.navOpen}` : ""}`}
557
- onClick={() => {
558
- if (!disabled) setOpen(!open);
559
- }}
560
- >
561
- {hasLabel ? trigger : null}
562
- <LucideByName name="ChevronDown" size={14} className={styles.navChevron} />
563
- </button>
564
- ) : (
565
- <Button
566
- variant={variant}
567
- size={size}
568
- iconStart={iconStart}
569
- iconEnd={iconEnd}
570
- ariaLabel={hasLabel ? undefined : ariaLabel}
571
- onClick={() => setOpen(!open)}
572
- >
573
- {hasLabel ? trigger : undefined}
574
- </Button>
575
- )}
576
- {panel}
577
- {subPanel}
578
- </div>
579
- );
580
- }