@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
@@ -1,61 +1,61 @@
1
- import { jsxs as s, jsx as l } from "react/jsx-runtime";
2
- import * as o from "@radix-ui/react-scroll-area";
3
- import { cn as t } from "../lib/utils.js";
4
- function b({
5
- className: e,
1
+ import { jsxs as t, jsx as s } from "react/jsx-runtime";
2
+ import * as l from "@radix-ui/react-scroll-area";
3
+ import { cn as a } from "../lib/utils.js";
4
+ function i({
5
+ className: o,
6
6
  children: r,
7
- ...a
7
+ ...e
8
8
  }) {
9
- return /* @__PURE__ */ s(
10
- o.Root,
9
+ return /* @__PURE__ */ t(
10
+ l.Root,
11
11
  {
12
12
  "data-slot": "scroll-area",
13
- className: t("relative", e),
14
- ...a,
13
+ className: a("ds:relative", o),
14
+ ...e,
15
15
  children: [
16
- /* @__PURE__ */ l(
17
- o.Viewport,
16
+ /* @__PURE__ */ s(
17
+ l.Viewport,
18
18
  {
19
19
  "data-slot": "scroll-area-viewport",
20
- className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 focus-visible:ring-ring/50 [scrollbar-width:thin] [scrollbar-color:transparent_transparent] hover:[scrollbar-color:hsl(var(--border))_transparent] [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded hover:[&::-webkit-scrollbar-thumb]:bg-border",
20
+ className: "ds:size-full ds:rounded-[inherit] ds:transition-[color,box-shadow] ds:outline-none ds:focus-visible:ring-[3px] ds:focus-visible:outline-1 ds:focus-visible:ring-ring/50 ds:[scrollbar-width:thin] ds:[scrollbar-color:transparent_transparent] ds:hover:[scrollbar-color:hsl(var(--border))_transparent] ds:[&::-webkit-scrollbar]:w-2 ds:[&::-webkit-scrollbar]:h-2 ds:[&::-webkit-scrollbar-track]:bg-transparent ds:[&::-webkit-scrollbar-thumb]:bg-transparent ds:[&::-webkit-scrollbar-thumb]:rounded ds:hover:[&::-webkit-scrollbar-thumb]:bg-border",
21
21
  children: r
22
22
  }
23
23
  ),
24
- /* @__PURE__ */ l(c, {}),
25
- /* @__PURE__ */ l(o.Corner, {})
24
+ /* @__PURE__ */ s(d, {}),
25
+ /* @__PURE__ */ s(l.Corner, {})
26
26
  ]
27
27
  }
28
28
  );
29
29
  }
30
- function c({
31
- className: e,
30
+ function d({
31
+ className: o,
32
32
  orientation: r = "vertical",
33
- ...a
33
+ ...e
34
34
  }) {
35
- return /* @__PURE__ */ l(
36
- o.ScrollAreaScrollbar,
35
+ return /* @__PURE__ */ s(
36
+ l.ScrollAreaScrollbar,
37
37
  {
38
38
  "data-slot": "scroll-area-scrollbar",
39
39
  orientation: r,
40
- className: t(
41
- "flex touch-none p-px transition-colors select-none",
42
- r === "vertical" && "h-full w-2.5 border-l border-l-transparent",
43
- r === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
44
- e
40
+ className: a(
41
+ "ds:flex ds:touch-none ds:p-px ds:transition-colors ds:select-none",
42
+ r === "vertical" && "ds:h-full ds:w-2.5 ds:border-l ds:border-l-transparent",
43
+ r === "horizontal" && "ds:h-2.5 ds:flex-col ds:border-t ds:border-t-transparent",
44
+ o
45
45
  ),
46
- ...a,
47
- children: /* @__PURE__ */ l(
48
- o.ScrollAreaThumb,
46
+ ...e,
47
+ children: /* @__PURE__ */ s(
48
+ l.ScrollAreaThumb,
49
49
  {
50
50
  "data-slot": "scroll-area-thumb",
51
- className: "bg-border relative flex-1 rounded-full"
51
+ className: "ds:bg-border ds:relative ds:flex-1 ds:rounded-full"
52
52
  }
53
53
  )
54
54
  }
55
55
  );
56
56
  }
57
57
  export {
58
- b as ScrollArea,
59
- c as ScrollBar
58
+ i as ScrollArea,
59
+ d as ScrollBar
60
60
  };
61
61
  //# sourceMappingURL=scroll-area.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area.js","sources":["../../../../../../../../packages/ui/src/components/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 focus-visible:ring-ring/50 [scrollbar-width:thin] [scrollbar-color:transparent_transparent] hover:[scrollbar-color:hsl(var(--border))_transparent] [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded hover:[&::-webkit-scrollbar-thumb]:bg-border\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-border relative flex-1 rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["ScrollArea","className","children","props","jsxs","ScrollAreaPrimitive","cn","jsx","ScrollBar","orientation"],"mappings":";;;AAOA,SAASA,EAAW;AAAA,EAClB,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAA0D;AACxD,SACE,gBAAAC;AAAA,IAACC,EAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,YAAYL,CAAS;AAAA,MAClC,GAAGE;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAACF,EAAoB;AAAA,UAApB;AAAA,YACC,aAAU;AAAA,YACV,WAAU;AAAA,YAET,UAAAH;AAAA,UAAA;AAAA,QAAA;AAAA,0BAEFM,GAAA,EAAU;AAAA,QACX,gBAAAD,EAACF,EAAoB,QAApB,CAAA,CAA2B;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlC;AAEA,SAASG,EAAU;AAAA,EACjB,WAAAP;AAAA,EACA,aAAAQ,IAAc;AAAA,EACd,GAAGN;AACL,GAAyE;AACvE,SACE,gBAAAI;AAAA,IAACF,EAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,aAAAI;AAAA,MACA,WAAWH;AAAA,QACT;AAAA,QACAG,MAAgB,cACd;AAAA,QACFA,MAAgB,gBACd;AAAA,QACFR;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,MAEJ,UAAA,gBAAAI;AAAA,QAACF,EAAoB;AAAA,QAApB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"scroll-area.js","sources":["../../../../../../../../packages/ui/src/components/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"ds:relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"ds:size-full ds:rounded-[inherit] ds:transition-[color,box-shadow] ds:outline-none ds:focus-visible:ring-[3px] ds:focus-visible:outline-1 ds:focus-visible:ring-ring/50 ds:[scrollbar-width:thin] ds:[scrollbar-color:transparent_transparent] ds:hover:[scrollbar-color:hsl(var(--border))_transparent] ds:[&::-webkit-scrollbar]:w-2 ds:[&::-webkit-scrollbar]:h-2 ds:[&::-webkit-scrollbar-track]:bg-transparent ds:[&::-webkit-scrollbar-thumb]:bg-transparent ds:[&::-webkit-scrollbar-thumb]:rounded ds:hover:[&::-webkit-scrollbar-thumb]:bg-border\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"ds:flex ds:touch-none ds:p-px ds:transition-colors ds:select-none\",\n orientation === \"vertical\" &&\n \"ds:h-full ds:w-2.5 ds:border-l ds:border-l-transparent\",\n orientation === \"horizontal\" &&\n \"ds:h-2.5 ds:flex-col ds:border-t ds:border-t-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"ds:bg-border ds:relative ds:flex-1 ds:rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["ScrollArea","className","children","props","jsxs","ScrollAreaPrimitive","cn","jsx","ScrollBar","orientation"],"mappings":";;;AAOA,SAASA,EAAW;AAAA,EAClB,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAA0D;AACxD,SACE,gBAAAC;AAAA,IAACC,EAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,eAAeL,CAAS;AAAA,MACrC,GAAGE;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAACF,EAAoB;AAAA,UAApB;AAAA,YACC,aAAU;AAAA,YACV,WAAU;AAAA,YAET,UAAAH;AAAA,UAAA;AAAA,QAAA;AAAA,0BAEFM,GAAA,EAAU;AAAA,QACX,gBAAAD,EAACF,EAAoB,QAApB,CAAA,CAA2B;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlC;AAEA,SAASG,EAAU;AAAA,EACjB,WAAAP;AAAA,EACA,aAAAQ,IAAc;AAAA,EACd,GAAGN;AACL,GAAyE;AACvE,SACE,gBAAAI;AAAA,IAACF,EAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,aAAAI;AAAA,MACA,WAAWH;AAAA,QACT;AAAA,QACAG,MAAgB,cACd;AAAA,QACFA,MAAgB,gBACd;AAAA,QACFR;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,MAEJ,UAAA,gBAAAI;AAAA,QAACF,EAAoB;AAAA,QAApB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ;AAAA,EAAA;AAGN;"}
@@ -1,4 +1,4 @@
1
- import { jsx as o, jsxs as u, Fragment as O } from "react/jsx-runtime";
1
+ import { jsx as r, jsxs as u, Fragment as O } from "react/jsx-runtime";
2
2
  import { ChevronUp as W, ChevronDown as D, XIcon as E, CheckIcon as F } from "lucide-react";
3
3
  import { cva as G } from "class-variance-authority";
4
4
  import { cn as v } from "../lib/utils.js";
@@ -9,21 +9,21 @@ import { createContext as K, useState as N, useCallback as V, useRef as j, useEf
9
9
  import { Badge as A } from "./badge.js";
10
10
  import { Label as Z } from "./label.js";
11
11
  const $ = G(
12
- "flex h-auto w-fit items-center justify-between gap-2 overflow-hidden rounded-md border bg-transparent shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground dark:bg-background dark:hover:bg-input/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
12
+ "ds:flex ds:h-auto ds:w-fit ds:items-center ds:justify-between ds:gap-2 ds:overflow-hidden ds:rounded-md ds:border ds:bg-transparent ds:shadow-xs ds:transition-[color,box-shadow] ds:outline-none ds:focus-visible:ring-[3px] ds:disabled:cursor-not-allowed ds:disabled:opacity-50 ds:data-[placeholder]:text-muted-foreground ds:dark:bg-background ds:dark:hover:bg-input/50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4 ds:[&_svg:not([class*='text-'])]:text-muted-foreground",
13
13
  {
14
14
  variants: {
15
15
  size: {
16
- xs: "min-h-6 text-xs px-2 py-0.5",
17
- sm: "min-h-8 text-sm px-2.5 py-1",
18
- normal: "min-h-9 px-3 py-1.5",
19
- lg: "min-h-11 px-4 py-2",
20
- xl: "min-h-14 px-5 py-3"
16
+ xs: "ds:min-h-6 ds:text-xs ds:px-2 ds:py-0.5",
17
+ sm: "ds:min-h-8 ds:text-sm ds:px-2.5 ds:py-1",
18
+ normal: "ds:min-h-9 ds:px-3 ds:py-1.5",
19
+ lg: "ds:min-h-11 ds:px-4 ds:py-2",
20
+ xl: "ds:min-h-14 ds:px-5 ds:py-3"
21
21
  },
22
22
  state: {
23
- default: "border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",
24
- success: "border-success ring-success/30 focus-visible:border-success focus-visible:ring-success/50",
25
- error: "border-destructive ring-destructive/30 focus-visible:border-destructive focus-visible:ring-destructive/50",
26
- warning: "border-warning ring-warning/30 focus-visible:border-warning focus-visible:ring-warning/50"
23
+ default: "ds:border-input ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:aria-invalid:border-destructive ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40",
24
+ success: "ds:border-success ds:ring-success/30 ds:focus-visible:border-success ds:focus-visible:ring-success/50",
25
+ error: "ds:border-destructive ds:ring-destructive/30 ds:focus-visible:border-destructive ds:focus-visible:ring-destructive/50",
26
+ warning: "ds:border-warning ds:ring-warning/30 ds:focus-visible:border-warning ds:focus-visible:ring-warning/50"
27
27
  }
28
28
  },
29
29
  defaultVariants: {
@@ -32,78 +32,78 @@ const $ = G(
32
32
  }
33
33
  }
34
34
  ), _ = K(null);
35
- function ae({
35
+ function le({
36
36
  children: e,
37
- values: t,
38
- defaultValues: i,
39
- onValuesChange: n
37
+ values: s,
38
+ defaultValues: o,
39
+ onValuesChange: t
40
40
  }) {
41
- const [c, m] = N(!1), [l, x] = N(
42
- new Set(t ?? i)
43
- ), w = t ? new Set(t) : l, [f, b] = N(/* @__PURE__ */ new Map());
44
- function y(d) {
41
+ const [a, m] = N(!1), [i, x] = N(
42
+ new Set(s ?? o)
43
+ ), w = s ? new Set(s) : i, [f, b] = N(/* @__PURE__ */ new Map());
44
+ function y(c) {
45
45
  const p = (g) => {
46
- const r = new Set(g);
47
- return r.has(d) ? r.delete(d) : r.add(d), r;
46
+ const n = new Set(g);
47
+ return n.has(c) ? n.delete(c) : n.add(c), n;
48
48
  };
49
- x(p), n?.([...p(w)]);
49
+ x(p), t?.([...p(w)]);
50
50
  }
51
- const C = V((d, p) => {
52
- b((g) => g.get(d) === p ? g : new Map(g).set(d, p));
51
+ const C = V((c, p) => {
52
+ b((g) => g.get(c) === p ? g : new Map(g).set(c, p));
53
53
  }, []);
54
- return /* @__PURE__ */ o(
54
+ return /* @__PURE__ */ r(
55
55
  _,
56
56
  {
57
57
  value: {
58
- open: c,
58
+ open: a,
59
59
  setOpen: m,
60
60
  selectedValues: w,
61
61
  toggleValue: y,
62
62
  items: f,
63
63
  onItemAdded: C
64
64
  },
65
- children: /* @__PURE__ */ o(X, { open: c, onOpenChange: m, children: e })
65
+ children: /* @__PURE__ */ r(X, { open: a, onOpenChange: m, children: e })
66
66
  }
67
67
  );
68
68
  }
69
- function ce({
69
+ function ae({
70
70
  className: e,
71
- dropdownClassName: t,
72
- children: i,
73
- size: n,
74
- state: c = "default",
71
+ dropdownClassName: s,
72
+ children: o,
73
+ size: t,
74
+ state: a = "default",
75
75
  ...m
76
76
  }) {
77
- const { open: l } = k();
78
- return /* @__PURE__ */ o(B, { asChild: !0, children: /* @__PURE__ */ u(
77
+ const { open: i } = k();
78
+ return /* @__PURE__ */ r(B, { asChild: !0, children: /* @__PURE__ */ u(
79
79
  Z,
80
80
  {
81
- className: v($({ size: n, state: c }), e),
81
+ className: v($({ size: t, state: a }), e),
82
82
  children: [
83
- i,
84
- l && /* @__PURE__ */ o(
83
+ o,
84
+ i && /* @__PURE__ */ r(
85
85
  W,
86
86
  {
87
87
  className: v(
88
- "z-10 opacity-50",
88
+ "ds:z-10 ds:opacity-50",
89
89
  {
90
- "size-4": n === "sm" || n === "xs",
91
- "size-5": n === "lg" || n === "xl"
90
+ "ds:size-4": t === "sm" || t === "xs",
91
+ "ds:size-5": t === "lg" || t === "xl"
92
92
  },
93
- t
93
+ s
94
94
  )
95
95
  }
96
96
  ),
97
- !l && /* @__PURE__ */ o(
97
+ !i && /* @__PURE__ */ r(
98
98
  D,
99
99
  {
100
100
  className: v(
101
- "z-10 opacity-50",
101
+ "ds:z-10 ds:opacity-50",
102
102
  {
103
- "size-4": n === "sm" || n === "xs",
104
- "size-5": n === "lg" || n === "xl"
103
+ "ds:size-4": t === "sm" || t === "xs",
104
+ "ds:size-5": t === "lg" || t === "xl"
105
105
  },
106
- t
106
+ s
107
107
  )
108
108
  }
109
109
  )
@@ -111,74 +111,74 @@ function ce({
111
111
  }
112
112
  ) });
113
113
  }
114
- function de({
114
+ function ce({
115
115
  placeholder: e,
116
- clickToRemove: t = !0,
117
- className: i,
118
- overflowBehavior: n = "wrap-when-open",
119
- ...c
116
+ clickToRemove: s = !0,
117
+ className: o,
118
+ overflowBehavior: t = "wrap-when-open",
119
+ ...a
120
120
  }) {
121
- const { selectedValues: m, toggleValue: l, items: x, open: w } = k(), [f, b] = N(0), y = j(null), C = j(null), d = n === "wrap" || n === "wrap-when-open" && w, p = V(() => {
121
+ const { selectedValues: m, toggleValue: i, items: x, open: w } = k(), [f, b] = N(0), y = j(null), C = j(null), c = t === "wrap" || t === "wrap-when-open" && w, p = V(() => {
122
122
  if (y.current == null) return;
123
- const r = y.current, s = C.current, h = r.querySelectorAll(
123
+ const n = y.current, d = C.current, h = n.querySelectorAll(
124
124
  "[data-selected-item]"
125
125
  );
126
- s != null && (s.style.display = "none"), h.forEach((a) => a.style.removeProperty("display"));
126
+ d != null && (d.style.display = "none"), h.forEach((l) => l.style.removeProperty("display"));
127
127
  let S = 0;
128
- for (let a = h.length - 1; a >= 0; a--) {
129
- const M = h[a];
130
- if (r.scrollWidth <= r.clientWidth)
128
+ for (let l = h.length - 1; l >= 0; l--) {
129
+ const M = h[l];
130
+ if (n.scrollWidth <= n.clientWidth)
131
131
  break;
132
- S = h.length - a, M.style.display = "none", s?.style.removeProperty("display");
132
+ S = h.length - l, M.style.display = "none", d?.style.removeProperty("display");
133
133
  }
134
134
  b(S);
135
135
  }, []), g = V(
136
- (r) => {
137
- y.current = r;
138
- const s = new ResizeObserver(p);
139
- return s.observe(r), () => {
140
- s.disconnect(), y.current = null;
136
+ (n) => {
137
+ y.current = n;
138
+ const d = new ResizeObserver(p);
139
+ return d.observe(n), () => {
140
+ d.disconnect(), y.current = null;
141
141
  };
142
142
  },
143
143
  [p]
144
144
  );
145
- return m.size === 0 && e ? /* @__PURE__ */ o("span", { className: "min-w-0 overflow-hidden font-normal text-muted-foreground", children: e }) : /* @__PURE__ */ u(
145
+ return m.size === 0 && e ? /* @__PURE__ */ r("span", { className: "ds:min-w-0 ds:overflow-hidden ds:font-normal ds:text-muted-foreground", children: e }) : /* @__PURE__ */ u(
146
146
  "div",
147
147
  {
148
- ...c,
148
+ ...a,
149
149
  ref: g,
150
150
  className: v(
151
- "flex w-fit gap-1.5 overflow-hidden",
152
- d && "h-full flex-wrap",
153
- i
151
+ "ds:flex ds:w-fit ds:gap-1.5 ds:overflow-hidden",
152
+ c && "ds:h-full ds:flex-wrap",
153
+ o
154
154
  ),
155
155
  children: [
156
- [...m].filter((r) => x.has(r)).map((r) => {
157
- const s = x.get(r), h = (S) => {
158
- S.stopPropagation(), l(r);
156
+ [...m].filter((n) => x.has(n)).map((n) => {
157
+ const d = x.get(n), h = (S) => {
158
+ S.stopPropagation(), i(n);
159
159
  };
160
- if (P.isValidElement(s)) {
161
- const S = typeof s.type == "string" && ["div", "span", "button", "a"].includes(s.type), a = s, M = S ? {
162
- key: r,
163
- onClick: t ? h : void 0,
160
+ if (P.isValidElement(d)) {
161
+ const S = typeof d.type == "string" && ["div", "span", "button", "a"].includes(d.type), l = d, M = S ? {
162
+ key: n,
163
+ onClick: s ? h : void 0,
164
164
  className: v(
165
- a.props.className,
166
- "group flex items-center gap-1 whitespace-nowrap hover:scale-105 transition-transform",
165
+ l.props.className,
166
+ "ds:group ds:flex ds:items-center ds:gap-1 ds:whitespace-nowrap ds:hover:scale-105 ds:transition-transform",
167
167
  {
168
- "cursor-pointer": t
168
+ "ds:cursor-pointer": s
169
169
  }
170
170
  ),
171
171
  "data-selected-item": !0
172
172
  } : {
173
- key: r,
173
+ key: n,
174
174
  "data-selected-item": !0
175
175
  };
176
176
  return P.cloneElement(
177
- a,
177
+ l,
178
178
  M,
179
179
  /* @__PURE__ */ u(O, { children: [
180
- a.props.children,
181
- t && /* @__PURE__ */ o(E, { className: "size-2 text-muted-foreground group-hover:text-destructive" })
180
+ l.props.children,
181
+ s && /* @__PURE__ */ r(E, { className: "ds:size-2 ds:text-muted-foreground ds:group-hover:text-destructive" })
182
182
  ] })
183
183
  );
184
184
  }
@@ -187,21 +187,21 @@ function de({
187
187
  {
188
188
  variant: "outline",
189
189
  "data-selected-item": !0,
190
- className: "group flex items-center gap-1",
191
- onClick: t ? h : void 0,
190
+ className: "ds:group ds:flex ds:items-center ds:gap-1",
191
+ onClick: s ? h : void 0,
192
192
  children: [
193
- s,
194
- t && /* @__PURE__ */ o(E, { className: "size-2 text-muted-foreground group-hover:text-destructive" })
193
+ d,
194
+ s && /* @__PURE__ */ r(E, { className: "ds:size-2 ds:text-muted-foreground ds:group-hover:text-destructive" })
195
195
  ]
196
196
  },
197
- r
197
+ n
198
198
  );
199
199
  }),
200
200
  /* @__PURE__ */ u(
201
201
  A,
202
202
  {
203
203
  style: {
204
- display: f > 0 && !d ? "block" : "none"
204
+ display: f > 0 && !c ? "block" : "none"
205
205
  },
206
206
  variant: "outline",
207
207
  ref: C,
@@ -217,58 +217,58 @@ function de({
217
217
  }
218
218
  function ue({
219
219
  search: e = !0,
220
- children: t,
221
- ...i
220
+ children: s,
221
+ ...o
222
222
  }) {
223
- const n = typeof e == "object" ? !0 : e;
223
+ const t = typeof e == "object" ? !0 : e;
224
224
  return /* @__PURE__ */ u(O, { children: [
225
- /* @__PURE__ */ o("div", { style: { display: "none" }, children: /* @__PURE__ */ o(I, { children: /* @__PURE__ */ o(z, { children: t }) }) }),
226
- /* @__PURE__ */ o(J, { className: "min-w-[var(--radix-popover-trigger-width)] p-0", children: /* @__PURE__ */ u(I, { ...i, children: [
227
- n ? /* @__PURE__ */ o(
225
+ /* @__PURE__ */ r("div", { style: { display: "none" }, children: /* @__PURE__ */ r(I, { children: /* @__PURE__ */ r(z, { children: s }) }) }),
226
+ /* @__PURE__ */ r(J, { className: "ds:min-w-[var(--radix-popover-trigger-width)] ds:p-0", children: /* @__PURE__ */ u(I, { ...o, children: [
227
+ t ? /* @__PURE__ */ r(
228
228
  R,
229
229
  {
230
230
  placeholder: typeof e == "object" ? e.placeholder : void 0
231
231
  }
232
- ) : /* @__PURE__ */ o("button", { autoFocus: !0, className: "sr-only" }),
232
+ ) : /* @__PURE__ */ r("button", { autoFocus: !0, className: "ds:sr-only" }),
233
233
  /* @__PURE__ */ u(z, { children: [
234
- n && /* @__PURE__ */ o(q, { children: typeof e == "object" ? e.emptyMessage : void 0 }),
235
- t
234
+ t && /* @__PURE__ */ r(q, { children: typeof e == "object" ? e.emptyMessage : void 0 }),
235
+ s
236
236
  ] })
237
237
  ] }) })
238
238
  ] });
239
239
  }
240
240
  function me({
241
241
  value: e,
242
- children: t,
243
- badgeLabel: i,
244
- onSelect: n,
245
- icon: c,
242
+ children: s,
243
+ badgeLabel: o,
244
+ onSelect: t,
245
+ icon: a,
246
246
  tagRender: m,
247
- ...l
247
+ ...i
248
248
  }) {
249
249
  const { toggleValue: x, selectedValues: w, onItemAdded: f } = k(), b = w.has(e);
250
250
  return Q(() => {
251
- f(e, i ?? t);
252
- }, [e, t, f, i]), /* @__PURE__ */ u(
251
+ f(e, o ?? s);
252
+ }, [e, s, f, o]), /* @__PURE__ */ u(
253
253
  L,
254
254
  {
255
- ...l,
256
- onSelect: l?.disabled ? void 0 : () => {
257
- x(e), n?.(e);
255
+ ...i,
256
+ onSelect: i?.disabled ? void 0 : () => {
257
+ x(e), t?.(e);
258
258
  },
259
259
  className: v(
260
- l?.disabled && "opacity-50 cursor-not-allowed grayscale",
261
- b && "bg-primary/10 dark:bg-primary/20"
260
+ i?.disabled && "ds:opacity-50 ds:cursor-not-allowed ds:grayscale",
261
+ b && "ds:bg-primary/10 ds:dark:bg-primary/20"
262
262
  ),
263
263
  children: [
264
- !m && c && /* @__PURE__ */ o("span", { className: "mr-2 max-w-4 max-h-4", children: c }),
265
- t,
266
- /* @__PURE__ */ o(
264
+ !m && a && /* @__PURE__ */ r("span", { className: "ds:mr-2 ds:max-w-4 ds:max-h-4", children: a }),
265
+ s,
266
+ /* @__PURE__ */ r(
267
267
  F,
268
268
  {
269
269
  className: v(
270
- "mr-2 ml-auto size-4",
271
- b ? "opacity-100" : "opacity-0"
270
+ "ds:mr-2 ds:ml-auto ds:size-4",
271
+ b ? "ds:opacity-100" : "ds:opacity-0"
272
272
  )
273
273
  }
274
274
  )
@@ -277,10 +277,10 @@ function me({
277
277
  );
278
278
  }
279
279
  function pe(e) {
280
- return /* @__PURE__ */ o(H, { ...e });
280
+ return /* @__PURE__ */ r(H, { ...e });
281
281
  }
282
282
  function fe(e) {
283
- return /* @__PURE__ */ o(U, { ...e });
283
+ return /* @__PURE__ */ r(U, { ...e });
284
284
  }
285
285
  function k() {
286
286
  const e = Y(_);
@@ -291,12 +291,12 @@ function k() {
291
291
  return e;
292
292
  }
293
293
  export {
294
- ae as MultiSelect,
294
+ le as MultiSelect,
295
295
  ue as MultiSelectContent,
296
296
  pe as MultiSelectGroup,
297
297
  me as MultiSelectItem,
298
298
  fe as MultiSelectSeparator,
299
- ce as MultiSelectTrigger,
300
- de as MultiSelectValue
299
+ ae as MultiSelectTrigger,
300
+ ce as MultiSelectValue
301
301
  };
302
302
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../../../../../../packages/ui/src/components/select.tsx"],"sourcesContent":["\"use client\";\n\nimport { CheckIcon, ChevronDown, ChevronUp, XIcon } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"./command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\nimport * as React from \"react\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from \"react\";\nimport { Badge } from \"./badge\";\nimport { Label } from \"./label\";\n\nconst multiSelectTriggerVariants = cva(\n \"flex h-auto w-fit items-center justify-between gap-2 overflow-hidden rounded-md border bg-transparent shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground dark:bg-background dark:hover:bg-input/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n {\n variants: {\n size: {\n xs: \"min-h-6 text-xs px-2 py-0.5\",\n sm: \"min-h-8 text-sm px-2.5 py-1\",\n normal: \"min-h-9 px-3 py-1.5\",\n lg: \"min-h-11 px-4 py-2\",\n xl: \"min-h-14 px-5 py-3\",\n },\n state: {\n default:\n \"border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40\",\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 MultiSelectContextType = {\n open: boolean;\n setOpen: (open: boolean) => void;\n selectedValues: Set<string>;\n toggleValue: (value: string) => void;\n items: Map<string, ReactNode>;\n onItemAdded: (value: string, label: ReactNode) => void;\n};\nconst MultiSelectContext = createContext<MultiSelectContextType | null>(null);\n\nexport function MultiSelect({\n children,\n values,\n defaultValues,\n onValuesChange,\n}: {\n children: ReactNode;\n values?: string[];\n defaultValues?: string[];\n onValuesChange?: (values: string[]) => void;\n}) {\n const [open, setOpen] = useState(false);\n const [internalValues, setInternalValues] = useState(\n new Set<string>(values ?? defaultValues)\n );\n const selectedValues = values ? new Set(values) : internalValues;\n const [items, setItems] = useState<Map<string, ReactNode>>(new Map());\n\n function toggleValue(value: string) {\n const getNewSet = (prev: Set<string>) => {\n const newSet = new Set(prev);\n if (newSet.has(value)) {\n newSet.delete(value);\n } else {\n newSet.add(value);\n }\n return newSet;\n };\n setInternalValues(getNewSet);\n onValuesChange?.([...getNewSet(selectedValues)]);\n }\n\n const onItemAdded = useCallback((value: string, label: ReactNode) => {\n setItems((prev) => {\n if (prev.get(value) === label) return prev;\n return new Map(prev).set(value, label);\n });\n }, []);\n\n return (\n <MultiSelectContext\n value={{\n open,\n setOpen,\n selectedValues,\n toggleValue,\n items,\n onItemAdded,\n }}\n >\n <Popover open={open} onOpenChange={setOpen}>\n {children}\n </Popover>\n </MultiSelectContext>\n );\n}\n\nexport function MultiSelectTrigger({\n className,\n dropdownClassName,\n children,\n size,\n state = \"default\",\n ...props\n}: {\n className?: string;\n dropdownClassName?: string;\n children?: ReactNode;\n size?: \"normal\" | \"sm\" | \"xs\" | \"lg\" | \"xl\";\n state?: \"default\" | \"success\" | \"error\" | \"warning\";\n} & Omit<ComponentPropsWithoutRef<typeof Button>, \"size\"> &\n VariantProps<typeof multiSelectTriggerVariants>) {\n const { open } = useMultiSelectContext();\n\n return (\n <PopoverTrigger asChild>\n {/* <Button\n {...props}\n variant={props.variant ?? \"outline\"}\n role={props.role ?? \"combobox\"}\n aria-expanded={props[\"aria-expanded\"] ?? open}\n className={cn(\n multiSelectTriggerVariants({ size, state }),\n \"whitespace-nowrap text-sm\",\n className\n )}\n >\n {children}\n <ChevronsUpDownIcon className=\"size-4 shrink-0 opacity-50\" />\n </Button> */}\n\n <Label\n className={cn(multiSelectTriggerVariants({ size, state }), className)}\n >\n {children}\n {open && (\n <ChevronUp\n className={cn(\n \"z-10 opacity-50\",\n {\n \"size-4\": size === \"sm\" || size === \"xs\",\n \"size-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\": size === \"sm\" || size === \"xs\",\n \"size-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n </Label>\n </PopoverTrigger>\n );\n}\n\nexport function MultiSelectValue({\n placeholder,\n clickToRemove = true,\n className,\n overflowBehavior = \"wrap-when-open\",\n ...props\n}: {\n placeholder?: string;\n clickToRemove?: boolean;\n overflowBehavior?: \"wrap\" | \"wrap-when-open\" | \"cutoff\";\n} & Omit<ComponentPropsWithoutRef<\"div\">, \"children\">) {\n const { selectedValues, toggleValue, items, open } = useMultiSelectContext();\n const [overflowAmount, setOverflowAmount] = useState(0);\n const valueRef = useRef<HTMLDivElement>(null);\n const overflowRef = useRef<HTMLDivElement>(null);\n\n const shouldWrap =\n overflowBehavior === \"wrap\" ||\n (overflowBehavior === \"wrap-when-open\" && open);\n\n const checkOverflow = useCallback(() => {\n if (valueRef.current == null) return;\n\n const containerElement = valueRef.current;\n const overflowElement = overflowRef.current;\n const items = containerElement.querySelectorAll<HTMLElement>(\n \"[data-selected-item]\"\n );\n\n if (overflowElement != null) overflowElement.style.display = \"none\";\n items.forEach((child) => child.style.removeProperty(\"display\"));\n let amount = 0;\n for (let i = items.length - 1; i >= 0; i--) {\n const child = items[i]!;\n if (containerElement.scrollWidth <= containerElement.clientWidth) {\n break;\n }\n amount = items.length - i;\n child.style.display = \"none\";\n overflowElement?.style.removeProperty(\"display\");\n }\n setOverflowAmount(amount);\n }, []);\n\n const handleResize = useCallback(\n (node: HTMLDivElement) => {\n valueRef.current = node;\n\n const observer = new ResizeObserver(checkOverflow);\n observer.observe(node);\n\n return () => {\n observer.disconnect();\n valueRef.current = null;\n };\n },\n [checkOverflow]\n );\n\n if (selectedValues.size === 0 && placeholder) {\n return (\n <span className=\"min-w-0 overflow-hidden font-normal text-muted-foreground\">\n {placeholder}\n </span>\n );\n }\n\n return (\n <div\n {...props}\n ref={handleResize}\n className={cn(\n \"flex w-fit gap-1.5 overflow-hidden\",\n shouldWrap && \"h-full flex-wrap\",\n className\n )}\n >\n {[...selectedValues]\n .filter((value) => items.has(value))\n .map((value) => {\n const itemNode = items.get(value);\n const removeHandler = (e: React.MouseEvent) => {\n e.stopPropagation();\n toggleValue(value);\n };\n\n if (React.isValidElement(itemNode)) {\n const isDomElement =\n typeof itemNode.type === \"string\" &&\n [\"div\", \"span\", \"button\", \"a\"].includes(itemNode.type);\n\n const element = itemNode as React.ReactElement<any>;\n\n const cloneProps = isDomElement\n ? {\n key: value,\n onClick: clickToRemove ? removeHandler : undefined,\n className: cn(\n element.props.className,\n \"group flex items-center gap-1 whitespace-nowrap hover:scale-105 transition-transform\",\n {\n \"cursor-pointer\": clickToRemove,\n }\n ),\n \"data-selected-item\": true,\n }\n : {\n key: value,\n \"data-selected-item\": true,\n };\n\n return React.cloneElement(\n element,\n cloneProps,\n <>\n {element.props.children}\n {clickToRemove && (\n <XIcon className=\"size-2 text-muted-foreground group-hover:text-destructive\" />\n )}\n </>\n );\n }\n\n return (\n <Badge\n variant=\"outline\"\n data-selected-item\n className=\"group flex items-center gap-1\"\n key={value}\n onClick={clickToRemove ? removeHandler : undefined}\n >\n {itemNode}\n {clickToRemove && (\n <XIcon className=\"size-2 text-muted-foreground group-hover:text-destructive\" />\n )}\n </Badge>\n );\n })}\n\n <Badge\n style={{\n display: overflowAmount > 0 && !shouldWrap ? \"block\" : \"none\",\n }}\n variant=\"outline\"\n ref={overflowRef}\n >\n +{overflowAmount}\n </Badge>\n </div>\n );\n}\n\nexport function MultiSelectContent({\n search = true,\n children,\n ...props\n}: {\n search?: boolean | { placeholder?: string; emptyMessage?: string };\n children: ReactNode;\n} & Omit<ComponentPropsWithoutRef<typeof Command>, \"children\">) {\n const canSearch = typeof search === \"object\" ? true : search;\n\n return (\n <>\n <div style={{ display: \"none\" }}>\n <Command>\n <CommandList>{children}</CommandList>\n </Command>\n </div>\n <PopoverContent className=\"min-w-[var(--radix-popover-trigger-width)] p-0\">\n <Command {...props}>\n {canSearch ? (\n <CommandInput\n placeholder={\n typeof search === \"object\" ? search.placeholder : undefined\n }\n />\n ) : (\n <button autoFocus className=\"sr-only\" />\n )}\n <CommandList>\n {canSearch && (\n <CommandEmpty>\n {typeof search === \"object\" ? search.emptyMessage : undefined}\n </CommandEmpty>\n )}\n {children}\n </CommandList>\n </Command>\n </PopoverContent>\n </>\n );\n}\n\nexport function MultiSelectItem({\n value,\n children,\n badgeLabel,\n onSelect,\n icon,\n tagRender,\n ...props\n}: {\n badgeLabel?: ReactNode;\n value: string;\n icon?: ReactNode;\n tagRender?: boolean;\n} & Omit<ComponentPropsWithoutRef<typeof CommandItem>, \"value\">) {\n const { toggleValue, selectedValues, onItemAdded } = useMultiSelectContext();\n const isSelected = selectedValues.has(value);\n\n useEffect(() => {\n onItemAdded(value, badgeLabel ?? children);\n }, [value, children, onItemAdded, badgeLabel]);\n\n return (\n <CommandItem\n {...props}\n onSelect={\n props?.disabled\n ? undefined\n : () => {\n toggleValue(value);\n onSelect?.(value);\n }\n }\n className={cn(\n props?.disabled && \"opacity-50 cursor-not-allowed grayscale\",\n isSelected && \"bg-primary/10 dark:bg-primary/20\"\n )}\n >\n {!tagRender && icon && (\n <span className=\"mr-2 max-w-4 max-h-4\">{icon}</span>\n )}\n {children}\n <CheckIcon\n className={cn(\n \"mr-2 ml-auto size-4\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n </CommandItem>\n );\n}\n\nexport function MultiSelectGroup(\n props: ComponentPropsWithoutRef<typeof CommandGroup>\n) {\n return <CommandGroup {...props} />;\n}\n\nexport function MultiSelectSeparator(\n props: ComponentPropsWithoutRef<typeof CommandSeparator>\n) {\n return <CommandSeparator {...props} />;\n}\n\nfunction useMultiSelectContext() {\n const context = useContext(MultiSelectContext);\n if (context == null) {\n throw new Error(\n \"useMultiSelectContext must be used within a MultiSelectContext\"\n );\n }\n return context;\n}\n"],"names":["multiSelectTriggerVariants","cva","MultiSelectContext","createContext","MultiSelect","children","values","defaultValues","onValuesChange","open","setOpen","useState","internalValues","setInternalValues","selectedValues","items","setItems","toggleValue","value","getNewSet","prev","newSet","onItemAdded","useCallback","label","jsx","Popover","MultiSelectTrigger","className","dropdownClassName","size","state","props","useMultiSelectContext","PopoverTrigger","jsxs","Label","cn","ChevronUp","ChevronDown","MultiSelectValue","placeholder","clickToRemove","overflowBehavior","overflowAmount","setOverflowAmount","valueRef","useRef","overflowRef","shouldWrap","checkOverflow","containerElement","overflowElement","child","amount","i","handleResize","node","observer","itemNode","removeHandler","e","React","isDomElement","element","cloneProps","Fragment","XIcon","Badge","MultiSelectContent","search","canSearch","Command","CommandList","PopoverContent","CommandInput","CommandEmpty","MultiSelectItem","badgeLabel","onSelect","icon","tagRender","isSelected","useEffect","CommandItem","CheckIcon","MultiSelectGroup","CommandGroup","MultiSelectSeparator","CommandSeparator","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sources":["../../../../../../../../packages/ui/src/components/select.tsx"],"sourcesContent":["\"use client\";\n\nimport { CheckIcon, ChevronDown, ChevronUp, XIcon } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"./command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\nimport * as React from \"react\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from \"react\";\nimport { Badge } from \"./badge\";\nimport { Label } from \"./label\";\n\nconst multiSelectTriggerVariants = cva(\n \"ds:flex ds:h-auto ds:w-fit ds:items-center ds:justify-between ds:gap-2 ds:overflow-hidden ds:rounded-md ds:border ds:bg-transparent ds:shadow-xs ds:transition-[color,box-shadow] ds:outline-none ds:focus-visible:ring-[3px] ds:disabled:cursor-not-allowed ds:disabled:opacity-50 ds:data-[placeholder]:text-muted-foreground ds:dark:bg-background ds:dark:hover:bg-input/50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4 ds:[&_svg:not([class*='text-'])]:text-muted-foreground\",\n {\n variants: {\n size: {\n xs: \"ds:min-h-6 ds:text-xs ds:px-2 ds:py-0.5\",\n sm: \"ds:min-h-8 ds:text-sm ds:px-2.5 ds:py-1\",\n normal: \"ds:min-h-9 ds:px-3 ds:py-1.5\",\n lg: \"ds:min-h-11 ds:px-4 ds:py-2\",\n xl: \"ds:min-h-14 ds:px-5 ds:py-3\",\n },\n state: {\n default:\n \"ds:border-input ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:aria-invalid:border-destructive ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40\",\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 MultiSelectContextType = {\n open: boolean;\n setOpen: (open: boolean) => void;\n selectedValues: Set<string>;\n toggleValue: (value: string) => void;\n items: Map<string, ReactNode>;\n onItemAdded: (value: string, label: ReactNode) => void;\n};\nconst MultiSelectContext = createContext<MultiSelectContextType | null>(null);\n\nexport function MultiSelect({\n children,\n values,\n defaultValues,\n onValuesChange,\n}: {\n children: ReactNode;\n values?: string[];\n defaultValues?: string[];\n onValuesChange?: (values: string[]) => void;\n}) {\n const [open, setOpen] = useState(false);\n const [internalValues, setInternalValues] = useState(\n new Set<string>(values ?? defaultValues)\n );\n const selectedValues = values ? new Set(values) : internalValues;\n const [items, setItems] = useState<Map<string, ReactNode>>(new Map());\n\n function toggleValue(value: string) {\n const getNewSet = (prev: Set<string>) => {\n const newSet = new Set(prev);\n if (newSet.has(value)) {\n newSet.delete(value);\n } else {\n newSet.add(value);\n }\n return newSet;\n };\n setInternalValues(getNewSet);\n onValuesChange?.([...getNewSet(selectedValues)]);\n }\n\n const onItemAdded = useCallback((value: string, label: ReactNode) => {\n setItems((prev) => {\n if (prev.get(value) === label) return prev;\n return new Map(prev).set(value, label);\n });\n }, []);\n\n return (\n <MultiSelectContext\n value={{\n open,\n setOpen,\n selectedValues,\n toggleValue,\n items,\n onItemAdded,\n }}\n >\n <Popover open={open} onOpenChange={setOpen}>\n {children}\n </Popover>\n </MultiSelectContext>\n );\n}\n\nexport function MultiSelectTrigger({\n className,\n dropdownClassName,\n children,\n size,\n state = \"default\",\n ...props\n}: {\n className?: string;\n dropdownClassName?: string;\n children?: ReactNode;\n size?: \"normal\" | \"sm\" | \"xs\" | \"lg\" | \"xl\";\n state?: \"default\" | \"success\" | \"error\" | \"warning\";\n} & Omit<ComponentPropsWithoutRef<typeof Button>, \"size\"> &\n VariantProps<typeof multiSelectTriggerVariants>) {\n const { open } = useMultiSelectContext();\n\n return (\n <PopoverTrigger asChild>\n {/* <Button\n {...props}\n variant={props.variant ?? \"outline\"}\n role={props.role ?? \"combobox\"}\n aria-expanded={props[\"aria-expanded\"] ?? open}\n className={cn(\n multiSelectTriggerVariants({ size, state }),\n \"whitespace-nowrap text-sm\",\n className\n )}\n >\n {children}\n <ChevronsUpDownIcon className=\"size-4 shrink-0 opacity-50\" />\n </Button> */}\n\n <Label\n className={cn(multiSelectTriggerVariants({ size, state }), className)}\n >\n {children}\n {open && (\n <ChevronUp\n className={cn(\n \"ds:z-10 ds:opacity-50\",\n {\n \"ds:size-4\": size === \"sm\" || size === \"xs\",\n \"ds:size-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\": size === \"sm\" || size === \"xs\",\n \"ds:size-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n </Label>\n </PopoverTrigger>\n );\n}\n\nexport function MultiSelectValue({\n placeholder,\n clickToRemove = true,\n className,\n overflowBehavior = \"wrap-when-open\",\n ...props\n}: {\n placeholder?: string;\n clickToRemove?: boolean;\n overflowBehavior?: \"wrap\" | \"wrap-when-open\" | \"cutoff\";\n} & Omit<ComponentPropsWithoutRef<\"div\">, \"children\">) {\n const { selectedValues, toggleValue, items, open } = useMultiSelectContext();\n const [overflowAmount, setOverflowAmount] = useState(0);\n const valueRef = useRef<HTMLDivElement>(null);\n const overflowRef = useRef<HTMLDivElement>(null);\n\n const shouldWrap =\n overflowBehavior === \"wrap\" ||\n (overflowBehavior === \"wrap-when-open\" && open);\n\n const checkOverflow = useCallback(() => {\n if (valueRef.current == null) return;\n\n const containerElement = valueRef.current;\n const overflowElement = overflowRef.current;\n const items = containerElement.querySelectorAll<HTMLElement>(\n \"[data-selected-item]\"\n );\n\n if (overflowElement != null) overflowElement.style.display = \"none\";\n items.forEach((child) => child.style.removeProperty(\"display\"));\n let amount = 0;\n for (let i = items.length - 1; i >= 0; i--) {\n const child = items[i]!;\n if (containerElement.scrollWidth <= containerElement.clientWidth) {\n break;\n }\n amount = items.length - i;\n child.style.display = \"none\";\n overflowElement?.style.removeProperty(\"display\");\n }\n setOverflowAmount(amount);\n }, []);\n\n const handleResize = useCallback(\n (node: HTMLDivElement) => {\n valueRef.current = node;\n\n const observer = new ResizeObserver(checkOverflow);\n observer.observe(node);\n\n return () => {\n observer.disconnect();\n valueRef.current = null;\n };\n },\n [checkOverflow]\n );\n\n if (selectedValues.size === 0 && placeholder) {\n return (\n <span className=\"ds:min-w-0 ds:overflow-hidden ds:font-normal ds:text-muted-foreground\">\n {placeholder}\n </span>\n );\n }\n\n return (\n <div\n {...props}\n ref={handleResize}\n className={cn(\n \"ds:flex ds:w-fit ds:gap-1.5 ds:overflow-hidden\",\n shouldWrap && \"ds:h-full ds:flex-wrap\",\n className\n )}\n >\n {[...selectedValues]\n .filter((value) => items.has(value))\n .map((value) => {\n const itemNode = items.get(value);\n const removeHandler = (e: React.MouseEvent) => {\n e.stopPropagation();\n toggleValue(value);\n };\n\n if (React.isValidElement(itemNode)) {\n const isDomElement =\n typeof itemNode.type === \"string\" &&\n [\"div\", \"span\", \"button\", \"a\"].includes(itemNode.type);\n\n const element = itemNode as React.ReactElement<any>;\n\n const cloneProps = isDomElement\n ? {\n key: value,\n onClick: clickToRemove ? removeHandler : undefined,\n className: cn(\n element.props.className,\n \"ds:group ds:flex ds:items-center ds:gap-1 ds:whitespace-nowrap ds:hover:scale-105 ds:transition-transform\",\n {\n \"ds:cursor-pointer\": clickToRemove,\n }\n ),\n \"data-selected-item\": true,\n }\n : {\n key: value,\n \"data-selected-item\": true,\n };\n\n return React.cloneElement(\n element,\n cloneProps,\n <>\n {element.props.children}\n {clickToRemove && (\n <XIcon className=\"ds:size-2 ds:text-muted-foreground ds:group-hover:text-destructive\" />\n )}\n </>\n );\n }\n\n return (\n <Badge\n variant=\"outline\"\n data-selected-item\n className=\"ds:group ds:flex ds:items-center ds:gap-1\"\n key={value}\n onClick={clickToRemove ? removeHandler : undefined}\n >\n {itemNode}\n {clickToRemove && (\n <XIcon className=\"ds:size-2 ds:text-muted-foreground ds:group-hover:text-destructive\" />\n )}\n </Badge>\n );\n })}\n\n <Badge\n style={{\n display: overflowAmount > 0 && !shouldWrap ? \"block\" : \"none\",\n }}\n variant=\"outline\"\n ref={overflowRef}\n >\n +{overflowAmount}\n </Badge>\n </div>\n );\n}\n\nexport function MultiSelectContent({\n search = true,\n children,\n ...props\n}: {\n search?: boolean | { placeholder?: string; emptyMessage?: string };\n children: ReactNode;\n} & Omit<ComponentPropsWithoutRef<typeof Command>, \"children\">) {\n const canSearch = typeof search === \"object\" ? true : search;\n\n return (\n <>\n <div style={{ display: \"none\" }}>\n <Command>\n <CommandList>{children}</CommandList>\n </Command>\n </div>\n <PopoverContent className=\"ds:min-w-[var(--radix-popover-trigger-width)] ds:p-0\">\n <Command {...props}>\n {canSearch ? (\n <CommandInput\n placeholder={\n typeof search === \"object\" ? search.placeholder : undefined\n }\n />\n ) : (\n <button autoFocus className=\"ds:sr-only\" />\n )}\n <CommandList>\n {canSearch && (\n <CommandEmpty>\n {typeof search === \"object\" ? search.emptyMessage : undefined}\n </CommandEmpty>\n )}\n {children}\n </CommandList>\n </Command>\n </PopoverContent>\n </>\n );\n}\n\nexport function MultiSelectItem({\n value,\n children,\n badgeLabel,\n onSelect,\n icon,\n tagRender,\n ...props\n}: {\n badgeLabel?: ReactNode;\n value: string;\n icon?: ReactNode;\n tagRender?: boolean;\n} & Omit<ComponentPropsWithoutRef<typeof CommandItem>, \"value\">) {\n const { toggleValue, selectedValues, onItemAdded } = useMultiSelectContext();\n const isSelected = selectedValues.has(value);\n\n useEffect(() => {\n onItemAdded(value, badgeLabel ?? children);\n }, [value, children, onItemAdded, badgeLabel]);\n\n return (\n <CommandItem\n {...props}\n onSelect={\n props?.disabled\n ? undefined\n : () => {\n toggleValue(value);\n onSelect?.(value);\n }\n }\n className={cn(\n props?.disabled && \"ds:opacity-50 ds:cursor-not-allowed ds:grayscale\",\n isSelected && \"ds:bg-primary/10 ds:dark:bg-primary/20\"\n )}\n >\n {!tagRender && icon && (\n <span className=\"ds:mr-2 ds:max-w-4 ds:max-h-4\">{icon}</span>\n )}\n {children}\n <CheckIcon\n className={cn(\n \"ds:mr-2 ds:ml-auto ds:size-4\",\n isSelected ? \"ds:opacity-100\" : \"ds:opacity-0\"\n )}\n />\n </CommandItem>\n );\n}\n\nexport function MultiSelectGroup(\n props: ComponentPropsWithoutRef<typeof CommandGroup>\n) {\n return <CommandGroup {...props} />;\n}\n\nexport function MultiSelectSeparator(\n props: ComponentPropsWithoutRef<typeof CommandSeparator>\n) {\n return <CommandSeparator {...props} />;\n}\n\nfunction useMultiSelectContext() {\n const context = useContext(MultiSelectContext);\n if (context == null) {\n throw new Error(\n \"useMultiSelectContext must be used within a MultiSelectContext\"\n );\n }\n return context;\n}\n"],"names":["multiSelectTriggerVariants","cva","MultiSelectContext","createContext","MultiSelect","children","values","defaultValues","onValuesChange","open","setOpen","useState","internalValues","setInternalValues","selectedValues","items","setItems","toggleValue","value","getNewSet","prev","newSet","onItemAdded","useCallback","label","jsx","Popover","MultiSelectTrigger","className","dropdownClassName","size","state","props","useMultiSelectContext","PopoverTrigger","jsxs","Label","cn","ChevronUp","ChevronDown","MultiSelectValue","placeholder","clickToRemove","overflowBehavior","overflowAmount","setOverflowAmount","valueRef","useRef","overflowRef","shouldWrap","checkOverflow","containerElement","overflowElement","child","amount","i","handleResize","node","observer","itemNode","removeHandler","e","React","isDomElement","element","cloneProps","Fragment","XIcon","Badge","MultiSelectContent","search","canSearch","Command","CommandList","PopoverContent","CommandInput","CommandEmpty","MultiSelectItem","badgeLabel","onSelect","icon","tagRender","isSelected","useEffect","CommandItem","CheckIcon","MultiSelectGroup","CommandGroup","MultiSelectSeparator","CommandSeparator","context","useContext"],"mappings":"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"}