@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 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../../../../../../../packages/ui/src/components/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst colorVariants = {\n primary: {\n solid:\n \"border-primary bg-primary text-primary-foreground hover:bg-primary/90 focus-visible:ring-primary/20\",\n mix: \"bg-primary/30 border-primary text-primary hover:bg-primary/40 dark:bg-primary/30 dark:hover:bg-primary/40\",\n light:\n \"bg-primary/30 border-primary/0 text-primary hover:bg-primary/40 dark:bg-primary/30 dark:hover:bg-primary/40\",\n outline:\n \"border-primary text-primary hover:bg-primary/10 dark:border-primary dark:hover:bg-primary/20\",\n stroke:\n \"border-primary text-primary hover:bg-primary/10 dark:border-primary dark:hover:bg-primary/20\",\n ghost:\n \"text-primary hover:bg-primary/10 hover:text-primary dark:hover:bg-primary/20\",\n link: \"text-primary\",\n },\n secondary: {\n solid:\n \"border-secondary bg-secondary text-secondary-foreground hover:bg-secondary/80 focus-visible:ring-secondary/20\",\n mix: \"bg-secondary/30 border-secondary text-secondary hover:bg-secondary/40 dark:bg-secondary/30 dark:hover:bg-secondary/40\",\n light:\n \"bg-secondary/30 border-secondary/0 text-secondary hover:bg-secondary/40 dark:bg-secondary/30 dark:hover:bg-secondary/40\",\n outline:\n \"border-secondary text-secondary hover:bg-secondary/10 dark:border-secondary dark:hover:bg-secondary/20\",\n stroke:\n \"border-secondary text-secondary hover:bg-secondary/10 dark:border-secondary dark:hover:bg-secondary/20\",\n ghost:\n \"text-secondary hover:bg-secondary/10 hover:text-secondary dark:hover:bg-secondary/20\",\n link: \"text-secondary\",\n },\n accent: {\n solid:\n \"border-accent bg-accent text-accent-foreground hover:bg-accent/80 focus-visible:ring-accent/20\",\n mix: \"bg-accent/30 border-accent text-accent hover:bg-accent/40 dark:bg-accent/30 dark:hover:bg-accent/40\",\n light:\n \"bg-accent/30 border-accent/0 text-accent hover:bg-accent/40 dark:bg-accent/30 dark:hover:bg-accent/40\",\n outline:\n \"border-accent text-accent hover:bg-accent/10 dark:border-accent dark:hover:bg-accent/20\",\n stroke:\n \"border-accent text-accent hover:bg-accent/10 dark:border-accent dark:hover:bg-accent/20\",\n ghost:\n \"text-accent hover:bg-accent/10 hover:text-accent dark:hover:bg-accent/20\",\n link: \"text-accent\",\n },\n destructive: {\n solid:\n \"border-destructive bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60\",\n mix: \"bg-destructive/30 border-destructive text-destructive hover:bg-destructive/40 dark:bg-destructive/30 dark:hover:bg-destructive/40\",\n light:\n \"bg-destructive/30 border-destructive/0 text-destructive hover:bg-destructive/40 dark:bg-destructive/30 dark:hover:bg-destructive/40\",\n outline:\n \"border-destructive text-destructive hover:bg-destructive/10 dark:border-destructive dark:hover:bg-destructive/20\",\n stroke:\n \"border-destructive text-destructive hover:bg-destructive/10 dark:border-destructive dark:hover:bg-destructive/20\",\n ghost:\n \"text-destructive hover:bg-destructive/10 hover:text-destructive dark:hover:bg-destructive/20\",\n link: \"text-destructive\",\n },\n muted: {\n solid:\n \"border-muted bg-muted text-muted-foreground hover:bg-muted/80 focus-visible:ring-muted/20\",\n mix: \"bg-muted/30 border-muted text-muted-foreground hover:bg-muted/40 dark:bg-muted/30 dark:hover:bg-muted/40\",\n light:\n \"bg-muted/30 border-muted/0 text-muted-foreground hover:bg-muted/40 dark:bg-muted/30 dark:hover:bg-muted/40\",\n outline:\n \"border-input text-muted-foreground hover:bg-accent hover:text-accent-foreground dark:border-input dark:hover:bg-input/50\",\n stroke:\n \"border-input text-muted-foreground hover:bg-accent hover:text-accent-foreground dark:border-input dark:hover:bg-input/50\",\n ghost:\n \"text-muted-foreground hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-muted-foreground\",\n },\n success: {\n solid:\n \"border-success bg-success text-success-foreground hover:bg-success/90 focus-visible:ring-success/20 dark:bg-success/60\",\n mix: \"bg-success/30 border-success text-success hover:bg-success/40 dark:bg-success/30 dark:hover:bg-success/40\",\n light:\n \"bg-success/30 border-success/0 text-success hover:bg-success/40 dark:bg-success/30 dark:hover:bg-success/40\",\n outline:\n \"border-success text-success hover:bg-success/10 dark:border-success dark:hover:bg-success/20\",\n stroke:\n \"border-success text-success hover:bg-success/10 dark:border-success dark:hover:bg-success/20\",\n ghost:\n \"text-success hover:bg-success/10 hover:text-success dark:hover:bg-success/20\",\n link: \"text-success\",\n },\n error: {\n solid:\n \"border-error bg-error text-error-foreground hover:bg-error/90 focus-visible:ring-error/20 dark:bg-error/60\",\n mix: \"bg-error/30 border-error text-error hover:bg-error/40 dark:bg-error/30 dark:hover:bg-error/40\",\n light:\n \"bg-error/30 border-error/0 text-error hover:bg-error/40 dark:bg-error/30 dark:hover:bg-error/40\",\n outline:\n \"border-error text-error hover:bg-error/10 dark:border-error dark:hover:bg-error/20\",\n stroke:\n \"border-error text-error hover:bg-error/10 dark:border-error dark:hover:bg-error/20\",\n ghost:\n \"text-error hover:bg-error/10 hover:text-error dark:hover:bg-error/20\",\n link: \"text-error\",\n },\n warning: {\n solid:\n \"border-warning bg-warning text-warning-foreground hover:bg-warning/90 focus-visible:ring-warning/20 dark:bg-warning/60\",\n mix: \"bg-warning/30 border-warning text-warning hover:bg-warning/40 dark:bg-warning/30 dark:hover:bg-warning/40\",\n light:\n \"bg-warning/30 border-warning/0 text-warning hover:bg-warning/40 dark:bg-warning/30 dark:hover:bg-warning/40\",\n outline:\n \"border-warning text-warning hover:bg-warning/10 dark:border-warning dark:hover:bg-warning/20\",\n stroke:\n \"border-warning text-warning hover:bg-warning/10 dark:border-warning dark:hover:bg-warning/20\",\n ghost:\n \"text-warning hover:bg-warning/10 hover:text-warning dark:hover:bg-warning/20\",\n link: \"text-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 buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none 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 variant: {\n solid: \"border hover:bg-border\",\n mix: \"border bg-background shadow-xs dark:bg-input/30\",\n light: \"shadow-xs\",\n outline: \"border bg-background shadow-xs dark:bg-input/30\",\n stroke: \"border bg-background shadow-xs dark:bg-input/30\",\n ghost: \"\",\n link: \"\",\n },\n size: {\n xs: \"h-6 rounded-md gap-2 px-2 text-sm py-0.5 has-[>svg]:px-2\",\n sm: \"h-8 rounded-md gap-2 px-3 text-sm py-1.5 has-[>svg]:px-2.5\",\n normal: \"h-10 px-4 py-2 has-[>svg]:px-3\",\n lg: \"h-12 rounded-md px-4 py-3 has-[>svg]:px-4\",\n xl: \"h-14 rounded-md px-4 py-4 has-[>svg]:px-4\",\n icon: \"size-10 [&_svg:not([class*='size-'])]:size-6\",\n \"icon-xs\": \"size-6 [&_svg:not([class*='size-'])]:size-4\",\n \"icon-sm\": \"size-8 [&_svg:not([class*='size-'])]:size-5\",\n \"icon-lg\": \"size-12 [&_svg:not([class*='size-'])]:size-6\",\n \"icon-xl\": \"size-14 [&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon\":\n \"size-10 rounded-full [&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon-xs\":\n \"size-6 rounded-full [&_svg:not([class*='size-'])]:size-4\",\n \"circle-icon-sm\":\n \"size-8 rounded-full [&_svg:not([class*='size-'])]:size-5\",\n \"circle-icon-lg\":\n \"size-12 rounded-full [&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon-xl\":\n \"size-14 rounded-full [&_svg:not([class*='size-'])]:size-6\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n destructive: \"\",\n muted: \"\",\n mix: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n },\n },\n compoundVariants: generateCompoundVariants(),\n defaultVariants: {\n variant: \"solid\",\n size: \"normal\",\n color: null,\n },\n }\n);\n\ntype ButtonProps = React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n };\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, color, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, color, className }))}\n {...props}\n />\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants, type ButtonProps };\n"],"names":["colorVariants","generateCompoundVariants","variants","color","variant","buttonVariants","cva","Button","React","className","size","asChild","props","ref","jsx","Slot","cn"],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sources":["../../../../../../../../packages/ui/src/components/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst colorVariants = {\n primary: {\n solid:\n \"ds:border-primary ds:bg-primary ds:text-primary-foreground ds:hover:bg-primary/90 ds:focus-visible:ring-primary/20\",\n mix: \"ds:bg-primary/30 ds:border-primary ds:text-primary ds:hover:bg-primary/40 ds:dark:bg-primary/30 ds:dark:hover:bg-primary/40\",\n light:\n \"ds:bg-primary/30 ds:border-primary/0 ds:text-primary ds:hover:bg-primary/40 ds:dark:bg-primary/30 ds:dark:hover:bg-primary/40\",\n outline:\n \"ds:border-primary ds:text-primary ds:hover:bg-primary/10 ds:dark:border-primary ds:dark:hover:bg-primary/20\",\n stroke:\n \"ds:border-primary ds:text-primary ds:hover:bg-primary/10 ds:dark:border-primary ds:dark:hover:bg-primary/20\",\n ghost:\n \"ds:text-primary ds:hover:bg-primary/10 ds:hover:text-primary ds:dark:hover:bg-primary/20\",\n link: \"ds:text-primary\",\n },\n secondary: {\n solid:\n \"ds:border-secondary ds:bg-secondary ds:text-secondary-foreground ds:hover:bg-secondary/80 ds:focus-visible:ring-secondary/20\",\n mix: \"ds:bg-secondary/30 ds:border-secondary ds:text-secondary ds:hover:bg-secondary/40 ds:dark:bg-secondary/30 ds:dark:hover:bg-secondary/40\",\n light:\n \"ds:bg-secondary/30 ds:border-secondary/0 ds:text-secondary ds:hover:bg-secondary/40 ds:dark:bg-secondary/30 ds:dark:hover:bg-secondary/40\",\n outline:\n \"ds:border-secondary ds:text-secondary ds:hover:bg-secondary/10 ds:dark:border-secondary ds:dark:hover:bg-secondary/20\",\n stroke:\n \"ds:border-secondary ds:text-secondary ds:hover:bg-secondary/10 ds:dark:border-secondary ds:dark:hover:bg-secondary/20\",\n ghost:\n \"ds:text-secondary ds:hover:bg-secondary/10 ds:hover:text-secondary ds:dark:hover:bg-secondary/20\",\n link: \"ds:text-secondary\",\n },\n accent: {\n solid:\n \"ds:border-accent ds:bg-accent ds:text-accent-foreground ds:hover:bg-accent/80 ds:focus-visible:ring-accent/20\",\n mix: \"ds:bg-accent/30 ds:border-accent ds:text-accent ds:hover:bg-accent/40 ds:dark:bg-accent/30 ds:dark:hover:bg-accent/40\",\n light:\n \"ds:bg-accent/30 ds:border-accent/0 ds:text-accent ds:hover:bg-accent/40 ds:dark:bg-accent/30 ds:dark:hover:bg-accent/40\",\n outline:\n \"ds:border-accent ds:text-accent ds:hover:bg-accent/10 ds:dark:border-accent ds:dark:hover:bg-accent/20\",\n stroke:\n \"ds:border-accent ds:text-accent ds:hover:bg-accent/10 ds:dark:border-accent ds:dark:hover:bg-accent/20\",\n ghost:\n \"ds:text-accent ds:hover:bg-accent/10 ds:hover:text-accent ds:dark:hover:bg-accent/20\",\n link: \"ds:text-accent\",\n },\n destructive: {\n solid:\n \"ds:border-destructive ds:bg-destructive ds:text-destructive-foreground ds:hover:bg-destructive/90 ds:focus-visible:ring-destructive/20 ds:dark:bg-destructive/60\",\n mix: \"ds:bg-destructive/30 ds:border-destructive ds:text-destructive ds:hover:bg-destructive/40 ds:dark:bg-destructive/30 ds:dark:hover:bg-destructive/40\",\n light:\n \"ds:bg-destructive/30 ds:border-destructive/0 ds:text-destructive ds:hover:bg-destructive/40 ds:dark:bg-destructive/30 ds:dark:hover:bg-destructive/40\",\n outline:\n \"ds:border-destructive ds:text-destructive ds:hover:bg-destructive/10 ds:dark:border-destructive ds:dark:hover:bg-destructive/20\",\n stroke:\n \"ds:border-destructive ds:text-destructive ds:hover:bg-destructive/10 ds:dark:border-destructive ds:dark:hover:bg-destructive/20\",\n ghost:\n \"ds:text-destructive ds:hover:bg-destructive/10 ds:hover:text-destructive ds:dark:hover:bg-destructive/20\",\n link: \"ds:text-destructive\",\n },\n muted: {\n solid:\n \"ds:border-muted ds:bg-muted ds:text-muted-foreground ds:hover:bg-muted/80 ds:focus-visible:ring-muted/20\",\n mix: \"ds:bg-muted/30 ds:border-muted ds:text-muted-foreground ds:hover:bg-muted/40 ds:dark:bg-muted/30 ds:dark:hover:bg-muted/40\",\n light:\n \"ds:bg-muted/30 ds:border-muted/0 ds:text-muted-foreground ds:hover:bg-muted/40 ds:dark:bg-muted/30 ds:dark:hover:bg-muted/40\",\n outline:\n \"ds:border-input ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:border-input ds:dark:hover:bg-input/50\",\n stroke:\n \"ds:border-input ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:border-input ds:dark:hover:bg-input/50\",\n ghost:\n \"ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:bg-accent/50\",\n link: \"ds:text-muted-foreground\",\n },\n success: {\n solid:\n \"ds:border-success ds:bg-success ds:text-success-foreground ds:hover:bg-success/90 ds:focus-visible:ring-success/20 ds:dark:bg-success/60\",\n mix: \"ds:bg-success/30 ds:border-success ds:text-success ds:hover:bg-success/40 ds:dark:bg-success/30 ds:dark:hover:bg-success/40\",\n light:\n \"ds:bg-success/30 ds:border-success/0 ds:text-success ds:hover:bg-success/40 ds:dark:bg-success/30 ds:dark:hover:bg-success/40\",\n outline:\n \"ds:border-success ds:text-success ds:hover:bg-success/10 ds:dark:border-success ds:dark:hover:bg-success/20\",\n stroke:\n \"ds:border-success ds:text-success ds:hover:bg-success/10 ds:dark:border-success ds:dark:hover:bg-success/20\",\n ghost:\n \"ds:text-success ds:hover:bg-success/10 ds:hover:text-success ds:dark:hover:bg-success/20\",\n link: \"ds:text-success\",\n },\n error: {\n solid:\n \"ds:border-error ds:bg-error ds:text-error-foreground ds:hover:bg-error/90 ds:focus-visible:ring-error/20 ds:dark:bg-error/60\",\n mix: \"ds:bg-error/30 ds:border-error ds:text-error ds:hover:bg-error/40 ds:dark:bg-error/30 ds:dark:hover:bg-error/40\",\n light:\n \"ds:bg-error/30 ds:border-error/0 ds:text-error ds:hover:bg-error/40 ds:dark:bg-error/30 ds:dark:hover:bg-error/40\",\n outline:\n \"ds:border-error ds:text-error ds:hover:bg-error/10 ds:dark:border-error ds:dark:hover:bg-error/20\",\n stroke:\n \"ds:border-error ds:text-error ds:hover:bg-error/10 ds:dark:border-error ds:dark:hover:bg-error/20\",\n ghost:\n \"ds:text-error ds:hover:bg-error/10 ds:hover:text-error ds:dark:hover:bg-error/20\",\n link: \"ds:text-error\",\n },\n warning: {\n solid:\n \"ds:border-warning ds:bg-warning ds:text-warning-foreground ds:hover:bg-warning/90 ds:focus-visible:ring-warning/20 ds:dark:bg-warning/60\",\n mix: \"ds:bg-warning/30 ds:border-warning ds:text-warning ds:hover:bg-warning/40 ds:dark:bg-warning/30 ds:dark:hover:bg-warning/40\",\n light:\n \"ds:bg-warning/30 ds:border-warning/0 ds:text-warning ds:hover:bg-warning/40 ds:dark:bg-warning/30 ds:dark:hover:bg-warning/40\",\n outline:\n \"ds:border-warning ds:text-warning ds:hover:bg-warning/10 ds:dark:border-warning ds:dark:hover:bg-warning/20\",\n stroke:\n \"ds:border-warning ds:text-warning ds:hover:bg-warning/10 ds:dark:border-warning ds:dark:hover:bg-warning/20\",\n ghost:\n \"ds:text-warning ds:hover:bg-warning/10 ds:hover:text-warning ds:dark:hover:bg-warning/20\",\n link: \"ds:text-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 buttonVariants = cva(\n \"ds:inline-flex ds:items-center ds:justify-center ds:gap-2 ds:whitespace-nowrap ds:rounded-md ds:text-sm ds:font-medium ds:transition-all ds:disabled:pointer-events-none ds:disabled:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg:not([class*='size-'])]:size-4 ds:shrink-0 ds:[&_svg]:shrink-0 ds:outline-none 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 variant: {\n solid: \"ds:border ds:hover:bg-border\",\n mix: \"ds:border ds:bg-background ds:shadow-xs ds:dark:bg-input/30\",\n light: \"ds:shadow-xs\",\n outline: \"ds:border ds:bg-background ds:shadow-xs ds:dark:bg-input/30\",\n stroke: \"ds:border ds:bg-background ds:shadow-xs ds:dark:bg-input/30\",\n ghost: \"\",\n link: \"\",\n },\n size: {\n xs: \"ds:h-6 ds:rounded-md ds:gap-2 ds:px-2 ds:text-sm ds:py-0.5 ds:has-[>svg]:px-2\",\n sm: \"ds:h-8 ds:rounded-md ds:gap-2 ds:px-3 ds:text-sm ds:py-1.5 ds:has-[>svg]:px-2.5\",\n normal: \"ds:h-10 ds:px-4 ds:py-2 ds:has-[>svg]:px-3\",\n lg: \"ds:h-12 ds:rounded-md ds:px-4 ds:py-3 ds:has-[>svg]:px-4\",\n xl: \"ds:h-14 ds:rounded-md ds:px-4 ds:py-4 ds:has-[>svg]:px-4\",\n icon: \"ds:size-10 ds:[&_svg:not([class*='size-'])]:size-6\",\n \"icon-xs\": \"ds:size-6 ds:[&_svg:not([class*='size-'])]:size-4\",\n \"icon-sm\": \"ds:size-8 ds:[&_svg:not([class*='size-'])]:size-5\",\n \"icon-lg\": \"ds:size-12 ds:[&_svg:not([class*='size-'])]:size-6\",\n \"icon-xl\": \"ds:size-14 ds:[&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon\":\n \"ds:size-10 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon-xs\":\n \"ds:size-6 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-4\",\n \"circle-icon-sm\":\n \"ds:size-8 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-5\",\n \"circle-icon-lg\":\n \"ds:size-12 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon-xl\":\n \"ds:size-14 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-6\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n destructive: \"\",\n muted: \"\",\n mix: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n },\n },\n compoundVariants: generateCompoundVariants(),\n defaultVariants: {\n variant: \"solid\",\n size: \"normal\",\n color: null,\n },\n }\n);\n\ntype ButtonProps = React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n };\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, color, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, color, className }))}\n {...props}\n />\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants, type ButtonProps };\n"],"names":["colorVariants","generateCompoundVariants","variants","color","variant","buttonVariants","cva","Button","React","className","size","asChild","props","ref","jsx","Slot","cn"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx as a } from "react/jsx-runtime";
1
+ import { jsx as s } from "react/jsx-runtime";
2
2
  import * as x from "react";
3
3
  import { ChevronLeftIcon as y, ChevronRightIcon as w, ChevronDownIcon as k } from "lucide-react";
4
4
  import { getDefaultClassNames as v, DayPicker as z } from "react-day-picker";
@@ -7,139 +7,139 @@ import { Button as B, buttonVariants as _ } from "./button.js";
7
7
  function j({
8
8
  className: u,
9
9
  classNames: l,
10
- showOutsideDays: r = !0,
10
+ showOutsideDays: d = !0,
11
11
  captionLayout: g = "label",
12
12
  buttonVariant: i = "ghost",
13
- variant: o = "default",
13
+ variant: a = "default",
14
14
  color: f = "primary",
15
- formatters: d,
15
+ formatters: n,
16
16
  components: b,
17
17
  ...p
18
18
  }) {
19
- const t = v(), m = h(f);
20
- return /* @__PURE__ */ a(
19
+ const r = v(), m = h(f);
20
+ return /* @__PURE__ */ s(
21
21
  z,
22
22
  {
23
- showOutsideDays: r,
23
+ showOutsideDays: d,
24
24
  className: e(
25
- "bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
26
- String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
27
- String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
25
+ "ds:bg-background ds:group/calendar ds:p-3 ds:[--cell-size:--spacing(8)] ds:[[data-slot=card-content]_&]:bg-transparent ds:[[data-slot=popover-content]_&]:bg-transparent",
26
+ String.raw`ds:rtl:**:[.rdp-button\_next>svg]:rotate-180`,
27
+ String.raw`ds:rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
28
28
  u
29
29
  ),
30
30
  captionLayout: g,
31
31
  formatters: {
32
- formatMonthDropdown: (n) => n.toLocaleString("default", { month: "short" }),
33
- ...d
32
+ formatMonthDropdown: (t) => t.toLocaleString("default", { month: "short" }),
33
+ ...n
34
34
  },
35
35
  classNames: {
36
- root: e("w-fit", t.root),
36
+ root: e("ds:w-fit", r.root),
37
37
  months: e(
38
- "flex gap-4 flex-col md:flex-row relative",
39
- t.months
38
+ "ds:flex ds:gap-4 ds:flex-col ds:md:flex-row ds:relative",
39
+ r.months
40
40
  ),
41
- month: e("flex flex-col w-full gap-4", t.month),
41
+ month: e("ds:flex ds:flex-col ds:w-full ds:gap-4", r.month),
42
42
  nav: e(
43
- "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
44
- t.nav
43
+ "ds:flex ds:items-center ds:gap-1 ds:w-full ds:absolute ds:top-0 ds:inset-x-0 ds:justify-between",
44
+ r.nav
45
45
  ),
46
46
  button_previous: e(
47
47
  _({ variant: i }),
48
- "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
49
- t.button_previous
48
+ "ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none",
49
+ r.button_previous
50
50
  ),
51
51
  button_next: e(
52
52
  _({ variant: i }),
53
- "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
54
- t.button_next
53
+ "ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none",
54
+ r.button_next
55
55
  ),
56
56
  month_caption: e(
57
- "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
58
- t.month_caption
57
+ "ds:flex ds:items-center ds:justify-center ds:h-(--cell-size) ds:w-full ds:px-(--cell-size)",
58
+ r.month_caption
59
59
  ),
60
60
  dropdowns: e(
61
- "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
62
- t.dropdowns
61
+ "ds:w-full ds:flex ds:items-center ds:text-sm ds:font-medium ds:justify-center ds:h-(--cell-size) ds:gap-1.5",
62
+ r.dropdowns
63
63
  ),
64
64
  dropdown_root: e(
65
- "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
66
- t.dropdown_root
65
+ "ds:relative ds:has-focus:border-ring ds:border ds:border-input ds:shadow-xs ds:has-focus:ring-ring/50 ds:has-focus:ring-[3px] ds:rounded-md",
66
+ r.dropdown_root
67
67
  ),
68
68
  dropdown: e(
69
- "absolute bg-popover inset-0 opacity-0",
70
- t.dropdown
69
+ "ds:absolute ds:bg-popover ds:inset-0 ds:opacity-0",
70
+ r.dropdown
71
71
  ),
72
72
  caption_label: e(
73
- "select-none font-medium",
74
- g === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
75
- t.caption_label
73
+ "ds:select-none ds:font-medium",
74
+ g === "label" ? "ds:text-sm" : "ds:rounded-md ds:pl-2 ds:pr-1 ds:flex ds:items-center ds:gap-1 ds:text-sm ds:h-8 ds:[&>svg]:text-muted-foreground ds:[&>svg]:size-3.5",
75
+ r.caption_label
76
76
  ),
77
77
  table: "w-full border-collapse",
78
- weekdays: e("flex", t.weekdays),
78
+ weekdays: e("ds:flex", r.weekdays),
79
79
  weekday: e(
80
- "text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
81
- t.weekday
80
+ "ds:text-muted-foreground ds:rounded-md ds:flex-1 ds:font-normal ds:text-[0.8rem] ds:select-none",
81
+ r.weekday
82
82
  ),
83
- week: e("flex w-full mt-2", t.week),
83
+ week: e("ds:flex ds:w-full ds:mt-2", r.week),
84
84
  week_number_header: e(
85
- "select-none w-(--cell-size)",
86
- t.week_number_header
85
+ "ds:select-none ds:w-(--cell-size)",
86
+ r.week_number_header
87
87
  ),
88
88
  week_number: e(
89
- "text-[0.8rem] select-none text-muted-foreground",
90
- t.week_number
89
+ "ds:text-[0.8rem] ds:select-none ds:text-muted-foreground",
90
+ r.week_number
91
91
  ),
92
92
  day: e(
93
- "relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
94
- p.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
95
- t.day
93
+ "ds:relative ds:w-full ds:h-full ds:p-0 ds:text-center ds:[&:last-child[data-selected=true]_button]:rounded-r-md ds:group/day ds:aspect-square ds:select-none",
94
+ p.showWeekNumber ? "ds:[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "ds:[&:first-child[data-selected=true]_button]:rounded-l-md",
95
+ r.day
96
96
  ),
97
97
  range_start: e(
98
- o === "rounded" ? `${m.rangeBg} rounded-l-full` : "rounded-l-md bg-accent",
99
- t.range_start
98
+ a === "rounded" ? `${m.rangeBg} ds:rounded-l-full` : "ds:rounded-l-md ds:bg-accent",
99
+ r.range_start
100
100
  ),
101
101
  range_middle: e(
102
- "rounded-none",
103
- t.range_middle
102
+ "ds:rounded-none",
103
+ r.range_middle
104
104
  ),
105
105
  range_end: e(
106
- o === "rounded" ? `${m.rangeBg} rounded-r-full` : "rounded-r-md bg-accent",
107
- t.range_end
106
+ a === "rounded" ? `${m.rangeBg} ds:rounded-r-full` : "ds:rounded-r-md ds:bg-accent",
107
+ r.range_end
108
108
  ),
109
109
  today: e(
110
- o === "rounded" ? `rounded-full bg-accent data-[selected=true]:rounded-l-none data-[selected=true]:${m.rangeBg} [&_button[data-range-middle=true]]:bg-transparent` : "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
111
- t.today
110
+ a === "rounded" ? `ds:rounded-full ds:bg-accent ds:data-[selected=true]:rounded-l-none ds:data-[selected=true]:${m.rangeBg} ds:[&_button[data-range-middle=true]]:bg-transparent` : "ds:bg-accent ds:text-accent-foreground ds:rounded-md ds:data-[selected=true]:rounded-none",
111
+ r.today
112
112
  ),
113
113
  outside: e(
114
- "text-muted-foreground aria-selected:text-muted-foreground",
115
- t.outside
114
+ "ds:text-muted-foreground ds:aria-selected:text-muted-foreground",
115
+ r.outside
116
116
  ),
117
117
  disabled: e(
118
- "text-muted-foreground opacity-50",
119
- t.disabled
118
+ "ds:text-muted-foreground ds:opacity-50",
119
+ r.disabled
120
120
  ),
121
- hidden: e("invisible", t.hidden),
121
+ hidden: e("ds:invisible", r.hidden),
122
122
  ...l
123
123
  },
124
124
  components: {
125
- Root: ({ className: n, rootRef: s, ...c }) => /* @__PURE__ */ a(
125
+ Root: ({ className: t, rootRef: o, ...c }) => /* @__PURE__ */ s(
126
126
  "div",
127
127
  {
128
128
  "data-slot": "calendar",
129
- ref: s,
130
- className: e(n),
129
+ ref: o,
130
+ className: e(t),
131
131
  ...c
132
132
  }
133
133
  ),
134
- Chevron: ({ className: n, orientation: s, ...c }) => s === "left" ? /* @__PURE__ */ a(y, { className: e("size-4", n), ...c }) : s === "right" ? /* @__PURE__ */ a(
134
+ Chevron: ({ className: t, orientation: o, ...c }) => o === "left" ? /* @__PURE__ */ s(y, { className: e("ds:size-4", t), ...c }) : o === "right" ? /* @__PURE__ */ s(
135
135
  w,
136
136
  {
137
- className: e("size-4", n),
137
+ className: e("ds:size-4", t),
138
138
  ...c
139
139
  }
140
- ) : /* @__PURE__ */ a(k, { className: e("size-4", n), ...c }),
141
- DayButton: (n) => /* @__PURE__ */ a(R, { ...n, variant: o, color: f }),
142
- WeekNumber: ({ children: n, ...s }) => /* @__PURE__ */ a("td", { ...s, children: /* @__PURE__ */ a("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: n }) }),
140
+ ) : /* @__PURE__ */ s(k, { className: e("ds:size-4", t), ...c }),
141
+ DayButton: (t) => /* @__PURE__ */ s(R, { ...t, variant: a, color: f }),
142
+ WeekNumber: ({ children: t, ...o }) => /* @__PURE__ */ s("td", { ...o, children: /* @__PURE__ */ s("div", { className: "ds:flex ds:size-(--cell-size) ds:items-center ds:justify-center ds:text-center", children: t }) }),
143
143
  ...b
144
144
  },
145
145
  ...p
@@ -205,58 +205,58 @@ const h = (u = "foreground") => ({
205
205
  function R({
206
206
  className: u,
207
207
  day: l,
208
- modifiers: r,
208
+ modifiers: d,
209
209
  variant: g = "default",
210
210
  color: i = "foreground",
211
- ...o
211
+ ...a
212
212
  }) {
213
- const f = v(), d = h(i), b = x.useRef(null);
213
+ const f = v(), n = h(i), b = x.useRef(null);
214
214
  return x.useEffect(() => {
215
- r.focused && b.current?.focus();
216
- }, [r.focused]), /* @__PURE__ */ a(
215
+ d.focused && b.current?.focus();
216
+ }, [d.focused]), /* @__PURE__ */ s(
217
217
  B,
218
218
  {
219
219
  ref: b,
220
220
  variant: "ghost",
221
221
  size: "icon",
222
222
  "data-day": l.date.toLocaleDateString(),
223
- "data-selected-single": r.selected && !r.range_start && !r.range_end && !r.range_middle,
224
- "data-range-start": r.range_start,
225
- "data-range-end": r.range_end,
226
- "data-range-middle": r.range_middle,
223
+ "data-selected-single": d.selected && !d.range_start && !d.range_end && !d.range_middle,
224
+ "data-range-start": d.range_start,
225
+ "data-range-end": d.range_end,
226
+ "data-range-middle": d.range_middle,
227
227
  className: e(
228
- "flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal",
229
- "group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px]",
230
- "group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50",
231
- "[&>span]:text-xs [&>span]:opacity-70",
228
+ "ds:flex ds:aspect-square ds:size-auto ds:w-full ds:min-w-(--cell-size) ds:flex-col ds:gap-1 ds:leading-none ds:font-normal",
229
+ "ds:group-data-[focused=true]/day:relative ds:group-data-[focused=true]/day:z-10 ds:group-data-[focused=true]/day:ring-[3px]",
230
+ "ds:group-data-[focused=true]/day:border-ring ds:group-data-[focused=true]/day:ring-ring/50",
231
+ "ds:[&>span]:text-xs ds:[&>span]:opacity-70",
232
232
  // Hover effect chỉ khi chưa selected
233
- !r.selected && !r.range_start && !r.range_end && !r.range_middle && "hover:bg-accent hover:text-accent-foreground dark:hover:text-accent-foreground",
233
+ !d.selected && !d.range_start && !d.range_end && !d.range_middle && "ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:text-accent-foreground",
234
234
  // Selected single day - chỉ apply color khi selected
235
- r.selected && !r.range_start && !r.range_end && !r.range_middle && d.selected,
235
+ d.selected && !d.range_start && !d.range_end && !d.range_middle && n.selected,
236
236
  // Range start/end - chỉ apply color khi là range start/end
237
- r.range_start && d.selected,
238
- r.range_end && d.selected,
237
+ d.range_start && n.selected,
238
+ d.range_end && n.selected,
239
239
  // Range middle - apply rangeBg nhưng giữ text color mặc định
240
- r.range_middle && `${d.rangeBg} text-accent-foreground`,
240
+ d.range_middle && `${n.rangeBg} ds:text-accent-foreground`,
241
241
  g === "default" && [
242
- "data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md",
243
- "data-[range-middle=true]:rounded-none",
244
- "data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md"
242
+ "ds:data-[range-end=true]:rounded-md ds:data-[range-end=true]:rounded-r-md",
243
+ "ds:data-[range-middle=true]:rounded-none",
244
+ "ds:data-[range-start=true]:rounded-md ds:data-[range-start=true]:rounded-l-md"
245
245
  ],
246
246
  g === "rounded" && [
247
- "data-[selected-single=true]:rounded-full",
248
- "data-[range-end=true]:rounded-full",
249
- "data-[range-start=true]:rounded-full",
250
- r.range_start && `group-data-[focused=true]/day:${d.focusRing}`,
251
- r.range_end && `group-data-[focused=true]/day:${d.focusRing}`,
252
- r.range_middle && "rounded-none",
247
+ "ds:data-[selected-single=true]:rounded-full",
248
+ "ds:data-[range-end=true]:rounded-full",
249
+ "ds:data-[range-start=true]:rounded-full",
250
+ d.range_start && `ds:group-data-[focused=true]/day:${n.focusRing}`,
251
+ d.range_end && `ds:group-data-[focused=true]/day:${n.focusRing}`,
252
+ d.range_middle && "ds:rounded-none",
253
253
  // Chỉ hover:rounded-full khi chưa selected
254
- !r.selected && !r.range_start && !r.range_end && !r.range_middle && "hover:rounded-full"
254
+ !d.selected && !d.range_start && !d.range_end && !d.range_middle && "ds:hover:rounded-full"
255
255
  ],
256
256
  f.day,
257
257
  u
258
258
  ),
259
- ...o
259
+ ...a
260
260
  }
261
261
  );
262
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sources":["../../../../../../../../packages/ui/src/components/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Button, buttonVariants } from \"@dsui/ui/components/button\";\n\ntype CalendarColor =\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"destructive\"\n | \"muted\"\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"foreground\";\n\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n variant = \"default\",\n color = \"primary\",\n formatters,\n components,\n ...props\n}: CalendarProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute bg-popover inset-0 opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} rounded-l-full`\n : \"rounded-l-md bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\n variant === \"rounded\" ? \"rounded-none\" : \"rounded-none\",\n defaultClassNames.range_middle\n ),\n range_end: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} rounded-r-full`\n : \"rounded-r-md bg-accent\",\n defaultClassNames.range_end\n ),\n today: cn(\n variant === \"rounded\"\n ? `rounded-full bg-accent data-[selected=true]:rounded-l-none data-[selected=true]:${colorClasses.rangeBg} [&_button[data-range-middle=true]]:bg-transparent`\n : \"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n );\n },\n DayButton: (props) => (\n <CalendarDayButton {...props} variant={variant} color={color} />\n ),\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\ntype CalendarDayButtonProps = Omit<\n React.ComponentProps<typeof DayButton>,\n \"color\"\n> & {\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\n\n// Color variants for calendar day buttons\nconst getColorClasses = (color: CalendarColor = \"foreground\") => {\n const colorMap = {\n primary: {\n selected: \"bg-primary text-primary-foreground\",\n selectedHover: \"hover:bg-primary/90\",\n rangeBg: \"bg-primary/20 dark:bg-primary/10\",\n focusRing: \"ring-primary/20 dark:ring-primary/40\",\n },\n secondary: {\n selected: \"bg-secondary text-secondary-foreground\",\n selectedHover: \"hover:bg-secondary/90\",\n rangeBg: \"bg-secondary/20 dark:bg-secondary/10\",\n focusRing: \"ring-secondary/20 dark:ring-secondary/40\",\n },\n accent: {\n selected: \"bg-accent text-accent-foreground\",\n selectedHover: \"hover:bg-accent/90\",\n rangeBg: \"bg-accent/20 dark:bg-accent/10\",\n focusRing: \"ring-accent/20 dark:ring-accent/40\",\n },\n destructive: {\n selected: \"bg-destructive text-destructive-foreground\",\n selectedHover: \"hover:bg-destructive/90\",\n rangeBg: \"bg-destructive/20 dark:bg-destructive/10\",\n focusRing: \"ring-destructive/20 dark:ring-destructive/40\",\n },\n muted: {\n selected: \"bg-muted text-muted-foreground\",\n selectedHover: \"hover:bg-muted/90\",\n rangeBg: \"bg-muted/30 dark:bg-muted/20\",\n focusRing: \"ring-muted/20 dark:ring-muted/40\",\n },\n success: {\n selected: \"bg-success text-success-foreground\",\n selectedHover: \"hover:bg-success/90\",\n rangeBg: \"bg-success/20 dark:bg-success/10\",\n focusRing: \"ring-success/20 dark:ring-success/40\",\n },\n error: {\n selected: \"bg-error text-error-foreground\",\n selectedHover: \"hover:bg-error/90\",\n rangeBg: \"bg-error/20 dark:bg-error/10\",\n focusRing: \"ring-error/20 dark:ring-error/40\",\n },\n warning: {\n selected: \"bg-warning text-warning-foreground\",\n selectedHover: \"hover:bg-warning/90\",\n rangeBg: \"bg-warning/20 dark:bg-warning/10\",\n focusRing: \"ring-warning/20 dark:ring-warning/40\",\n },\n foreground: {\n selected: \"bg-foreground text-background\",\n selectedHover: \"hover:bg-foreground/90\",\n rangeBg: \"bg-foreground/10 dark:bg-foreground/5\",\n focusRing: \"ring-foreground/20 dark:ring-foreground/40\",\n },\n };\n\n return colorMap[color];\n};\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n variant = \"default\",\n color = \"foreground\",\n ...props\n}: CalendarDayButtonProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal\",\n \"group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px]\",\n \"group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50\",\n \"[&>span]:text-xs [&>span]:opacity-70\",\n // Hover effect chỉ khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"hover:bg-accent hover:text-accent-foreground dark:hover:text-accent-foreground\",\n // Selected single day - chỉ apply color khi selected\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n colorClasses.selected,\n // Range start/end - chỉ apply color khi là range start/end\n modifiers.range_start && colorClasses.selected,\n modifiers.range_end && colorClasses.selected,\n // Range middle - apply rangeBg nhưng giữ text color mặc định\n modifiers.range_middle &&\n `${colorClasses.rangeBg} text-accent-foreground`,\n variant === \"default\" && [\n \"data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md\",\n \"data-[range-middle=true]:rounded-none\",\n \"data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md\",\n ],\n variant === \"rounded\" && [\n \"data-[selected-single=true]:rounded-full\",\n \"data-[range-end=true]:rounded-full\",\n \"data-[range-start=true]:rounded-full\",\n modifiers.range_start &&\n `group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_end &&\n `group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_middle && \"rounded-none\",\n // Chỉ hover:rounded-full khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"hover:rounded-full\",\n ],\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Calendar,\n CalendarDayButton,\n type CalendarProps,\n type CalendarDayButtonProps,\n type CalendarColor,\n};\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","variant","color","formatters","components","props","defaultClassNames","getDefaultClassNames","colorClasses","getColorClasses","jsx","DayPicker","cn","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}
1
+ {"version":3,"file":"calendar.js","sources":["../../../../../../../../packages/ui/src/components/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Button, buttonVariants } from \"@dsui/ui/components/button\";\n\ntype CalendarColor =\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"destructive\"\n | \"muted\"\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"foreground\";\n\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n variant = \"default\",\n color = \"primary\",\n formatters,\n components,\n ...props\n}: CalendarProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"ds:bg-background ds:group/calendar ds:p-3 ds:[--cell-size:--spacing(8)] ds:[[data-slot=card-content]_&]:bg-transparent ds:[[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`ds:rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`ds:rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"ds:w-fit\", defaultClassNames.root),\n months: cn(\n \"ds:flex ds:gap-4 ds:flex-col ds:md:flex-row ds:relative\",\n defaultClassNames.months\n ),\n month: cn(\"ds:flex ds:flex-col ds:w-full ds:gap-4\", defaultClassNames.month),\n nav: cn(\n \"ds:flex ds:items-center ds:gap-1 ds:w-full ds:absolute ds:top-0 ds:inset-x-0 ds:justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"ds:flex ds:items-center ds:justify-center ds:h-(--cell-size) ds:w-full ds:px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"ds:w-full ds:flex ds:items-center ds:text-sm ds:font-medium ds:justify-center ds:h-(--cell-size) ds:gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"ds:relative ds:has-focus:border-ring ds:border ds:border-input ds:shadow-xs ds:has-focus:ring-ring/50 ds:has-focus:ring-[3px] ds:rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"ds:absolute ds:bg-popover ds:inset-0 ds:opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"ds:select-none ds:font-medium\",\n captionLayout === \"label\"\n ? \"ds:text-sm\"\n : \"ds:rounded-md ds:pl-2 ds:pr-1 ds:flex ds:items-center ds:gap-1 ds:text-sm ds:h-8 ds:[&>svg]:text-muted-foreground ds:[&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"ds:flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"ds:text-muted-foreground ds:rounded-md ds:flex-1 ds:font-normal ds:text-[0.8rem] ds:select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"ds:flex ds:w-full ds:mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"ds:select-none ds:w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"ds:text-[0.8rem] ds:select-none ds:text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"ds:relative ds:w-full ds:h-full ds:p-0 ds:text-center ds:[&:last-child[data-selected=true]_button]:rounded-r-md ds:group/day ds:aspect-square ds:select-none\",\n props.showWeekNumber\n ? \"ds:[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"ds:[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} ds:rounded-l-full`\n : \"ds:rounded-l-md ds:bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\n variant === \"rounded\" ? \"ds:rounded-none\" : \"ds:rounded-none\",\n defaultClassNames.range_middle\n ),\n range_end: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} ds:rounded-r-full`\n : \"ds:rounded-r-md ds:bg-accent\",\n defaultClassNames.range_end\n ),\n today: cn(\n variant === \"rounded\"\n ? `ds:rounded-full ds:bg-accent ds:data-[selected=true]:rounded-l-none ds:data-[selected=true]:${colorClasses.rangeBg} ds:[&_button[data-range-middle=true]]:bg-transparent`\n : \"ds:bg-accent ds:text-accent-foreground ds:rounded-md ds:data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"ds:text-muted-foreground ds:aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"ds:text-muted-foreground ds:opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"ds:invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"ds:size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"ds:size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"ds:size-4\", className)} {...props} />\n );\n },\n DayButton: (props) => (\n <CalendarDayButton {...props} variant={variant} color={color} />\n ),\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"ds:flex ds:size-(--cell-size) ds:items-center ds:justify-center ds:text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\ntype CalendarDayButtonProps = Omit<\n React.ComponentProps<typeof DayButton>,\n \"color\"\n> & {\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\n\n// Color variants for calendar day buttons\nconst getColorClasses = (color: CalendarColor = \"foreground\") => {\n const colorMap = {\n primary: {\n selected: \"bg-primary text-primary-foreground\",\n selectedHover: \"hover:bg-primary/90\",\n rangeBg: \"bg-primary/20 dark:bg-primary/10\",\n focusRing: \"ring-primary/20 dark:ring-primary/40\",\n },\n secondary: {\n selected: \"bg-secondary text-secondary-foreground\",\n selectedHover: \"hover:bg-secondary/90\",\n rangeBg: \"bg-secondary/20 dark:bg-secondary/10\",\n focusRing: \"ring-secondary/20 dark:ring-secondary/40\",\n },\n accent: {\n selected: \"bg-accent text-accent-foreground\",\n selectedHover: \"hover:bg-accent/90\",\n rangeBg: \"bg-accent/20 dark:bg-accent/10\",\n focusRing: \"ring-accent/20 dark:ring-accent/40\",\n },\n destructive: {\n selected: \"bg-destructive text-destructive-foreground\",\n selectedHover: \"hover:bg-destructive/90\",\n rangeBg: \"bg-destructive/20 dark:bg-destructive/10\",\n focusRing: \"ring-destructive/20 dark:ring-destructive/40\",\n },\n muted: {\n selected: \"bg-muted text-muted-foreground\",\n selectedHover: \"hover:bg-muted/90\",\n rangeBg: \"bg-muted/30 dark:bg-muted/20\",\n focusRing: \"ring-muted/20 dark:ring-muted/40\",\n },\n success: {\n selected: \"bg-success text-success-foreground\",\n selectedHover: \"hover:bg-success/90\",\n rangeBg: \"bg-success/20 dark:bg-success/10\",\n focusRing: \"ring-success/20 dark:ring-success/40\",\n },\n error: {\n selected: \"bg-error text-error-foreground\",\n selectedHover: \"hover:bg-error/90\",\n rangeBg: \"bg-error/20 dark:bg-error/10\",\n focusRing: \"ring-error/20 dark:ring-error/40\",\n },\n warning: {\n selected: \"bg-warning text-warning-foreground\",\n selectedHover: \"hover:bg-warning/90\",\n rangeBg: \"bg-warning/20 dark:bg-warning/10\",\n focusRing: \"ring-warning/20 dark:ring-warning/40\",\n },\n foreground: {\n selected: \"bg-foreground text-background\",\n selectedHover: \"hover:bg-foreground/90\",\n rangeBg: \"bg-foreground/10 dark:bg-foreground/5\",\n focusRing: \"ring-foreground/20 dark:ring-foreground/40\",\n },\n };\n\n return colorMap[color];\n};\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n variant = \"default\",\n color = \"foreground\",\n ...props\n}: CalendarDayButtonProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"ds:flex ds:aspect-square ds:size-auto ds:w-full ds:min-w-(--cell-size) ds:flex-col ds:gap-1 ds:leading-none ds:font-normal\",\n \"ds:group-data-[focused=true]/day:relative ds:group-data-[focused=true]/day:z-10 ds:group-data-[focused=true]/day:ring-[3px]\",\n \"ds:group-data-[focused=true]/day:border-ring ds:group-data-[focused=true]/day:ring-ring/50\",\n \"ds:[&>span]:text-xs ds:[&>span]:opacity-70\",\n // Hover effect chỉ khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:text-accent-foreground\",\n // Selected single day - chỉ apply color khi selected\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n colorClasses.selected,\n // Range start/end - chỉ apply color khi là range start/end\n modifiers.range_start && colorClasses.selected,\n modifiers.range_end && colorClasses.selected,\n // Range middle - apply rangeBg nhưng giữ text color mặc định\n modifiers.range_middle &&\n `${colorClasses.rangeBg} ds:text-accent-foreground`,\n variant === \"default\" && [\n \"ds:data-[range-end=true]:rounded-md ds:data-[range-end=true]:rounded-r-md\",\n \"ds:data-[range-middle=true]:rounded-none\",\n \"ds:data-[range-start=true]:rounded-md ds:data-[range-start=true]:rounded-l-md\",\n ],\n variant === \"rounded\" && [\n \"ds:data-[selected-single=true]:rounded-full\",\n \"ds:data-[range-end=true]:rounded-full\",\n \"ds:data-[range-start=true]:rounded-full\",\n modifiers.range_start &&\n `ds:group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_end &&\n `ds:group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_middle && \"ds:rounded-none\",\n // Chỉ hover:rounded-full khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"ds:hover:rounded-full\",\n ],\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Calendar,\n CalendarDayButton,\n type CalendarProps,\n type CalendarDayButtonProps,\n type CalendarColor,\n};\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","variant","color","formatters","components","props","defaultClassNames","getDefaultClassNames","colorClasses","getColorClasses","jsx","DayPicker","cn","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}