@arolariu/components 0.5.0 → 1.0.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 (892) hide show
  1. package/{changelog.md → CHANGELOG.md} +25 -0
  2. package/CONTRIBUTING.md +344 -265
  3. package/DEBUGGING.md +185 -103
  4. package/EXAMPLES.md +470 -345
  5. package/{readme.md → README.md} +306 -203
  6. package/dist/components/ui/accordion.d.ts +157 -5
  7. package/dist/components/ui/accordion.d.ts.map +1 -1
  8. package/dist/components/ui/accordion.js +100 -22
  9. package/dist/components/ui/accordion.js.map +1 -1
  10. package/dist/components/ui/accordion.module.js +12 -0
  11. package/dist/components/ui/accordion.module.js.map +1 -0
  12. package/dist/components/ui/accordion_module.css +72 -0
  13. package/dist/components/ui/accordion_module.css.map +1 -0
  14. package/dist/components/ui/alert-dialog.d.ts +321 -18
  15. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  16. package/dist/components/ui/alert-dialog.js +145 -52
  17. package/dist/components/ui/alert-dialog.js.map +1 -1
  18. package/dist/components/ui/alert-dialog.module.js +13 -0
  19. package/dist/components/ui/alert-dialog.module.js.map +1 -0
  20. package/dist/components/ui/alert-dialog_module.css +89 -0
  21. package/dist/components/ui/alert-dialog_module.css.map +1 -0
  22. package/dist/components/ui/alert.d.ts +109 -6
  23. package/dist/components/ui/alert.d.ts.map +1 -1
  24. package/dist/components/ui/alert.js +12 -21
  25. package/dist/components/ui/alert.js.map +1 -1
  26. package/dist/components/ui/alert.module.js +11 -0
  27. package/dist/components/ui/alert.module.js.map +1 -0
  28. package/dist/components/ui/alert_module.css +59 -0
  29. package/dist/components/ui/alert_module.css.map +1 -0
  30. package/dist/components/ui/aspect-ratio.d.ts +24 -2
  31. package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
  32. package/dist/components/ui/aspect-ratio.js +14 -3
  33. package/dist/components/ui/aspect-ratio.js.map +1 -1
  34. package/dist/components/ui/aspect-ratio.module.js +7 -0
  35. package/dist/components/ui/aspect-ratio.module.js.map +1 -0
  36. package/dist/components/ui/aspect-ratio_module.css +10 -0
  37. package/dist/components/ui/aspect-ratio_module.css.map +1 -0
  38. package/dist/components/ui/async-boundary.js +17 -0
  39. package/dist/components/ui/async-boundary.js.map +1 -0
  40. package/dist/components/ui/avatar.d.ts +97 -4
  41. package/dist/components/ui/avatar.d.ts.map +1 -1
  42. package/dist/components/ui/avatar.js +50 -21
  43. package/dist/components/ui/avatar.js.map +1 -1
  44. package/dist/components/ui/avatar.module.js +9 -0
  45. package/dist/components/ui/avatar.module.js.map +1 -0
  46. package/dist/components/ui/avatar_module.css +35 -0
  47. package/dist/components/ui/avatar_module.css.map +1 -0
  48. package/dist/components/ui/background-beams.d.ts +21 -3
  49. package/dist/components/ui/background-beams.d.ts.map +1 -1
  50. package/dist/components/ui/background-beams.js +22 -11
  51. package/dist/components/ui/background-beams.js.map +1 -1
  52. package/dist/components/ui/background-beams.module.js +8 -0
  53. package/dist/components/ui/background-beams.module.js.map +1 -0
  54. package/dist/components/ui/background-beams_module.css +22 -0
  55. package/dist/components/ui/background-beams_module.css.map +1 -0
  56. package/dist/components/ui/badge.d.ts +79 -6
  57. package/dist/components/ui/badge.d.ts.map +1 -1
  58. package/dist/components/ui/badge.js +19 -23
  59. package/dist/components/ui/badge.js.map +1 -1
  60. package/dist/components/ui/badge.module.js +11 -0
  61. package/dist/components/ui/badge.module.js.map +1 -0
  62. package/dist/components/ui/badge_module.css +63 -0
  63. package/dist/components/ui/badge_module.css.map +1 -0
  64. package/dist/components/ui/breadcrumb.d.ts +158 -13
  65. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  66. package/dist/components/ui/breadcrumb.js +39 -30
  67. package/dist/components/ui/breadcrumb.js.map +1 -1
  68. package/dist/components/ui/breadcrumb.module.js +14 -0
  69. package/dist/components/ui/breadcrumb.module.js.map +1 -0
  70. package/dist/components/ui/breadcrumb_module.css +90 -0
  71. package/dist/components/ui/breadcrumb_module.css.map +1 -0
  72. package/dist/components/ui/bubble-background.d.ts +38 -10
  73. package/dist/components/ui/bubble-background.d.ts.map +1 -1
  74. package/dist/components/ui/bubble-background.js +33 -35
  75. package/dist/components/ui/bubble-background.js.map +1 -1
  76. package/dist/components/ui/bubble-background.module.js +20 -0
  77. package/dist/components/ui/bubble-background.module.js.map +1 -0
  78. package/dist/components/ui/bubble-background_module.css +99 -0
  79. package/dist/components/ui/bubble-background_module.css.map +1 -0
  80. package/dist/components/ui/button-group.d.ts +88 -8
  81. package/dist/components/ui/button-group.d.ts.map +1 -1
  82. package/dist/components/ui/button-group.js +35 -32
  83. package/dist/components/ui/button-group.js.map +1 -1
  84. package/dist/components/ui/button-group.module.js +11 -0
  85. package/dist/components/ui/button-group.module.js.map +1 -0
  86. package/dist/components/ui/button-group_module.css +79 -0
  87. package/dist/components/ui/button-group_module.css.map +1 -0
  88. package/dist/components/ui/button.d.ts +82 -7
  89. package/dist/components/ui/button.d.ts.map +1 -1
  90. package/dist/components/ui/button.js +69 -34
  91. package/dist/components/ui/button.js.map +1 -1
  92. package/dist/components/ui/button.module.js +17 -0
  93. package/dist/components/ui/button.module.js.map +1 -0
  94. package/dist/components/ui/button_module.css +137 -0
  95. package/dist/components/ui/button_module.css.map +1 -0
  96. package/dist/components/ui/calendar.d.ts +39 -5
  97. package/dist/components/ui/calendar.d.ts.map +1 -1
  98. package/dist/components/ui/calendar.js +72 -61
  99. package/dist/components/ui/calendar.js.map +1 -1
  100. package/dist/components/ui/calendar.module.js +35 -0
  101. package/dist/components/ui/calendar.module.js.map +1 -0
  102. package/dist/components/ui/calendar_module.css +245 -0
  103. package/dist/components/ui/calendar_module.css.map +1 -0
  104. package/dist/components/ui/card-skeleton.js +41 -0
  105. package/dist/components/ui/card-skeleton.js.map +1 -0
  106. package/dist/components/ui/card-skeleton.module.js +15 -0
  107. package/dist/components/ui/card-skeleton.module.js.map +1 -0
  108. package/dist/components/ui/card-skeleton_module.css +54 -0
  109. package/dist/components/ui/card-skeleton_module.css.map +1 -0
  110. package/dist/components/ui/card.d.ts +162 -7
  111. package/dist/components/ui/card.d.ts.map +1 -1
  112. package/dist/components/ui/card.js +13 -13
  113. package/dist/components/ui/card.js.map +1 -1
  114. package/dist/components/ui/card.module.js +13 -0
  115. package/dist/components/ui/card.module.js.map +1 -0
  116. package/dist/components/ui/card_module.css +43 -0
  117. package/dist/components/ui/card_module.css.map +1 -0
  118. package/dist/components/ui/carousel.d.ts +127 -3
  119. package/dist/components/ui/carousel.d.ts.map +1 -1
  120. package/dist/components/ui/carousel.js +63 -36
  121. package/dist/components/ui/carousel.js.map +1 -1
  122. package/dist/components/ui/carousel.module.js +17 -0
  123. package/dist/components/ui/carousel.module.js.map +1 -0
  124. package/dist/components/ui/carousel_module.css +82 -0
  125. package/dist/components/ui/carousel_module.css.map +1 -0
  126. package/dist/components/ui/chart.d.ts +323 -13
  127. package/dist/components/ui/chart.d.ts.map +1 -1
  128. package/dist/components/ui/chart.js +158 -53
  129. package/dist/components/ui/chart.js.map +1 -1
  130. package/dist/components/ui/chart.module.js +27 -0
  131. package/dist/components/ui/chart.module.js.map +1 -0
  132. package/dist/components/ui/chart_module.css +159 -0
  133. package/dist/components/ui/chart_module.css.map +1 -0
  134. package/dist/components/ui/checkbox-group.d.ts +31 -0
  135. package/dist/components/ui/checkbox-group.d.ts.map +1 -0
  136. package/dist/components/ui/checkbox-group.js +25 -0
  137. package/dist/components/ui/checkbox-group.js.map +1 -0
  138. package/dist/components/ui/checkbox-group.module.js +7 -0
  139. package/dist/components/ui/checkbox-group.module.js.map +1 -0
  140. package/dist/components/ui/checkbox-group_module.css +11 -0
  141. package/dist/components/ui/checkbox-group_module.css.map +1 -0
  142. package/dist/components/ui/checkbox.d.ts +33 -2
  143. package/dist/components/ui/checkbox.d.ts.map +1 -1
  144. package/dist/components/ui/checkbox.js +37 -12
  145. package/dist/components/ui/checkbox.js.map +1 -1
  146. package/dist/components/ui/checkbox.module.js +8 -0
  147. package/dist/components/ui/checkbox.module.js.map +1 -0
  148. package/dist/components/ui/checkbox_module.css +45 -0
  149. package/dist/components/ui/checkbox_module.css.map +1 -0
  150. package/dist/components/ui/collapsible.d.ts +87 -3
  151. package/dist/components/ui/collapsible.d.ts.map +1 -1
  152. package/dist/components/ui/collapsible.js +46 -32
  153. package/dist/components/ui/collapsible.js.map +1 -1
  154. package/dist/components/ui/collapsible.module.js +8 -0
  155. package/dist/components/ui/collapsible.module.js.map +1 -0
  156. package/dist/components/ui/collapsible_module.css +26 -0
  157. package/dist/components/ui/collapsible_module.css.map +1 -0
  158. package/dist/components/ui/command.d.ts +284 -51
  159. package/dist/components/ui/command.d.ts.map +1 -1
  160. package/dist/components/ui/command.js +387 -51
  161. package/dist/components/ui/command.js.map +1 -1
  162. package/dist/components/ui/command.module.js +20 -0
  163. package/dist/components/ui/command.module.js.map +1 -0
  164. package/dist/components/ui/command_module.css +194 -0
  165. package/dist/components/ui/command_module.css.map +1 -0
  166. package/dist/components/ui/context-menu.d.ts +414 -21
  167. package/dist/components/ui/context-menu.d.ts.map +1 -1
  168. package/dist/components/ui/context-menu.js +190 -68
  169. package/dist/components/ui/context-menu.js.map +1 -1
  170. package/dist/components/ui/context-menu.module.js +19 -0
  171. package/dist/components/ui/context-menu.module.js.map +1 -0
  172. package/dist/components/ui/context-menu_module.css +114 -0
  173. package/dist/components/ui/context-menu_module.css.map +1 -0
  174. package/dist/components/ui/copy-button.d.ts +41 -0
  175. package/dist/components/ui/copy-button.d.ts.map +1 -0
  176. package/dist/components/ui/copy-button.js +51 -0
  177. package/dist/components/ui/copy-button.js.map +1 -0
  178. package/dist/components/ui/copy-button.module.js +8 -0
  179. package/dist/components/ui/copy-button.module.js.map +1 -0
  180. package/dist/components/ui/copy-button_module.css +37 -0
  181. package/dist/components/ui/copy-button_module.css.map +1 -0
  182. package/dist/components/ui/counting-number.d.ts +28 -2
  183. package/dist/components/ui/counting-number.d.ts.map +1 -1
  184. package/dist/components/ui/counting-number.js +31 -27
  185. package/dist/components/ui/counting-number.js.map +1 -1
  186. package/dist/components/ui/counting-number.module.js +7 -0
  187. package/dist/components/ui/counting-number.module.js.map +1 -0
  188. package/dist/components/ui/counting-number_module.css +7 -0
  189. package/dist/components/ui/counting-number_module.css.map +1 -0
  190. package/dist/components/ui/dialog.d.ts +287 -17
  191. package/dist/components/ui/dialog.d.ts.map +1 -1
  192. package/dist/components/ui/dialog.js +129 -52
  193. package/dist/components/ui/dialog.js.map +1 -1
  194. package/dist/components/ui/dialog.module.js +13 -0
  195. package/dist/components/ui/dialog.module.js.map +1 -0
  196. package/dist/components/ui/dialog_module.css +114 -0
  197. package/dist/components/ui/dialog_module.css.map +1 -0
  198. package/dist/components/ui/dot-background.d.ts +25 -35
  199. package/dist/components/ui/dot-background.d.ts.map +1 -1
  200. package/dist/components/ui/dot-background.js +31 -22
  201. package/dist/components/ui/dot-background.js.map +1 -1
  202. package/dist/components/ui/dot-background.module.js +8 -0
  203. package/dist/components/ui/dot-background.module.js.map +1 -0
  204. package/dist/components/ui/dot-background_module.css +15 -0
  205. package/dist/components/ui/dot-background_module.css.map +1 -0
  206. package/dist/components/ui/drawer.d.ts +287 -18
  207. package/dist/components/ui/drawer.d.ts.map +1 -1
  208. package/dist/components/ui/drawer.js +117 -40
  209. package/dist/components/ui/drawer.js.map +1 -1
  210. package/dist/components/ui/drawer.module.js +14 -0
  211. package/dist/components/ui/drawer.module.js.map +1 -0
  212. package/dist/components/ui/drawer_module.css +86 -0
  213. package/dist/components/ui/drawer_module.css.map +1 -0
  214. package/dist/components/ui/dropdown-menu.d.ts +414 -21
  215. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  216. package/dist/components/ui/dropdown-menu.js +189 -68
  217. package/dist/components/ui/dropdown-menu.js.map +1 -1
  218. package/dist/components/ui/dropdown-menu.module.js +19 -0
  219. package/dist/components/ui/dropdown-menu.module.js.map +1 -0
  220. package/dist/components/ui/dropdown-menu_module.css +114 -0
  221. package/dist/components/ui/dropdown-menu_module.css.map +1 -0
  222. package/dist/components/ui/dropdrawer.d.ts +313 -17
  223. package/dist/components/ui/dropdrawer.d.ts.map +1 -1
  224. package/dist/components/ui/dropdrawer.js +423 -159
  225. package/dist/components/ui/dropdrawer.js.map +1 -1
  226. package/dist/components/ui/dropdrawer.module.js +43 -0
  227. package/dist/components/ui/dropdrawer.module.js.map +1 -0
  228. package/dist/components/ui/dropdrawer_module.css +307 -0
  229. package/dist/components/ui/dropdrawer_module.css.map +1 -0
  230. package/dist/components/ui/empty.d.ts +129 -10
  231. package/dist/components/ui/empty.d.ts.map +1 -1
  232. package/dist/components/ui/empty.js +32 -47
  233. package/dist/components/ui/empty.js.map +1 -1
  234. package/dist/components/ui/empty.module.js +13 -0
  235. package/dist/components/ui/empty.module.js.map +1 -0
  236. package/dist/components/ui/empty_module.css +85 -0
  237. package/dist/components/ui/empty_module.css.map +1 -0
  238. package/dist/components/ui/error-boundary.js +61 -0
  239. package/dist/components/ui/error-boundary.js.map +1 -0
  240. package/dist/components/ui/error-boundary.module.js +10 -0
  241. package/dist/components/ui/error-boundary.module.js.map +1 -0
  242. package/dist/components/ui/error-boundary_module.css +41 -0
  243. package/dist/components/ui/error-boundary_module.css.map +1 -0
  244. package/dist/components/ui/field.d.ts +222 -23
  245. package/dist/components/ui/field.d.ts.map +1 -1
  246. package/dist/components/ui/field.js +76 -86
  247. package/dist/components/ui/field.js.map +1 -1
  248. package/dist/components/ui/field.module.js +24 -0
  249. package/dist/components/ui/field.module.js.map +1 -0
  250. package/dist/components/ui/field_module.css +185 -0
  251. package/dist/components/ui/field_module.css.map +1 -0
  252. package/dist/components/ui/fireworks-background.d.ts +27 -3
  253. package/dist/components/ui/fireworks-background.d.ts.map +1 -1
  254. package/dist/components/ui/fireworks-background.js +36 -35
  255. package/dist/components/ui/fireworks-background.js.map +1 -1
  256. package/dist/components/ui/fireworks-background.module.js +8 -0
  257. package/dist/components/ui/fireworks-background.module.js.map +1 -0
  258. package/dist/components/ui/fireworks-background_module.css +17 -0
  259. package/dist/components/ui/fireworks-background_module.css.map +1 -0
  260. package/dist/components/ui/flip-button.d.ts +27 -3
  261. package/dist/components/ui/flip-button.d.ts.map +1 -1
  262. package/dist/components/ui/flip-button.js +27 -17
  263. package/dist/components/ui/flip-button.js.map +1 -1
  264. package/dist/components/ui/flip-button.module.js +11 -0
  265. package/dist/components/ui/flip-button.module.js.map +1 -0
  266. package/dist/components/ui/flip-button_module.css +47 -0
  267. package/dist/components/ui/flip-button_module.css.map +1 -0
  268. package/dist/components/ui/focus-scope.js +70 -0
  269. package/dist/components/ui/focus-scope.js.map +1 -0
  270. package/dist/components/ui/focus-scope.module.js +7 -0
  271. package/dist/components/ui/focus-scope.module.js.map +1 -0
  272. package/dist/components/ui/focus-scope_module.css +6 -0
  273. package/dist/components/ui/focus-scope_module.css.map +1 -0
  274. package/dist/components/ui/form-skeleton.js +32 -0
  275. package/dist/components/ui/form-skeleton.js.map +1 -0
  276. package/dist/components/ui/form-skeleton.module.js +11 -0
  277. package/dist/components/ui/form-skeleton.module.js.map +1 -0
  278. package/dist/components/ui/form-skeleton_module.css +30 -0
  279. package/dist/components/ui/form-skeleton_module.css.map +1 -0
  280. package/dist/components/ui/form.d.ts +143 -13
  281. package/dist/components/ui/form.d.ts.map +1 -1
  282. package/dist/components/ui/form.js +55 -21
  283. package/dist/components/ui/form.js.map +1 -1
  284. package/dist/components/ui/form.module.js +10 -0
  285. package/dist/components/ui/form.module.js.map +1 -0
  286. package/dist/components/ui/form_module.css +22 -0
  287. package/dist/components/ui/form_module.css.map +1 -0
  288. package/dist/components/ui/gradient-background.d.ts +21 -3
  289. package/dist/components/ui/gradient-background.d.ts.map +1 -1
  290. package/dist/components/ui/gradient-background.js +8 -4
  291. package/dist/components/ui/gradient-background.js.map +1 -1
  292. package/dist/components/ui/gradient-background.module.js +7 -0
  293. package/dist/components/ui/gradient-background.module.js.map +1 -0
  294. package/dist/components/ui/gradient-background_module.css +9 -0
  295. package/dist/components/ui/gradient-background_module.css.map +1 -0
  296. package/dist/components/ui/gradient-text.d.ts +23 -2
  297. package/dist/components/ui/gradient-text.d.ts.map +1 -1
  298. package/dist/components/ui/gradient-text.js +8 -6
  299. package/dist/components/ui/gradient-text.js.map +1 -1
  300. package/dist/components/ui/gradient-text.module.js +9 -0
  301. package/dist/components/ui/gradient-text.module.js.map +1 -0
  302. package/dist/components/ui/gradient-text_module.css +24 -0
  303. package/dist/components/ui/gradient-text_module.css.map +1 -0
  304. package/dist/components/ui/highlight-text.d.ts +24 -2
  305. package/dist/components/ui/highlight-text.d.ts.map +1 -1
  306. package/dist/components/ui/highlight-text.js +7 -10
  307. package/dist/components/ui/highlight-text.js.map +1 -1
  308. package/dist/components/ui/highlight-text.module.js +7 -0
  309. package/dist/components/ui/highlight-text.module.js.map +1 -0
  310. package/dist/components/ui/highlight-text_module.css +16 -0
  311. package/dist/components/ui/highlight-text_module.css.map +1 -0
  312. package/dist/components/ui/hole-background.d.ts +23 -2
  313. package/dist/components/ui/hole-background.d.ts.map +1 -1
  314. package/dist/components/ui/hole-background.js +155 -118
  315. package/dist/components/ui/hole-background.js.map +1 -1
  316. package/dist/components/ui/hole-background.module.js +10 -0
  317. package/dist/components/ui/hole-background.module.js.map +1 -0
  318. package/dist/components/ui/hole-background_module.css +85 -0
  319. package/dist/components/ui/hole-background_module.css.map +1 -0
  320. package/dist/components/ui/hover-card.d.ts +85 -4
  321. package/dist/components/ui/hover-card.d.ts.map +1 -1
  322. package/dist/components/ui/hover-card.js +52 -10
  323. package/dist/components/ui/hover-card.js.map +1 -1
  324. package/dist/components/ui/hover-card.module.js +8 -0
  325. package/dist/components/ui/hover-card.module.js.map +1 -0
  326. package/dist/components/ui/hover-card_module.css +23 -0
  327. package/dist/components/ui/hover-card_module.css.map +1 -0
  328. package/dist/components/ui/input-group.d.ts +132 -13
  329. package/dist/components/ui/input-group.d.ts.map +1 -1
  330. package/dist/components/ui/input-group.js +62 -66
  331. package/dist/components/ui/input-group.js.map +1 -1
  332. package/dist/components/ui/input-group.module.js +20 -0
  333. package/dist/components/ui/input-group.module.js.map +1 -0
  334. package/dist/components/ui/input-group_module.css +150 -0
  335. package/dist/components/ui/input-group_module.css.map +1 -0
  336. package/dist/components/ui/input-otp.d.ts +110 -30
  337. package/dist/components/ui/input-otp.d.ts.map +1 -1
  338. package/dist/components/ui/input-otp.js +24 -15
  339. package/dist/components/ui/input-otp.js.map +1 -1
  340. package/dist/components/ui/input-otp.module.js +17 -0
  341. package/dist/components/ui/input-otp.module.js.map +1 -0
  342. package/dist/components/ui/input-otp_module.css +89 -0
  343. package/dist/components/ui/input-otp_module.css.map +1 -0
  344. package/dist/components/ui/input.d.ts +31 -1
  345. package/dist/components/ui/input.d.ts.map +1 -1
  346. package/dist/components/ui/input.js +21 -8
  347. package/dist/components/ui/input.js.map +1 -1
  348. package/dist/components/ui/input.module.js +7 -0
  349. package/dist/components/ui/input.module.js.map +1 -0
  350. package/dist/components/ui/input_module.css +40 -0
  351. package/dist/components/ui/input_module.css.map +1 -0
  352. package/dist/components/ui/item.d.ts +221 -19
  353. package/dist/components/ui/item.d.ts.map +1 -1
  354. package/dist/components/ui/item.js +66 -90
  355. package/dist/components/ui/item.js.map +1 -1
  356. package/dist/components/ui/item.module.js +22 -0
  357. package/dist/components/ui/item.module.js.map +1 -0
  358. package/dist/components/ui/item_module.css +143 -0
  359. package/dist/components/ui/item_module.css.map +1 -0
  360. package/dist/components/ui/kbd.d.ts +43 -2
  361. package/dist/components/ui/kbd.d.ts.map +1 -1
  362. package/dist/components/ui/kbd.js +12 -12
  363. package/dist/components/ui/kbd.js.map +1 -1
  364. package/dist/components/ui/kbd.module.js +8 -0
  365. package/dist/components/ui/kbd.module.js.map +1 -0
  366. package/dist/components/ui/kbd_module.css +35 -0
  367. package/dist/components/ui/kbd_module.css.map +1 -0
  368. package/dist/components/ui/label.d.ts +30 -3
  369. package/dist/components/ui/label.d.ts.map +1 -1
  370. package/dist/components/ui/label.js +7 -8
  371. package/dist/components/ui/label.js.map +1 -1
  372. package/dist/components/ui/label.module.js +7 -0
  373. package/dist/components/ui/label.module.js.map +1 -0
  374. package/dist/components/ui/label_module.css +17 -0
  375. package/dist/components/ui/label_module.css.map +1 -0
  376. package/dist/components/ui/list-skeleton.js +35 -0
  377. package/dist/components/ui/list-skeleton.js.map +1 -0
  378. package/dist/components/ui/list-skeleton.module.js +12 -0
  379. package/dist/components/ui/list-skeleton.module.js.map +1 -0
  380. package/dist/components/ui/list-skeleton_module.css +39 -0
  381. package/dist/components/ui/list-skeleton_module.css.map +1 -0
  382. package/dist/components/ui/loading-overlay.js +21 -0
  383. package/dist/components/ui/loading-overlay.js.map +1 -0
  384. package/dist/components/ui/loading-overlay.module.js +9 -0
  385. package/dist/components/ui/loading-overlay.module.js.map +1 -0
  386. package/dist/components/ui/loading-overlay_module.css +22 -0
  387. package/dist/components/ui/loading-overlay_module.css.map +1 -0
  388. package/dist/components/ui/menubar.d.ts +422 -22
  389. package/dist/components/ui/menubar.d.ts.map +1 -1
  390. package/dist/components/ui/menubar.js +199 -100
  391. package/dist/components/ui/menubar.js.map +1 -1
  392. package/dist/components/ui/menubar.module.js +21 -0
  393. package/dist/components/ui/menubar.module.js.map +1 -0
  394. package/dist/components/ui/menubar_module.css +145 -0
  395. package/dist/components/ui/menubar_module.css.map +1 -0
  396. package/dist/components/ui/meter.d.ts +101 -0
  397. package/dist/components/ui/meter.d.ts.map +1 -0
  398. package/dist/components/ui/meter.js +71 -0
  399. package/dist/components/ui/meter.js.map +1 -0
  400. package/dist/components/ui/meter.module.js +10 -0
  401. package/dist/components/ui/meter.module.js.map +1 -0
  402. package/dist/components/ui/meter_module.css +31 -0
  403. package/dist/components/ui/meter_module.css.map +1 -0
  404. package/dist/components/ui/navigation-menu.d.ts +242 -11
  405. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  406. package/dist/components/ui/navigation-menu.js +135 -49
  407. package/dist/components/ui/navigation-menu.js.map +1 -1
  408. package/dist/components/ui/navigation-menu.module.js +18 -0
  409. package/dist/components/ui/navigation-menu.module.js.map +1 -0
  410. package/dist/components/ui/navigation-menu_module.css +112 -0
  411. package/dist/components/ui/navigation-menu_module.css.map +1 -0
  412. package/dist/components/ui/number-field.d.ts +144 -0
  413. package/dist/components/ui/number-field.d.ts.map +1 -0
  414. package/dist/components/ui/number-field.js +111 -0
  415. package/dist/components/ui/number-field.js.map +1 -0
  416. package/dist/components/ui/number-field.module.js +15 -0
  417. package/dist/components/ui/number-field.module.js.map +1 -0
  418. package/dist/components/ui/number-field_module.css +125 -0
  419. package/dist/components/ui/number-field_module.css.map +1 -0
  420. package/dist/components/ui/pagination.d.ts +150 -24
  421. package/dist/components/ui/pagination.d.ts.map +1 -1
  422. package/dist/components/ui/pagination.js +41 -38
  423. package/dist/components/ui/pagination.js.map +1 -1
  424. package/dist/components/ui/pagination.module.js +14 -0
  425. package/dist/components/ui/pagination.module.js.map +1 -0
  426. package/dist/components/ui/pagination_module.css +66 -0
  427. package/dist/components/ui/pagination_module.css.map +1 -0
  428. package/dist/components/ui/popover.d.ts +133 -5
  429. package/dist/components/ui/popover.d.ts.map +1 -1
  430. package/dist/components/ui/popover.js +68 -14
  431. package/dist/components/ui/popover.js.map +1 -1
  432. package/dist/components/ui/popover.module.js +9 -0
  433. package/dist/components/ui/popover.module.js.map +1 -0
  434. package/dist/components/ui/popover_module.css +28 -0
  435. package/dist/components/ui/popover_module.css.map +1 -0
  436. package/dist/components/ui/progress.d.ts +34 -2
  437. package/dist/components/ui/progress.d.ts.map +1 -1
  438. package/dist/components/ui/progress.js +22 -14
  439. package/dist/components/ui/progress.js.map +1 -1
  440. package/dist/components/ui/progress.module.js +8 -0
  441. package/dist/components/ui/progress.module.js.map +1 -0
  442. package/dist/components/ui/progress_module.css +20 -0
  443. package/dist/components/ui/progress_module.css.map +1 -0
  444. package/dist/components/ui/radio-group.d.ts +44 -3
  445. package/dist/components/ui/radio-group.d.ts.map +1 -1
  446. package/dist/components/ui/radio-group.js +38 -16
  447. package/dist/components/ui/radio-group.js.map +1 -1
  448. package/dist/components/ui/radio-group.module.js +10 -0
  449. package/dist/components/ui/radio-group.module.js.map +1 -0
  450. package/dist/components/ui/radio-group_module.css +44 -0
  451. package/dist/components/ui/radio-group_module.css.map +1 -0
  452. package/dist/components/ui/resizable.d.ts +79 -6
  453. package/dist/components/ui/resizable.d.ts.map +1 -1
  454. package/dist/components/ui/resizable.js +23 -13
  455. package/dist/components/ui/resizable.js.map +1 -1
  456. package/dist/components/ui/resizable.module.js +10 -0
  457. package/dist/components/ui/resizable.module.js.map +1 -0
  458. package/dist/components/ui/resizable_module.css +70 -0
  459. package/dist/components/ui/resizable_module.css.map +1 -0
  460. package/dist/components/ui/ripple-button.d.ts +23 -2
  461. package/dist/components/ui/ripple-button.d.ts.map +1 -1
  462. package/dist/components/ui/ripple-button.js +26 -11
  463. package/dist/components/ui/ripple-button.js.map +1 -1
  464. package/dist/components/ui/ripple-button.module.js +9 -0
  465. package/dist/components/ui/ripple-button.module.js.map +1 -0
  466. package/dist/components/ui/ripple-button_module.css +38 -0
  467. package/dist/components/ui/ripple-button_module.css.map +1 -0
  468. package/dist/components/ui/scratcher.d.ts +25 -2
  469. package/dist/components/ui/scratcher.d.ts.map +1 -1
  470. package/dist/components/ui/scratcher.js +85 -87
  471. package/dist/components/ui/scratcher.js.map +1 -1
  472. package/dist/components/ui/scratcher.module.js +8 -0
  473. package/dist/components/ui/scratcher.module.js.map +1 -0
  474. package/dist/components/ui/scratcher_module.css +13 -0
  475. package/dist/components/ui/scratcher_module.css.map +1 -0
  476. package/dist/components/ui/scroll-area.d.ts +46 -3
  477. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  478. package/dist/components/ui/scroll-area.js +44 -19
  479. package/dist/components/ui/scroll-area.js.map +1 -1
  480. package/dist/components/ui/scroll-area.module.js +14 -0
  481. package/dist/components/ui/scroll-area.module.js.map +1 -0
  482. package/dist/components/ui/scroll-area_module.css +51 -0
  483. package/dist/components/ui/scroll-area_module.css.map +1 -0
  484. package/dist/components/ui/select.d.ts +269 -11
  485. package/dist/components/ui/select.d.ts.map +1 -1
  486. package/dist/components/ui/select.js +152 -67
  487. package/dist/components/ui/select.js.map +1 -1
  488. package/dist/components/ui/select.module.js +20 -0
  489. package/dist/components/ui/select.module.js.map +1 -0
  490. package/dist/components/ui/select_module.css +134 -0
  491. package/dist/components/ui/select_module.css.map +1 -0
  492. package/dist/components/ui/separator.d.ts +36 -2
  493. package/dist/components/ui/separator.d.ts.map +1 -1
  494. package/dist/components/ui/separator.js +20 -10
  495. package/dist/components/ui/separator.js.map +1 -1
  496. package/dist/components/ui/separator.module.js +9 -0
  497. package/dist/components/ui/separator.module.js.map +1 -0
  498. package/dist/components/ui/separator_module.css +17 -0
  499. package/dist/components/ui/separator_module.css.map +1 -0
  500. package/dist/components/ui/sheet.d.ts +297 -23
  501. package/dist/components/ui/sheet.d.ts.map +1 -1
  502. package/dist/components/ui/sheet.js +121 -63
  503. package/dist/components/ui/sheet.js.map +1 -1
  504. package/dist/components/ui/sheet.module.js +18 -0
  505. package/dist/components/ui/sheet.module.js.map +1 -0
  506. package/dist/components/ui/sheet_module.css +136 -0
  507. package/dist/components/ui/sheet_module.css.map +1 -0
  508. package/dist/components/ui/sidebar.d.ts +491 -23
  509. package/dist/components/ui/sidebar.d.ts.map +1 -1
  510. package/dist/components/ui/sidebar.js +214 -143
  511. package/dist/components/ui/sidebar.js.map +1 -1
  512. package/dist/components/ui/sidebar.module.js +50 -0
  513. package/dist/components/ui/sidebar.module.js.map +1 -0
  514. package/dist/components/ui/sidebar_module.css +569 -0
  515. package/dist/components/ui/sidebar_module.css.map +1 -0
  516. package/dist/components/ui/skeleton.d.ts +30 -1
  517. package/dist/components/ui/skeleton.d.ts.map +1 -1
  518. package/dist/components/ui/skeleton.js +7 -7
  519. package/dist/components/ui/skeleton.js.map +1 -1
  520. package/dist/components/ui/skeleton.module.js +8 -0
  521. package/dist/components/ui/skeleton.module.js.map +1 -0
  522. package/dist/components/ui/skeleton_module.css +18 -0
  523. package/dist/components/ui/skeleton_module.css.map +1 -0
  524. package/dist/components/ui/slider.d.ts +48 -2
  525. package/dist/components/ui/slider.d.ts.map +1 -1
  526. package/dist/components/ui/slider.js +44 -17
  527. package/dist/components/ui/slider.js.map +1 -1
  528. package/dist/components/ui/slider.module.js +11 -0
  529. package/dist/components/ui/slider.module.js.map +1 -0
  530. package/dist/components/ui/slider_module.css +55 -0
  531. package/dist/components/ui/slider_module.css.map +1 -0
  532. package/dist/components/ui/sonner.d.ts +137 -4
  533. package/dist/components/ui/sonner.d.ts.map +1 -1
  534. package/dist/components/ui/sonner.js +450 -18
  535. package/dist/components/ui/sonner.js.map +1 -1
  536. package/dist/components/ui/sonner.module.js +34 -0
  537. package/dist/components/ui/sonner.module.js.map +1 -0
  538. package/dist/components/ui/sonner_module.css +233 -0
  539. package/dist/components/ui/sonner_module.css.map +1 -0
  540. package/dist/components/ui/spinner.d.ts +20 -1
  541. package/dist/components/ui/spinner.d.ts.map +1 -1
  542. package/dist/components/ui/spinner.js +29 -11
  543. package/dist/components/ui/spinner.js.map +1 -1
  544. package/dist/components/ui/spinner.module.js +10 -0
  545. package/dist/components/ui/spinner.module.js.map +1 -0
  546. package/dist/components/ui/spinner_module.css +28 -0
  547. package/dist/components/ui/spinner_module.css.map +1 -0
  548. package/dist/components/ui/stepper.d.ts +48 -0
  549. package/dist/components/ui/stepper.d.ts.map +1 -0
  550. package/dist/components/ui/stepper.js +41 -0
  551. package/dist/components/ui/stepper.js.map +1 -0
  552. package/dist/components/ui/stepper.module.js +12 -0
  553. package/dist/components/ui/stepper.module.js.map +1 -0
  554. package/dist/components/ui/stepper_module.css +75 -0
  555. package/dist/components/ui/stepper_module.css.map +1 -0
  556. package/dist/components/ui/switch.d.ts +29 -2
  557. package/dist/components/ui/switch.d.ts.map +1 -1
  558. package/dist/components/ui/switch.js +21 -9
  559. package/dist/components/ui/switch.js.map +1 -1
  560. package/dist/components/ui/switch.module.js +8 -0
  561. package/dist/components/ui/switch.module.js.map +1 -0
  562. package/dist/components/ui/switch_module.css +45 -0
  563. package/dist/components/ui/switch_module.css.map +1 -0
  564. package/dist/components/ui/table-skeleton.js +34 -0
  565. package/dist/components/ui/table-skeleton.js.map +1 -0
  566. package/dist/components/ui/table-skeleton.module.js +11 -0
  567. package/dist/components/ui/table-skeleton.module.js.map +1 -0
  568. package/dist/components/ui/table-skeleton_module.css +32 -0
  569. package/dist/components/ui/table-skeleton_module.css.map +1 -0
  570. package/dist/components/ui/table.d.ts +170 -8
  571. package/dist/components/ui/table.d.ts.map +1 -1
  572. package/dist/components/ui/table.js +17 -17
  573. package/dist/components/ui/table.js.map +1 -1
  574. package/dist/components/ui/table.module.js +15 -0
  575. package/dist/components/ui/table.module.js.map +1 -0
  576. package/dist/components/ui/table_module.css +71 -0
  577. package/dist/components/ui/table_module.css.map +1 -0
  578. package/dist/components/ui/tabs.d.ts +114 -5
  579. package/dist/components/ui/tabs.d.ts.map +1 -1
  580. package/dist/components/ui/tabs.js +71 -20
  581. package/dist/components/ui/tabs.js.map +1 -1
  582. package/dist/components/ui/tabs.module.js +10 -0
  583. package/dist/components/ui/tabs.module.js.map +1 -0
  584. package/dist/components/ui/tabs_module.css +89 -0
  585. package/dist/components/ui/tabs_module.css.map +1 -0
  586. package/dist/components/ui/textarea.d.ts +24 -1
  587. package/dist/components/ui/textarea.d.ts.map +1 -1
  588. package/dist/components/ui/textarea.js +2 -2
  589. package/dist/components/ui/textarea.js.map +1 -1
  590. package/dist/components/ui/textarea.module.js +7 -0
  591. package/dist/components/ui/textarea.module.js.map +1 -0
  592. package/dist/components/ui/textarea_module.css +33 -0
  593. package/dist/components/ui/textarea_module.css.map +1 -0
  594. package/dist/components/ui/timeline.d.ts +111 -0
  595. package/dist/components/ui/timeline.d.ts.map +1 -0
  596. package/dist/components/ui/timeline.js +34 -0
  597. package/dist/components/ui/timeline.js.map +1 -0
  598. package/dist/components/ui/timeline.module.js +10 -0
  599. package/dist/components/ui/timeline.module.js.map +1 -0
  600. package/dist/components/ui/timeline_module.css +47 -0
  601. package/dist/components/ui/timeline_module.css.map +1 -0
  602. package/dist/components/ui/toggle-group.d.ts +81 -10
  603. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  604. package/dist/components/ui/toggle-group.js +32 -23
  605. package/dist/components/ui/toggle-group.js.map +1 -1
  606. package/dist/components/ui/toggle-group.module.js +7 -0
  607. package/dist/components/ui/toggle-group.module.js.map +1 -0
  608. package/dist/components/ui/toggle-group_module.css +8 -0
  609. package/dist/components/ui/toggle-group_module.css.map +1 -0
  610. package/dist/components/ui/toggle.d.ts +60 -11
  611. package/dist/components/ui/toggle.d.ts.map +1 -1
  612. package/dist/components/ui/toggle.js +29 -29
  613. package/dist/components/ui/toggle.js.map +1 -1
  614. package/dist/components/ui/toggle.module.js +12 -0
  615. package/dist/components/ui/toggle.module.js.map +1 -0
  616. package/dist/components/ui/toggle_module.css +62 -0
  617. package/dist/components/ui/toggle_module.css.map +1 -0
  618. package/dist/components/ui/toolbar.d.ts +127 -0
  619. package/dist/components/ui/toolbar.d.ts.map +1 -0
  620. package/dist/components/ui/toolbar.js +85 -0
  621. package/dist/components/ui/toolbar.js.map +1 -0
  622. package/dist/components/ui/toolbar.module.js +12 -0
  623. package/dist/components/ui/toolbar.module.js.map +1 -0
  624. package/dist/components/ui/toolbar_module.css +115 -0
  625. package/dist/components/ui/toolbar_module.css.map +1 -0
  626. package/dist/components/ui/tooltip.d.ts +119 -5
  627. package/dist/components/ui/tooltip.d.ts.map +1 -1
  628. package/dist/components/ui/tooltip.js +48 -13
  629. package/dist/components/ui/tooltip.js.map +1 -1
  630. package/dist/components/ui/tooltip.module.js +9 -0
  631. package/dist/components/ui/tooltip.module.js.map +1 -0
  632. package/dist/components/ui/tooltip_module.css +35 -0
  633. package/dist/components/ui/tooltip_module.css.map +1 -0
  634. package/dist/components/ui/typewriter.d.ts +48 -13
  635. package/dist/components/ui/typewriter.d.ts.map +1 -1
  636. package/dist/components/ui/typewriter.js +46 -49
  637. package/dist/components/ui/typewriter.js.map +1 -1
  638. package/dist/components/ui/typewriter.module.js +16 -0
  639. package/dist/components/ui/typewriter.module.js.map +1 -0
  640. package/dist/components/ui/typewriter_module.css +102 -0
  641. package/dist/components/ui/typewriter_module.css.map +1 -0
  642. package/dist/components/ui/visually-hidden.d.ts +38 -0
  643. package/dist/components/ui/visually-hidden.d.ts.map +1 -0
  644. package/dist/components/ui/visually-hidden.js +13 -0
  645. package/dist/components/ui/visually-hidden.js.map +1 -0
  646. package/dist/components/ui/visually-hidden.module.js +7 -0
  647. package/dist/components/ui/visually-hidden.module.js.map +1 -0
  648. package/dist/components/ui/visually-hidden_module.css +14 -0
  649. package/dist/components/ui/visually-hidden_module.css.map +1 -0
  650. package/dist/hooks/useAnnounce.js +46 -0
  651. package/dist/hooks/useAnnounce.js.map +1 -0
  652. package/dist/hooks/useBreakpoint.d.ts +17 -0
  653. package/dist/hooks/useBreakpoint.d.ts.map +1 -0
  654. package/dist/hooks/useBreakpoint.js +16 -0
  655. package/dist/hooks/useBreakpoint.js.map +1 -0
  656. package/dist/hooks/useColorScheme.d.ts +14 -0
  657. package/dist/hooks/useColorScheme.d.ts.map +1 -0
  658. package/dist/hooks/useColorScheme.js +9 -0
  659. package/dist/hooks/useColorScheme.js.map +1 -0
  660. package/dist/hooks/useFocusManager.js +51 -0
  661. package/dist/hooks/useFocusManager.js.map +1 -0
  662. package/dist/hooks/useFocusVisible.d.ts +50 -0
  663. package/dist/hooks/useFocusVisible.d.ts.map +1 -0
  664. package/dist/hooks/useFocusVisible.js +35 -0
  665. package/dist/hooks/useFocusVisible.js.map +1 -0
  666. package/dist/hooks/useIsMobile.d.ts +5 -11
  667. package/dist/hooks/useIsMobile.d.ts.map +1 -1
  668. package/dist/hooks/useIsMobile.js +2 -13
  669. package/dist/hooks/useIsMobile.js.map +1 -1
  670. package/dist/hooks/useMediaQuery.d.ts +14 -0
  671. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  672. package/dist/hooks/useMediaQuery.js +20 -0
  673. package/dist/hooks/useMediaQuery.js.map +1 -0
  674. package/dist/hooks/usePrefersContrast.d.ts +19 -0
  675. package/dist/hooks/usePrefersContrast.d.ts.map +1 -0
  676. package/dist/hooks/usePrefersContrast.js +8 -0
  677. package/dist/hooks/usePrefersContrast.js.map +1 -0
  678. package/dist/hooks/useReducedMotion.d.ts +19 -0
  679. package/dist/hooks/useReducedMotion.d.ts.map +1 -0
  680. package/dist/hooks/useReducedMotion.js +2 -0
  681. package/dist/index.css +104 -5363
  682. package/dist/index.css.map +1 -1
  683. package/dist/index.d.ts +38 -8
  684. package/dist/index.d.ts.map +1 -1
  685. package/dist/index.js +89 -72
  686. package/dist/lib/utilities.d.ts +5 -4
  687. package/dist/lib/utilities.d.ts.map +1 -1
  688. package/dist/lib/utilities.js +1 -2
  689. package/dist/lib/utilities.js.map +1 -1
  690. package/dist/motion/Collapse.js +19 -0
  691. package/dist/motion/Collapse.js.map +1 -0
  692. package/dist/motion/Collapse.module.js +8 -0
  693. package/dist/motion/Collapse.module.js.map +1 -0
  694. package/dist/motion/Collapse_module.css +25 -0
  695. package/dist/motion/Collapse_module.css.map +1 -0
  696. package/dist/motion/Presence.js +14 -0
  697. package/dist/motion/Presence.js.map +1 -0
  698. package/dist/motion/index.js +5 -0
  699. package/dist/motion/presets.js +117 -0
  700. package/dist/motion/presets.js.map +1 -0
  701. package/dist/motion/tokens.js +41 -0
  702. package/dist/motion/tokens.js.map +1 -0
  703. package/package.json +154 -67
  704. package/src/components/ui/accordion.module.css +70 -0
  705. package/src/components/ui/accordion.tsx +278 -44
  706. package/src/components/ui/alert-dialog.module.css +87 -0
  707. package/src/components/ui/alert-dialog.tsx +474 -99
  708. package/src/components/ui/alert.module.css +57 -0
  709. package/src/components/ui/alert.tsx +136 -43
  710. package/src/components/ui/aspect-ratio.module.css +7 -0
  711. package/src/components/ui/aspect-ratio.tsx +38 -3
  712. package/src/components/ui/async-boundary.tsx +56 -0
  713. package/src/components/ui/avatar.module.css +31 -0
  714. package/src/components/ui/avatar.tsx +146 -36
  715. package/src/components/ui/background-beams.module.css +20 -0
  716. package/src/components/ui/background-beams.tsx +173 -134
  717. package/src/components/ui/badge.module.css +60 -0
  718. package/src/components/ui/badge.tsx +100 -32
  719. package/src/components/ui/breadcrumb.module.css +87 -0
  720. package/src/components/ui/breadcrumb.tsx +256 -74
  721. package/src/components/ui/bubble-background.module.css +97 -0
  722. package/src/components/ui/bubble-background.tsx +92 -52
  723. package/src/components/ui/button-group.module.css +76 -0
  724. package/src/components/ui/button-group.tsx +135 -46
  725. package/src/components/ui/button.module.css +138 -0
  726. package/src/components/ui/button.tsx +159 -41
  727. package/src/components/ui/calendar.module.css +250 -0
  728. package/src/components/ui/calendar.tsx +133 -103
  729. package/src/components/ui/card-skeleton.module.css +50 -0
  730. package/src/components/ui/card-skeleton.tsx +69 -0
  731. package/src/components/ui/card.module.css +41 -0
  732. package/src/components/ui/card.tsx +175 -22
  733. package/src/components/ui/carousel.module.css +80 -0
  734. package/src/components/ui/carousel.tsx +184 -43
  735. package/src/components/ui/chart.module.css +164 -0
  736. package/src/components/ui/chart.tsx +444 -102
  737. package/src/components/ui/checkbox-group.module.css +8 -0
  738. package/src/components/ui/checkbox-group.tsx +54 -0
  739. package/src/components/ui/checkbox.module.css +43 -0
  740. package/src/components/ui/checkbox.tsx +73 -19
  741. package/src/components/ui/collapsible.module.css +24 -0
  742. package/src/components/ui/collapsible.tsx +139 -3
  743. package/src/components/ui/command.module.css +193 -0
  744. package/src/components/ui/command.tsx +877 -114
  745. package/src/components/ui/context-menu.module.css +113 -0
  746. package/src/components/ui/context-menu.tsx +616 -157
  747. package/src/components/ui/copy-button.module.css +34 -0
  748. package/src/components/ui/copy-button.tsx +116 -0
  749. package/src/components/ui/counting-number.module.css +4 -0
  750. package/src/components/ui/counting-number.tsx +69 -31
  751. package/src/components/ui/dialog.module.css +113 -0
  752. package/src/components/ui/dialog.tsx +427 -81
  753. package/src/components/ui/dot-background.module.css +12 -0
  754. package/src/components/ui/dot-background.tsx +134 -126
  755. package/src/components/ui/drawer.module.css +85 -0
  756. package/src/components/ui/drawer.tsx +408 -80
  757. package/src/components/ui/dropdown-menu.module.css +113 -0
  758. package/src/components/ui/dropdown-menu.tsx +616 -159
  759. package/src/components/ui/dropdrawer.module.css +322 -0
  760. package/src/components/ui/dropdrawer.tsx +850 -398
  761. package/src/components/ui/empty.module.css +84 -0
  762. package/src/components/ui/empty.tsx +176 -52
  763. package/src/components/ui/error-boundary.module.css +36 -0
  764. package/src/components/ui/error-boundary.tsx +127 -0
  765. package/src/components/ui/field.module.css +179 -0
  766. package/src/components/ui/field.tsx +345 -139
  767. package/src/components/ui/fireworks-background.module.css +13 -0
  768. package/src/components/ui/fireworks-background.tsx +89 -51
  769. package/src/components/ui/flip-button.module.css +44 -0
  770. package/src/components/ui/flip-button.tsx +59 -28
  771. package/src/components/ui/focus-scope.module.css +3 -0
  772. package/src/components/ui/focus-scope.tsx +160 -0
  773. package/src/components/ui/form-skeleton.module.css +28 -0
  774. package/src/components/ui/form-skeleton.tsx +62 -0
  775. package/src/components/ui/form.module.css +20 -0
  776. package/src/components/ui/form.tsx +244 -33
  777. package/src/components/ui/gradient-background.module.css +6 -0
  778. package/src/components/ui/gradient-background.tsx +27 -5
  779. package/src/components/ui/gradient-text.module.css +23 -0
  780. package/src/components/ui/gradient-text.tsx +36 -9
  781. package/src/components/ui/highlight-text.module.css +14 -0
  782. package/src/components/ui/highlight-text.tsx +37 -15
  783. package/src/components/ui/hole-background.module.css +84 -0
  784. package/src/components/ui/hole-background.tsx +290 -162
  785. package/src/components/ui/hover-card.module.css +21 -0
  786. package/src/components/ui/hover-card.tsx +142 -21
  787. package/src/components/ui/input-group.module.css +148 -0
  788. package/src/components/ui/input-group.tsx +222 -98
  789. package/src/components/ui/input-otp.module.css +92 -0
  790. package/src/components/ui/input-otp.tsx +159 -33
  791. package/src/components/ui/input.module.css +37 -0
  792. package/src/components/ui/input.tsx +56 -14
  793. package/src/components/ui/item.module.css +143 -0
  794. package/src/components/ui/item.tsx +331 -104
  795. package/src/components/ui/kbd.module.css +31 -0
  796. package/src/components/ui/kbd.tsx +60 -17
  797. package/src/components/ui/label.module.css +13 -0
  798. package/src/components/ui/label.tsx +38 -14
  799. package/src/components/ui/list-skeleton.module.css +35 -0
  800. package/src/components/ui/list-skeleton.tsx +70 -0
  801. package/src/components/ui/loading-overlay.module.css +19 -0
  802. package/src/components/ui/loading-overlay.tsx +72 -0
  803. package/src/components/ui/menubar.module.css +144 -0
  804. package/src/components/ui/menubar.tsx +605 -192
  805. package/src/components/ui/meter.module.css +32 -0
  806. package/src/components/ui/meter.tsx +170 -0
  807. package/src/components/ui/navigation-menu.module.css +110 -0
  808. package/src/components/ui/navigation-menu.tsx +375 -101
  809. package/src/components/ui/number-field.module.css +126 -0
  810. package/src/components/ui/number-field.tsx +254 -0
  811. package/src/components/ui/pagination.module.css +64 -0
  812. package/src/components/ui/pagination.tsx +250 -72
  813. package/src/components/ui/popover.module.css +26 -0
  814. package/src/components/ui/popover.tsx +207 -25
  815. package/src/components/ui/progress.module.css +15 -0
  816. package/src/components/ui/progress.tsx +53 -16
  817. package/src/components/ui/radio-group.module.css +41 -0
  818. package/src/components/ui/radio-group.tsx +91 -34
  819. package/src/components/ui/resizable.module.css +67 -0
  820. package/src/components/ui/resizable.tsx +106 -26
  821. package/src/components/ui/ripple-button.module.css +35 -0
  822. package/src/components/ui/ripple-button.tsx +55 -21
  823. package/src/components/ui/scratcher.module.css +9 -0
  824. package/src/components/ui/scratcher.tsx +129 -99
  825. package/src/components/ui/scroll-area.module.css +47 -0
  826. package/src/components/ui/scroll-area.tsx +96 -34
  827. package/src/components/ui/select.module.css +131 -0
  828. package/src/components/ui/select.tsx +435 -124
  829. package/src/components/ui/separator.module.css +14 -0
  830. package/src/components/ui/separator.tsx +59 -18
  831. package/src/components/ui/sheet.module.css +138 -0
  832. package/src/components/ui/sheet.tsx +424 -95
  833. package/src/components/ui/sidebar.module.css +594 -0
  834. package/src/components/ui/sidebar.tsx +899 -425
  835. package/src/components/ui/skeleton.module.css +14 -0
  836. package/src/components/ui/skeleton.tsx +39 -9
  837. package/src/components/ui/slider.module.css +48 -0
  838. package/src/components/ui/slider.tsx +89 -16
  839. package/src/components/ui/sonner.module.css +246 -0
  840. package/src/components/ui/sonner.tsx +769 -25
  841. package/src/components/ui/spinner.module.css +25 -0
  842. package/src/components/ui/spinner.tsx +51 -12
  843. package/src/components/ui/stepper.module.css +72 -0
  844. package/src/components/ui/stepper.tsx +95 -0
  845. package/src/components/ui/switch.module.css +42 -0
  846. package/src/components/ui/switch.tsx +53 -20
  847. package/src/components/ui/table-skeleton.module.css +29 -0
  848. package/src/components/ui/table-skeleton.tsx +79 -0
  849. package/src/components/ui/table.module.css +66 -0
  850. package/src/components/ui/table.tsx +235 -61
  851. package/src/components/ui/tabs.module.css +89 -0
  852. package/src/components/ui/tabs.tsx +192 -45
  853. package/src/components/ui/textarea.module.css +30 -0
  854. package/src/components/ui/textarea.tsx +30 -10
  855. package/src/components/ui/timeline.module.css +43 -0
  856. package/src/components/ui/timeline.tsx +153 -0
  857. package/src/components/ui/toggle-group.module.css +5 -0
  858. package/src/components/ui/toggle-group.tsx +116 -35
  859. package/src/components/ui/toggle.module.css +57 -0
  860. package/src/components/ui/toggle.tsx +89 -33
  861. package/src/components/ui/toolbar.module.css +112 -0
  862. package/src/components/ui/toolbar.tsx +210 -0
  863. package/src/components/ui/tooltip.module.css +39 -0
  864. package/src/components/ui/tooltip.tsx +181 -24
  865. package/src/components/ui/typewriter.module.css +101 -0
  866. package/src/components/ui/typewriter.tsx +130 -128
  867. package/src/components/ui/visually-hidden.module.css +11 -0
  868. package/src/components/ui/visually-hidden.tsx +50 -0
  869. package/src/css-modules.d.ts +9 -0
  870. package/src/hooks/useAnnounce.tsx +73 -0
  871. package/src/hooks/useBreakpoint.tsx +41 -0
  872. package/src/hooks/useColorScheme.tsx +23 -0
  873. package/src/hooks/useFocusManager.tsx +89 -0
  874. package/src/hooks/useFocusVisible.tsx +88 -0
  875. package/src/hooks/useIsMobile.tsx +7 -28
  876. package/src/hooks/useMediaQuery.tsx +34 -0
  877. package/src/hooks/usePrefersContrast.tsx +24 -0
  878. package/src/hooks/useReducedMotion.tsx +20 -0
  879. package/src/index.css +127 -65
  880. package/src/index.ts +196 -18
  881. package/src/lib/utilities.ts +7 -6
  882. package/src/motion/Collapse.module.css +22 -0
  883. package/src/motion/Collapse.tsx +52 -0
  884. package/src/motion/Presence.tsx +44 -0
  885. package/src/motion/index.ts +13 -0
  886. package/src/motion/presets.ts +77 -0
  887. package/src/motion/tokens.ts +37 -0
  888. package/src/hooks/useIsMobile.test.tsx +0 -96
  889. package/src/hooks/useWindowSize.test.tsx +0 -57
  890. package/src/index.test.ts +0 -537
  891. package/src/lib/color-conversion-utilities.test.ts +0 -225
  892. package/src/lib/utilities.test.ts +0 -37
@@ -1,81 +1,417 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { Command } from "cmdk";
3
+ import { Dialog } from "@base-ui/react/dialog";
4
+ import { Separator } from "@base-ui/react/separator";
4
5
  import { Search } from "lucide-react";
5
- import { forwardRef } from "react";
6
- import { Dialog, DialogContent, DialogTitle } from "./dialog.js";
6
+ import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
7
7
  import { cn } from "../../lib/utilities.js";
8
- const command_Command = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Command, {
9
- ref: ref,
10
- className: cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-white text-neutral-950 dark:bg-neutral-950 dark:text-neutral-50", className),
11
- ...props
12
- }));
13
- command_Command.displayName = Command.displayName;
14
- const CommandDialog = ({ children, ...props })=>/*#__PURE__*/ jsx(Dialog, {
8
+ import command_module from "./command.module.js";
9
+ const CommandContext = /*#__PURE__*/ createContext(null);
10
+ const CommandGroupContext = /*#__PURE__*/ createContext(null);
11
+ function assignRef(ref, value) {
12
+ if ("function" == typeof ref) return void ref(value);
13
+ if (ref) ref.current = value;
14
+ }
15
+ function normalizeCommandValue(value) {
16
+ return value.trim().toLowerCase();
17
+ }
18
+ function defaultCommandFilter(value, search, keywords = []) {
19
+ if (0 === search.length) return 1;
20
+ const normalizedSearch = normalizeCommandValue(search);
21
+ const normalizedValue = normalizeCommandValue([
22
+ value,
23
+ ...keywords
24
+ ].join(" "));
25
+ return normalizedValue.includes(normalizedSearch) ? 1 : 0;
26
+ }
27
+ function useCommandContext(componentName) {
28
+ const context = useContext(CommandContext);
29
+ if (!context) throw new Error(`${componentName} must be used within Command.`);
30
+ return context;
31
+ }
32
+ const Command = /*#__PURE__*/ forwardRef(({ children, className, defaultValue: _defaultValue, disablePointerSelection = false, filter, label, loop = false, onKeyDown, onValueChange: _onValueChange, shouldFilter = true, value: _value, vimBindings: _vimBindings, ...props }, ref)=>{
33
+ const [activeItemId, setActiveItemId] = useState(null);
34
+ const [search, setSearch] = useState("");
35
+ const itemOrderReference = useRef(0);
36
+ const itemsReference = useRef(new Map());
37
+ const [itemsVersion, setItemsVersion] = useState(0);
38
+ const listId = useId();
39
+ const registerItem = useCallback((item)=>{
40
+ const existingItem = itemsReference.current.get(item.id);
41
+ const nextItem = {
42
+ ...item,
43
+ order: existingItem?.order ?? itemOrderReference.current++
44
+ };
45
+ const hasChanged = !existingItem || existingItem.disabled !== nextItem.disabled || existingItem.forceMount !== nextItem.forceMount || existingItem.groupId !== nextItem.groupId || existingItem.keywords.join("\u0000") !== nextItem.keywords.join("\u0000") || existingItem.ref !== nextItem.ref || existingItem.textValue !== nextItem.textValue || existingItem.value !== nextItem.value;
46
+ if (!hasChanged) return;
47
+ itemsReference.current.set(item.id, nextItem);
48
+ setItemsVersion((currentVersion)=>currentVersion + 1);
49
+ }, []);
50
+ const unregisterItem = useCallback((itemId)=>{
51
+ if (!itemsReference.current.delete(itemId)) return;
52
+ setItemsVersion((currentVersion)=>currentVersion + 1);
53
+ }, []);
54
+ const items = useMemo(()=>[
55
+ ...itemsReference.current.values()
56
+ ].sort((firstItem, secondItem)=>firstItem.order - secondItem.order), [
57
+ itemsVersion
58
+ ]);
59
+ const isFiltering = shouldFilter && search.trim().length > 0;
60
+ const isItemVisible = useCallback((itemId)=>{
61
+ const item = itemsReference.current.get(itemId);
62
+ if (!item) return false;
63
+ if (item.forceMount || !shouldFilter || 0 === search.trim().length) return true;
64
+ const itemValue = item.value ?? item.textValue;
65
+ const itemFilter = filter ?? defaultCommandFilter;
66
+ return itemFilter(itemValue, search, item.keywords) > 0;
67
+ }, [
68
+ filter,
69
+ search,
70
+ shouldFilter
71
+ ]);
72
+ const visibleItems = useMemo(()=>items.filter((item)=>isItemVisible(item.id)), [
73
+ isItemVisible,
74
+ items
75
+ ]);
76
+ const selectableItems = useMemo(()=>visibleItems.filter((item)=>!item.disabled), [
77
+ visibleItems
78
+ ]);
79
+ useEffect(()=>{
80
+ if (0 === selectableItems.length) return void setActiveItemId(null);
81
+ if (!activeItemId || !selectableItems.some((item)=>item.id === activeItemId)) setActiveItemId(selectableItems[0].id);
82
+ }, [
83
+ activeItemId,
84
+ selectableItems
85
+ ]);
86
+ useEffect(()=>{
87
+ if (!activeItemId) return;
88
+ itemsReference.current.get(activeItemId)?.ref.current?.scrollIntoView({
89
+ block: "nearest"
90
+ });
91
+ }, [
92
+ activeItemId
93
+ ]);
94
+ const selectSpecificItem = useCallback((itemId)=>{
95
+ setActiveItemId(itemId);
96
+ }, []);
97
+ const selectNextItem = useCallback(()=>{
98
+ if (0 === selectableItems.length) return;
99
+ const currentIndex = selectableItems.findIndex((item)=>item.id === activeItemId);
100
+ if (-1 === currentIndex) return void setActiveItemId(selectableItems[0].id);
101
+ const nextIndex = currentIndex + 1;
102
+ if (nextIndex >= selectableItems.length) return void setActiveItemId(loop ? selectableItems[0].id : selectableItems[currentIndex].id);
103
+ setActiveItemId(selectableItems[nextIndex].id);
104
+ }, [
105
+ activeItemId,
106
+ loop,
107
+ selectableItems
108
+ ]);
109
+ const selectPreviousItem = useCallback(()=>{
110
+ if (0 === selectableItems.length) return;
111
+ const currentIndex = selectableItems.findIndex((item)=>item.id === activeItemId);
112
+ if (-1 === currentIndex) return void setActiveItemId(selectableItems[0].id);
113
+ const previousIndex = currentIndex - 1;
114
+ if (previousIndex < 0) return void setActiveItemId(loop ? selectableItems.at(-1)?.id ?? selectableItems[0].id : selectableItems[currentIndex].id);
115
+ setActiveItemId(selectableItems[previousIndex].id);
116
+ }, [
117
+ activeItemId,
118
+ loop,
119
+ selectableItems
120
+ ]);
121
+ const triggerActiveItem = useCallback(()=>{
122
+ if (!activeItemId) return;
123
+ itemsReference.current.get(activeItemId)?.ref.current?.click();
124
+ }, [
125
+ activeItemId
126
+ ]);
127
+ const hasVisibleItemsInGroup = useCallback((groupId)=>visibleItems.some((item)=>item.groupId === groupId), [
128
+ visibleItems
129
+ ]);
130
+ const getVisibleItemCount = useCallback(()=>visibleItems.length, [
131
+ visibleItems.length
132
+ ]);
133
+ const contextValue = useMemo(()=>({
134
+ activeItemId,
135
+ disablePointerSelection,
136
+ getVisibleItemCount,
137
+ hasVisibleItemsInGroup,
138
+ isFiltering,
139
+ isItemVisible,
140
+ listId,
141
+ loop,
142
+ registerItem,
143
+ search,
144
+ setSearch,
145
+ selectNextItem,
146
+ selectPreviousItem,
147
+ selectSpecificItem,
148
+ shouldFilter,
149
+ triggerActiveItem,
150
+ unregisterItem
151
+ }), [
152
+ activeItemId,
153
+ disablePointerSelection,
154
+ getVisibleItemCount,
155
+ hasVisibleItemsInGroup,
156
+ isFiltering,
157
+ isItemVisible,
158
+ listId,
159
+ loop,
160
+ registerItem,
161
+ search,
162
+ setSearch,
163
+ selectNextItem,
164
+ selectPreviousItem,
165
+ selectSpecificItem,
166
+ shouldFilter,
167
+ triggerActiveItem,
168
+ unregisterItem
169
+ ]);
170
+ return /*#__PURE__*/ jsx(CommandContext.Provider, {
171
+ value: contextValue,
172
+ children: /*#__PURE__*/ jsx("div", {
173
+ ref: ref,
174
+ "aria-label": label,
175
+ className: cn(command_module.command, className),
176
+ onKeyDown: (event)=>{
177
+ onKeyDown?.(event);
178
+ if (event.defaultPrevented) return;
179
+ switch(event.key){
180
+ case "ArrowDown":
181
+ event.preventDefault();
182
+ selectNextItem();
183
+ break;
184
+ case "ArrowUp":
185
+ event.preventDefault();
186
+ selectPreviousItem();
187
+ break;
188
+ case "Home":
189
+ if (0 === selectableItems.length) return;
190
+ event.preventDefault();
191
+ setActiveItemId(selectableItems[0].id);
192
+ break;
193
+ case "End":
194
+ if (0 === selectableItems.length) return;
195
+ event.preventDefault();
196
+ setActiveItemId(selectableItems.at(-1)?.id ?? selectableItems[0].id);
197
+ break;
198
+ case "Enter":
199
+ if (event.nativeEvent.isComposing) return;
200
+ event.preventDefault();
201
+ triggerActiveItem();
202
+ break;
203
+ default:
204
+ break;
205
+ }
206
+ },
207
+ ...props,
208
+ children: children
209
+ })
210
+ });
211
+ });
212
+ Command.displayName = "Command";
213
+ function CommandDialog({ children, open, onOpenChange, title = "Command menu", ...props }) {
214
+ return /*#__PURE__*/ jsx(Dialog.Root, {
215
+ open: open,
216
+ onOpenChange: onOpenChange,
15
217
  ...props,
16
- children: /*#__PURE__*/ jsxs(DialogContent, {
17
- className: "overflow-hidden p-0",
218
+ children: /*#__PURE__*/ jsxs(Dialog.Portal, {
18
219
  children: [
19
- /*#__PURE__*/ jsx(DialogTitle, {
20
- className: "sr-only"
220
+ /*#__PURE__*/ jsx(Dialog.Backdrop, {
221
+ className: command_module.backdrop
21
222
  }),
22
- /*#__PURE__*/ jsx(command_Command, {
23
- className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 dark:[&_[cmdk-group-heading]]:text-neutral-400 [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",
24
- children: children
223
+ /*#__PURE__*/ jsxs(Dialog.Popup, {
224
+ className: command_module.dialogPopup,
225
+ children: [
226
+ /*#__PURE__*/ jsx(Dialog.Title, {
227
+ className: command_module.srOnly,
228
+ children: title
229
+ }),
230
+ /*#__PURE__*/ jsx(Command, {
231
+ children: children
232
+ })
233
+ ]
25
234
  })
26
235
  ]
27
236
  })
28
237
  });
29
- const CommandInput = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsxs("div", {
30
- className: "flex items-center border-b px-3",
31
- "cmdk-input-wrapper": "",
238
+ }
239
+ CommandDialog.displayName = "CommandDialog";
240
+ const CommandInput = /*#__PURE__*/ forwardRef(({ className, onChange, onValueChange, value, ...props }, ref)=>{
241
+ const { activeItemId, listId, search, selectSpecificItem, setSearch } = useCommandContext("CommandInput");
242
+ const isControlled = void 0 !== value;
243
+ const inputValue = isControlled ? value : search;
244
+ useEffect(()=>{
245
+ if (!isControlled) return;
246
+ setSearch(value ?? "");
247
+ }, [
248
+ isControlled,
249
+ setSearch,
250
+ value
251
+ ]);
252
+ return /*#__PURE__*/ jsxs("div", {
253
+ className: command_module.inputWrapper,
32
254
  children: [
33
255
  /*#__PURE__*/ jsx(Search, {
34
- className: "mr-2 h-4 w-4 shrink-0 opacity-50"
256
+ className: command_module.searchIcon
35
257
  }),
36
- /*#__PURE__*/ jsx(Command.Input, {
258
+ /*#__PURE__*/ jsx("input", {
37
259
  ref: ref,
38
- className: cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50 dark:placeholder:text-neutral-400", className),
260
+ "aria-activedescendant": activeItemId ?? void 0,
261
+ "aria-autocomplete": "list",
262
+ "aria-controls": listId,
263
+ "aria-expanded": "true",
264
+ className: cn(command_module.input, className),
265
+ onChange: (event)=>{
266
+ onChange?.(event);
267
+ const nextSearchValue = event.currentTarget.value;
268
+ setSearch(nextSearchValue);
269
+ onValueChange?.(nextSearchValue);
270
+ selectSpecificItem(null);
271
+ },
272
+ role: "combobox",
273
+ type: "text",
274
+ value: inputValue,
39
275
  ...props
40
276
  })
41
277
  ]
42
- }));
43
- CommandInput.displayName = Command.Input.displayName;
44
- const CommandList = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Command.List, {
45
- ref: ref,
46
- className: cn("max-h-[300px] overflow-x-hidden overflow-y-auto", className),
47
- ...props
48
- }));
49
- CommandList.displayName = Command.List.displayName;
50
- const CommandEmpty = /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ jsx(Command.Empty, {
51
- ref: ref,
52
- className: "py-6 text-center text-sm",
53
- ...props
54
- }));
55
- CommandEmpty.displayName = Command.Empty.displayName;
56
- const CommandGroup = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Command.Group, {
278
+ });
279
+ });
280
+ CommandInput.displayName = "CommandInput";
281
+ const CommandList = /*#__PURE__*/ forwardRef(({ className, label, ...props }, ref)=>{
282
+ const { listId } = useCommandContext("CommandList");
283
+ return /*#__PURE__*/ jsx("div", {
284
+ "aria-label": label,
57
285
  ref: ref,
58
- className: cn("overflow-hidden p-1 text-neutral-950 dark:text-neutral-50 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 dark:[&_[cmdk-group-heading]]:text-neutral-400", className),
286
+ className: cn(command_module.list, className),
287
+ id: listId,
288
+ role: "listbox",
59
289
  ...props
60
- }));
61
- CommandGroup.displayName = Command.Group.displayName;
62
- const CommandSeparator = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Command.Separator, {
290
+ });
291
+ });
292
+ CommandList.displayName = "CommandList";
293
+ const CommandEmpty = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
294
+ const { getVisibleItemCount } = useCommandContext("CommandEmpty");
295
+ if (getVisibleItemCount() > 0) return null;
296
+ return /*#__PURE__*/ jsx("div", {
63
297
  ref: ref,
64
- className: cn("-mx-1 h-px bg-neutral-200 dark:bg-neutral-800", className),
298
+ className: cn(command_module.empty, className),
299
+ role: "status",
65
300
  ...props
66
- }));
67
- CommandSeparator.displayName = Command.Separator.displayName;
68
- const CommandItem = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Command.Item, {
301
+ });
302
+ });
303
+ CommandEmpty.displayName = "CommandEmpty";
304
+ const CommandGroup = /*#__PURE__*/ forwardRef(({ children, className, forceMount = false, heading, value: _value, ...props }, ref)=>{
305
+ const groupId = useId();
306
+ const { hasVisibleItemsInGroup, isFiltering } = useCommandContext("CommandGroup");
307
+ if (!forceMount && isFiltering && !hasVisibleItemsInGroup(groupId)) return null;
308
+ return /*#__PURE__*/ jsx(CommandGroupContext.Provider, {
309
+ value: groupId,
310
+ children: /*#__PURE__*/ jsxs("div", {
311
+ ref: ref,
312
+ className: cn(command_module.group, className),
313
+ "data-command-group": "",
314
+ ...props,
315
+ children: [
316
+ heading ? /*#__PURE__*/ jsx("div", {
317
+ className: command_module.groupHeading,
318
+ children: heading
319
+ }) : null,
320
+ children
321
+ ]
322
+ })
323
+ });
324
+ });
325
+ CommandGroup.displayName = "CommandGroup";
326
+ const CommandSeparator = /*#__PURE__*/ forwardRef(({ alwaysRender = false, className, orientation = "horizontal", ...props }, ref)=>{
327
+ const { isFiltering } = useCommandContext("CommandSeparator");
328
+ if (isFiltering && !alwaysRender) return null;
329
+ return /*#__PURE__*/ jsx(Separator, {
69
330
  ref: ref,
70
- className: cn("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-neutral-100 data-[selected=true]:text-neutral-900 dark:data-[selected=true]:bg-neutral-800 dark:data-[selected=true]:text-neutral-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", className),
331
+ className: cn(command_module.separator, className),
332
+ orientation: orientation,
71
333
  ...props
72
- }));
73
- CommandItem.displayName = Command.Item.displayName;
334
+ });
335
+ });
336
+ CommandSeparator.displayName = "CommandSeparator";
337
+ const CommandItem = /*#__PURE__*/ forwardRef(({ children, className, disabled = false, forceMount = false, keywords = [], onClick, onMouseEnter, onSelect, value, ...props }, ref)=>{
338
+ const { activeItemId, disablePointerSelection, isFiltering, isItemVisible, registerItem, selectSpecificItem, unregisterItem } = useCommandContext("CommandItem");
339
+ const groupId = useContext(CommandGroupContext);
340
+ const generatedId = useId();
341
+ const itemReference = useRef(null);
342
+ const keywordSignature = useMemo(()=>keywords.join("\u0000"), [
343
+ keywords
344
+ ]);
345
+ useLayoutEffect(()=>{
346
+ const textValue = value ?? itemReference.current?.textContent?.trim() ?? "";
347
+ registerItem({
348
+ disabled,
349
+ forceMount,
350
+ groupId,
351
+ id: generatedId,
352
+ keywords,
353
+ ref: itemReference,
354
+ textValue,
355
+ value
356
+ });
357
+ }, [
358
+ children,
359
+ disabled,
360
+ forceMount,
361
+ generatedId,
362
+ groupId,
363
+ keywordSignature,
364
+ keywords,
365
+ registerItem,
366
+ value
367
+ ]);
368
+ useEffect(()=>()=>{
369
+ unregisterItem(generatedId);
370
+ }, [
371
+ generatedId,
372
+ unregisterItem
373
+ ]);
374
+ const isVisible = forceMount || !isFiltering || isItemVisible(generatedId);
375
+ if (!isVisible) return null;
376
+ const isSelected = activeItemId === generatedId;
377
+ return /*#__PURE__*/ jsx("div", {
378
+ ...props,
379
+ ref: (node)=>{
380
+ itemReference.current = node;
381
+ assignRef(ref, node);
382
+ },
383
+ "aria-disabled": disabled || void 0,
384
+ "aria-selected": isSelected,
385
+ className: cn(command_module.item, className),
386
+ "data-disabled": disabled ? "true" : void 0,
387
+ "data-selected": isSelected ? "true" : void 0,
388
+ id: generatedId,
389
+ onClick: (event)=>{
390
+ if (disabled) return void event.preventDefault();
391
+ selectSpecificItem(generatedId);
392
+ onSelect?.(value ?? itemReference.current?.textContent?.trim() ?? "");
393
+ onClick?.(event);
394
+ },
395
+ onFocus: ()=>{
396
+ if (disabled) return;
397
+ selectSpecificItem(generatedId);
398
+ },
399
+ onMouseEnter: (event)=>{
400
+ onMouseEnter?.(event);
401
+ if (disabled || disablePointerSelection) return;
402
+ selectSpecificItem(generatedId);
403
+ },
404
+ role: "option",
405
+ tabIndex: disabled ? -1 : 0,
406
+ children: children
407
+ });
408
+ });
409
+ CommandItem.displayName = "CommandItem";
74
410
  const CommandShortcut = ({ className, ...props })=>/*#__PURE__*/ jsx("span", {
75
- className: cn("ml-auto text-xs tracking-widest text-neutral-500 dark:text-neutral-400", className),
411
+ className: cn(command_module.shortcut, className),
76
412
  ...props
77
413
  });
78
414
  CommandShortcut.displayName = "CommandShortcut";
79
- export { command_Command as Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
415
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
80
416
 
81
417
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/command.js","sources":["../../../src/components/ui/command.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport type {DialogProps} from \"@radix-ui/react-dialog\";\r\nimport {Command as CommandPrimitive} from \"cmdk\";\r\nimport {Search} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {Dialog, DialogContent, DialogTitle} from \"@/components/ui/dialog\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nconst Command = React.forwardRef<React.ComponentRef<typeof CommandPrimitive>, React.ComponentPropsWithoutRef<typeof CommandPrimitive>>(\r\n ({className, ...props}, ref) => (\r\n <CommandPrimitive\r\n ref={ref}\r\n className={cn(\r\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-white text-neutral-950 dark:bg-neutral-950 dark:text-neutral-50\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n ),\r\n);\r\nCommand.displayName = CommandPrimitive.displayName;\r\n\r\nconst CommandDialog = ({children, ...props}: DialogProps) => {\r\n return (\r\n <Dialog {...props}>\r\n <DialogContent className='overflow-hidden p-0'>\r\n <DialogTitle className='sr-only' />\r\n <Command className='[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 dark:[&_[cmdk-group-heading]]:text-neutral-400 [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5'>\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nconst CommandInput = React.forwardRef<\r\n React.ComponentRef<typeof CommandPrimitive.Input>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\r\n>(({className, ...props}, ref) => (\r\n <div\r\n className='flex items-center border-b px-3'\r\n // eslint-disable-next-line react/no-unknown-property -- cmdk specific attribute\r\n cmdk-input-wrapper=''>\r\n <Search className='mr-2 h-4 w-4 shrink-0 opacity-50' />\r\n <CommandPrimitive.Input\r\n ref={ref}\r\n className={cn(\r\n \"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50 dark:placeholder:text-neutral-400\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n));\r\n\r\nCommandInput.displayName = CommandPrimitive.Input.displayName;\r\n\r\nconst CommandList = React.forwardRef<\r\n React.ComponentRef<typeof CommandPrimitive.List>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\r\n>(({className, ...props}, ref) => (\r\n <CommandPrimitive.List\r\n ref={ref}\r\n className={cn(\"max-h-[300px] overflow-x-hidden overflow-y-auto\", className)}\r\n {...props}\r\n />\r\n));\r\n\r\nCommandList.displayName = CommandPrimitive.List.displayName;\r\n\r\nconst CommandEmpty = React.forwardRef<\r\n React.ComponentRef<typeof CommandPrimitive.Empty>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\r\n>((props, ref) => (\r\n <CommandPrimitive.Empty\r\n ref={ref}\r\n className='py-6 text-center text-sm'\r\n {...props}\r\n />\r\n));\r\n\r\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\r\n\r\nconst CommandGroup = React.forwardRef<\r\n React.ComponentRef<typeof CommandPrimitive.Group>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\r\n>(({className, ...props}, ref) => (\r\n <CommandPrimitive.Group\r\n ref={ref}\r\n className={cn(\r\n \"overflow-hidden p-1 text-neutral-950 dark:text-neutral-50 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 dark:[&_[cmdk-group-heading]]:text-neutral-400\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n));\r\n\r\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\r\n\r\nconst CommandSeparator = React.forwardRef<\r\n React.ComponentRef<typeof CommandPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\r\n>(({className, ...props}, ref) => (\r\n <CommandPrimitive.Separator\r\n ref={ref}\r\n className={cn(\"-mx-1 h-px bg-neutral-200 dark:bg-neutral-800\", className)}\r\n {...props}\r\n />\r\n));\r\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\r\n\r\nconst CommandItem = React.forwardRef<\r\n React.ComponentRef<typeof CommandPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\r\n>(({className, ...props}, ref) => (\r\n <CommandPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-neutral-100 data-[selected=true]:text-neutral-900 dark:data-[selected=true]:bg-neutral-800 dark:data-[selected=true]:text-neutral-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n));\r\n\r\nCommandItem.displayName = CommandPrimitive.Item.displayName;\r\n\r\nconst CommandShortcut = ({className, ...props}: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return (\r\n <span\r\n className={cn(\"ml-auto text-xs tracking-widest text-neutral-500 dark:text-neutral-400\", className)}\r\n {...props}\r\n />\r\n );\r\n};\r\nCommandShortcut.displayName = \"CommandShortcut\";\r\n\r\nexport {Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut};\r\n"],"names":["Command","React","className","props","ref","CommandPrimitive","cn","CommandDialog","children","Dialog","DialogContent","DialogTitle","CommandInput","Search","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut"],"mappings":";;;;;;;AAUA,MAAMA,kBAAU,WAAHA,GAAGC,WACd,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACtB,IAACC,SAAgBA;QACf,KAAKD;QACL,WAAWE,GACT,6HACAJ;QAED,GAAGC,KAAK;;AAIfH,gBAAQ,WAAW,GAAGK,QAAAA,WAA4B;AAElD,MAAME,gBAAgB,CAAC,EAACC,QAAQ,EAAE,GAAGL,OAAmB,GAC/C,WAAP,GACE,IAACM,QAAMA;QAAE,GAAGN,KAAK;kBACf,mBAACO,eAAaA;YAAC,WAAU;;8BACvB,IAACC,aAAWA;oBAAC,WAAU;;8BACvB,IAACX,iBAAOA;oBAAC,WAAU;8BAChBQ;;;;;AAOX,MAAMI,eAAe,WAAfA,GAAeX,WAGnB,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACxB,KAAC;QACC,WAAU;QAEV,sBAAmB;;0BACnB,IAACS,QAAMA;gBAAC,WAAU;;0BAClB,IAACR,QAAAA,KAAsB;gBACrB,KAAKD;gBACL,WAAWE,GACT,uLACAJ;gBAED,GAAGC,KAAK;;;;AAKfS,aAAa,WAAW,GAAGP,QAAAA,KAAAA,CAAAA,WAAkC;AAE7D,MAAMS,cAAc,WAAdA,GAAcb,WAGlB,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACxB,IAACC,QAAAA,IAAqB;QACpB,KAAKD;QACL,WAAWE,GAAG,mDAAmDJ;QAChE,GAAGC,KAAK;;AAIbW,YAAY,WAAW,GAAGT,QAAAA,IAAAA,CAAAA,WAAiC;AAE3D,MAAMU,eAAe,WAAfA,GAAed,WAGnB,CAACE,OAAOC,MAAAA,WAAAA,GACR,IAACC,QAAAA,KAAsB;QACrB,KAAKD;QACL,WAAU;QACT,GAAGD,KAAK;;AAIbY,aAAa,WAAW,GAAGV,QAAAA,KAAAA,CAAAA,WAAkC;AAE7D,MAAMW,eAAe,WAAfA,GAAef,WAGnB,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACxB,IAACC,QAAAA,KAAsB;QACrB,KAAKD;QACL,WAAWE,GACT,0RACAJ;QAED,GAAGC,KAAK;;AAIba,aAAa,WAAW,GAAGX,QAAAA,KAAAA,CAAAA,WAAkC;AAE7D,MAAMY,mBAAmB,WAAnBA,GAAmBhB,WAGvB,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACxB,IAACC,QAAAA,SAA0B;QACzB,KAAKD;QACL,WAAWE,GAAG,iDAAiDJ;QAC9D,GAAGC,KAAK;;AAGbc,iBAAiB,WAAW,GAAGZ,QAAAA,SAAAA,CAAAA,WAAsC;AAErE,MAAMa,cAAc,WAAdA,GAAcjB,WAGlB,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACxB,IAACC,QAAAA,IAAqB;QACpB,KAAKD;QACL,WAAWE,GACT,6YACAJ;QAED,GAAGC,KAAK;;AAIbe,YAAY,WAAW,GAAGb,QAAAA,IAAAA,CAAAA,WAAiC;AAE3D,MAAMc,kBAAkB,CAAC,EAACjB,SAAS,EAAE,GAAGC,OAA6C,GAC5E,WAAP,GACE,IAAC;QACC,WAAWG,GAAG,0EAA0EJ;QACvF,GAAGC,KAAK;;AAIfgB,gBAAgB,WAAW,GAAG"}
1
+ {"version":3,"file":"components/ui/command.js","sources":["../../../src/components/ui/command.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {Dialog as BaseDialog} from \"@base-ui/react/dialog\";\r\nimport {Separator as BaseSeparator} from \"@base-ui/react/separator\";\r\nimport {Search} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./command.module.css\";\r\n\r\ntype CommandFilter = (value: string, search: string, keywords?: string[]) => number;\r\n\r\ninterface CommandProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Command palette content.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n /**\r\n * Accessible label announced for the command region.\r\n * @default undefined\r\n */\r\n label?: string;\r\n /**\r\n * Whether items should be filtered automatically as the search value changes.\r\n * @default true\r\n */\r\n shouldFilter?: boolean;\r\n /**\r\n * Custom scoring function used to determine whether an item matches the current search value.\r\n * @default undefined\r\n */\r\n filter?: CommandFilter;\r\n /**\r\n * Deprecated uncontrolled search value placeholder retained for API compatibility.\r\n * @default undefined\r\n */\r\n defaultValue?: string;\r\n /**\r\n * Deprecated controlled search value placeholder retained for API compatibility.\r\n * @default undefined\r\n */\r\n value?: string;\r\n /**\r\n * Deprecated change callback retained for API compatibility.\r\n * @default undefined\r\n */\r\n onValueChange?: (value: string) => void;\r\n /**\r\n * Whether keyboard navigation should wrap from the last item to the first.\r\n * @default false\r\n */\r\n loop?: boolean;\r\n /**\r\n * Whether pointer hover should avoid changing the active item.\r\n * @default false\r\n */\r\n disablePointerSelection?: boolean;\r\n /**\r\n * Deprecated Vim keybinding toggle retained for API compatibility.\r\n * @default undefined\r\n */\r\n vimBindings?: boolean;\r\n}\r\n\r\ninterface CommandDialogProps extends Omit<React.ComponentPropsWithoutRef<typeof BaseDialog.Root>, \"children\"> {\r\n /**\r\n * Command palette content rendered inside the dialog popup.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n /**\r\n * Accessible dialog title announced to assistive technologies.\r\n * @default \"Command menu\"\r\n */\r\n title?: React.ReactNode;\r\n}\r\n\r\ninterface CommandInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"type\" | \"value\"> {\r\n /**\r\n * Controlled search value.\r\n * @default undefined\r\n */\r\n value?: string;\r\n /**\r\n * Native input change handler invoked before the command-specific callback.\r\n * @default undefined\r\n */\r\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\r\n /**\r\n * Callback fired when the command search value changes.\r\n * @default undefined\r\n */\r\n onValueChange?: (search: string) => void;\r\n}\r\n\r\ninterface CommandListProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Command items and groups.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n /**\r\n * Accessible label for the listbox container.\r\n * @default undefined\r\n */\r\n label?: string;\r\n}\r\n\r\ninterface CommandGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"value\"> {\r\n /**\r\n * Group contents.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n /**\r\n * Optional visual heading displayed above the group items.\r\n * @default undefined\r\n */\r\n heading?: React.ReactNode;\r\n /**\r\n * Optional stable value retained for API compatibility.\r\n * @default undefined\r\n */\r\n value?: string;\r\n /**\r\n * Whether the group should remain rendered even when it has no visible items.\r\n * @default false\r\n */\r\n forceMount?: boolean;\r\n}\r\n\r\ninterface CommandSeparatorProps extends React.ComponentPropsWithoutRef<typeof BaseSeparator> {\r\n /**\r\n * Whether the separator should remain visible while filtering is active.\r\n * @default false\r\n */\r\n alwaysRender?: boolean;\r\n}\r\n\r\ninterface CommandItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\r\n /**\r\n * Item contents.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n /**\r\n * Whether the item is disabled and should be skipped by selection logic.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Callback invoked when the item is selected.\r\n * @default undefined\r\n */\r\n onSelect?: (value: string) => void;\r\n /**\r\n * Optional value used for filtering and selection callbacks.\r\n * @default undefined\r\n */\r\n value?: string;\r\n /**\r\n * Additional search keywords included in the filter match set.\r\n * @default []\r\n */\r\n keywords?: string[];\r\n /**\r\n * Whether the item should remain rendered even when filtered out.\r\n * @default false\r\n */\r\n forceMount?: boolean;\r\n}\r\n\r\ninterface CommandRegisteredItem {\r\n disabled: boolean;\r\n forceMount: boolean;\r\n groupId: string | null;\r\n id: string;\r\n keywords: string[];\r\n order: number;\r\n ref: React.RefObject<HTMLDivElement | null>;\r\n textValue: string;\r\n value?: string;\r\n}\r\n\r\ninterface CommandContextValue {\r\n activeItemId: string | null;\r\n disablePointerSelection: boolean;\r\n getVisibleItemCount: () => number;\r\n hasVisibleItemsInGroup: (groupId: string) => boolean;\r\n isFiltering: boolean;\r\n isItemVisible: (itemId: string) => boolean;\r\n listId: string;\r\n loop: boolean;\r\n registerItem: (item: Omit<CommandRegisteredItem, \"order\">) => void;\r\n search: string;\r\n setSearch: (value: string) => void;\r\n selectNextItem: () => void;\r\n selectPreviousItem: () => void;\r\n selectSpecificItem: (itemId: string | null) => void;\r\n shouldFilter: boolean;\r\n triggerActiveItem: () => void;\r\n unregisterItem: (itemId: string) => void;\r\n}\r\n\r\nconst CommandContext = React.createContext<CommandContextValue | null>(null);\r\nconst CommandGroupContext = React.createContext<string | null>(null);\r\n\r\nfunction assignRef<TValue>(ref: React.ForwardedRef<TValue>, value: TValue): void {\r\n if (typeof ref === \"function\") {\r\n ref(value);\r\n return;\r\n }\r\n\r\n if (ref) {\r\n ref.current = value;\r\n }\r\n}\r\n\r\nfunction normalizeCommandValue(value: string): string {\r\n return value.trim().toLowerCase();\r\n}\r\n\r\nfunction defaultCommandFilter(value: string, search: string, keywords: string[] = []): number {\r\n if (search.length === 0) {\r\n return 1;\r\n }\r\n\r\n const normalizedSearch = normalizeCommandValue(search);\r\n const normalizedValue = normalizeCommandValue([value, ...keywords].join(\" \"));\r\n\r\n return normalizedValue.includes(normalizedSearch) ? 1 : 0;\r\n}\r\n\r\nfunction useCommandContext(componentName: string): CommandContextValue {\r\n const context = React.useContext(CommandContext);\r\n\r\n if (!context) {\r\n throw new Error(`${componentName} must be used within Command.`);\r\n }\r\n\r\n return context;\r\n}\r\n\r\n/**\r\n * Provides a lightweight, filterable command surface without depending on cmdk.\r\n *\r\n * @remarks\r\n * This wrapper preserves the existing compound-component API while replacing the\r\n * underlying implementation with a small context-driven registry. It supports\r\n * text filtering, arrow-key navigation, Enter-to-select, and pointer hover\r\n * selection for common command palette use cases.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Command label='Quick actions'>\r\n * <CommandInput placeholder='Search actions...' />\r\n * <CommandList>\r\n * <CommandItem onSelect={() => console.log(\"Open\")}>Open</CommandItem>\r\n * </CommandList>\r\n * </Command>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/dialog | Base UI Dialog Docs}\r\n */\r\nconst Command = React.forwardRef<HTMLDivElement, CommandProps>(\r\n (\r\n {\r\n children,\r\n className,\r\n defaultValue: _defaultValue,\r\n disablePointerSelection = false,\r\n filter,\r\n label,\r\n loop = false,\r\n onKeyDown,\r\n onValueChange: _onValueChange,\r\n shouldFilter = true,\r\n value: _value,\r\n vimBindings: _vimBindings,\r\n ...props\r\n },\r\n ref,\r\n ) => {\r\n const [activeItemId, setActiveItemId] = React.useState<string | null>(null);\r\n const [search, setSearch] = React.useState(\"\");\r\n const itemOrderReference = React.useRef(0);\r\n const itemsReference = React.useRef(new Map<string, CommandRegisteredItem>());\r\n const [itemsVersion, setItemsVersion] = React.useState(0);\r\n const listId = React.useId();\r\n\r\n const registerItem = React.useCallback((item: Omit<CommandRegisteredItem, \"order\">): void => {\r\n const existingItem = itemsReference.current.get(item.id);\r\n const nextItem: CommandRegisteredItem = {\r\n ...item,\r\n order: existingItem?.order ?? itemOrderReference.current++,\r\n };\r\n\r\n const hasChanged =\r\n !existingItem\r\n || existingItem.disabled !== nextItem.disabled\r\n || existingItem.forceMount !== nextItem.forceMount\r\n || existingItem.groupId !== nextItem.groupId\r\n || existingItem.keywords.join(\"\\u0000\") !== nextItem.keywords.join(\"\\u0000\")\r\n || existingItem.ref !== nextItem.ref\r\n || existingItem.textValue !== nextItem.textValue\r\n || existingItem.value !== nextItem.value;\r\n\r\n if (!hasChanged) {\r\n return;\r\n }\r\n\r\n itemsReference.current.set(item.id, nextItem);\r\n setItemsVersion((currentVersion) => currentVersion + 1);\r\n }, []);\r\n\r\n const unregisterItem = React.useCallback((itemId: string): void => {\r\n if (!itemsReference.current.delete(itemId)) {\r\n return;\r\n }\r\n\r\n setItemsVersion((currentVersion) => currentVersion + 1);\r\n }, []);\r\n\r\n const items = React.useMemo(() => {\r\n return [...itemsReference.current.values()].sort((firstItem, secondItem) => firstItem.order - secondItem.order);\r\n }, [itemsVersion]);\r\n\r\n const isFiltering = shouldFilter && search.trim().length > 0;\r\n\r\n const isItemVisible = React.useCallback(\r\n (itemId: string): boolean => {\r\n const item = itemsReference.current.get(itemId);\r\n\r\n if (!item) {\r\n return false;\r\n }\r\n\r\n if (item.forceMount || !shouldFilter || search.trim().length === 0) {\r\n return true;\r\n }\r\n\r\n const itemValue = item.value ?? item.textValue;\r\n const itemFilter = filter ?? defaultCommandFilter;\r\n\r\n return itemFilter(itemValue, search, item.keywords) > 0;\r\n },\r\n [filter, search, shouldFilter],\r\n );\r\n\r\n const visibleItems = React.useMemo(() => items.filter((item) => isItemVisible(item.id)), [isItemVisible, items]);\r\n\r\n const selectableItems = React.useMemo(() => visibleItems.filter((item) => !item.disabled), [visibleItems]);\r\n\r\n React.useEffect(() => {\r\n if (selectableItems.length === 0) {\r\n setActiveItemId(null);\r\n return;\r\n }\r\n\r\n if (!activeItemId || !selectableItems.some((item) => item.id === activeItemId)) {\r\n setActiveItemId(selectableItems[0].id);\r\n }\r\n }, [activeItemId, selectableItems]);\r\n\r\n React.useEffect(() => {\r\n if (!activeItemId) {\r\n return;\r\n }\r\n\r\n itemsReference.current.get(activeItemId)?.ref.current?.scrollIntoView({\r\n block: \"nearest\",\r\n });\r\n }, [activeItemId]);\r\n\r\n const selectSpecificItem = React.useCallback((itemId: string | null): void => {\r\n setActiveItemId(itemId);\r\n }, []);\r\n\r\n const selectNextItem = React.useCallback((): void => {\r\n if (selectableItems.length === 0) {\r\n return;\r\n }\r\n\r\n const currentIndex = selectableItems.findIndex((item) => item.id === activeItemId);\r\n\r\n if (currentIndex === -1) {\r\n setActiveItemId(selectableItems[0].id);\r\n return;\r\n }\r\n\r\n const nextIndex = currentIndex + 1;\r\n\r\n if (nextIndex >= selectableItems.length) {\r\n setActiveItemId(loop ? selectableItems[0].id : selectableItems[currentIndex].id);\r\n return;\r\n }\r\n\r\n setActiveItemId(selectableItems[nextIndex].id);\r\n }, [activeItemId, loop, selectableItems]);\r\n\r\n const selectPreviousItem = React.useCallback((): void => {\r\n if (selectableItems.length === 0) {\r\n return;\r\n }\r\n\r\n const currentIndex = selectableItems.findIndex((item) => item.id === activeItemId);\r\n\r\n if (currentIndex === -1) {\r\n setActiveItemId(selectableItems[0].id);\r\n return;\r\n }\r\n\r\n const previousIndex = currentIndex - 1;\r\n\r\n if (previousIndex < 0) {\r\n setActiveItemId(loop ? (selectableItems.at(-1)?.id ?? selectableItems[0].id) : selectableItems[currentIndex].id);\r\n return;\r\n }\r\n\r\n setActiveItemId(selectableItems[previousIndex].id);\r\n }, [activeItemId, loop, selectableItems]);\r\n\r\n const triggerActiveItem = React.useCallback((): void => {\r\n if (!activeItemId) {\r\n return;\r\n }\r\n\r\n itemsReference.current.get(activeItemId)?.ref.current?.click();\r\n }, [activeItemId]);\r\n\r\n const hasVisibleItemsInGroup = React.useCallback(\r\n (groupId: string): boolean => visibleItems.some((item) => item.groupId === groupId),\r\n [visibleItems],\r\n );\r\n\r\n const getVisibleItemCount = React.useCallback((): number => visibleItems.length, [visibleItems.length]);\r\n\r\n const contextValue = React.useMemo<CommandContextValue>(\r\n () => ({\r\n activeItemId,\r\n disablePointerSelection,\r\n getVisibleItemCount,\r\n hasVisibleItemsInGroup,\r\n isFiltering,\r\n isItemVisible,\r\n listId,\r\n loop,\r\n registerItem,\r\n search,\r\n setSearch,\r\n selectNextItem,\r\n selectPreviousItem,\r\n selectSpecificItem,\r\n shouldFilter,\r\n triggerActiveItem,\r\n unregisterItem,\r\n }),\r\n [\r\n activeItemId,\r\n disablePointerSelection,\r\n getVisibleItemCount,\r\n hasVisibleItemsInGroup,\r\n isFiltering,\r\n isItemVisible,\r\n listId,\r\n loop,\r\n registerItem,\r\n search,\r\n setSearch,\r\n selectNextItem,\r\n selectPreviousItem,\r\n selectSpecificItem,\r\n shouldFilter,\r\n triggerActiveItem,\r\n unregisterItem,\r\n ],\r\n );\r\n\r\n return (\r\n <CommandContext.Provider value={contextValue}>\r\n <div\r\n ref={ref}\r\n aria-label={label}\r\n className={cn(styles.command, className)}\r\n onKeyDown={(event) => {\r\n onKeyDown?.(event);\r\n\r\n if (event.defaultPrevented) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\": {\r\n event.preventDefault();\r\n selectNextItem();\r\n break;\r\n }\r\n\r\n case \"ArrowUp\": {\r\n event.preventDefault();\r\n selectPreviousItem();\r\n break;\r\n }\r\n\r\n case \"Home\": {\r\n if (selectableItems.length === 0) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n setActiveItemId(selectableItems[0].id);\r\n break;\r\n }\r\n\r\n case \"End\": {\r\n if (selectableItems.length === 0) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n setActiveItemId(selectableItems.at(-1)?.id ?? selectableItems[0].id);\r\n break;\r\n }\r\n\r\n case \"Enter\": {\r\n if (event.nativeEvent.isComposing) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n triggerActiveItem();\r\n break;\r\n }\r\n\r\n default: {\r\n break;\r\n }\r\n }\r\n }}\r\n {...props}>\r\n {children}\r\n </div>\r\n </CommandContext.Provider>\r\n );\r\n },\r\n);\r\nCommand.displayName = \"Command\";\r\n\r\n/**\r\n * Renders the command surface inside a modal dialog.\r\n *\r\n * @remarks\r\n * - Renders a Base UI dialog popup\r\n * - Built on Base UI Dialog primitives\r\n *\r\n * @example\r\n * ```tsx\r\n * <CommandDialog open={open} onOpenChange={setOpen}>\r\n * <CommandInput placeholder='Search...' />\r\n * </CommandDialog>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/dialog | Base UI Dialog Docs}\r\n */\r\nfunction CommandDialog({children, open, onOpenChange, title = \"Command menu\", ...props}: Readonly<CommandDialogProps>): React.JSX.Element {\r\n return (\r\n <BaseDialog.Root\r\n open={open}\r\n onOpenChange={onOpenChange}\r\n {...props}>\r\n <BaseDialog.Portal>\r\n <BaseDialog.Backdrop className={styles.backdrop} />\r\n <BaseDialog.Popup className={styles.dialogPopup}>\r\n <BaseDialog.Title className={styles.srOnly}>{title}</BaseDialog.Title>\r\n <Command>{children}</Command>\r\n </BaseDialog.Popup>\r\n </BaseDialog.Portal>\r\n </BaseDialog.Root>\r\n );\r\n}\r\nCommandDialog.displayName = \"CommandDialog\";\r\n\r\n/**\r\n * Provides the searchable input surface for a command palette.\r\n *\r\n * @remarks\r\n * - Renders an `<input>` element inside a wrapper `<div>`\r\n * - Built on the shared command registry context\r\n *\r\n * @example\r\n * ```tsx\r\n * <CommandInput placeholder='Search...' />\r\n * ```\r\n *\r\n * @see {@link https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Roles/combobox_role | ARIA Combobox Role}\r\n */\r\nconst CommandInput = React.forwardRef<HTMLInputElement, CommandInputProps>(({className, onChange, onValueChange, value, ...props}, ref) => {\r\n const {activeItemId, listId, search, selectSpecificItem, setSearch} = useCommandContext(\"CommandInput\");\r\n const isControlled = value !== undefined;\r\n const inputValue = isControlled ? value : search;\r\n\r\n React.useEffect(() => {\r\n if (!isControlled) {\r\n return;\r\n }\r\n\r\n setSearch(value ?? \"\");\r\n }, [isControlled, setSearch, value]);\r\n\r\n return (\r\n <div className={styles.inputWrapper}>\r\n <Search className={styles.searchIcon} />\r\n <input\r\n ref={ref}\r\n aria-activedescendant={activeItemId ?? undefined}\r\n aria-autocomplete='list'\r\n aria-controls={listId}\r\n aria-expanded='true'\r\n className={cn(styles.input, className)}\r\n onChange={(event) => {\r\n onChange?.(event);\r\n\r\n const nextSearchValue = event.currentTarget.value;\r\n setSearch(nextSearchValue);\r\n onValueChange?.(nextSearchValue);\r\n selectSpecificItem(null);\r\n }}\r\n role='combobox'\r\n type='text'\r\n value={inputValue}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n});\r\nCommandInput.displayName = \"CommandInput\";\r\n\r\n/**\r\n * Renders the listbox container that hosts command items and groups.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element with `role=\"listbox\"`\r\n * - Built on the shared command registry context\r\n *\r\n * @example\r\n * ```tsx\r\n * <CommandList>\r\n * <CommandItem>Settings</CommandItem>\r\n * </CommandList>\r\n * ```\r\n *\r\n * @see {@link https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Roles/listbox_role | ARIA Listbox Role}\r\n */\r\nconst CommandList = React.forwardRef<HTMLDivElement, CommandListProps>(({className, label, ...props}, ref) => {\r\n const {listId} = useCommandContext(\"CommandList\");\r\n\r\n return (\r\n <div\r\n aria-label={label}\r\n ref={ref}\r\n className={cn(styles.list, className)}\r\n id={listId}\r\n role='listbox'\r\n {...props}\r\n />\r\n );\r\n});\r\nCommandList.displayName = \"CommandList\";\r\n\r\n/**\r\n * Renders a fallback empty-state message when no command items are visible.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element with `role=\"status\"`\r\n * - Built on the shared command registry context\r\n *\r\n * @example\r\n * ```tsx\r\n * <CommandEmpty>No results found.</CommandEmpty>\r\n * ```\r\n *\r\n * @see {@link https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Roles/status_role | ARIA Status Role}\r\n */\r\nconst CommandEmpty = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({className, ...props}, ref) => {\r\n const {getVisibleItemCount} = useCommandContext(\"CommandEmpty\");\r\n\r\n if (getVisibleItemCount() > 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(styles.empty, className)}\r\n role='status'\r\n {...props}\r\n />\r\n );\r\n});\r\nCommandEmpty.displayName = \"CommandEmpty\";\r\n\r\n/**\r\n * Groups related command items under an optional heading.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element\r\n * - Built on the shared command registry context\r\n *\r\n * @example\r\n * ```tsx\r\n * <CommandGroup heading='Suggestions'>\r\n * <CommandItem>Profile</CommandItem>\r\n * </CommandGroup>\r\n * ```\r\n *\r\n * @see {@link https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Roles/group_role | ARIA Group Role}\r\n */\r\nconst CommandGroup = React.forwardRef<HTMLDivElement, CommandGroupProps>(\r\n ({children, className, forceMount = false, heading, value: _value, ...props}, ref) => {\r\n const groupId = React.useId();\r\n const {hasVisibleItemsInGroup, isFiltering} = useCommandContext(\"CommandGroup\");\r\n\r\n if (!forceMount && isFiltering && !hasVisibleItemsInGroup(groupId)) {\r\n return null;\r\n }\r\n\r\n return (\r\n <CommandGroupContext.Provider value={groupId}>\r\n <div\r\n ref={ref}\r\n className={cn(styles.group, className)}\r\n data-command-group=''\r\n {...props}>\r\n {heading ? <div className={styles.groupHeading}>{heading}</div> : null}\r\n {children}\r\n </div>\r\n </CommandGroupContext.Provider>\r\n );\r\n },\r\n);\r\nCommandGroup.displayName = \"CommandGroup\";\r\n\r\n/**\r\n * Renders a separator between command groups or item sections.\r\n *\r\n * @remarks\r\n * - Renders the shared separator primitive\r\n * - Built on Base UI Separator\r\n *\r\n * @example\r\n * ```tsx\r\n * <CommandSeparator />\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/separator | Base UI Separator Docs}\r\n */\r\nconst CommandSeparator = React.forwardRef<HTMLDivElement, CommandSeparatorProps>(\r\n ({alwaysRender = false, className, orientation = \"horizontal\", ...props}, ref) => {\r\n const {isFiltering} = useCommandContext(\"CommandSeparator\");\r\n\r\n if (isFiltering && !alwaysRender) {\r\n return null;\r\n }\r\n\r\n return (\r\n <BaseSeparator\r\n ref={ref}\r\n className={cn(styles.separator, className)}\r\n orientation={orientation}\r\n {...props}\r\n />\r\n );\r\n },\r\n);\r\nCommandSeparator.displayName = \"CommandSeparator\";\r\n\r\n/**\r\n * Renders a selectable command option with filtering metadata and keyboard support.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element with `role=\"option\"`\r\n * - Built on the shared command registry context\r\n *\r\n * @example\r\n * ```tsx\r\n * <CommandItem keywords={[\"preferences\"]}>Settings</CommandItem>\r\n * ```\r\n *\r\n * @see {@link https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Roles/option_role | ARIA Option Role}\r\n */\r\nconst CommandItem = React.forwardRef<HTMLDivElement, CommandItemProps>(\r\n ({children, className, disabled = false, forceMount = false, keywords = [], onClick, onMouseEnter, onSelect, value, ...props}, ref) => {\r\n const {activeItemId, disablePointerSelection, isFiltering, isItemVisible, registerItem, selectSpecificItem, unregisterItem} =\r\n useCommandContext(\"CommandItem\");\r\n const groupId = React.useContext(CommandGroupContext);\r\n const generatedId = React.useId();\r\n const itemReference = React.useRef<HTMLDivElement | null>(null);\r\n const keywordSignature = React.useMemo(() => keywords.join(\"\\u0000\"), [keywords]);\r\n\r\n React.useLayoutEffect(() => {\r\n const textValue = value ?? itemReference.current?.textContent?.trim() ?? \"\";\r\n\r\n registerItem({\r\n disabled,\r\n forceMount,\r\n groupId,\r\n id: generatedId,\r\n keywords,\r\n ref: itemReference,\r\n textValue,\r\n value,\r\n });\r\n }, [children, disabled, forceMount, generatedId, groupId, keywordSignature, keywords, registerItem, value]);\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n unregisterItem(generatedId);\r\n };\r\n }, [generatedId, unregisterItem]);\r\n\r\n const isVisible = forceMount || !isFiltering || isItemVisible(generatedId);\r\n\r\n if (!isVisible) {\r\n return null;\r\n }\r\n\r\n const isSelected = activeItemId === generatedId;\r\n\r\n return (\r\n <div\r\n {...props}\r\n ref={(node) => {\r\n itemReference.current = node;\r\n assignRef(ref, node);\r\n }}\r\n aria-disabled={disabled || undefined}\r\n aria-selected={isSelected}\r\n className={cn(styles.item, className)}\r\n data-disabled={disabled ? \"true\" : undefined}\r\n data-selected={isSelected ? \"true\" : undefined}\r\n id={generatedId}\r\n onClick={(event) => {\r\n if (disabled) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n selectSpecificItem(generatedId);\r\n onSelect?.(value ?? itemReference.current?.textContent?.trim() ?? \"\");\r\n onClick?.(event);\r\n }}\r\n onFocus={() => {\r\n if (disabled) {\r\n return;\r\n }\r\n\r\n selectSpecificItem(generatedId);\r\n }}\r\n onMouseEnter={(event) => {\r\n onMouseEnter?.(event);\r\n\r\n if (disabled || disablePointerSelection) {\r\n return;\r\n }\r\n\r\n selectSpecificItem(generatedId);\r\n }}\r\n role='option'\r\n tabIndex={disabled ? -1 : 0}>\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\nCommandItem.displayName = \"CommandItem\";\r\n\r\n/**\r\n * Renders auxiliary shortcut text aligned to the edge of a command item.\r\n *\r\n * @remarks\r\n * - Renders a `<span>` element\r\n * - Built as a lightweight presentational helper for command menus\r\n *\r\n * @example\r\n * ```tsx\r\n * <CommandShortcut>⌘K</CommandShortcut>\r\n * ```\r\n *\r\n * @see {@link https://developer.mozilla.org/docs/Web/HTML/Element/span | HTML span element}\r\n */\r\nconst CommandShortcut = ({className, ...props}: Readonly<React.HTMLAttributes<HTMLSpanElement>>): React.JSX.Element => {\r\n return (\r\n <span\r\n className={cn(styles.shortcut, className)}\r\n {...props}\r\n />\r\n );\r\n};\r\nCommandShortcut.displayName = \"CommandShortcut\";\r\n\r\nexport {Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut};\r\n"],"names":["CommandContext","React","CommandGroupContext","assignRef","ref","value","normalizeCommandValue","defaultCommandFilter","search","keywords","normalizedSearch","normalizedValue","useCommandContext","componentName","context","Error","Command","children","className","_defaultValue","disablePointerSelection","filter","label","loop","onKeyDown","_onValueChange","shouldFilter","_value","_vimBindings","props","activeItemId","setActiveItemId","setSearch","itemOrderReference","itemsReference","Map","itemsVersion","setItemsVersion","listId","registerItem","item","existingItem","nextItem","hasChanged","currentVersion","unregisterItem","itemId","items","firstItem","secondItem","isFiltering","isItemVisible","itemValue","itemFilter","visibleItems","selectableItems","selectSpecificItem","selectNextItem","currentIndex","nextIndex","selectPreviousItem","previousIndex","triggerActiveItem","hasVisibleItemsInGroup","groupId","getVisibleItemCount","contextValue","cn","styles","event","CommandDialog","open","onOpenChange","title","BaseDialog","CommandInput","onChange","onValueChange","isControlled","undefined","inputValue","Search","nextSearchValue","CommandList","CommandEmpty","CommandGroup","forceMount","heading","CommandSeparator","alwaysRender","orientation","BaseSeparator","CommandItem","disabled","onClick","onMouseEnter","onSelect","generatedId","itemReference","keywordSignature","textValue","isVisible","isSelected","node","CommandShortcut"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import "./command_module.css";
2
+ const command_module = {
3
+ command: "command-eYZUHV",
4
+ srOnly: "srOnly-KBf7C0",
5
+ backdrop: "backdrop-IqhuHJ",
6
+ dialogPopup: "dialogPopup-uCrAem",
7
+ inputWrapper: "inputWrapper-gkdH1j",
8
+ searchIcon: "searchIcon-n1uM3z",
9
+ input: "input-tITn9m",
10
+ list: "list-u9qWEv",
11
+ empty: "empty-rfpqI3",
12
+ group: "group-gXWsyp",
13
+ groupHeading: "groupHeading-AMvZXM",
14
+ separator: "separator-gdtbYv",
15
+ item: "item-J0D0Xh",
16
+ shortcut: "shortcut-mXr9yN"
17
+ };
18
+ export default command_module;
19
+
20
+ //# sourceMappingURL=command.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components/ui/command.module.js","sources":["../../../src/components/ui/command.module.css"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./command_module.css\"\nexport default {\"command\":\"command-eYZUHV\",\"srOnly\":\"srOnly-KBf7C0\",\"backdrop\":\"backdrop-IqhuHJ\",\"dialogPopup\":\"dialogPopup-uCrAem\",\"inputWrapper\":\"inputWrapper-gkdH1j\",\"searchIcon\":\"searchIcon-n1uM3z\",\"input\":\"input-tITn9m\",\"list\":\"list-u9qWEv\",\"empty\":\"empty-rfpqI3\",\"group\":\"group-gXWsyp\",\"groupHeading\":\"groupHeading-AMvZXM\",\"separator\":\"separator-gdtbYv\",\"item\":\"item-J0D0Xh\",\"shortcut\":\"shortcut-mXr9yN\"};"],"names":[],"mappings":";AAEA,uBAAe;IAAC,SAAU;IAAiB,QAAS;IAAgB,UAAW;IAAkB,aAAc;IAAqB,cAAe;IAAsB,YAAa;IAAoB,OAAQ;IAAe,MAAO;IAAc,OAAQ;IAAe,OAAQ;IAAe,cAAe;IAAsB,WAAY;IAAmB,MAAO;IAAc,UAAW;AAAiB"}