@sth87/shadcn-design-system 0.0.35 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/README.md +20 -2
  2. package/dist/AI_CONTEXT.md +212 -214
  3. package/dist/cjs/components/Accordion/Accordion.cjs +1 -1
  4. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  5. package/dist/cjs/components/Avatar/Avatar.cjs +1 -1
  6. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  7. package/dist/cjs/components/Badge/Badge.cjs +1 -1
  8. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  9. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +1 -1
  10. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
  11. package/dist/cjs/components/Button/Button.cjs +1 -1
  12. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  13. package/dist/cjs/components/Calendar/Calendar.cjs +1 -1
  14. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  15. package/dist/cjs/components/Carousel/Carousel.cjs +1 -1
  16. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  17. package/dist/cjs/components/Checkbox/Checkbox.cjs +1 -1
  18. package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  19. package/dist/cjs/components/Collapsible/Collapsible.cjs +1 -1
  20. package/dist/cjs/components/Collapsible/Collapsible.cjs.map +1 -1
  21. package/dist/cjs/components/Command/Command.cjs +1 -1
  22. package/dist/cjs/components/Command/Command.cjs.map +1 -1
  23. package/dist/cjs/components/ContextMenu/ContextMenu.cjs +1 -1
  24. package/dist/cjs/components/ContextMenu/ContextMenu.cjs.map +1 -1
  25. package/dist/cjs/components/Cropper/Cropper.cjs +1 -1
  26. package/dist/cjs/components/Cropper/Cropper.cjs.map +1 -1
  27. package/dist/cjs/components/DatePicker/DatePicker.cjs +1 -1
  28. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  29. package/dist/cjs/components/DatePicker/RangePicker.cjs +1 -1
  30. package/dist/cjs/components/DatePicker/RangePicker.cjs.map +1 -1
  31. package/dist/cjs/components/DatePicker/TimePicker.cjs +1 -1
  32. package/dist/cjs/components/DatePicker/TimePicker.cjs.map +1 -1
  33. package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
  34. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  35. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +1 -1
  36. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  37. package/dist/cjs/components/FloatLabel.cjs +1 -1
  38. package/dist/cjs/components/FloatLabel.cjs.map +1 -1
  39. package/dist/cjs/components/Glass/Glass.cjs +1 -1
  40. package/dist/cjs/components/Glass/Glass.cjs.map +1 -1
  41. package/dist/cjs/components/ImageViewer/ImageViewer.cjs +1 -1
  42. package/dist/cjs/components/ImageViewer/ImageViewer.cjs.map +1 -1
  43. package/dist/cjs/components/Input/Input.cjs +1 -1
  44. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  45. package/dist/cjs/components/InputOTP/InputOTP.cjs +1 -1
  46. package/dist/cjs/components/InputOTP/InputOTP.cjs.map +1 -1
  47. package/dist/cjs/components/Interactive/CursorFollow.cjs +1 -1
  48. package/dist/cjs/components/Interactive/CursorFollow.cjs.map +1 -1
  49. package/dist/cjs/components/Marquee/Marquee.cjs +1 -1
  50. package/dist/cjs/components/Marquee/Marquee.cjs.map +1 -1
  51. package/dist/cjs/components/Pagination/Pagination.cjs +1 -1
  52. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  53. package/dist/cjs/components/QrCode/QrCode.cjs +1 -1
  54. package/dist/cjs/components/QrCode/QrCode.cjs.map +1 -1
  55. package/dist/cjs/components/Radio/Radio.cjs +1 -1
  56. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  57. package/dist/cjs/components/Rate/Rate.cjs +1 -1
  58. package/dist/cjs/components/Rate/Rate.cjs.map +1 -1
  59. package/dist/cjs/components/Resizable/Resizable.cjs +1 -1
  60. package/dist/cjs/components/Resizable/Resizable.cjs.map +1 -1
  61. package/dist/cjs/components/ScrollArea/ScrollArea.cjs +1 -1
  62. package/dist/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  63. package/dist/cjs/components/Select/Select.cjs +1 -1
  64. package/dist/cjs/components/Select/Select.cjs.map +1 -1
  65. package/dist/cjs/components/Sheet/Sheet.cjs +2 -2
  66. package/dist/cjs/components/Sheet/Sheet.cjs.map +1 -1
  67. package/dist/cjs/components/Slider/Slider.cjs +1 -1
  68. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  69. package/dist/cjs/components/Stepper/Stepper.cjs +1 -1
  70. package/dist/cjs/components/Stepper/Stepper.cjs.map +1 -1
  71. package/dist/cjs/components/Stepper/StepperWrapper.cjs +1 -1
  72. package/dist/cjs/components/Stepper/StepperWrapper.cjs.map +1 -1
  73. package/dist/cjs/components/Switch/Switch.cjs +1 -1
  74. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  75. package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs +1 -1
  76. package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs.map +1 -1
  77. package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs +1 -1
  78. package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs.map +1 -1
  79. package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs +1 -1
  80. package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs.map +1 -1
  81. package/dist/cjs/components/Table/data-table-column-header.cjs +1 -1
  82. package/dist/cjs/components/Table/data-table-column-header.cjs.map +1 -1
  83. package/dist/cjs/components/Table/data-table-pagination.cjs +1 -1
  84. package/dist/cjs/components/Table/data-table-pagination.cjs.map +1 -1
  85. package/dist/cjs/components/Table/data-table.cjs +1 -1
  86. package/dist/cjs/components/Table/data-table.cjs.map +1 -1
  87. package/dist/cjs/components/Tabs/Tabs.cjs +1 -1
  88. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  89. package/dist/cjs/components/Tabs/classes.cjs +1 -1
  90. package/dist/cjs/components/Tabs/classes.cjs.map +1 -1
  91. package/dist/cjs/components/Textarea/Textarea.cjs +1 -1
  92. package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -1
  93. package/dist/cjs/components/TimeGridView.cjs +1 -1
  94. package/dist/cjs/components/TimeGridView.cjs.map +1 -1
  95. package/dist/cjs/components/Toast/Toast.cjs +1 -1
  96. package/dist/cjs/components/Toast/Toast.cjs.map +1 -1
  97. package/dist/cjs/components/Tooltip/Tooltip.cjs +1 -1
  98. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  99. package/dist/cjs/components/Tour/Tour.cjs +1 -1
  100. package/dist/cjs/components/Tour/Tour.cjs.map +1 -1
  101. package/dist/cjs/components/Tour/TourWrapper.cjs +1 -1
  102. package/dist/cjs/components/Tour/TourWrapper.cjs.map +1 -1
  103. package/dist/cjs/components/Upload/Upload.cjs +3 -3
  104. package/dist/cjs/components/Upload/Upload.cjs.map +1 -1
  105. package/dist/cjs/components/WheelColumn.cjs +1 -1
  106. package/dist/cjs/components/WheelColumn.cjs.map +1 -1
  107. package/dist/cjs/lib/TextAnimation/BlurText.cjs +1 -1
  108. package/dist/cjs/lib/TextAnimation/BlurText.cjs.map +1 -1
  109. package/dist/cjs/lib/TextAnimation/CircularText.cjs +1 -1
  110. package/dist/cjs/lib/TextAnimation/CircularText.cjs.map +1 -1
  111. package/dist/cjs/lib/TextAnimation/FlipWords.cjs +1 -1
  112. package/dist/cjs/lib/TextAnimation/FlipWords.cjs.map +1 -1
  113. package/dist/cjs/lib/TextAnimation/GradientText.cjs +1 -1
  114. package/dist/cjs/lib/TextAnimation/GradientText.cjs.map +1 -1
  115. package/dist/cjs/lib/TextAnimation/RollingText.cjs +1 -1
  116. package/dist/cjs/lib/TextAnimation/RollingText.cjs.map +1 -1
  117. package/dist/cjs/lib/TextAnimation/RotatingText.cjs +1 -1
  118. package/dist/cjs/lib/TextAnimation/RotatingText.cjs.map +1 -1
  119. package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs +1 -1
  120. package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs.map +1 -1
  121. package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs +1 -1
  122. package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs.map +1 -1
  123. package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs +1 -1
  124. package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs.map +1 -1
  125. package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs +2 -2
  126. package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs.map +1 -1
  127. package/dist/cjs/lib/TextAnimation/TypingText.cjs +1 -1
  128. package/dist/cjs/lib/TextAnimation/TypingText.cjs.map +1 -1
  129. package/dist/cjs/lib/TextAnimation/WritingText.cjs +1 -1
  130. package/dist/cjs/lib/TextAnimation/WritingText.cjs.map +1 -1
  131. package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +1 -0
  132. package/dist/cjs/packages/ui/src/components/accordion.cjs +1 -1
  133. package/dist/cjs/packages/ui/src/components/accordion.cjs.map +1 -1
  134. package/dist/cjs/packages/ui/src/components/alert-dialog.cjs +1 -1
  135. package/dist/cjs/packages/ui/src/components/alert-dialog.cjs.map +1 -1
  136. package/dist/cjs/packages/ui/src/components/avatar.cjs +1 -1
  137. package/dist/cjs/packages/ui/src/components/avatar.cjs.map +1 -1
  138. package/dist/cjs/packages/ui/src/components/badge.cjs +1 -1
  139. package/dist/cjs/packages/ui/src/components/badge.cjs.map +1 -1
  140. package/dist/cjs/packages/ui/src/components/breadcrumb.cjs +1 -1
  141. package/dist/cjs/packages/ui/src/components/breadcrumb.cjs.map +1 -1
  142. package/dist/cjs/packages/ui/src/components/button-group.cjs +1 -1
  143. package/dist/cjs/packages/ui/src/components/button-group.cjs.map +1 -1
  144. package/dist/cjs/packages/ui/src/components/button.cjs +1 -1
  145. package/dist/cjs/packages/ui/src/components/button.cjs.map +1 -1
  146. package/dist/cjs/packages/ui/src/components/calendar.cjs +1 -1
  147. package/dist/cjs/packages/ui/src/components/calendar.cjs.map +1 -1
  148. package/dist/cjs/packages/ui/src/components/checkbox.cjs +1 -1
  149. package/dist/cjs/packages/ui/src/components/checkbox.cjs.map +1 -1
  150. package/dist/cjs/packages/ui/src/components/combobox.cjs +1 -1
  151. package/dist/cjs/packages/ui/src/components/combobox.cjs.map +1 -1
  152. package/dist/cjs/packages/ui/src/components/command.cjs +1 -1
  153. package/dist/cjs/packages/ui/src/components/command.cjs.map +1 -1
  154. package/dist/cjs/packages/ui/src/components/context-menu.cjs +1 -1
  155. package/dist/cjs/packages/ui/src/components/context-menu.cjs.map +1 -1
  156. package/dist/cjs/packages/ui/src/components/dialog.cjs +1 -1
  157. package/dist/cjs/packages/ui/src/components/dialog.cjs.map +1 -1
  158. package/dist/cjs/packages/ui/src/components/drawer.cjs +1 -1
  159. package/dist/cjs/packages/ui/src/components/drawer.cjs.map +1 -1
  160. package/dist/cjs/packages/ui/src/components/dropdown-menu.cjs +1 -1
  161. package/dist/cjs/packages/ui/src/components/dropdown-menu.cjs.map +1 -1
  162. package/dist/cjs/packages/ui/src/components/input-otp.cjs +1 -1
  163. package/dist/cjs/packages/ui/src/components/input-otp.cjs.map +1 -1
  164. package/dist/cjs/packages/ui/src/components/input.cjs +1 -1
  165. package/dist/cjs/packages/ui/src/components/input.cjs.map +1 -1
  166. package/dist/cjs/packages/ui/src/components/label.cjs +1 -1
  167. package/dist/cjs/packages/ui/src/components/label.cjs.map +1 -1
  168. package/dist/cjs/packages/ui/src/components/pagination.cjs +1 -1
  169. package/dist/cjs/packages/ui/src/components/pagination.cjs.map +1 -1
  170. package/dist/cjs/packages/ui/src/components/popover.cjs +1 -1
  171. package/dist/cjs/packages/ui/src/components/popover.cjs.map +1 -1
  172. package/dist/cjs/packages/ui/src/components/radio-group.cjs +1 -1
  173. package/dist/cjs/packages/ui/src/components/radio-group.cjs.map +1 -1
  174. package/dist/cjs/packages/ui/src/components/resizable.cjs +1 -1
  175. package/dist/cjs/packages/ui/src/components/resizable.cjs.map +1 -1
  176. package/dist/cjs/packages/ui/src/components/scroll-area.cjs +1 -1
  177. package/dist/cjs/packages/ui/src/components/scroll-area.cjs.map +1 -1
  178. package/dist/cjs/packages/ui/src/components/select.cjs +1 -1
  179. package/dist/cjs/packages/ui/src/components/select.cjs.map +1 -1
  180. package/dist/cjs/packages/ui/src/components/separator.cjs +1 -1
  181. package/dist/cjs/packages/ui/src/components/separator.cjs.map +1 -1
  182. package/dist/cjs/packages/ui/src/components/sheet.cjs +1 -1
  183. package/dist/cjs/packages/ui/src/components/sheet.cjs.map +1 -1
  184. package/dist/cjs/packages/ui/src/components/sidebar.cjs +1 -1
  185. package/dist/cjs/packages/ui/src/components/sidebar.cjs.map +1 -1
  186. package/dist/cjs/packages/ui/src/components/skeleton.cjs +1 -1
  187. package/dist/cjs/packages/ui/src/components/skeleton.cjs.map +1 -1
  188. package/dist/cjs/packages/ui/src/components/switch.cjs +1 -1
  189. package/dist/cjs/packages/ui/src/components/switch.cjs.map +1 -1
  190. package/dist/cjs/packages/ui/src/components/table.cjs +1 -1
  191. package/dist/cjs/packages/ui/src/components/table.cjs.map +1 -1
  192. package/dist/cjs/packages/ui/src/components/tabs.cjs +1 -1
  193. package/dist/cjs/packages/ui/src/components/tabs.cjs.map +1 -1
  194. package/dist/cjs/packages/ui/src/components/textarea.cjs +1 -1
  195. package/dist/cjs/packages/ui/src/components/textarea.cjs.map +1 -1
  196. package/dist/cjs/packages/ui/src/components/toggle.cjs +1 -1
  197. package/dist/cjs/packages/ui/src/components/toggle.cjs.map +1 -1
  198. package/dist/cjs/packages/ui/src/components/tooltip.cjs +1 -1
  199. package/dist/cjs/packages/ui/src/components/tooltip.cjs.map +1 -1
  200. package/dist/cjs/packages/ui/src/components/tree-view.cjs +1 -1
  201. package/dist/cjs/packages/ui/src/components/tree-view.cjs.map +1 -1
  202. package/dist/cjs/styles/index.css +1 -1
  203. package/dist/cjs/utils/animations.cjs +1 -1
  204. package/dist/cjs/utils/animations.cjs.map +1 -1
  205. package/dist/cjs/utils/css.cjs +1 -1
  206. package/dist/cjs/utils/css.cjs.map +1 -1
  207. package/dist/cjs/utils/parsers.cjs +1 -1
  208. package/dist/cjs/utils/parsers.cjs.map +1 -1
  209. package/dist/esm/components/Accordion/Accordion.js +60 -60
  210. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  211. package/dist/esm/components/Avatar/Avatar.js +40 -40
  212. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  213. package/dist/esm/components/Badge/Badge.js +1 -1
  214. package/dist/esm/components/Badge/Badge.js.map +1 -1
  215. package/dist/esm/components/Breadcrumb/Breadcrumb.js +36 -36
  216. package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
  217. package/dist/esm/components/Button/Button.js +9 -9
  218. package/dist/esm/components/Button/Button.js.map +1 -1
  219. package/dist/esm/components/Calendar/Calendar.js +4 -4
  220. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  221. package/dist/esm/components/Carousel/Carousel.js +165 -165
  222. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  223. package/dist/esm/components/Checkbox/Checkbox.js +26 -26
  224. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  225. package/dist/esm/components/Collapsible/Collapsible.js +43 -43
  226. package/dist/esm/components/Collapsible/Collapsible.js.map +1 -1
  227. package/dist/esm/components/Command/Command.js +28 -28
  228. package/dist/esm/components/Command/Command.js.map +1 -1
  229. package/dist/esm/components/ContextMenu/ContextMenu.js +11 -11
  230. package/dist/esm/components/ContextMenu/ContextMenu.js.map +1 -1
  231. package/dist/esm/components/Cropper/Cropper.js +132 -132
  232. package/dist/esm/components/Cropper/Cropper.js.map +1 -1
  233. package/dist/esm/components/DatePicker/DatePicker.js +75 -75
  234. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  235. package/dist/esm/components/DatePicker/RangePicker.js +136 -136
  236. package/dist/esm/components/DatePicker/RangePicker.js.map +1 -1
  237. package/dist/esm/components/DatePicker/TimePicker.js +150 -150
  238. package/dist/esm/components/DatePicker/TimePicker.js.map +1 -1
  239. package/dist/esm/components/Dialog/Dialog.js +114 -114
  240. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  241. package/dist/esm/components/DropdownMenu/DropdownMenu.js +13 -13
  242. package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -1
  243. package/dist/esm/components/FloatLabel.js +44 -44
  244. package/dist/esm/components/FloatLabel.js.map +1 -1
  245. package/dist/esm/components/Glass/Glass.js +15 -15
  246. package/dist/esm/components/Glass/Glass.js.map +1 -1
  247. package/dist/esm/components/ImageViewer/ImageViewer.js +53 -53
  248. package/dist/esm/components/ImageViewer/ImageViewer.js.map +1 -1
  249. package/dist/esm/components/Input/Input.js +104 -104
  250. package/dist/esm/components/Input/Input.js.map +1 -1
  251. package/dist/esm/components/InputOTP/InputOTP.js +16 -16
  252. package/dist/esm/components/InputOTP/InputOTP.js.map +1 -1
  253. package/dist/esm/components/Interactive/CursorFollow.js +49 -49
  254. package/dist/esm/components/Interactive/CursorFollow.js.map +1 -1
  255. package/dist/esm/components/Marquee/Marquee.js +130 -130
  256. package/dist/esm/components/Marquee/Marquee.js.map +1 -1
  257. package/dist/esm/components/Pagination/Pagination.js +68 -68
  258. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  259. package/dist/esm/components/QrCode/QrCode.js +37 -37
  260. package/dist/esm/components/QrCode/QrCode.js.map +1 -1
  261. package/dist/esm/components/Radio/Radio.js +16 -16
  262. package/dist/esm/components/Radio/Radio.js.map +1 -1
  263. package/dist/esm/components/Rate/Rate.js +62 -62
  264. package/dist/esm/components/Rate/Rate.js.map +1 -1
  265. package/dist/esm/components/Resizable/Resizable.js +6 -6
  266. package/dist/esm/components/Resizable/Resizable.js.map +1 -1
  267. package/dist/esm/components/ScrollArea/ScrollArea.js +10 -10
  268. package/dist/esm/components/ScrollArea/ScrollArea.js.map +1 -1
  269. package/dist/esm/components/Select/Select.js +64 -64
  270. package/dist/esm/components/Select/Select.js.map +1 -1
  271. package/dist/esm/components/Sheet/Sheet.js +21 -21
  272. package/dist/esm/components/Sheet/Sheet.js.map +1 -1
  273. package/dist/esm/components/Slider/Slider.js +54 -54
  274. package/dist/esm/components/Slider/Slider.js.map +1 -1
  275. package/dist/esm/components/Stepper/Stepper.js +198 -198
  276. package/dist/esm/components/Stepper/Stepper.js.map +1 -1
  277. package/dist/esm/components/Stepper/StepperWrapper.js +15 -15
  278. package/dist/esm/components/Stepper/StepperWrapper.js.map +1 -1
  279. package/dist/esm/components/Switch/Switch.js +38 -38
  280. package/dist/esm/components/Switch/Switch.js.map +1 -1
  281. package/dist/esm/components/Table/TableFilter/data-table-date-filter.js +37 -37
  282. package/dist/esm/components/Table/TableFilter/data-table-date-filter.js.map +1 -1
  283. package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js +25 -25
  284. package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js.map +1 -1
  285. package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js +64 -64
  286. package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js.map +1 -1
  287. package/dist/esm/components/Table/data-table-column-header.js +18 -18
  288. package/dist/esm/components/Table/data-table-column-header.js.map +1 -1
  289. package/dist/esm/components/Table/data-table-pagination.js +21 -21
  290. package/dist/esm/components/Table/data-table-pagination.js.map +1 -1
  291. package/dist/esm/components/Table/data-table.js +18 -18
  292. package/dist/esm/components/Table/data-table.js.map +1 -1
  293. package/dist/esm/components/Tabs/Tabs.js +242 -242
  294. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  295. package/dist/esm/components/Tabs/classes.js +51 -51
  296. package/dist/esm/components/Tabs/classes.js.map +1 -1
  297. package/dist/esm/components/Textarea/Textarea.js +49 -49
  298. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  299. package/dist/esm/components/TimeGridView.js +12 -12
  300. package/dist/esm/components/TimeGridView.js.map +1 -1
  301. package/dist/esm/components/Toast/Toast.js +45 -45
  302. package/dist/esm/components/Toast/Toast.js.map +1 -1
  303. package/dist/esm/components/Tooltip/Tooltip.js +19 -19
  304. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  305. package/dist/esm/components/Tour/Tour.js +11 -11
  306. package/dist/esm/components/Tour/Tour.js.map +1 -1
  307. package/dist/esm/components/Tour/TourWrapper.js +15 -15
  308. package/dist/esm/components/Tour/TourWrapper.js.map +1 -1
  309. package/dist/esm/components/Upload/Upload.js +405 -405
  310. package/dist/esm/components/Upload/Upload.js.map +1 -1
  311. package/dist/esm/components/WheelColumn.js +47 -47
  312. package/dist/esm/components/WheelColumn.js.map +1 -1
  313. package/dist/esm/lib/TextAnimation/BlurText.js +18 -18
  314. package/dist/esm/lib/TextAnimation/BlurText.js.map +1 -1
  315. package/dist/esm/lib/TextAnimation/CircularText.js +7 -7
  316. package/dist/esm/lib/TextAnimation/CircularText.js.map +1 -1
  317. package/dist/esm/lib/TextAnimation/FlipWords.js +21 -21
  318. package/dist/esm/lib/TextAnimation/FlipWords.js.map +1 -1
  319. package/dist/esm/lib/TextAnimation/GradientText.js +4 -4
  320. package/dist/esm/lib/TextAnimation/GradientText.js.map +1 -1
  321. package/dist/esm/lib/TextAnimation/RollingText.js +24 -24
  322. package/dist/esm/lib/TextAnimation/RollingText.js.map +1 -1
  323. package/dist/esm/lib/TextAnimation/RotatingText.js +6 -6
  324. package/dist/esm/lib/TextAnimation/RotatingText.js.map +1 -1
  325. package/dist/esm/lib/TextAnimation/ShimmeringText.js +9 -9
  326. package/dist/esm/lib/TextAnimation/ShimmeringText.js.map +1 -1
  327. package/dist/esm/lib/TextAnimation/TextGenerateEffect.js +14 -14
  328. package/dist/esm/lib/TextAnimation/TextGenerateEffect.js.map +1 -1
  329. package/dist/esm/lib/TextAnimation/TextHoverEffect.js +9 -9
  330. package/dist/esm/lib/TextAnimation/TextHoverEffect.js.map +1 -1
  331. package/dist/esm/lib/TextAnimation/TextPressureEffect.js +3 -3
  332. package/dist/esm/lib/TextAnimation/TextPressureEffect.js.map +1 -1
  333. package/dist/esm/lib/TextAnimation/TypingText.js +17 -17
  334. package/dist/esm/lib/TextAnimation/TypingText.js.map +1 -1
  335. package/dist/esm/lib/TextAnimation/WritingText.js +10 -10
  336. package/dist/esm/lib/TextAnimation/WritingText.js.map +1 -1
  337. package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +1 -0
  338. package/dist/esm/packages/ui/src/components/accordion.js +31 -31
  339. package/dist/esm/packages/ui/src/components/accordion.js.map +1 -1
  340. package/dist/esm/packages/ui/src/components/alert-dialog.js +33 -33
  341. package/dist/esm/packages/ui/src/components/alert-dialog.js.map +1 -1
  342. package/dist/esm/packages/ui/src/components/avatar.js +20 -20
  343. package/dist/esm/packages/ui/src/components/avatar.js.map +1 -1
  344. package/dist/esm/packages/ui/src/components/badge.js +53 -53
  345. package/dist/esm/packages/ui/src/components/badge.js.map +1 -1
  346. package/dist/esm/packages/ui/src/components/breadcrumb.js +20 -20
  347. package/dist/esm/packages/ui/src/components/breadcrumb.js.map +1 -1
  348. package/dist/esm/packages/ui/src/components/button-group.js +31 -31
  349. package/dist/esm/packages/ui/src/components/button-group.js.map +1 -1
  350. package/dist/esm/packages/ui/src/components/button.js +90 -90
  351. package/dist/esm/packages/ui/src/components/button.js.map +1 -1
  352. package/dist/esm/packages/ui/src/components/calendar.js +94 -94
  353. package/dist/esm/packages/ui/src/components/calendar.js.map +1 -1
  354. package/dist/esm/packages/ui/src/components/checkbox.js +47 -47
  355. package/dist/esm/packages/ui/src/components/checkbox.js.map +1 -1
  356. package/dist/esm/packages/ui/src/components/combobox.js +64 -64
  357. package/dist/esm/packages/ui/src/components/combobox.js.map +1 -1
  358. package/dist/esm/packages/ui/src/components/command.js +77 -77
  359. package/dist/esm/packages/ui/src/components/command.js.map +1 -1
  360. package/dist/esm/packages/ui/src/components/context-menu.js +76 -76
  361. package/dist/esm/packages/ui/src/components/context-menu.js.map +1 -1
  362. package/dist/esm/packages/ui/src/components/dialog.js +54 -54
  363. package/dist/esm/packages/ui/src/components/dialog.js.map +1 -1
  364. package/dist/esm/packages/ui/src/components/drawer.js +39 -39
  365. package/dist/esm/packages/ui/src/components/drawer.js.map +1 -1
  366. package/dist/esm/packages/ui/src/components/dropdown-menu.js +109 -109
  367. package/dist/esm/packages/ui/src/components/dropdown-menu.js.map +1 -1
  368. package/dist/esm/packages/ui/src/components/input-otp.js +30 -30
  369. package/dist/esm/packages/ui/src/components/input-otp.js.map +1 -1
  370. package/dist/esm/packages/ui/src/components/input.js +19 -19
  371. package/dist/esm/packages/ui/src/components/input.js.map +1 -1
  372. package/dist/esm/packages/ui/src/components/label.js +9 -9
  373. package/dist/esm/packages/ui/src/components/label.js.map +1 -1
  374. package/dist/esm/packages/ui/src/components/pagination.js +26 -26
  375. package/dist/esm/packages/ui/src/components/pagination.js.map +1 -1
  376. package/dist/esm/packages/ui/src/components/popover.js +13 -13
  377. package/dist/esm/packages/ui/src/components/popover.js.map +1 -1
  378. package/dist/esm/packages/ui/src/components/radio-group.js +45 -45
  379. package/dist/esm/packages/ui/src/components/radio-group.js.map +1 -1
  380. package/dist/esm/packages/ui/src/components/resizable.js +18 -18
  381. package/dist/esm/packages/ui/src/components/resizable.js.map +1 -1
  382. package/dist/esm/packages/ui/src/components/scroll-area.js +31 -31
  383. package/dist/esm/packages/ui/src/components/scroll-area.js.map +1 -1
  384. package/dist/esm/packages/ui/src/components/select.js +119 -119
  385. package/dist/esm/packages/ui/src/components/select.js.map +1 -1
  386. package/dist/esm/packages/ui/src/components/separator.js +86 -86
  387. package/dist/esm/packages/ui/src/components/separator.js.map +1 -1
  388. package/dist/esm/packages/ui/src/components/sheet.js +50 -50
  389. package/dist/esm/packages/ui/src/components/sheet.js.map +1 -1
  390. package/dist/esm/packages/ui/src/components/sidebar.js +198 -198
  391. package/dist/esm/packages/ui/src/components/sidebar.js.map +1 -1
  392. package/dist/esm/packages/ui/src/components/skeleton.js +3 -3
  393. package/dist/esm/packages/ui/src/components/skeleton.js.map +1 -1
  394. package/dist/esm/packages/ui/src/components/switch.js +57 -57
  395. package/dist/esm/packages/ui/src/components/switch.js.map +1 -1
  396. package/dist/esm/packages/ui/src/components/table.js +17 -17
  397. package/dist/esm/packages/ui/src/components/table.js.map +1 -1
  398. package/dist/esm/packages/ui/src/components/tabs.js +33 -33
  399. package/dist/esm/packages/ui/src/components/tabs.js.map +1 -1
  400. package/dist/esm/packages/ui/src/components/textarea.js +17 -17
  401. package/dist/esm/packages/ui/src/components/textarea.js.map +1 -1
  402. package/dist/esm/packages/ui/src/components/toggle.js +36 -36
  403. package/dist/esm/packages/ui/src/components/toggle.js.map +1 -1
  404. package/dist/esm/packages/ui/src/components/tooltip.js +20 -20
  405. package/dist/esm/packages/ui/src/components/tooltip.js.map +1 -1
  406. package/dist/esm/packages/ui/src/components/tree-view.js +218 -218
  407. package/dist/esm/packages/ui/src/components/tree-view.js.map +1 -1
  408. package/dist/esm/styles/index.css +1 -1
  409. package/dist/esm/utils/animations.js +55 -55
  410. package/dist/esm/utils/animations.js.map +1 -1
  411. package/dist/esm/utils/css.js +7 -7
  412. package/dist/esm/utils/css.js.map +1 -1
  413. package/dist/esm/utils/parsers.js +1 -1
  414. package/dist/types/components/DatePicker/RangePicker.d.ts.map +1 -1
  415. package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts.map +1 -1
  416. package/dist/types/lib/TextAnimation/TypingText.d.ts.map +1 -1
  417. package/package.json +1 -1
  418. package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +0 -1
  419. package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +0 -1
  420. /package/dist/cjs/node_modules/.pnpm/{nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1 → nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1}/node_modules/nuqs/dist/server.cjs +0 -0
  421. /package/dist/esm/node_modules/.pnpm/{nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1 → nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1}/node_modules/nuqs/dist/server.js +0 -0
@@ -6,87 +6,87 @@ import { cva as g } from "class-variance-authority";
6
6
  import { cn as u } from "../lib/utils.js";
7
7
  const c = {
8
8
  primary: {
9
- default: "data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-primary-foreground hover:border-primary transition-colors",
10
- circle: "rounded-full data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-primary-foreground hover:border-primary transition-colors"
9
+ default: "ds:data-[state=checked]:bg-primary ds:data-[state=checked]:border-primary ds:data-[state=checked]:text-primary-foreground ds:data-[state=indeterminate]:bg-primary ds:data-[state=indeterminate]:border-primary ds:data-[state=indeterminate]:text-primary-foreground ds:hover:border-primary ds:transition-colors",
10
+ circle: "ds:rounded-full ds:data-[state=checked]:bg-primary ds:data-[state=checked]:border-primary ds:data-[state=checked]:text-primary-foreground ds:data-[state=indeterminate]:bg-primary ds:data-[state=indeterminate]:border-primary ds:data-[state=indeterminate]:text-primary-foreground ds:hover:border-primary ds:transition-colors"
11
11
  },
12
12
  secondary: {
13
- default: "data-[state=checked]:bg-secondary data-[state=checked]:border-secondary data-[state=checked]:text-secondary-foreground data-[state=indeterminate]:bg-secondary data-[state=indeterminate]:border-secondary data-[state=indeterminate]:text-secondary-foreground hover:border-primary transition-colors",
14
- circle: "rounded-full data-[state=checked]:bg-secondary data-[state=checked]:border-secondary data-[state=checked]:text-secondary-foreground data-[state=indeterminate]:bg-secondary data-[state=indeterminate]:border-secondary data-[state=indeterminate]:text-secondary-foreground hover:border-primary transition-colors"
13
+ default: "ds:data-[state=checked]:bg-secondary ds:data-[state=checked]:border-secondary ds:data-[state=checked]:text-secondary-foreground ds:data-[state=indeterminate]:bg-secondary ds:data-[state=indeterminate]:border-secondary ds:data-[state=indeterminate]:text-secondary-foreground ds:hover:border-primary ds:transition-colors",
14
+ circle: "ds:rounded-full ds:data-[state=checked]:bg-secondary ds:data-[state=checked]:border-secondary ds:data-[state=checked]:text-secondary-foreground ds:data-[state=indeterminate]:bg-secondary ds:data-[state=indeterminate]:border-secondary ds:data-[state=indeterminate]:text-secondary-foreground ds:hover:border-primary ds:transition-colors"
15
15
  },
16
16
  accent: {
17
- default: "data-[state=checked]:bg-accent data-[state=checked]:border-accent data-[state=checked]:text-accent-foreground data-[state=indeterminate]:bg-accent data-[state=indeterminate]:border-accent data-[state=indeterminate]:text-accent-foreground hover:border-primary transition-colors",
18
- circle: "rounded-full data-[state=checked]:bg-accent data-[state=checked]:border-accent data-[state=checked]:text-accent-foreground data-[state=indeterminate]:bg-accent data-[state=indeterminate]:border-accent data-[state=indeterminate]:text-accent-foreground hover:border-primary transition-colors"
17
+ default: "ds:data-[state=checked]:bg-accent ds:data-[state=checked]:border-accent ds:data-[state=checked]:text-accent-foreground ds:data-[state=indeterminate]:bg-accent ds:data-[state=indeterminate]:border-accent ds:data-[state=indeterminate]:text-accent-foreground ds:hover:border-primary ds:transition-colors",
18
+ circle: "ds:rounded-full ds:data-[state=checked]:bg-accent ds:data-[state=checked]:border-accent ds:data-[state=checked]:text-accent-foreground ds:data-[state=indeterminate]:bg-accent ds:data-[state=indeterminate]:border-accent ds:data-[state=indeterminate]:text-accent-foreground ds:hover:border-primary ds:transition-colors"
19
19
  },
20
20
  destructive: {
21
- default: "data-[state=checked]:bg-destructive data-[state=checked]:border-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:border-destructive data-[state=indeterminate]:text-destructive-foreground hover:border-primary transition-colors",
22
- circle: "rounded-full data-[state=checked]:bg-destructive data-[state=checked]:border-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:border-destructive data-[state=indeterminate]:text-destructive-foreground hover:border-primary transition-colors"
21
+ default: "ds:data-[state=checked]:bg-destructive ds:data-[state=checked]:border-destructive ds:data-[state=checked]:text-destructive-foreground ds:data-[state=indeterminate]:bg-destructive ds:data-[state=indeterminate]:border-destructive ds:data-[state=indeterminate]:text-destructive-foreground ds:hover:border-primary ds:transition-colors",
22
+ circle: "ds:rounded-full ds:data-[state=checked]:bg-destructive ds:data-[state=checked]:border-destructive ds:data-[state=checked]:text-destructive-foreground ds:data-[state=indeterminate]:bg-destructive ds:data-[state=indeterminate]:border-destructive ds:data-[state=indeterminate]:text-destructive-foreground ds:hover:border-primary ds:transition-colors"
23
23
  },
24
24
  muted: {
25
- default: "data-[state=checked]:bg-muted data-[state=checked]:border-muted data-[state=checked]:text-muted-foreground data-[state=indeterminate]:bg-muted data-[state=indeterminate]:border-muted data-[state=indeterminate]:text-muted-foreground hover:border-primary transition-colors",
26
- circle: "rounded-full data-[state=checked]:bg-muted data-[state=checked]:border-muted data-[state=checked]:text-muted-foreground data-[state=indeterminate]:bg-muted data-[state=indeterminate]:border-muted data-[state=indeterminate]:text-muted-foreground hover:border-primary transition-colors"
25
+ default: "ds:data-[state=checked]:bg-muted ds:data-[state=checked]:border-muted ds:data-[state=checked]:text-muted-foreground ds:data-[state=indeterminate]:bg-muted ds:data-[state=indeterminate]:border-muted ds:data-[state=indeterminate]:text-muted-foreground ds:hover:border-primary ds:transition-colors",
26
+ circle: "ds:rounded-full ds:data-[state=checked]:bg-muted ds:data-[state=checked]:border-muted ds:data-[state=checked]:text-muted-foreground ds:data-[state=indeterminate]:bg-muted ds:data-[state=indeterminate]:border-muted ds:data-[state=indeterminate]:text-muted-foreground ds:hover:border-primary ds:transition-colors"
27
27
  },
28
28
  success: {
29
- default: "data-[state=checked]:bg-success data-[state=checked]:border-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:border-success data-[state=indeterminate]:text-success-foreground hover:border-primary transition-colors",
30
- circle: "rounded-full data-[state=checked]:bg-success data-[state=checked]:border-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:border-success data-[state=indeterminate]:text-success-foreground hover:border-primary transition-colors"
29
+ default: "ds:data-[state=checked]:bg-success ds:data-[state=checked]:border-success ds:data-[state=checked]:text-success-foreground ds:data-[state=indeterminate]:bg-success ds:data-[state=indeterminate]:border-success ds:data-[state=indeterminate]:text-success-foreground ds:hover:border-primary ds:transition-colors",
30
+ circle: "ds:rounded-full ds:data-[state=checked]:bg-success ds:data-[state=checked]:border-success ds:data-[state=checked]:text-success-foreground ds:data-[state=indeterminate]:bg-success ds:data-[state=indeterminate]:border-success ds:data-[state=indeterminate]:text-success-foreground ds:hover:border-primary ds:transition-colors"
31
31
  },
32
32
  error: {
33
- default: "data-[state=checked]:bg-error data-[state=checked]:border-error data-[state=checked]:text-error-foreground data-[state=indeterminate]:bg-error data-[state=indeterminate]:border-error data-[state=indeterminate]:text-error-foreground hover:border-primary transition-colors",
34
- circle: "rounded-full data-[state=checked]:bg-error data-[state=checked]:border-error data-[state=checked]:text-error-foreground data-[state=indeterminate]:bg-error data-[state=indeterminate]:border-error data-[state=indeterminate]:text-error-foreground hover:border-primary transition-colors"
33
+ default: "ds:data-[state=checked]:bg-error ds:data-[state=checked]:border-error ds:data-[state=checked]:text-error-foreground ds:data-[state=indeterminate]:bg-error ds:data-[state=indeterminate]:border-error ds:data-[state=indeterminate]:text-error-foreground ds:hover:border-primary ds:transition-colors",
34
+ circle: "ds:rounded-full ds:data-[state=checked]:bg-error ds:data-[state=checked]:border-error ds:data-[state=checked]:text-error-foreground ds:data-[state=indeterminate]:bg-error ds:data-[state=indeterminate]:border-error ds:data-[state=indeterminate]:text-error-foreground ds:hover:border-primary ds:transition-colors"
35
35
  },
36
36
  warning: {
37
- default: "data-[state=checked]:bg-warning data-[state=checked]:border-warning data-[state=checked]:text-warning-foreground data-[state=indeterminate]:bg-warning data-[state=indeterminate]:border-warning data-[state=indeterminate]:text-warning-foreground hover:border-primary transition-colors",
38
- circle: "rounded-full data-[state=checked]:bg-warning data-[state=checked]:border-warning data-[state=checked]:text-warning-foreground data-[state=indeterminate]:bg-warning data-[state=indeterminate]:border-warning data-[state=indeterminate]:text-warning-foreground hover:border-primary transition-colors"
37
+ default: "ds:data-[state=checked]:bg-warning ds:data-[state=checked]:border-warning ds:data-[state=checked]:text-warning-foreground ds:data-[state=indeterminate]:bg-warning ds:data-[state=indeterminate]:border-warning ds:data-[state=indeterminate]:text-warning-foreground ds:hover:border-primary ds:transition-colors",
38
+ circle: "ds:rounded-full ds:data-[state=checked]:bg-warning ds:data-[state=checked]:border-warning ds:data-[state=checked]:text-warning-foreground ds:data-[state=indeterminate]:bg-warning ds:data-[state=indeterminate]:border-warning ds:data-[state=indeterminate]:text-warning-foreground ds:hover:border-primary ds:transition-colors"
39
39
  }
40
40
  }, f = {
41
41
  primary: {
42
- default: "group-data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 group-data-[state=unchecked]:fill-transparent hover:stroke-primary hover:fill-primary/20 dark:hover:fill-primary/20 group-data-[state=checked]:fill-primary group-data-[state=checked]:hover:fill-primary group-data-[state=checked]:stroke-primary stroke-1 dark:fill-primary dark:stroke-primary"
42
+ default: "ds:group-data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:group-data-[state=unchecked]:fill-transparent ds:hover:stroke-primary ds:hover:fill-primary/20 ds:dark:hover:fill-primary/20 ds:group-data-[state=checked]:fill-primary ds:group-data-[state=checked]:hover:fill-primary ds:group-data-[state=checked]:stroke-primary ds:stroke-1 ds:dark:fill-primary ds:dark:stroke-primary"
43
43
  },
44
44
  secondary: {
45
- default: "data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-secondary hover:fill-secondary/20 dark:hover:fill-secondary/20 group-data-[state=checked]:fill-secondary group-data-[state=checked]:hover:fill-secondary group-data-[state=checked]:stroke-secondary stroke-1 dark:fill-secondary dark:stroke-secondary"
45
+ default: "ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-secondary ds:hover:fill-secondary/20 ds:dark:hover:fill-secondary/20 ds:group-data-[state=checked]:fill-secondary ds:group-data-[state=checked]:hover:fill-secondary ds:group-data-[state=checked]:stroke-secondary ds:stroke-1 ds:dark:fill-secondary ds:dark:stroke-secondary"
46
46
  },
47
47
  accent: {
48
- default: "data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-accent hover:fill-accent/20 dark:hover:fill-accent/20 group-data-[state=checked]:fill-accent group-data-[state=checked]:hover:fill-accent group-data-[state=checked]:stroke-accent stroke-1 dark:fill-accent dark:stroke-accent"
48
+ default: "ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-accent ds:hover:fill-accent/20 ds:dark:hover:fill-accent/20 ds:group-data-[state=checked]:fill-accent ds:group-data-[state=checked]:hover:fill-accent ds:group-data-[state=checked]:stroke-accent ds:stroke-1 ds:dark:fill-accent ds:dark:stroke-accent"
49
49
  },
50
50
  destructive: {
51
- default: "data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-destructive hover:fill-destructive/20 dark:hover:fill-destructive/20 group-data-[state=checked]:fill-destructive group-data-[state=checked]:hover:fill-destructive group-data-[state=checked]:stroke-destructive stroke-1 dark:fill-destructive dark:stroke-destructive"
51
+ default: "ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-destructive ds:hover:fill-destructive/20 ds:dark:hover:fill-destructive/20 ds:group-data-[state=checked]:fill-destructive ds:group-data-[state=checked]:hover:fill-destructive ds:group-data-[state=checked]:stroke-destructive ds:stroke-1 ds:dark:fill-destructive ds:dark:stroke-destructive"
52
52
  },
53
53
  muted: {
54
- default: "data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-muted hover:fill-muted/20 dark:hover:fill-muted/20 group-data-[state=checked]:fill-muted group-data-[state=checked]:hover:fill-muted group-data-[state=checked]:stroke-muted stroke-1 dark:fill-muted dark:stroke-muted"
54
+ default: "ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-muted ds:hover:fill-muted/20 ds:dark:hover:fill-muted/20 ds:group-data-[state=checked]:fill-muted ds:group-data-[state=checked]:hover:fill-muted ds:group-data-[state=checked]:stroke-muted ds:stroke-1 ds:dark:fill-muted ds:dark:stroke-muted"
55
55
  },
56
56
  success: {
57
- default: "data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-success hover:fill-success/20 dark:hover:fill-success/20 group-data-[state=checked]:fill-success group-data-[state=checked]:hover:fill-success group-data-[state=checked]:stroke-success stroke-1 dark:fill-success dark:stroke-success"
57
+ default: "ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-success ds:hover:fill-success/20 ds:dark:hover:fill-success/20 ds:group-data-[state=checked]:fill-success ds:group-data-[state=checked]:hover:fill-success ds:group-data-[state=checked]:stroke-success ds:stroke-1 ds:dark:fill-success ds:dark:stroke-success"
58
58
  },
59
59
  error: {
60
- default: "data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-error hover:fill-error/20 dark:hover:fill-error/20 group-data-[state=checked]:fill-error group-data-[state=checked]:hover:fill-error group-data-[state=checked]:stroke-error stroke-1 dark:fill-error dark:stroke-error"
60
+ default: "ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-error ds:hover:fill-error/20 ds:dark:hover:fill-error/20 ds:group-data-[state=checked]:fill-error ds:group-data-[state=checked]:hover:fill-error ds:group-data-[state=checked]:stroke-error ds:stroke-1 ds:dark:fill-error ds:dark:stroke-error"
61
61
  },
62
62
  warning: {
63
- default: "data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-warning hover:fill-warning/20 dark:hover:fill-warning/20 group-data-[state=checked]:fill-warning group-data-[state=checked]:hover:fill-warning group-data-[state=checked]:stroke-warning stroke-1 dark:fill-warning dark:stroke-warning"
63
+ default: "ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-warning ds:hover:fill-warning/20 ds:dark:hover:fill-warning/20 ds:group-data-[state=checked]:fill-warning ds:group-data-[state=checked]:hover:fill-warning ds:group-data-[state=checked]:stroke-warning ds:stroke-1 ds:dark:fill-warning ds:dark:stroke-warning"
64
64
  }
65
65
  }, b = () => {
66
- const r = [];
66
+ const a = [];
67
67
  return Object.keys(c).forEach(
68
68
  (t) => {
69
- Object.keys(c[t]).forEach((a) => {
70
- r.push({
71
- variant: a,
69
+ Object.keys(c[t]).forEach((d) => {
70
+ a.push({
71
+ variant: d,
72
72
  color: t,
73
- className: c[t][a]
73
+ className: c[t][d]
74
74
  });
75
75
  });
76
76
  }
77
- ), r;
77
+ ), a;
78
78
  }, p = g(
79
- "peer border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
79
+ "ds:peer ds:border-input ds:dark:bg-input/30 ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive ds:shrink-0 ds:rounded-[4px] ds:border ds:shadow-xs ds:transition-shadow ds:outline-none ds:focus-visible:ring-[3px] ds:disabled:cursor-not-allowed ds:disabled:opacity-50",
80
80
  {
81
81
  variants: {
82
82
  variant: {
83
83
  default: "",
84
- circle: "border-2"
84
+ circle: "ds:border-2"
85
85
  },
86
86
  size: {
87
- sm: "min-w-4 min-h-4 [&_svg]:min-w-3 [&_svg]:min-h-3",
88
- default: "min-w-5 min-h-5 [&_svg]:min-w-4 [&_svg]:min-h-4",
89
- lg: "min-w-6 min-h-6 [&_svg]:min-w-5 [&_svg]:min-h-5"
87
+ sm: "ds:min-w-4 ds:min-h-4 ds:[&_svg]:min-w-3 ds:[&_svg]:min-h-3",
88
+ default: "ds:min-w-5 ds:min-h-5 ds:[&_svg]:min-w-4 ds:[&_svg]:min-h-4",
89
+ lg: "ds:min-w-6 ds:min-h-6 ds:[&_svg]:min-w-5 ds:[&_svg]:min-h-5"
90
90
  },
91
91
  color: {
92
92
  primary: "",
@@ -108,18 +108,18 @@ const c = {
108
108
  }
109
109
  );
110
110
  function C({
111
- className: r,
111
+ className: a,
112
112
  variant: t,
113
- size: a,
114
- color: d,
113
+ size: d,
114
+ color: r,
115
115
  icon: e,
116
116
  ...o
117
117
  }) {
118
- const l = d ? f[d].default : "", k = {
118
+ const l = r ? f[r].default : "", k = {
119
119
  sm: "min-w-5 min-h-5",
120
120
  default: "min-w-6 min-h-6",
121
121
  lg: "min-w-7 min-h-7"
122
- }[a || "default"];
122
+ }[d || "default"];
123
123
  return /* @__PURE__ */ s(
124
124
  i.Root,
125
125
  {
@@ -127,12 +127,12 @@ function C({
127
127
  className: u(
128
128
  p({
129
129
  variant: t,
130
- size: a,
131
- color: d,
132
- className: r
130
+ size: d,
131
+ color: r,
132
+ className: a
133
133
  }),
134
134
  {
135
- "group focus-visible:ring-ring/50 outline-none focus-visible:ring-3 !border-none !bg-transparent shadow-none": e
135
+ "ds:group ds:focus-visible:ring-ring/50 ds:outline-none ds:focus-visible:ring-3 ds:!border-none ds:!bg-transparent ds:shadow-none": e
136
136
  }
137
137
  ),
138
138
  ...o,
@@ -141,7 +141,7 @@ function C({
141
141
  {
142
142
  className: u(
143
143
  e.props.className,
144
- d ? l : "",
144
+ r ? l : "",
145
145
  k
146
146
  )
147
147
  }
@@ -149,8 +149,8 @@ function C({
149
149
  i.Indicator,
150
150
  {
151
151
  "data-slot": "checkbox-indicator",
152
- className: "grid place-content-center text-current transition-none",
153
- children: o.checked === "indeterminate" ? /* @__PURE__ */ s(h, { className: "size-3.5" }) : /* @__PURE__ */ s(m, { className: "size-3.5" })
152
+ className: "ds:grid ds:place-content-center ds:text-current ds:transition-none",
153
+ children: o.checked === "indeterminate" ? /* @__PURE__ */ s(h, { className: "ds:size-3.5" }) : /* @__PURE__ */ s(m, { className: "ds:size-3.5" })
154
154
  }
155
155
  )
156
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../../../../../../packages/ui/src/components/checkbox.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon, MinusIcon } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\n\nconst colorVariants = {\n primary: {\n default:\n \"data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-primary-foreground hover:border-primary transition-colors\",\n circle:\n \"rounded-full data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-primary-foreground hover:border-primary transition-colors\",\n },\n secondary: {\n default:\n \"data-[state=checked]:bg-secondary data-[state=checked]:border-secondary data-[state=checked]:text-secondary-foreground data-[state=indeterminate]:bg-secondary data-[state=indeterminate]:border-secondary data-[state=indeterminate]:text-secondary-foreground hover:border-primary transition-colors\",\n circle:\n \"rounded-full data-[state=checked]:bg-secondary data-[state=checked]:border-secondary data-[state=checked]:text-secondary-foreground data-[state=indeterminate]:bg-secondary data-[state=indeterminate]:border-secondary data-[state=indeterminate]:text-secondary-foreground hover:border-primary transition-colors\",\n },\n accent: {\n default:\n \"data-[state=checked]:bg-accent data-[state=checked]:border-accent data-[state=checked]:text-accent-foreground data-[state=indeterminate]:bg-accent data-[state=indeterminate]:border-accent data-[state=indeterminate]:text-accent-foreground hover:border-primary transition-colors\",\n circle:\n \"rounded-full data-[state=checked]:bg-accent data-[state=checked]:border-accent data-[state=checked]:text-accent-foreground data-[state=indeterminate]:bg-accent data-[state=indeterminate]:border-accent data-[state=indeterminate]:text-accent-foreground hover:border-primary transition-colors\",\n },\n destructive: {\n default:\n \"data-[state=checked]:bg-destructive data-[state=checked]:border-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:border-destructive data-[state=indeterminate]:text-destructive-foreground hover:border-primary transition-colors\",\n circle:\n \"rounded-full data-[state=checked]:bg-destructive data-[state=checked]:border-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:border-destructive data-[state=indeterminate]:text-destructive-foreground hover:border-primary transition-colors\",\n },\n muted: {\n default:\n \"data-[state=checked]:bg-muted data-[state=checked]:border-muted data-[state=checked]:text-muted-foreground data-[state=indeterminate]:bg-muted data-[state=indeterminate]:border-muted data-[state=indeterminate]:text-muted-foreground hover:border-primary transition-colors\",\n circle:\n \"rounded-full data-[state=checked]:bg-muted data-[state=checked]:border-muted data-[state=checked]:text-muted-foreground data-[state=indeterminate]:bg-muted data-[state=indeterminate]:border-muted data-[state=indeterminate]:text-muted-foreground hover:border-primary transition-colors\",\n },\n success: {\n default:\n \"data-[state=checked]:bg-success data-[state=checked]:border-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:border-success data-[state=indeterminate]:text-success-foreground hover:border-primary transition-colors\",\n circle:\n \"rounded-full data-[state=checked]:bg-success data-[state=checked]:border-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:border-success data-[state=indeterminate]:text-success-foreground hover:border-primary transition-colors\",\n },\n error: {\n default:\n \"data-[state=checked]:bg-error data-[state=checked]:border-error data-[state=checked]:text-error-foreground data-[state=indeterminate]:bg-error data-[state=indeterminate]:border-error data-[state=indeterminate]:text-error-foreground hover:border-primary transition-colors\",\n circle:\n \"rounded-full data-[state=checked]:bg-error data-[state=checked]:border-error data-[state=checked]:text-error-foreground data-[state=indeterminate]:bg-error data-[state=indeterminate]:border-error data-[state=indeterminate]:text-error-foreground hover:border-primary transition-colors\",\n },\n warning: {\n default:\n \"data-[state=checked]:bg-warning data-[state=checked]:border-warning data-[state=checked]:text-warning-foreground data-[state=indeterminate]:bg-warning data-[state=indeterminate]:border-warning data-[state=indeterminate]:text-warning-foreground hover:border-primary transition-colors\",\n circle:\n \"rounded-full data-[state=checked]:bg-warning data-[state=checked]:border-warning data-[state=checked]:text-warning-foreground data-[state=indeterminate]:bg-warning data-[state=indeterminate]:border-warning data-[state=indeterminate]:text-warning-foreground hover:border-primary transition-colors\",\n },\n};\n\nconst iconColorVariants = {\n primary: {\n default:\n \"group-data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 group-data-[state=unchecked]:fill-transparent hover:stroke-primary hover:fill-primary/20 dark:hover:fill-primary/20 group-data-[state=checked]:fill-primary group-data-[state=checked]:hover:fill-primary group-data-[state=checked]:stroke-primary stroke-1 dark:fill-primary dark:stroke-primary\",\n },\n secondary: {\n default:\n \"data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-secondary hover:fill-secondary/20 dark:hover:fill-secondary/20 group-data-[state=checked]:fill-secondary group-data-[state=checked]:hover:fill-secondary group-data-[state=checked]:stroke-secondary stroke-1 dark:fill-secondary dark:stroke-secondary\",\n },\n accent: {\n default:\n \"data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-accent hover:fill-accent/20 dark:hover:fill-accent/20 group-data-[state=checked]:fill-accent group-data-[state=checked]:hover:fill-accent group-data-[state=checked]:stroke-accent stroke-1 dark:fill-accent dark:stroke-accent\",\n },\n destructive: {\n default:\n \"data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-destructive hover:fill-destructive/20 dark:hover:fill-destructive/20 group-data-[state=checked]:fill-destructive group-data-[state=checked]:hover:fill-destructive group-data-[state=checked]:stroke-destructive stroke-1 dark:fill-destructive dark:stroke-destructive\",\n },\n muted: {\n default:\n \"data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-muted hover:fill-muted/20 dark:hover:fill-muted/20 group-data-[state=checked]:fill-muted group-data-[state=checked]:hover:fill-muted group-data-[state=checked]:stroke-muted stroke-1 dark:fill-muted dark:stroke-muted\",\n },\n success: {\n default:\n \"data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-success hover:fill-success/20 dark:hover:fill-success/20 group-data-[state=checked]:fill-success group-data-[state=checked]:hover:fill-success group-data-[state=checked]:stroke-success stroke-1 dark:fill-success dark:stroke-success\",\n },\n error: {\n default:\n \"data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-error hover:fill-error/20 dark:hover:fill-error/20 group-data-[state=checked]:fill-error group-data-[state=checked]:hover:fill-error group-data-[state=checked]:stroke-error stroke-1 dark:fill-error dark:stroke-error\",\n },\n warning: {\n default:\n \"data-[state=unchecked]:stroke-1 group-data-[state=unchecked]:stroke-black/30 data-[state=unchecked]:fill-transparent hover:stroke-warning hover:fill-warning/20 dark:hover:fill-warning/20 group-data-[state=checked]:fill-warning group-data-[state=checked]:hover:fill-warning group-data-[state=checked]:stroke-warning stroke-1 dark:fill-warning dark:stroke-warning\",\n },\n};\n\nconst generateCompoundVariants = () => {\n const variants: Array<{\n variant: keyof typeof colorVariants.primary;\n color: keyof typeof colorVariants;\n className: string;\n }> = [];\n\n (Object.keys(colorVariants) as Array<keyof typeof colorVariants>).forEach(\n (color) => {\n (\n Object.keys(colorVariants[color]) as Array<\n keyof typeof colorVariants.primary\n >\n ).forEach((variant) => {\n variants.push({\n variant,\n color,\n className: colorVariants[color][variant],\n });\n });\n }\n );\n\n return variants;\n};\n\nconst checkboxVariants = cva(\n \"peer border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"\",\n circle: \"border-2\",\n },\n size: {\n sm: \"min-w-4 min-h-4 [&_svg]:min-w-3 [&_svg]:min-h-3\",\n default: \"min-w-5 min-h-5 [&_svg]:min-w-4 [&_svg]:min-h-4\",\n lg: \"min-w-6 min-h-6 [&_svg]:min-w-5 [&_svg]:min-h-5\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n destructive: \"\",\n muted: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n },\n },\n compoundVariants: generateCompoundVariants(),\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n color: null,\n },\n }\n);\n\nfunction Checkbox({\n className,\n variant,\n size,\n color,\n icon,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root> &\n VariantProps<typeof checkboxVariants> & {\n icon?: React.ReactNode;\n }) {\n const iconClass = color ? iconColorVariants[color].default : \"\";\n const iconSizeClass = {\n sm: \"min-w-5 min-h-5\",\n default: \"min-w-6 min-h-6\",\n lg: \"min-w-7 min-h-7\",\n }[size || \"default\"];\n\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n checkboxVariants({\n variant,\n size,\n color,\n className,\n }),\n {\n \"group focus-visible:ring-ring/50 outline-none focus-visible:ring-3 !border-none !bg-transparent shadow-none\":\n icon,\n }\n )}\n {...props}\n >\n {icon ? (\n React.isValidElement(icon) ? (\n React.cloneElement(\n icon as React.ReactElement<{ className?: string }>,\n {\n className: cn(\n (icon as React.ReactElement<{ className?: string }>).props\n .className,\n color ? iconClass : \"\",\n iconSizeClass\n ),\n }\n )\n ) : (\n icon\n )\n ) : (\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n {props.checked === \"indeterminate\" ? (\n <MinusIcon className=\"size-3.5\" />\n ) : (\n <CheckIcon className=\"size-3.5\" />\n )}\n </CheckboxPrimitive.Indicator>\n )}\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"names":["colorVariants","iconColorVariants","generateCompoundVariants","variants","color","variant","checkboxVariants","cva","Checkbox","className","size","icon","props","iconClass","iconSizeClass","jsx","CheckboxPrimitive","cn","React","MinusIcon","CheckIcon"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../../../../../../packages/ui/src/components/checkbox.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon, MinusIcon } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\n\nconst colorVariants = {\n primary: {\n default:\n \"ds:data-[state=checked]:bg-primary ds:data-[state=checked]:border-primary ds:data-[state=checked]:text-primary-foreground ds:data-[state=indeterminate]:bg-primary ds:data-[state=indeterminate]:border-primary ds:data-[state=indeterminate]:text-primary-foreground ds:hover:border-primary ds:transition-colors\",\n circle:\n \"ds:rounded-full ds:data-[state=checked]:bg-primary ds:data-[state=checked]:border-primary ds:data-[state=checked]:text-primary-foreground ds:data-[state=indeterminate]:bg-primary ds:data-[state=indeterminate]:border-primary ds:data-[state=indeterminate]:text-primary-foreground ds:hover:border-primary ds:transition-colors\",\n },\n secondary: {\n default:\n \"ds:data-[state=checked]:bg-secondary ds:data-[state=checked]:border-secondary ds:data-[state=checked]:text-secondary-foreground ds:data-[state=indeterminate]:bg-secondary ds:data-[state=indeterminate]:border-secondary ds:data-[state=indeterminate]:text-secondary-foreground ds:hover:border-primary ds:transition-colors\",\n circle:\n \"ds:rounded-full ds:data-[state=checked]:bg-secondary ds:data-[state=checked]:border-secondary ds:data-[state=checked]:text-secondary-foreground ds:data-[state=indeterminate]:bg-secondary ds:data-[state=indeterminate]:border-secondary ds:data-[state=indeterminate]:text-secondary-foreground ds:hover:border-primary ds:transition-colors\",\n },\n accent: {\n default:\n \"ds:data-[state=checked]:bg-accent ds:data-[state=checked]:border-accent ds:data-[state=checked]:text-accent-foreground ds:data-[state=indeterminate]:bg-accent ds:data-[state=indeterminate]:border-accent ds:data-[state=indeterminate]:text-accent-foreground ds:hover:border-primary ds:transition-colors\",\n circle:\n \"ds:rounded-full ds:data-[state=checked]:bg-accent ds:data-[state=checked]:border-accent ds:data-[state=checked]:text-accent-foreground ds:data-[state=indeterminate]:bg-accent ds:data-[state=indeterminate]:border-accent ds:data-[state=indeterminate]:text-accent-foreground ds:hover:border-primary ds:transition-colors\",\n },\n destructive: {\n default:\n \"ds:data-[state=checked]:bg-destructive ds:data-[state=checked]:border-destructive ds:data-[state=checked]:text-destructive-foreground ds:data-[state=indeterminate]:bg-destructive ds:data-[state=indeterminate]:border-destructive ds:data-[state=indeterminate]:text-destructive-foreground ds:hover:border-primary ds:transition-colors\",\n circle:\n \"ds:rounded-full ds:data-[state=checked]:bg-destructive ds:data-[state=checked]:border-destructive ds:data-[state=checked]:text-destructive-foreground ds:data-[state=indeterminate]:bg-destructive ds:data-[state=indeterminate]:border-destructive ds:data-[state=indeterminate]:text-destructive-foreground ds:hover:border-primary ds:transition-colors\",\n },\n muted: {\n default:\n \"ds:data-[state=checked]:bg-muted ds:data-[state=checked]:border-muted ds:data-[state=checked]:text-muted-foreground ds:data-[state=indeterminate]:bg-muted ds:data-[state=indeterminate]:border-muted ds:data-[state=indeterminate]:text-muted-foreground ds:hover:border-primary ds:transition-colors\",\n circle:\n \"ds:rounded-full ds:data-[state=checked]:bg-muted ds:data-[state=checked]:border-muted ds:data-[state=checked]:text-muted-foreground ds:data-[state=indeterminate]:bg-muted ds:data-[state=indeterminate]:border-muted ds:data-[state=indeterminate]:text-muted-foreground ds:hover:border-primary ds:transition-colors\",\n },\n success: {\n default:\n \"ds:data-[state=checked]:bg-success ds:data-[state=checked]:border-success ds:data-[state=checked]:text-success-foreground ds:data-[state=indeterminate]:bg-success ds:data-[state=indeterminate]:border-success ds:data-[state=indeterminate]:text-success-foreground ds:hover:border-primary ds:transition-colors\",\n circle:\n \"ds:rounded-full ds:data-[state=checked]:bg-success ds:data-[state=checked]:border-success ds:data-[state=checked]:text-success-foreground ds:data-[state=indeterminate]:bg-success ds:data-[state=indeterminate]:border-success ds:data-[state=indeterminate]:text-success-foreground ds:hover:border-primary ds:transition-colors\",\n },\n error: {\n default:\n \"ds:data-[state=checked]:bg-error ds:data-[state=checked]:border-error ds:data-[state=checked]:text-error-foreground ds:data-[state=indeterminate]:bg-error ds:data-[state=indeterminate]:border-error ds:data-[state=indeterminate]:text-error-foreground ds:hover:border-primary ds:transition-colors\",\n circle:\n \"ds:rounded-full ds:data-[state=checked]:bg-error ds:data-[state=checked]:border-error ds:data-[state=checked]:text-error-foreground ds:data-[state=indeterminate]:bg-error ds:data-[state=indeterminate]:border-error ds:data-[state=indeterminate]:text-error-foreground ds:hover:border-primary ds:transition-colors\",\n },\n warning: {\n default:\n \"ds:data-[state=checked]:bg-warning ds:data-[state=checked]:border-warning ds:data-[state=checked]:text-warning-foreground ds:data-[state=indeterminate]:bg-warning ds:data-[state=indeterminate]:border-warning ds:data-[state=indeterminate]:text-warning-foreground ds:hover:border-primary ds:transition-colors\",\n circle:\n \"ds:rounded-full ds:data-[state=checked]:bg-warning ds:data-[state=checked]:border-warning ds:data-[state=checked]:text-warning-foreground ds:data-[state=indeterminate]:bg-warning ds:data-[state=indeterminate]:border-warning ds:data-[state=indeterminate]:text-warning-foreground ds:hover:border-primary ds:transition-colors\",\n },\n};\n\nconst iconColorVariants = {\n primary: {\n default:\n \"ds:group-data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:group-data-[state=unchecked]:fill-transparent ds:hover:stroke-primary ds:hover:fill-primary/20 ds:dark:hover:fill-primary/20 ds:group-data-[state=checked]:fill-primary ds:group-data-[state=checked]:hover:fill-primary ds:group-data-[state=checked]:stroke-primary ds:stroke-1 ds:dark:fill-primary ds:dark:stroke-primary\",\n },\n secondary: {\n default:\n \"ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-secondary ds:hover:fill-secondary/20 ds:dark:hover:fill-secondary/20 ds:group-data-[state=checked]:fill-secondary ds:group-data-[state=checked]:hover:fill-secondary ds:group-data-[state=checked]:stroke-secondary ds:stroke-1 ds:dark:fill-secondary ds:dark:stroke-secondary\",\n },\n accent: {\n default:\n \"ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-accent ds:hover:fill-accent/20 ds:dark:hover:fill-accent/20 ds:group-data-[state=checked]:fill-accent ds:group-data-[state=checked]:hover:fill-accent ds:group-data-[state=checked]:stroke-accent ds:stroke-1 ds:dark:fill-accent ds:dark:stroke-accent\",\n },\n destructive: {\n default:\n \"ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-destructive ds:hover:fill-destructive/20 ds:dark:hover:fill-destructive/20 ds:group-data-[state=checked]:fill-destructive ds:group-data-[state=checked]:hover:fill-destructive ds:group-data-[state=checked]:stroke-destructive ds:stroke-1 ds:dark:fill-destructive ds:dark:stroke-destructive\",\n },\n muted: {\n default:\n \"ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-muted ds:hover:fill-muted/20 ds:dark:hover:fill-muted/20 ds:group-data-[state=checked]:fill-muted ds:group-data-[state=checked]:hover:fill-muted ds:group-data-[state=checked]:stroke-muted ds:stroke-1 ds:dark:fill-muted ds:dark:stroke-muted\",\n },\n success: {\n default:\n \"ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-success ds:hover:fill-success/20 ds:dark:hover:fill-success/20 ds:group-data-[state=checked]:fill-success ds:group-data-[state=checked]:hover:fill-success ds:group-data-[state=checked]:stroke-success ds:stroke-1 ds:dark:fill-success ds:dark:stroke-success\",\n },\n error: {\n default:\n \"ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-error ds:hover:fill-error/20 ds:dark:hover:fill-error/20 ds:group-data-[state=checked]:fill-error ds:group-data-[state=checked]:hover:fill-error ds:group-data-[state=checked]:stroke-error ds:stroke-1 ds:dark:fill-error ds:dark:stroke-error\",\n },\n warning: {\n default:\n \"ds:data-[state=unchecked]:stroke-1 ds:group-data-[state=unchecked]:stroke-black/30 ds:data-[state=unchecked]:fill-transparent ds:hover:stroke-warning ds:hover:fill-warning/20 ds:dark:hover:fill-warning/20 ds:group-data-[state=checked]:fill-warning ds:group-data-[state=checked]:hover:fill-warning ds:group-data-[state=checked]:stroke-warning ds:stroke-1 ds:dark:fill-warning ds:dark:stroke-warning\",\n },\n};\n\nconst generateCompoundVariants = () => {\n const variants: Array<{\n variant: keyof typeof colorVariants.primary;\n color: keyof typeof colorVariants;\n className: string;\n }> = [];\n\n (Object.keys(colorVariants) as Array<keyof typeof colorVariants>).forEach(\n (color) => {\n (\n Object.keys(colorVariants[color]) as Array<\n keyof typeof colorVariants.primary\n >\n ).forEach((variant) => {\n variants.push({\n variant,\n color,\n className: colorVariants[color][variant],\n });\n });\n }\n );\n\n return variants;\n};\n\nconst checkboxVariants = cva(\n \"ds:peer ds:border-input ds:dark:bg-input/30 ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive ds:shrink-0 ds:rounded-[4px] ds:border ds:shadow-xs ds:transition-shadow ds:outline-none ds:focus-visible:ring-[3px] ds:disabled:cursor-not-allowed ds:disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"\",\n circle: \"ds:border-2\",\n },\n size: {\n sm: \"ds:min-w-4 ds:min-h-4 ds:[&_svg]:min-w-3 ds:[&_svg]:min-h-3\",\n default: \"ds:min-w-5 ds:min-h-5 ds:[&_svg]:min-w-4 ds:[&_svg]:min-h-4\",\n lg: \"ds:min-w-6 ds:min-h-6 ds:[&_svg]:min-w-5 ds:[&_svg]:min-h-5\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n destructive: \"\",\n muted: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n },\n },\n compoundVariants: generateCompoundVariants(),\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n color: null,\n },\n }\n);\n\nfunction Checkbox({\n className,\n variant,\n size,\n color,\n icon,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root> &\n VariantProps<typeof checkboxVariants> & {\n icon?: React.ReactNode;\n }) {\n const iconClass = color ? iconColorVariants[color].default : \"\";\n const iconSizeClass = {\n sm: \"min-w-5 min-h-5\",\n default: \"min-w-6 min-h-6\",\n lg: \"min-w-7 min-h-7\",\n }[size || \"default\"];\n\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n checkboxVariants({\n variant,\n size,\n color,\n className,\n }),\n {\n \"ds:group ds:focus-visible:ring-ring/50 ds:outline-none ds:focus-visible:ring-3 ds:!border-none ds:!bg-transparent ds:shadow-none\":\n icon,\n }\n )}\n {...props}\n >\n {icon ? (\n React.isValidElement(icon) ? (\n React.cloneElement(\n icon as React.ReactElement<{ className?: string }>,\n {\n className: cn(\n (icon as React.ReactElement<{ className?: string }>).props\n .className,\n color ? iconClass : \"\",\n iconSizeClass\n ),\n }\n )\n ) : (\n icon\n )\n ) : (\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"ds:grid ds:place-content-center ds:text-current ds:transition-none\"\n >\n {props.checked === \"indeterminate\" ? (\n <MinusIcon className=\"ds:size-3.5\" />\n ) : (\n <CheckIcon className=\"ds:size-3.5\" />\n )}\n </CheckboxPrimitive.Indicator>\n )}\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"names":["colorVariants","iconColorVariants","generateCompoundVariants","variants","color","variant","checkboxVariants","cva","Checkbox","className","size","icon","props","iconClass","iconSizeClass","jsx","CheckboxPrimitive","cn","React","MinusIcon","CheckIcon"],"mappings":"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"}
@@ -1,27 +1,27 @@
1
- import { jsxs as s, jsx as r, Fragment as N } from "react/jsx-runtime";
1
+ import { jsxs as a, jsx as d, Fragment as N } from "react/jsx-runtime";
2
2
  import * as b from "react";
3
3
  import { ChevronUp as k, ChevronDown as O, X as P, Check as j } from "lucide-react";
4
4
  import { cva as I } from "class-variance-authority";
5
5
  import { Command as S, CommandInput as D, CommandList as L, CommandEmpty as V, CommandGroup as z, CommandItem as E } from "./command.js";
6
6
  import { Popover as F, PopoverTrigger as G, PopoverContent as T } from "./popover.js";
7
- import { cn as i } from "../lib/utils.js";
7
+ import { cn as r } from "../lib/utils.js";
8
8
  import { Label as g } from "./label.js";
9
9
  const U = I(
10
- "justify-between relative dark:bg-background dark:hover:bg-input/50 border-input w-full min-w-0 rounded-md border bg-transparent shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
10
+ "ds:justify-between ds:relative ds:dark:bg-background ds:dark:hover:bg-input/50 ds:border-input ds:w-full ds:min-w-0 ds:rounded-md ds:border ds:bg-transparent ds:shadow-xs ds:transition-[color,box-shadow] ds:outline-none ds:file:inline-flex ds:file:h-7 ds:file:border-0 ds:file:bg-transparent ds:file:text-sm ds:file:font-medium ds:disabled:pointer-events-none ds:disabled:cursor-not-allowed ds:disabled:opacity-50 ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:focus-visible:ring-[3px] ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive",
11
11
  {
12
12
  variants: {
13
13
  size: {
14
- xs: "h-6 text-xs px-2 py-0.5",
15
- sm: "h-8 text-sm px-2.5 py-1",
16
- normal: "h-9 px-3 py-1",
17
- lg: "h-11 px-4 py-2",
18
- xl: "h-14 px-5 py-3"
14
+ xs: "ds:h-6 ds:text-xs ds:px-2 ds:py-0.5",
15
+ sm: "ds:h-8 ds:text-sm ds:px-2.5 ds:py-1",
16
+ normal: "ds:h-9 ds:px-3 ds:py-1",
17
+ lg: "ds:h-11 ds:px-4 ds:py-2",
18
+ xl: "ds:h-14 ds:px-5 ds:py-3"
19
19
  },
20
20
  state: {
21
21
  default: "",
22
- success: "border-success ring-success/30 focus-visible:border-success focus-visible:ring-success/50",
23
- error: "border-destructive ring-destructive/30 focus-visible:border-destructive focus-visible:ring-destructive/50",
24
- warning: "border-warning ring-warning/30 focus-visible:border-warning focus-visible:ring-warning/50"
22
+ success: "ds:border-success ds:ring-success/30 ds:focus-visible:border-success ds:focus-visible:ring-success/50",
23
+ error: "ds:border-destructive ds:ring-destructive/30 ds:focus-visible:border-destructive ds:focus-visible:ring-destructive/50",
24
+ warning: "ds:border-warning ds:ring-warning/30 ds:focus-visible:border-warning ds:focus-visible:ring-warning/50"
25
25
  }
26
26
  },
27
27
  defaultVariants: {
@@ -31,115 +31,115 @@ const U = I(
31
31
  }
32
32
  );
33
33
  function R({
34
- value: t,
35
- options: o,
36
- placeHolder: l,
34
+ value: i,
35
+ options: n,
36
+ placeHolder: o,
37
37
  emptyText: f,
38
- onChange: c,
39
- clearable: d,
38
+ onChange: l,
39
+ clearable: c,
40
40
  className: v,
41
41
  dropdownClassName: m,
42
42
  children: h,
43
- size: a,
43
+ size: e,
44
44
  state: x = "default",
45
45
  searchable: w = !0,
46
46
  tagRender: u,
47
47
  ...y
48
48
  }) {
49
- const [n, p] = b.useState(!1), C = b.useCallback((e) => {
50
- p(e);
49
+ const [t, p] = b.useState(!1), C = b.useCallback((s) => {
50
+ p(s);
51
51
  }, []);
52
- return /* @__PURE__ */ s(F, { open: n, onOpenChange: C, modal: !0, children: [
53
- /* @__PURE__ */ r(G, { asChild: !0, ...y, children: h ?? /* @__PURE__ */ s(g, { className: i(U({ size: a, state: x }), v), children: [
54
- /* @__PURE__ */ r(
52
+ return /* @__PURE__ */ a(F, { open: t, onOpenChange: C, modal: !0, children: [
53
+ /* @__PURE__ */ d(G, { asChild: !0, ...y, children: h ?? /* @__PURE__ */ a(g, { className: r(U({ size: e, state: x }), v), children: [
54
+ /* @__PURE__ */ d(
55
55
  "span",
56
56
  {
57
- className: i(
58
- "truncate w-full inline-block align-middle text-left",
57
+ className: r(
58
+ "ds:truncate ds:w-full ds:inline-block ds:align-middle ds:text-left",
59
59
  {
60
- "pr-8": d
60
+ "ds:pr-8": c
61
61
  }
62
62
  ),
63
- children: t ? o?.find((e) => e.value === t)?.label : l
63
+ children: i ? n?.find((s) => s.value === i)?.label : o
64
64
  }
65
65
  ),
66
- n && /* @__PURE__ */ r(
66
+ t && /* @__PURE__ */ d(
67
67
  k,
68
68
  {
69
- className: i(
70
- "z-10 opacity-50",
69
+ className: r(
70
+ "ds:z-10 ds:opacity-50",
71
71
  {
72
- "size-4 min-w-4": a === "sm" || a === "xs",
73
- "size-5 min-w-5": a === "lg" || a === "xl"
72
+ "ds:size-4 ds:min-w-4": e === "sm" || e === "xs",
73
+ "ds:size-5 ds:min-w-5": e === "lg" || e === "xl"
74
74
  },
75
75
  m
76
76
  )
77
77
  }
78
78
  ),
79
- !n && /* @__PURE__ */ r(
79
+ !t && /* @__PURE__ */ d(
80
80
  O,
81
81
  {
82
- className: i(
83
- "z-10 opacity-50",
82
+ className: r(
83
+ "ds:z-10 ds:opacity-50",
84
84
  {
85
- "size-4 min-w-4": a === "sm" || a === "xs",
86
- "size-5 min-w-5": a === "lg" || a === "xl"
85
+ "ds:size-4 ds:min-w-4": e === "sm" || e === "xs",
86
+ "ds:size-5 ds:min-w-5": e === "lg" || e === "xl"
87
87
  },
88
88
  m
89
89
  )
90
90
  }
91
91
  )
92
92
  ] }) }),
93
- d && t && /* @__PURE__ */ r(
93
+ c && i && /* @__PURE__ */ d(
94
94
  g,
95
95
  {
96
- onClick: (e) => {
97
- e.stopPropagation(), c?.("");
96
+ onClick: (s) => {
97
+ s.stopPropagation(), l?.("");
98
98
  },
99
- className: "absolute right-11 top-1/2 -translate-y-1/2 rounded-sm p-1 text-muted-foreground hover:bg-accent hover:text-accent-foreground cursor-pointer size-6 opacity-50",
100
- children: /* @__PURE__ */ r(P, { className: "h-4 w-4" })
99
+ className: "ds:absolute ds:right-11 ds:top-1/2 ds:-translate-y-1/2 ds:rounded-sm ds:p-1 ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:cursor-pointer ds:size-6 ds:opacity-50",
100
+ children: /* @__PURE__ */ d(P, { className: "ds:h-4 ds:w-4" })
101
101
  }
102
102
  ),
103
- /* @__PURE__ */ r(
103
+ /* @__PURE__ */ d(
104
104
  T,
105
105
  {
106
- className: i("p-0 w-(--radix-popover-trigger-width)"),
107
- onInteractOutside: (e) => {
108
- e.target.closest('[data-slot="popover-trigger"]') && e.preventDefault();
106
+ className: r("ds:p-0 ds:w-(--radix-popover-trigger-width)"),
107
+ onInteractOutside: (s) => {
108
+ s.target.closest('[data-slot="popover-trigger"]') && s.preventDefault();
109
109
  },
110
- children: /* @__PURE__ */ s(S, { children: [
111
- w && /* @__PURE__ */ r(D, { placeholder: l, className: "h-9" }),
112
- /* @__PURE__ */ s(L, { children: [
113
- /* @__PURE__ */ r(V, { children: f || "Not found" }),
114
- /* @__PURE__ */ r(z, { children: o?.map((e) => /* @__PURE__ */ s(
110
+ children: /* @__PURE__ */ a(S, { children: [
111
+ w && /* @__PURE__ */ d(D, { placeholder: o, className: "ds:h-9" }),
112
+ /* @__PURE__ */ a(L, { children: [
113
+ /* @__PURE__ */ d(V, { children: f || "Not found" }),
114
+ /* @__PURE__ */ d(z, { children: n?.map((s) => /* @__PURE__ */ a(
115
115
  E,
116
116
  {
117
- value: String(e.label),
118
- onSelect: e?.disabled ? void 0 : () => {
119
- c?.(e.value), p(!1);
117
+ value: String(s.label),
118
+ onSelect: s?.disabled ? void 0 : () => {
119
+ l?.(s.value), p(!1);
120
120
  },
121
- className: i(
122
- e?.disabled && "opacity-50 cursor-not-allowed grayscale",
123
- t === e.value && "bg-primary/10 dark:bg-primary/20"
121
+ className: r(
122
+ s?.disabled && "ds:opacity-50 ds:cursor-not-allowed ds:grayscale",
123
+ i === s.value && "ds:bg-primary/10 ds:dark:bg-primary/20"
124
124
  ),
125
125
  children: [
126
- u ? u(e) : /* @__PURE__ */ s(N, { children: [
127
- e.icon && /* @__PURE__ */ r("span", { className: "mr-2 max-w-4 max-h-4", children: e.icon }),
128
- e.label
126
+ u ? u(s) : /* @__PURE__ */ a(N, { children: [
127
+ s.icon && /* @__PURE__ */ d("span", { className: "ds:mr-2 ds:max-w-4 ds:max-h-4", children: s.icon }),
128
+ s.label
129
129
  ] }),
130
- /* @__PURE__ */ r(
130
+ /* @__PURE__ */ d(
131
131
  j,
132
132
  {
133
- className: i(
134
- "ml-auto",
135
- t === e.value ? "opacity-100" : "opacity-0"
133
+ className: r(
134
+ "ds:ml-auto",
135
+ i === s.value ? "ds:opacity-100" : "ds:opacity-0"
136
136
  // So sánh theo value
137
137
  )
138
138
  }
139
139
  )
140
140
  ]
141
141
  },
142
- e.value
142
+ s.value
143
143
  )) })
144
144
  ] })
145
145
  ] })
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.js","sources":["../../../../../../../../packages/ui/src/components/combobox.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Check, ChevronDown, ChevronUp, X } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"./command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\nimport { cn } from \"../lib/utils\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { Label } from \"./label\";\n\nconst comboboxVariants = cva(\n \"justify-between relative dark:bg-background dark:hover:bg-input/50 border-input w-full min-w-0 rounded-md border bg-transparent shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n size: {\n xs: \"h-6 text-xs px-2 py-0.5\",\n sm: \"h-8 text-sm px-2.5 py-1\",\n normal: \"h-9 px-3 py-1\",\n lg: \"h-11 px-4 py-2\",\n xl: \"h-14 px-5 py-3\",\n },\n state: {\n default: \"\",\n success:\n \"border-success ring-success/30 focus-visible:border-success focus-visible:ring-success/50\",\n error:\n \"border-destructive ring-destructive/30 focus-visible:border-destructive focus-visible:ring-destructive/50\",\n warning:\n \"border-warning ring-warning/30 focus-visible:border-warning focus-visible:ring-warning/50\",\n },\n },\n defaultVariants: {\n size: \"normal\",\n state: \"default\",\n },\n }\n);\n\ntype SelectOption = {\n label: React.ReactNode;\n value: string;\n group?: string;\n icon?: React.ReactNode;\n disabled?: boolean;\n};\n\ntype ComboboxProps = Omit<\n React.ComponentProps<typeof PopoverPrimitive.Trigger>,\n \"onChange\"\n> & {\n value?: string;\n options?: SelectOption[];\n placeHolder?: string;\n onChange?: (value?: string | null) => void;\n clearable?: boolean;\n emptyText?: string;\n className?: string;\n dropdownClassName?: string;\n children?: React.ReactNode;\n size?: \"normal\" | \"sm\" | \"xs\" | \"lg\" | \"xl\";\n state?: \"default\" | \"success\" | \"error\" | \"warning\";\n searchable?: boolean;\n tagRender?: (\n option: SelectOption & { onClick?: () => void }\n ) => React.ReactNode;\n} & VariantProps<typeof comboboxVariants>;\n\nfunction Combobox({\n value,\n options,\n placeHolder,\n emptyText,\n onChange,\n clearable,\n className,\n dropdownClassName,\n children,\n size,\n state = \"default\",\n searchable = true,\n tagRender,\n ...props\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false);\n\n const handleOpenChange = React.useCallback((newOpen: boolean) => {\n setOpen(newOpen);\n }, []);\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange} modal={true}>\n <PopoverTrigger asChild {...props}>\n {children ?? (\n <Label className={cn(comboboxVariants({ size, state }), className)}>\n <span\n className={cn(\n \"truncate w-full inline-block align-middle text-left\",\n {\n \"pr-8\": clearable,\n }\n )}\n >\n {value\n ? options?.find((option) => option.value === value)?.label\n : placeHolder}\n </span>\n {open && (\n <ChevronUp\n className={cn(\n \"z-10 opacity-50\",\n {\n \"size-4 min-w-4\": size === \"sm\" || size === \"xs\",\n \"size-5 min-w-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n {!open && (\n <ChevronDown\n className={cn(\n \"z-10 opacity-50\",\n {\n \"size-4 min-w-4\": size === \"sm\" || size === \"xs\",\n \"size-5 min-w-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n </Label>\n )}\n </PopoverTrigger>\n\n {clearable && value && (\n <Label\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(\"\");\n }}\n className=\"absolute right-11 top-1/2 -translate-y-1/2 rounded-sm p-1 text-muted-foreground hover:bg-accent hover:text-accent-foreground cursor-pointer size-6 opacity-50\"\n >\n <X className=\"h-4 w-4\" />\n </Label>\n )}\n <PopoverContent\n className={cn(\"p-0 w-(--radix-popover-trigger-width)\")}\n onInteractOutside={(e) => {\n // Prevent closing when clicking the trigger\n const target = e.target as HTMLElement;\n if (target.closest('[data-slot=\"popover-trigger\"]')) {\n e.preventDefault();\n }\n }}\n >\n <Command>\n {searchable && (\n <CommandInput placeholder={placeHolder} className=\"h-9\" />\n )}\n <CommandList>\n <CommandEmpty>{emptyText || \"Not found\"}</CommandEmpty>\n <CommandGroup>\n {options?.map((option) => (\n <CommandItem\n key={option.value}\n value={String(option.label)} // Để Command search theo label\n onSelect={\n option?.disabled\n ? undefined\n : () => {\n onChange?.(option.value); // Lưu value thực sự\n setOpen(false);\n }\n }\n className={cn(\n option?.disabled &&\n \"opacity-50 cursor-not-allowed grayscale\",\n value === option.value && \"bg-primary/10 dark:bg-primary/20\"\n )}\n >\n {tagRender ? (\n tagRender(option)\n ) : (\n <>\n {option.icon && (\n <span className=\"mr-2 max-w-4 max-h-4\">\n {option.icon}\n </span>\n )}\n {option.label}\n </>\n )}\n <Check\n className={cn(\n \"ml-auto\",\n value === option.value ? \"opacity-100\" : \"opacity-0\" // So sánh theo value\n )}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport { Combobox, type ComboboxProps, type SelectOption };\n"],"names":["comboboxVariants","cva","Combobox","value","options","placeHolder","emptyText","onChange","clearable","className","dropdownClassName","children","size","state","searchable","tagRender","props","open","setOpen","React","handleOpenChange","newOpen","Popover","jsx","PopoverTrigger","jsxs","Label","cn","option","ChevronUp","ChevronDown","X","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","Fragment","Check"],"mappings":"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"}
1
+ {"version":3,"file":"combobox.js","sources":["../../../../../../../../packages/ui/src/components/combobox.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Check, ChevronDown, ChevronUp, X } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"./command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\nimport { cn } from \"../lib/utils\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { Label } from \"./label\";\n\nconst comboboxVariants = cva(\n \"ds:justify-between ds:relative ds:dark:bg-background ds:dark:hover:bg-input/50 ds:border-input ds:w-full ds:min-w-0 ds:rounded-md ds:border ds:bg-transparent ds:shadow-xs ds:transition-[color,box-shadow] ds:outline-none ds:file:inline-flex ds:file:h-7 ds:file:border-0 ds:file:bg-transparent ds:file:text-sm ds:file:font-medium ds:disabled:pointer-events-none ds:disabled:cursor-not-allowed ds:disabled:opacity-50 ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:focus-visible:ring-[3px] ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive\",\n {\n variants: {\n size: {\n xs: \"ds:h-6 ds:text-xs ds:px-2 ds:py-0.5\",\n sm: \"ds:h-8 ds:text-sm ds:px-2.5 ds:py-1\",\n normal: \"ds:h-9 ds:px-3 ds:py-1\",\n lg: \"ds:h-11 ds:px-4 ds:py-2\",\n xl: \"ds:h-14 ds:px-5 ds:py-3\",\n },\n state: {\n default: \"\",\n success:\n \"ds:border-success ds:ring-success/30 ds:focus-visible:border-success ds:focus-visible:ring-success/50\",\n error:\n \"ds:border-destructive ds:ring-destructive/30 ds:focus-visible:border-destructive ds:focus-visible:ring-destructive/50\",\n warning:\n \"ds:border-warning ds:ring-warning/30 ds:focus-visible:border-warning ds:focus-visible:ring-warning/50\",\n },\n },\n defaultVariants: {\n size: \"normal\",\n state: \"default\",\n },\n }\n);\n\ntype SelectOption = {\n label: React.ReactNode;\n value: string;\n group?: string;\n icon?: React.ReactNode;\n disabled?: boolean;\n};\n\ntype ComboboxProps = Omit<\n React.ComponentProps<typeof PopoverPrimitive.Trigger>,\n \"onChange\"\n> & {\n value?: string;\n options?: SelectOption[];\n placeHolder?: string;\n onChange?: (value?: string | null) => void;\n clearable?: boolean;\n emptyText?: string;\n className?: string;\n dropdownClassName?: string;\n children?: React.ReactNode;\n size?: \"normal\" | \"sm\" | \"xs\" | \"lg\" | \"xl\";\n state?: \"default\" | \"success\" | \"error\" | \"warning\";\n searchable?: boolean;\n tagRender?: (\n option: SelectOption & { onClick?: () => void }\n ) => React.ReactNode;\n} & VariantProps<typeof comboboxVariants>;\n\nfunction Combobox({\n value,\n options,\n placeHolder,\n emptyText,\n onChange,\n clearable,\n className,\n dropdownClassName,\n children,\n size,\n state = \"default\",\n searchable = true,\n tagRender,\n ...props\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false);\n\n const handleOpenChange = React.useCallback((newOpen: boolean) => {\n setOpen(newOpen);\n }, []);\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange} modal={true}>\n <PopoverTrigger asChild {...props}>\n {children ?? (\n <Label className={cn(comboboxVariants({ size, state }), className)}>\n <span\n className={cn(\n \"ds:truncate ds:w-full ds:inline-block ds:align-middle ds:text-left\",\n {\n \"ds:pr-8\": clearable,\n }\n )}\n >\n {value\n ? options?.find((option) => option.value === value)?.label\n : placeHolder}\n </span>\n {open && (\n <ChevronUp\n className={cn(\n \"ds:z-10 ds:opacity-50\",\n {\n \"ds:size-4 ds:min-w-4\": size === \"sm\" || size === \"xs\",\n \"ds:size-5 ds:min-w-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n {!open && (\n <ChevronDown\n className={cn(\n \"ds:z-10 ds:opacity-50\",\n {\n \"ds:size-4 ds:min-w-4\": size === \"sm\" || size === \"xs\",\n \"ds:size-5 ds:min-w-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n </Label>\n )}\n </PopoverTrigger>\n\n {clearable && value && (\n <Label\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(\"\");\n }}\n className=\"ds:absolute ds:right-11 ds:top-1/2 ds:-translate-y-1/2 ds:rounded-sm ds:p-1 ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:cursor-pointer ds:size-6 ds:opacity-50\"\n >\n <X className=\"ds:h-4 ds:w-4\" />\n </Label>\n )}\n <PopoverContent\n className={cn(\"ds:p-0 ds:w-(--radix-popover-trigger-width)\")}\n onInteractOutside={(e) => {\n // Prevent closing when clicking the trigger\n const target = e.target as HTMLElement;\n if (target.closest('[data-slot=\"popover-trigger\"]')) {\n e.preventDefault();\n }\n }}\n >\n <Command>\n {searchable && (\n <CommandInput placeholder={placeHolder} className=\"ds:h-9\" />\n )}\n <CommandList>\n <CommandEmpty>{emptyText || \"Not found\"}</CommandEmpty>\n <CommandGroup>\n {options?.map((option) => (\n <CommandItem\n key={option.value}\n value={String(option.label)} // Để Command search theo label\n onSelect={\n option?.disabled\n ? undefined\n : () => {\n onChange?.(option.value); // Lưu value thực sự\n setOpen(false);\n }\n }\n className={cn(\n option?.disabled &&\n \"ds:opacity-50 ds:cursor-not-allowed ds:grayscale\",\n value === option.value && \"ds:bg-primary/10 ds:dark:bg-primary/20\"\n )}\n >\n {tagRender ? (\n tagRender(option)\n ) : (\n <>\n {option.icon && (\n <span className=\"ds:mr-2 ds:max-w-4 ds:max-h-4\">\n {option.icon}\n </span>\n )}\n {option.label}\n </>\n )}\n <Check\n className={cn(\n \"ds:ml-auto\",\n value === option.value ? \"ds:opacity-100\" : \"ds:opacity-0\" // So sánh theo value\n )}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport { Combobox, type ComboboxProps, type SelectOption };\n"],"names":["comboboxVariants","cva","Combobox","value","options","placeHolder","emptyText","onChange","clearable","className","dropdownClassName","children","size","state","searchable","tagRender","props","open","setOpen","React","handleOpenChange","newOpen","Popover","jsx","PopoverTrigger","jsxs","Label","cn","option","ChevronUp","ChevronDown","e","X","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","Fragment","Check"],"mappings":"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"}