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
@@ -0,0 +1,378 @@
1
+ "use client";
2
+ import { LucideByName as e } from "../Button/lucideName.js";
3
+ import { Button as t } from "../Button/Button.js";
4
+ import { Input as n } from "../Input/Input.js";
5
+ import { Badge as r } from "../Badge/Badge.js";
6
+ import { Checkbox as ee } from "../Checkbox/Checkbox.js";
7
+ import i from "./DropdownMenu.module.js";
8
+ import { useEffect as a, useId as o, useLayoutEffect as s, useMemo as c, useRef as l, useState as u } from "react";
9
+ import { Fragment as te, jsx as d, jsxs as f } from "react/jsx-runtime";
10
+ import { createPortal as ne } from "react-dom";
11
+ //#region ui/DropdownMenu/DropdownMenu.tsx
12
+ function p(e) {
13
+ return e.flatMap((e) => e.items);
14
+ }
15
+ function m({ trigger: m, triggerStyle: h = "button", iconStart: re, iconEnd: g, id: ie, disabled: _ = !1, error: ae = !1, describedBy: oe, ariaLabel: v, variant: se = "secondary", size: y = "md", align: b = "start", columns: x = 1, groups: S, open: C, onOpenChange: ce, onSelect: le, closeOnSelect: ue = !0, triggerMuted: de = !1, triggerBadge: fe, searchable: w = !1, searchPlaceholder: pe = "Search" }) {
16
+ let me = typeof C == "boolean", [he, ge] = u(!1), T = me ? C : he, E = o(), D = `${E}-menu`, O = l(null), k = l(null), A = l(null), [j, M] = u(null), [N, P] = u(null), [F, I] = u(null), [L, R] = u(null), [z, _e] = u(!1), [B, ve] = u(""), ye = `${E}-search`, V = c(() => {
17
+ let e = B.trim().toLowerCase();
18
+ return e ? S.map((t) => ({
19
+ ...t,
20
+ items: t.items.filter((t) => t.label.toLowerCase().includes(e))
21
+ })).filter((e) => e.items.length > 0) : S;
22
+ }, [S, B]), H = c(() => p(V), [V]), U = c(() => H.filter((e) => !e.disabled).map((e) => e.id), [H]), W = j && U.includes(j) ? j : U[0] ?? null, G = H.find((e) => e.id === W) ?? null, K = H.find((e) => e.id === N)?.submenu, be = K ? p(K) : [], q = be.filter((e) => !e.disabled).map((e) => e.id);
23
+ function J(e) {
24
+ me || ge(e), ce?.(e), e || (M(null), P(null), ve(""));
25
+ }
26
+ function Y() {
27
+ return O.current?.querySelector("button") ?? null;
28
+ }
29
+ function X(e, t) {
30
+ let n = typeof CSS < "u" && CSS.escape ? CSS.escape(t) : t;
31
+ return e?.querySelector(`[data-id="${n}"]`) ?? null;
32
+ }
33
+ function xe() {
34
+ let e = Y();
35
+ if (!e) return;
36
+ let t = e.getBoundingClientRect(), n = { top: t.bottom + 4 };
37
+ n.minWidth = x === 2 ? "28rem" : h === "field" ? t.width : Math.max(216, t.width), b === "end" ? (n.right = window.innerWidth - t.right, n.left = "auto") : (n.left = t.left, n.right = "auto"), I(n);
38
+ }
39
+ function Se(e) {
40
+ let t = X(k.current, e);
41
+ if (!t) return;
42
+ let n = t.getBoundingClientRect(), r = {
43
+ top: n.top,
44
+ minWidth: 160
45
+ };
46
+ window.innerWidth - n.right < 168 ? (r.right = window.innerWidth - n.left + 4, r.left = "auto") : (r.left = n.right + 4, r.right = "auto"), R(r);
47
+ }
48
+ a(() => {
49
+ _e(!0);
50
+ }, []), s(() => {
51
+ let e = Y();
52
+ e && (e.setAttribute("aria-haspopup", "menu"), e.setAttribute("aria-expanded", T ? "true" : "false"), e.setAttribute("aria-controls", D));
53
+ }, [T, D]), s(() => {
54
+ if (!T) {
55
+ I(null);
56
+ return;
57
+ }
58
+ xe();
59
+ }, [
60
+ T,
61
+ b,
62
+ y,
63
+ h,
64
+ x
65
+ ]), s(() => {
66
+ if (!T || !N) {
67
+ R(null);
68
+ return;
69
+ }
70
+ Se(N);
71
+ }, [
72
+ T,
73
+ N,
74
+ F
75
+ ]), a(() => {
76
+ if (!T) return;
77
+ function e(e) {
78
+ let t = e.target;
79
+ O.current?.contains(t) || k.current?.contains(t) || A.current?.contains(t) || J(!1);
80
+ }
81
+ function t(e) {
82
+ if (e.key === "Escape") {
83
+ if (e.preventDefault(), N) {
84
+ P(null), W && X(k.current, W)?.focus();
85
+ return;
86
+ }
87
+ J(!1), Y()?.focus();
88
+ }
89
+ }
90
+ function n() {
91
+ xe(), N && Se(N);
92
+ }
93
+ return document.addEventListener("pointerdown", e), document.addEventListener("keydown", t), window.addEventListener("resize", n), window.addEventListener("scroll", n, !0), () => {
94
+ document.removeEventListener("pointerdown", e), document.removeEventListener("keydown", t), window.removeEventListener("resize", n), window.removeEventListener("scroll", n, !0);
95
+ };
96
+ }, [
97
+ T,
98
+ b,
99
+ y,
100
+ x,
101
+ N,
102
+ W
103
+ ]), a(() => {
104
+ if (!(!T || !z)) {
105
+ if (w) {
106
+ k.current?.querySelector("input")?.focus();
107
+ return;
108
+ }
109
+ (k.current?.querySelector("[role='menuitem'][data-enabled='true'], [role='menuitemcheckbox'][data-enabled='true']"))?.focus();
110
+ }
111
+ }, [
112
+ T,
113
+ z,
114
+ F,
115
+ w
116
+ ]);
117
+ function Ce(e) {
118
+ return H.find((t) => t.id === e) ?? be.find((t) => t.id === e);
119
+ }
120
+ function we(e) {
121
+ let t = Ce(e);
122
+ !t || t.disabled || t.submenu || (le?.(e), ue && (J(!1), Y()?.focus()));
123
+ }
124
+ function Z(e) {
125
+ let t = H.find((t) => t.id === e);
126
+ !t || t.disabled || (M(e), P(t.submenu ? e : null));
127
+ }
128
+ function Q(e) {
129
+ if (U.length === 0) return;
130
+ let t = ((W ? U.indexOf(W) : -1) + e + U.length) % U.length;
131
+ Z(U[t]), X(k.current, U[t])?.focus();
132
+ }
133
+ function Te(e) {
134
+ if (e.target instanceof HTMLInputElement) {
135
+ e.key === "ArrowDown" && (e.preventDefault(), U[0] && (Z(U[0]), X(k.current, U[0])?.focus())), e.key === "Tab" && J(!1), e.key === "Enter" && e.preventDefault();
136
+ return;
137
+ }
138
+ switch (e.key) {
139
+ case "ArrowDown":
140
+ e.preventDefault(), Q(1);
141
+ break;
142
+ case "ArrowUp":
143
+ e.preventDefault(), Q(-1);
144
+ break;
145
+ case "ArrowRight":
146
+ if (G?.submenu) {
147
+ e.preventDefault(), P(G.id);
148
+ let t = p(G.submenu).find((e) => !e.disabled);
149
+ t && requestAnimationFrame(() => X(A.current, t.id)?.focus());
150
+ }
151
+ break;
152
+ case "Home":
153
+ e.preventDefault(), U[0] && (Z(U[0]), X(k.current, U[0])?.focus());
154
+ break;
155
+ case "End":
156
+ if (e.preventDefault(), U[U.length - 1]) {
157
+ let e = U[U.length - 1];
158
+ Z(e), X(k.current, e)?.focus();
159
+ }
160
+ break;
161
+ case "Tab": J(!1);
162
+ }
163
+ }
164
+ function Ee(e) {
165
+ let t = document.activeElement instanceof HTMLElement ? document.activeElement.dataset.id : null, n = t ? q.indexOf(t) : -1;
166
+ switch (e.key) {
167
+ case "ArrowDown": {
168
+ if (e.preventDefault(), q.length === 0) return;
169
+ let t = (n + 1 + q.length) % q.length;
170
+ X(A.current, q[t])?.focus();
171
+ break;
172
+ }
173
+ case "ArrowUp": {
174
+ if (e.preventDefault(), q.length === 0) return;
175
+ let t = (n - 1 + q.length) % q.length;
176
+ X(A.current, q[t])?.focus();
177
+ break;
178
+ }
179
+ case "ArrowLeft":
180
+ e.preventDefault(), P(null), N && X(k.current, N)?.focus();
181
+ break;
182
+ case "Escape":
183
+ e.preventDefault(), P(null), N && X(k.current, N)?.focus();
184
+ break;
185
+ case "Tab": J(!1);
186
+ }
187
+ }
188
+ function De(t, n) {
189
+ return t.map((t, r) => /* @__PURE__ */ f("div", {
190
+ className: i.group,
191
+ role: "group",
192
+ "aria-label": t.heading,
193
+ children: [t.heading ? /* @__PURE__ */ d("div", {
194
+ className: i.heading,
195
+ children: t.heading
196
+ }) : null, t.items.map((t) => {
197
+ let r = !n && t.id === W, a = !!(t.submenu && t.submenu.length > 0), o = !!t.href && !t.disabled && !a, s = [
198
+ i.item,
199
+ r || N === t.id ? i.itemHighlighted : "",
200
+ t.disabled ? i.itemDisabled : "",
201
+ t.danger ? i.itemDanger : "",
202
+ t.description ? i.itemWithDescription : ""
203
+ ].filter(Boolean).join(" "), c = typeof t.selected == "boolean" && !t.checkbox, l = /* @__PURE__ */ f(te, { children: [
204
+ t.checkbox ? /* @__PURE__ */ d("span", {
205
+ className: i.itemCheckbox,
206
+ inert: !0,
207
+ "aria-hidden": !0,
208
+ children: /* @__PURE__ */ d(ee, {
209
+ id: `${E}-cb-${t.id}`,
210
+ size: "sm",
211
+ checked: !!t.selected,
212
+ ariaLabel: t.label,
213
+ onChange: () => {}
214
+ })
215
+ }) : c ? t.selected ? /* @__PURE__ */ d(e, {
216
+ name: "Check",
217
+ size: 16,
218
+ className: i.itemCheck
219
+ }) : /* @__PURE__ */ d("span", { className: i.itemCheck }) : t.icon ? /* @__PURE__ */ d(e, {
220
+ name: t.icon,
221
+ size: 16,
222
+ className: i.itemIcon
223
+ }) : null,
224
+ /* @__PURE__ */ f("span", {
225
+ className: i.itemText,
226
+ children: [/* @__PURE__ */ d("span", {
227
+ className: i.itemLabel,
228
+ children: t.label
229
+ }), t.description ? /* @__PURE__ */ d("span", {
230
+ className: i.itemDescription,
231
+ children: t.description
232
+ }) : null]
233
+ }),
234
+ t.shortcut ? /* @__PURE__ */ d("span", {
235
+ className: i.shortcut,
236
+ children: t.shortcut
237
+ }) : null,
238
+ a ? /* @__PURE__ */ d(e, {
239
+ name: "ChevronRight",
240
+ size: 16,
241
+ className: i.itemChevron
242
+ }) : null
243
+ ] }), u = {
244
+ className: s,
245
+ role: t.checkbox ? "menuitemcheckbox" : "menuitem",
246
+ "data-id": t.id,
247
+ "data-enabled": t.disabled ? "false" : "true",
248
+ "aria-checked": t.checkbox ? !!t.selected : void 0,
249
+ "aria-disabled": t.disabled || void 0,
250
+ "aria-haspopup": a ? "menu" : void 0,
251
+ "aria-expanded": a ? N === t.id : void 0,
252
+ tabIndex: r ? 0 : -1,
253
+ onMouseEnter: () => {
254
+ t.disabled || n || Z(t.id);
255
+ },
256
+ onClick: () => {
257
+ if (a) {
258
+ P(t.id);
259
+ return;
260
+ }
261
+ we(t.id);
262
+ }
263
+ };
264
+ return o ? /* @__PURE__ */ d("a", {
265
+ href: t.href,
266
+ ...u,
267
+ children: l
268
+ }, t.id) : /* @__PURE__ */ d("button", {
269
+ type: "button",
270
+ ...u,
271
+ children: l
272
+ }, t.id);
273
+ })]
274
+ }, t.heading ?? `group-${r}`));
275
+ }
276
+ let $ = !!(m && m.trim()), Oe = [
277
+ i.panel,
278
+ x === 2 ? i.panelColumns : "",
279
+ w ? i.panelSearchable : ""
280
+ ].filter(Boolean).join(" "), ke = T && z && F ? ne(/* @__PURE__ */ f("div", {
281
+ ref: k,
282
+ id: D,
283
+ role: "menu",
284
+ "aria-label": v || m || "Menu",
285
+ className: Oe,
286
+ style: F,
287
+ onKeyDown: Te,
288
+ children: [w ? /* @__PURE__ */ d("div", {
289
+ className: i.search,
290
+ children: /* @__PURE__ */ d(n, {
291
+ id: ye,
292
+ size: "sm",
293
+ type: "search",
294
+ iconStart: "Search",
295
+ placeholder: pe,
296
+ value: B,
297
+ onChange: ve,
298
+ ariaLabel: "Search options"
299
+ })
300
+ }) : null, V.length === 0 ? /* @__PURE__ */ d("div", {
301
+ className: i.empty,
302
+ children: "No results."
303
+ }) : De(V, !1)]
304
+ }), document.body) : null, Ae = T && z && N && K && L ? ne(/* @__PURE__ */ d("div", {
305
+ ref: A,
306
+ role: "menu",
307
+ "aria-label": H.find((e) => e.id === N)?.label || "Submenu",
308
+ className: i.panel,
309
+ style: L,
310
+ onKeyDown: Ee,
311
+ onMouseEnter: () => P(N),
312
+ children: De(K, !0)
313
+ }), document.body) : null, je = h === "field", Me = h === "nav", Ne = y === "sm" ? 14 : y === "lg" ? 18 : 16;
314
+ return /* @__PURE__ */ f("div", {
315
+ ref: O,
316
+ className: `${i.root}${je ? ` ${i.rootField}` : ""}`,
317
+ children: [
318
+ je ? /* @__PURE__ */ f("button", {
319
+ type: "button",
320
+ id: ie,
321
+ disabled: _,
322
+ "aria-label": v,
323
+ "aria-invalid": ae || void 0,
324
+ "aria-describedby": oe,
325
+ className: `${i.fieldTrigger} ${i[`field${y}`]}${ae ? ` ${i.fieldError}` : ""}${de ? ` ${i.fieldMuted}` : ""}`,
326
+ onClick: () => {
327
+ _ || J(!T);
328
+ },
329
+ children: [/* @__PURE__ */ f("span", {
330
+ className: i.fieldMain,
331
+ children: [/* @__PURE__ */ d("span", {
332
+ className: i.fieldLabel,
333
+ children: m || "Select"
334
+ }), fe ? /* @__PURE__ */ d(r, {
335
+ size: "sm",
336
+ tone: "neutral",
337
+ children: fe
338
+ }) : null]
339
+ }), /* @__PURE__ */ d(e, {
340
+ name: g || "ChevronsUpDown",
341
+ size: Ne,
342
+ className: i.fieldIcon
343
+ })]
344
+ }) : Me ? /* @__PURE__ */ f("button", {
345
+ type: "button",
346
+ id: ie,
347
+ disabled: _,
348
+ "aria-label": v,
349
+ "aria-haspopup": "menu",
350
+ "aria-expanded": T,
351
+ "aria-controls": D,
352
+ className: `${i.navTrigger}${T ? ` ${i.navOpen}` : ""}`,
353
+ onClick: () => {
354
+ _ || J(!T);
355
+ },
356
+ children: [$ ? m : null, /* @__PURE__ */ d(e, {
357
+ name: "ChevronDown",
358
+ size: 14,
359
+ className: i.navChevron
360
+ })]
361
+ }) : /* @__PURE__ */ d(t, {
362
+ variant: se,
363
+ size: y,
364
+ iconStart: re,
365
+ iconEnd: g,
366
+ ariaLabel: $ ? void 0 : v,
367
+ onClick: () => J(!T),
368
+ children: $ ? m : void 0
369
+ }),
370
+ ke,
371
+ Ae
372
+ ]
373
+ });
374
+ }
375
+ //#endregion
376
+ export { m as DropdownMenu };
377
+
378
+ //# sourceMappingURL=DropdownMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMenu.js","names":[],"sources":["../../../ui/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Badge } from \"../Badge\";\nimport { Button } from \"../Button\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Input } from \"../Input\";\nimport { LucideByName } from \"../Button/lucideName\";\nimport type { DropdownMenuGroup, DropdownMenuItem, DropdownMenuProps } from \"./DropdownMenu.types\";\nimport styles from \"./DropdownMenu.module.css\";\n\nexport type {\n DropdownMenuProps,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuAlign,\n DropdownMenuTriggerStyle,\n} from \"./DropdownMenu.types\";\n\nfunction flattenItems(groups: DropdownMenuGroup[]): DropdownMenuItem[] {\n return groups.flatMap((group) => group.items);\n}\n\nexport function DropdownMenu({\n trigger,\n triggerStyle = \"button\",\n iconStart,\n iconEnd,\n id,\n disabled = false,\n error = false,\n describedBy,\n ariaLabel,\n variant = \"secondary\",\n size = \"md\",\n align = \"start\",\n columns = 1,\n groups,\n open: openProp,\n onOpenChange,\n onSelect,\n closeOnSelect = true,\n triggerMuted = false,\n triggerBadge,\n searchable = false,\n searchPlaceholder = \"Search\",\n}: DropdownMenuProps) {\n const isControlled = typeof openProp === \"boolean\";\n const [uncontrolledOpen, setUncontrolledOpen] = useState(false);\n const open = isControlled ? openProp : uncontrolledOpen;\n const uid = useId();\n const menuId = `${uid}-menu`;\n const rootRef = useRef<HTMLDivElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n const subPanelRef = useRef<HTMLDivElement>(null);\n const [highlightId, setHighlightId] = useState<string | null>(null);\n const [openSubId, setOpenSubId] = useState<string | null>(null);\n const [coords, setCoords] = useState<CSSProperties | null>(null);\n const [subCoords, setSubCoords] = useState<CSSProperties | null>(null);\n const [mounted, setMounted] = useState(false);\n const [query, setQuery] = useState(\"\");\n const searchId = `${uid}-search`;\n\n const visibleGroups = useMemo(() => {\n const q = query.trim().toLowerCase();\n if (!q) return groups;\n return groups\n .map((group) => ({\n ...group,\n items: group.items.filter((item) => item.label.toLowerCase().includes(q)),\n }))\n .filter((group) => group.items.length > 0);\n }, [groups, query]);\n\n const mainItems = useMemo(() => flattenItems(visibleGroups), [visibleGroups]);\n const enabledIds = useMemo(\n () => mainItems.filter((item) => !item.disabled).map((item) => item.id),\n [mainItems],\n );\n const activeId =\n highlightId && enabledIds.includes(highlightId) ? highlightId : (enabledIds[0] ?? null);\n const activeItem = mainItems.find((item) => item.id === activeId) ?? null;\n const subGroups = mainItems.find((item) => item.id === openSubId)?.submenu;\n const subItems = subGroups ? flattenItems(subGroups) : [];\n const subEnabledIds = subItems.filter((item) => !item.disabled).map((item) => item.id);\n\n function setOpen(next: boolean) {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n if (!next) {\n setHighlightId(null);\n setOpenSubId(null);\n setQuery(\"\");\n }\n }\n\n function triggerButton(): HTMLButtonElement | null {\n return rootRef.current?.querySelector(\"button\") ?? null;\n }\n\n function queryItem(root: HTMLElement | null, id: string): HTMLElement | null {\n const escaped = typeof CSS !== \"undefined\" && CSS.escape ? CSS.escape(id) : id;\n return root?.querySelector<HTMLElement>(`[data-id=\"${escaped}\"]`) ?? null;\n }\n\n function placePanel() {\n const button = triggerButton();\n if (!button) return;\n const rect = button.getBoundingClientRect();\n const next: CSSProperties = {\n top: rect.bottom + 4,\n };\n if (columns === 2) {\n next.minWidth = \"28rem\";\n } else if (triggerStyle === \"field\") {\n next.minWidth = rect.width;\n } else {\n next.minWidth = Math.max(216, rect.width);\n }\n if (align === \"end\") {\n next.right = window.innerWidth - rect.right;\n next.left = \"auto\";\n } else {\n next.left = rect.left;\n next.right = \"auto\";\n }\n setCoords(next);\n }\n\n function placeSubPanel(id: string) {\n const el = queryItem(panelRef.current, id);\n if (!el) return;\n const rect = el.getBoundingClientRect();\n const next: CSSProperties = { top: rect.top, minWidth: 160 };\n if (window.innerWidth - rect.right < 168) {\n next.right = window.innerWidth - rect.left + 4;\n next.left = \"auto\";\n } else {\n next.left = rect.right + 4;\n next.right = \"auto\";\n }\n setSubCoords(next);\n }\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n useLayoutEffect(() => {\n const button = triggerButton();\n if (!button) return;\n button.setAttribute(\"aria-haspopup\", \"menu\");\n button.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\n button.setAttribute(\"aria-controls\", menuId);\n }, [open, menuId]);\n\n useLayoutEffect(() => {\n if (!open) {\n setCoords(null);\n return;\n }\n placePanel();\n }, [open, align, size, triggerStyle, columns]);\n\n useLayoutEffect(() => {\n if (!open || !openSubId) {\n setSubCoords(null);\n return;\n }\n placeSubPanel(openSubId);\n }, [open, openSubId, coords]);\n\n useEffect(() => {\n if (!open) return undefined;\n\n function onPointerDown(event: PointerEvent) {\n const target = event.target as Node;\n if (\n rootRef.current?.contains(target) ||\n panelRef.current?.contains(target) ||\n subPanelRef.current?.contains(target)\n ) {\n return;\n }\n setOpen(false);\n }\n\n function onDocumentKey(event: globalThis.KeyboardEvent) {\n if (event.key === \"Escape\") {\n event.preventDefault();\n if (openSubId) {\n setOpenSubId(null);\n if (activeId) queryItem(panelRef.current, activeId)?.focus();\n return;\n }\n setOpen(false);\n triggerButton()?.focus();\n }\n }\n\n function onReposition() {\n placePanel();\n if (openSubId) placeSubPanel(openSubId);\n }\n\n document.addEventListener(\"pointerdown\", onPointerDown);\n document.addEventListener(\"keydown\", onDocumentKey);\n window.addEventListener(\"resize\", onReposition);\n window.addEventListener(\"scroll\", onReposition, true);\n return () => {\n document.removeEventListener(\"pointerdown\", onPointerDown);\n document.removeEventListener(\"keydown\", onDocumentKey);\n window.removeEventListener(\"resize\", onReposition);\n window.removeEventListener(\"scroll\", onReposition, true);\n };\n }, [open, align, size, columns, openSubId, activeId]);\n\n useEffect(() => {\n if (!open || !mounted) return;\n if (searchable) {\n panelRef.current?.querySelector<HTMLInputElement>(\"input\")?.focus();\n return;\n }\n const item = panelRef.current?.querySelector<HTMLElement>(\"[role='menuitem'][data-enabled='true'], [role='menuitemcheckbox'][data-enabled='true']\");\n item?.focus();\n }, [open, mounted, coords, searchable]);\n\n function findItem(id: string): DropdownMenuItem | undefined {\n return mainItems.find((item) => item.id === id) ?? subItems.find((item) => item.id === id);\n }\n\n function select(id: string) {\n const item = findItem(id);\n if (!item || item.disabled || item.submenu) return;\n onSelect?.(id);\n if (!closeOnSelect) return;\n setOpen(false);\n triggerButton()?.focus();\n }\n\n function highlight(id: string) {\n const item = mainItems.find((entry) => entry.id === id);\n if (!item || item.disabled) return;\n setHighlightId(id);\n setOpenSubId(item.submenu ? id : null);\n }\n\n function move(delta: number) {\n if (enabledIds.length === 0) return;\n const current = activeId ? enabledIds.indexOf(activeId) : -1;\n const next = (current + delta + enabledIds.length) % enabledIds.length;\n highlight(enabledIds[next]);\n queryItem(panelRef.current, enabledIds[next])?.focus();\n }\n\n function onMenuKeyDown(event: ReactKeyboardEvent<HTMLDivElement>) {\n const inSearch = event.target instanceof HTMLInputElement;\n if (inSearch) {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n if (enabledIds[0]) {\n highlight(enabledIds[0]);\n queryItem(panelRef.current, enabledIds[0])?.focus();\n }\n }\n if (event.key === \"Tab\") setOpen(false);\n if (event.key === \"Enter\") event.preventDefault();\n return;\n }\n switch (event.key) {\n case \"ArrowDown\":\n event.preventDefault();\n move(1);\n break;\n case \"ArrowUp\":\n event.preventDefault();\n move(-1);\n break;\n case \"ArrowRight\":\n if (activeItem?.submenu) {\n event.preventDefault();\n setOpenSubId(activeItem.id);\n const first = flattenItems(activeItem.submenu).find((item) => !item.disabled);\n if (first) {\n requestAnimationFrame(() => queryItem(subPanelRef.current, first.id)?.focus());\n }\n }\n break;\n case \"Home\":\n event.preventDefault();\n if (enabledIds[0]) {\n highlight(enabledIds[0]);\n queryItem(panelRef.current, enabledIds[0])?.focus();\n }\n break;\n case \"End\":\n event.preventDefault();\n if (enabledIds[enabledIds.length - 1]) {\n const last = enabledIds[enabledIds.length - 1];\n highlight(last);\n queryItem(panelRef.current, last)?.focus();\n }\n break;\n case \"Tab\":\n setOpen(false);\n break;\n default:\n break;\n }\n }\n\n function onSubKeyDown(event: ReactKeyboardEvent<HTMLDivElement>) {\n const current = document.activeElement instanceof HTMLElement ? document.activeElement.dataset.id : null;\n const index = current ? subEnabledIds.indexOf(current) : -1;\n switch (event.key) {\n case \"ArrowDown\": {\n event.preventDefault();\n if (subEnabledIds.length === 0) return;\n const next = (index + 1 + subEnabledIds.length) % subEnabledIds.length;\n queryItem(subPanelRef.current, subEnabledIds[next])?.focus();\n break;\n }\n case \"ArrowUp\": {\n event.preventDefault();\n if (subEnabledIds.length === 0) return;\n const next = (index - 1 + subEnabledIds.length) % subEnabledIds.length;\n queryItem(subPanelRef.current, subEnabledIds[next])?.focus();\n break;\n }\n case \"ArrowLeft\":\n event.preventDefault();\n setOpenSubId(null);\n if (openSubId) queryItem(panelRef.current, openSubId)?.focus();\n break;\n case \"Escape\":\n event.preventDefault();\n setOpenSubId(null);\n if (openSubId) queryItem(panelRef.current, openSubId)?.focus();\n break;\n case \"Tab\":\n setOpen(false);\n break;\n default:\n break;\n }\n }\n\n function renderItems(list: DropdownMenuGroup[], inSubmenu: boolean): ReactNode {\n return list.map((group, groupIndex) => (\n <div\n key={group.heading ?? `group-${groupIndex}`}\n className={styles.group}\n role=\"group\"\n aria-label={group.heading}\n >\n {group.heading ? <div className={styles.heading}>{group.heading}</div> : null}\n {group.items.map((item) => {\n const highlighted = !inSubmenu && item.id === activeId;\n const hasSub = Boolean(item.submenu && item.submenu.length > 0);\n const asLink = Boolean(item.href) && !item.disabled && !hasSub;\n const className = [\n styles.item,\n highlighted || openSubId === item.id ? styles.itemHighlighted : \"\",\n item.disabled ? styles.itemDisabled : \"\",\n item.danger ? styles.itemDanger : \"\",\n item.description ? styles.itemWithDescription : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n const showCheck = typeof item.selected === \"boolean\" && !item.checkbox;\n const body = (\n <>\n {item.checkbox ? (\n <span className={styles.itemCheckbox} inert aria-hidden>\n <Checkbox\n id={`${uid}-cb-${item.id}`}\n size=\"sm\"\n checked={Boolean(item.selected)}\n ariaLabel={item.label}\n onChange={() => {}}\n />\n </span>\n ) : showCheck ? (\n item.selected ? (\n <LucideByName name=\"Check\" size={16} className={styles.itemCheck} />\n ) : (\n <span className={styles.itemCheck} />\n )\n ) : item.icon ? (\n <LucideByName name={item.icon} size={16} className={styles.itemIcon} />\n ) : null}\n <span className={styles.itemText}>\n <span className={styles.itemLabel}>{item.label}</span>\n {item.description ? (\n <span className={styles.itemDescription}>{item.description}</span>\n ) : null}\n </span>\n {item.shortcut ? <span className={styles.shortcut}>{item.shortcut}</span> : null}\n {hasSub ? <LucideByName name=\"ChevronRight\" size={16} className={styles.itemChevron} /> : null}\n </>\n );\n const shared = {\n className,\n role: (item.checkbox ? \"menuitemcheckbox\" : \"menuitem\") as \"menuitem\" | \"menuitemcheckbox\",\n \"data-id\": item.id,\n \"data-enabled\": item.disabled ? \"false\" : \"true\",\n \"aria-checked\": item.checkbox ? Boolean(item.selected) : undefined,\n \"aria-disabled\": item.disabled || undefined,\n \"aria-haspopup\": hasSub ? (\"menu\" as const) : undefined,\n \"aria-expanded\": hasSub ? openSubId === item.id : undefined,\n tabIndex: highlighted ? 0 : -1,\n onMouseEnter: () => {\n if (item.disabled) return;\n if (inSubmenu) return;\n highlight(item.id);\n },\n onClick: () => {\n if (hasSub) {\n setOpenSubId(item.id);\n return;\n }\n select(item.id);\n },\n };\n if (asLink) {\n return (\n <a key={item.id} href={item.href} {...shared}>\n {body}\n </a>\n );\n }\n return (\n <button key={item.id} type=\"button\" {...shared}>\n {body}\n </button>\n );\n })}\n </div>\n ));\n }\n\n const hasLabel = Boolean(trigger && trigger.trim());\n\n const panelClass = [\n styles.panel,\n columns === 2 ? styles.panelColumns : \"\",\n searchable ? styles.panelSearchable : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n\n\n const panel =\n open && mounted && coords\n ? createPortal(\n <div\n ref={panelRef}\n id={menuId}\n role=\"menu\"\n aria-label={ariaLabel || trigger || \"Menu\"}\n className={panelClass}\n style={coords}\n onKeyDown={onMenuKeyDown}\n >\n {searchable ? (\n <div className={styles.search}>\n <Input\n id={searchId}\n size=\"sm\"\n type=\"search\"\n iconStart=\"Search\"\n placeholder={searchPlaceholder}\n value={query}\n onChange={setQuery}\n ariaLabel=\"Search options\"\n />\n </div>\n ) : null}\n {visibleGroups.length === 0 ? (\n <div className={styles.empty}>No results.</div>\n ) : (\n renderItems(visibleGroups, false)\n )}\n </div>,\n document.body,\n )\n : null;\n\n const subPanel =\n open && mounted && openSubId && subGroups && subCoords\n ? createPortal(\n <div\n ref={subPanelRef}\n role=\"menu\"\n aria-label={mainItems.find((item) => item.id === openSubId)?.label || \"Submenu\"}\n className={styles.panel}\n style={subCoords}\n onKeyDown={onSubKeyDown}\n onMouseEnter={() => setOpenSubId(openSubId)}\n >\n {renderItems(subGroups, true)}\n </div>,\n document.body,\n )\n : null;\n\n const fieldTrigger = triggerStyle === \"field\";\n const navTrigger = triggerStyle === \"nav\";\n const iconPx = size === \"sm\" ? 14 : size === \"lg\" ? 18 : 16;\n\n return (\n <div ref={rootRef} className={`${styles.root}${fieldTrigger ? ` ${styles.rootField}` : \"\"}`}>\n {fieldTrigger ? (\n <button\n type=\"button\"\n id={id}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-invalid={error || undefined}\n aria-describedby={describedBy}\n className={`${styles.fieldTrigger} ${styles[`field${size}`]}${error ? ` ${styles.fieldError}` : \"\"}${triggerMuted ? ` ${styles.fieldMuted}` : \"\"}`}\n onClick={() => {\n if (!disabled) setOpen(!open);\n }}\n >\n <span className={styles.fieldMain}>\n <span className={styles.fieldLabel}>{trigger || \"Select\"}</span>\n {triggerBadge ? (\n <Badge size=\"sm\" tone=\"neutral\">\n {triggerBadge}\n </Badge>\n ) : null}\n </span>\n <LucideByName name={iconEnd || \"ChevronsUpDown\"} size={iconPx} className={styles.fieldIcon} />\n </button>\n ) : navTrigger ? (\n <button\n type=\"button\"\n id={id}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n aria-controls={menuId}\n className={`${styles.navTrigger}${open ? ` ${styles.navOpen}` : \"\"}`}\n onClick={() => {\n if (!disabled) setOpen(!open);\n }}\n >\n {hasLabel ? trigger : null}\n <LucideByName name=\"ChevronDown\" size={14} className={styles.navChevron} />\n </button>\n ) : (\n <Button\n variant={variant}\n size={size}\n iconStart={iconStart}\n iconEnd={iconEnd}\n ariaLabel={hasLabel ? undefined : ariaLabel}\n onClick={() => setOpen(!open)}\n >\n {hasLabel ? trigger : undefined}\n </Button>\n )}\n {panel}\n {subPanel}\n </div>\n );\n}\n"],"mappings":"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"}