@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":"Dialog.js","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n Dialog as SDialog,\n DialogContent as SDialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@dsui/ui/components/dialog\";\nimport {\n AlertDialog,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@dsui/ui/components/alert-dialog\";\nimport { ScrollArea } from \"@dsui/ui/components/scroll-area\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport type { BasicAnimation } from \"@/types/variables\";\nimport { animationClass } from \"@/utils/animations\";\nimport { AlertTriangle, Info, CheckCircle2, AlertCircle } from \"lucide-react\";\nimport Button, { type ButtonProps } from \"../Button/Button\";\n\nexport type DialogVariant = \"dialog\" | \"confirm\" | \"alert\" | \"info\" | \"warning\";\nexport type DialogSize =\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"full\";\nexport type DialogPosition =\n | \"center\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\";\n\nexport interface DialogButtonConfig extends Omit<ButtonProps, \"children\"> {\n text?: React.ReactNode;\n onClick?: () => void;\n}\n\nexport interface DialogProps {\n // Core props\n variant?: DialogVariant;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n // Content\n title?: React.ReactNode;\n description?: React.ReactNode;\n children?: React.ReactNode;\n trigger?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Behavior\n closeOnEsc?: boolean;\n closeOnOutside?: boolean;\n showCloseButton?: boolean;\n\n // Layout\n position?: DialogPosition;\n size?: DialogSize;\n fullscreen?: boolean;\n scrollable?: boolean;\n stickyHeader?: boolean;\n stickyFooter?: boolean;\n\n // Animation\n animation?: BasicAnimation;\n\n // Styling\n className?: string;\n contentClassName?: string;\n headerClassName?: string;\n titleClassName?: string;\n descriptionClassName?: string;\n footerClassName?: string;\n overlayClassName?: string;\n\n // Overlay\n backdropFilter?: number;\n overlay?: \"dark\" | \"light\";\n\n // Alert/Confirm buttons\n confirmButton?: DialogButtonConfig;\n cancelButton?: DialogButtonConfig;\n\n // Alert/Confirm specific\n showIcon?: boolean;\n}\n\nconst variantIcons = {\n dialog: null,\n confirm: (\n <div className=\"size-12 flex items-center justify-center rounded-full bg-success/10 mx-auto mb-4\">\n <CheckCircle2 className=\"size-6 text-success\" />\n </div>\n ),\n alert: (\n <div className=\"size-12 flex items-center justify-center rounded-full bg-error/10 mx-auto mb-4\">\n <AlertCircle className=\"size-5 text-error\" />\n </div>\n ),\n info: (\n <div className=\"size-12 flex items-center justify-center rounded-full bg-blue-500/10 mx-auto mb-4\">\n <Info className=\"size-5 text-blue-500\" />\n </div>\n ),\n warning: (\n <div className=\"size-12 flex items-center justify-center rounded-full bg-warning/10 mx-auto mb-4\">\n <AlertTriangle className=\"size-5 text-warning\" />\n </div>\n ),\n};\n\nconst variantColors = {\n dialog: \"\",\n confirm: \"border-blue-500/20\",\n alert: \"border-red-500/20\",\n info: \"border-blue-500/20\",\n warning: \"border-yellow-500/20\",\n};\n\nconst sizeClasses: Record<DialogSize, string> = {\n sm: \"sm:max-w-sm\",\n md: \"sm:max-w-md\",\n lg: \"sm:max-w-lg\",\n xl: \"sm:max-w-xl\",\n \"2xl\": \"sm:max-w-2xl max-h-[90vh]\",\n \"3xl\": \"sm:max-w-3xl max-h-[90vh]\",\n \"4xl\": \"sm:max-w-4xl max-h-[90vh]\",\n full: \"sm:max-w-[95vw] h-[98vh]\",\n};\n\nconst positionClasses: Record<DialogPosition, string> = {\n center: \"!top-[50%] !left-[50%] !translate-x-[-50%] !translate-y-[-50%]\",\n top: \"!top-4 !left-[50%] !translate-x-[-50%] !translate-y-0\",\n bottom: \"!top-auto !bottom-4 !left-[50%] !translate-x-[-50%] !translate-y-0\",\n left: \"!left-4 !top-[50%] !translate-x-0 !translate-y-[-50%]\",\n right: \"!left-auto !right-4 !top-[50%] !translate-x-0 !translate-y-[-50%]\",\n \"top-left\": \"!top-4 !left-4 !translate-x-0 !translate-y-0\",\n \"top-right\": \"!top-4 !left-auto !right-4 !translate-x-0 !translate-y-0\",\n \"bottom-left\": \"!top-auto !bottom-4 !left-4 !translate-x-0 !translate-y-0\",\n \"bottom-right\":\n \"!top-auto !bottom-4 !left-auto !right-4 !translate-x-0 !translate-y-0\",\n};\n\nconst Dialog = React.forwardRef<HTMLDivElement, DialogProps>((props, ref) => {\n const {\n variant = \"dialog\",\n open,\n onOpenChange,\n title,\n description,\n children,\n trigger,\n footer,\n closeOnEsc = true,\n closeOnOutside = true,\n showCloseButton = true,\n position = \"center\",\n size = \"md\",\n fullscreen = false,\n scrollable = true,\n stickyHeader = false,\n stickyFooter = false,\n animation,\n className,\n contentClassName,\n headerClassName,\n titleClassName,\n descriptionClassName,\n footerClassName,\n // overlayClassName, // Not used in current implementation\n confirmButton,\n cancelButton,\n showIcon = true,\n backdropFilter = 2,\n overlay = \"dark\",\n } = props;\n\n const animationResult = useMemo(() => {\n return animation ? animationClass(animation) : { className: \"\" };\n }, [animation]);\n\n const contentClasses = cn(\n // Remove default padding and gap to allow custom header/footer\n \"!p-0 !gap-0 flex flex-col\",\n sizeClasses[fullscreen ? \"full\" : size],\n positionClasses[position],\n variantColors[variant],\n animationResult.className,\n fullscreen ? \"h-[98vh]\" : \"max-h-[90vh]\"\n );\n\n const headerClasses = cn(\n \"px-6 pt-6 text-left\",\n !scrollable && \"contents space-y-0\",\n headerClassName\n );\n\n const footerClasses = cn(\n \"px-6 pb-6 sm:justify-end\",\n !scrollable && \"border-t py-4\",\n footerClassName\n );\n\n const icon = showIcon ? variantIcons[variant] : null;\n\n const headerComponents = useMemo(() => {\n return title || icon || description ? (\n <AlertDialogHeader\n className={cn(\n \"flex items-center gap-2 py-4\",\n { \"border-b\": stickyHeader },\n headerClasses\n )}\n >\n {(title || icon) && (\n <AlertDialogTitle className={cn(titleClassName)}>\n {icon}\n {title}\n </AlertDialogTitle>\n )}\n {description && (\n <AlertDialogDescription className={descriptionClassName}>\n {description}\n </AlertDialogDescription>\n )}\n </AlertDialogHeader>\n ) : null;\n }, [\n title,\n icon,\n description,\n headerClasses,\n titleClassName,\n descriptionClassName,\n stickyHeader,\n ]);\n\n const footerComponents = useMemo(() => {\n // Merge configs with defaults\n const mergedConfirmButton: DialogButtonConfig = {\n variant: \"solid\",\n color: \"primary\",\n ...confirmButton,\n text: confirmButton?.text ?? \"Confirm\",\n };\n\n const mergedCancelButton: DialogButtonConfig = {\n variant: \"outline\",\n ...cancelButton,\n text: cancelButton?.text ?? \"Cancel\",\n };\n\n return footer || confirmButton || cancelButton ? (\n <AlertDialogFooter\n className={cn(\"py-4\", { \"border-t\": stickyFooter }, footerClasses)}\n >\n {footer || (\n <>\n {cancelButton && (\n <Button\n {...mergedCancelButton}\n onClick={() => {\n mergedCancelButton.onClick?.();\n }}\n >\n {mergedCancelButton.text}\n </Button>\n )}\n {confirmButton && (\n <Button\n {...mergedConfirmButton}\n onClick={() => {\n mergedConfirmButton.onClick?.();\n }}\n >\n {mergedConfirmButton.text}\n </Button>\n )}\n </>\n )}\n </AlertDialogFooter>\n ) : null;\n }, [footer, footerClasses, confirmButton, cancelButton, stickyFooter]);\n\n // For alert-style dialogs (confirm, alert, info, warning)\n if (variant !== \"dialog\") {\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n {trigger && <AlertDialogTrigger asChild>{trigger}</AlertDialogTrigger>}\n <AlertDialogContent\n ref={ref}\n className={cn(className, contentClasses)}\n onEscapeKeyDown={(e) => !closeOnEsc && e.preventDefault()}\n noDefaultAnimation={!!animation}\n backdropFilter={backdropFilter}\n overlay={overlay}\n >\n {stickyHeader && headerComponents}\n\n <ScrollArea className=\"flex max-h-full flex-col overflow-hidden\">\n {!stickyHeader && headerComponents}\n {children && (\n <div className={cn(\"px-6 py-4\", contentClassName)}>\n {children}\n </div>\n )}\n {!stickyFooter && footerComponents}\n </ScrollArea>\n\n {stickyFooter && footerComponents}\n </AlertDialogContent>\n </AlertDialog>\n );\n }\n\n // Regular dialog\n return (\n <SDialog open={open} onOpenChange={onOpenChange}>\n {trigger && <DialogTrigger asChild>{trigger}</DialogTrigger>}\n <SDialogContent\n ref={ref}\n className={cn(className, contentClasses)}\n showCloseButton={showCloseButton}\n onEscapeKeyDown={(e) => !closeOnEsc && e.preventDefault()}\n onInteractOutside={(e) => !closeOnOutside && e.preventDefault()}\n noDefaultAnimation={!!animation}\n backdropFilter={backdropFilter}\n overlay={overlay}\n >\n {stickyHeader && (title || description) && (\n <DialogHeader\n className={cn({ \"py-4 border-b\": stickyHeader }, headerClasses)}\n >\n {title && (\n <DialogTitle className={titleClassName}>{title}</DialogTitle>\n )}\n {description && (\n <DialogDescription className={descriptionClassName}>\n {description}\n </DialogDescription>\n )}\n </DialogHeader>\n )}\n <ScrollArea className=\"flex max-h-full flex-col overflow-hidden\">\n {!stickyHeader && (title || description) && (\n <DialogHeader className={cn(\"py-4\", headerClasses)}>\n {title && (\n <DialogTitle className={titleClassName}>{title}</DialogTitle>\n )}\n {description && (\n <DialogDescription className={descriptionClassName}>\n {description}\n </DialogDescription>\n )}\n </DialogHeader>\n )}\n {children && (\n <div className={cn(\"px-6 py-4\", contentClassName)}>{children}</div>\n )}\n {!stickyFooter && footer && (\n <DialogFooter className={cn(\"py-4\", footerClasses)}>\n {footer}\n </DialogFooter>\n )}\n </ScrollArea>\n {stickyFooter && footer && (\n <DialogFooter\n className={cn({ \"py-4 border-t\": stickyFooter }, footerClasses)}\n >\n {footer}\n </DialogFooter>\n )}\n </SDialogContent>\n </SDialog>\n );\n});\n\nDialog.displayName = \"Dialog\";\n\nexport default Dialog;\n"],"names":["variantIcons","jsx","CheckCircle2","AlertCircle","Info","AlertTriangle","variantColors","sizeClasses","positionClasses","Dialog","React","props","ref","variant","open","onOpenChange","title","description","children","trigger","footer","closeOnEsc","closeOnOutside","showCloseButton","position","size","fullscreen","scrollable","stickyHeader","stickyFooter","animation","className","contentClassName","headerClassName","titleClassName","descriptionClassName","footerClassName","confirmButton","cancelButton","showIcon","backdropFilter","overlay","animationResult","useMemo","animationClass","contentClasses","cn","headerClasses","footerClasses","icon","headerComponents","jsxs","AlertDialogHeader","AlertDialogTitle","AlertDialogDescription","footerComponents","mergedConfirmButton","mergedCancelButton","AlertDialogFooter","Fragment","Button","AlertDialog","AlertDialogTrigger","AlertDialogContent","e","ScrollArea","SDialog","DialogTrigger","SDialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter"],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n Dialog as SDialog,\n DialogContent as SDialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@dsui/ui/components/dialog\";\nimport {\n AlertDialog,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"@dsui/ui/components/alert-dialog\";\nimport { ScrollArea } from \"@dsui/ui/components/scroll-area\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport type { BasicAnimation } from \"@/types/variables\";\nimport { animationClass } from \"@/utils/animations\";\nimport { AlertTriangle, Info, CheckCircle2, AlertCircle } from \"lucide-react\";\nimport Button, { type ButtonProps } from \"../Button/Button\";\n\nexport type DialogVariant = \"dialog\" | \"confirm\" | \"alert\" | \"info\" | \"warning\";\nexport type DialogSize =\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"full\";\nexport type DialogPosition =\n | \"center\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\";\n\nexport interface DialogButtonConfig extends Omit<ButtonProps, \"children\"> {\n text?: React.ReactNode;\n onClick?: () => void;\n}\n\nexport interface DialogProps {\n // Core props\n variant?: DialogVariant;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n // Content\n title?: React.ReactNode;\n description?: React.ReactNode;\n children?: React.ReactNode;\n trigger?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Behavior\n closeOnEsc?: boolean;\n closeOnOutside?: boolean;\n showCloseButton?: boolean;\n\n // Layout\n position?: DialogPosition;\n size?: DialogSize;\n fullscreen?: boolean;\n scrollable?: boolean;\n stickyHeader?: boolean;\n stickyFooter?: boolean;\n\n // Animation\n animation?: BasicAnimation;\n\n // Styling\n className?: string;\n contentClassName?: string;\n headerClassName?: string;\n titleClassName?: string;\n descriptionClassName?: string;\n footerClassName?: string;\n overlayClassName?: string;\n\n // Overlay\n backdropFilter?: number;\n overlay?: \"dark\" | \"light\";\n\n // Alert/Confirm buttons\n confirmButton?: DialogButtonConfig;\n cancelButton?: DialogButtonConfig;\n\n // Alert/Confirm specific\n showIcon?: boolean;\n}\n\nconst variantIcons = {\n dialog: null,\n confirm: (\n <div className=\"ds:size-12 ds:flex ds:items-center ds:justify-center ds:rounded-full ds:bg-success/10 ds:mx-auto ds:mb-4\">\n <CheckCircle2 className=\"ds:size-6 ds:text-success\" />\n </div>\n ),\n alert: (\n <div className=\"ds:size-12 ds:flex ds:items-center ds:justify-center ds:rounded-full ds:bg-error/10 ds:mx-auto ds:mb-4\">\n <AlertCircle className=\"ds:size-5 ds:text-error\" />\n </div>\n ),\n info: (\n <div className=\"ds:size-12 ds:flex ds:items-center ds:justify-center ds:rounded-full ds:bg-blue-500/10 ds:mx-auto ds:mb-4\">\n <Info className=\"ds:size-5 ds:text-blue-500\" />\n </div>\n ),\n warning: (\n <div className=\"ds:size-12 ds:flex ds:items-center ds:justify-center ds:rounded-full ds:bg-warning/10 ds:mx-auto ds:mb-4\">\n <AlertTriangle className=\"ds:size-5 ds:text-warning\" />\n </div>\n ),\n};\n\nconst variantColors = {\n dialog: \"\",\n confirm: \"border-blue-500/20\",\n alert: \"border-red-500/20\",\n info: \"border-blue-500/20\",\n warning: \"border-yellow-500/20\",\n};\n\nconst sizeClasses: Record<DialogSize, string> = {\n sm: \"ds:sm:max-w-sm\",\n md: \"ds:sm:max-w-md\",\n lg: \"ds:sm:max-w-lg\",\n xl: \"ds:sm:max-w-xl\",\n \"2xl\": \"ds:sm:max-w-2xl ds:max-h-[90vh]\",\n \"3xl\": \"ds:sm:max-w-3xl ds:max-h-[90vh]\",\n \"4xl\": \"ds:sm:max-w-4xl ds:max-h-[90vh]\",\n full: \"ds:sm:max-w-[95vw] ds:h-[98vh]\",\n};\n\nconst positionClasses: Record<DialogPosition, string> = {\n center: \"ds:!top-[50%] ds:!left-[50%] ds:!translate-x-[-50%] ds:!translate-y-[-50%]\",\n top: \"ds:!top-4 ds:!left-[50%] ds:!translate-x-[-50%] ds:!translate-y-0\",\n bottom: \"ds:!top-auto ds:!bottom-4 ds:!left-[50%] ds:!translate-x-[-50%] ds:!translate-y-0\",\n left: \"ds:!left-4 ds:!top-[50%] ds:!translate-x-0 ds:!translate-y-[-50%]\",\n right: \"ds:!left-auto ds:!right-4 ds:!top-[50%] ds:!translate-x-0 ds:!translate-y-[-50%]\",\n \"top-left\": \"ds:!top-4 ds:!left-4 ds:!translate-x-0 ds:!translate-y-0\",\n \"top-right\": \"ds:!top-4 ds:!left-auto ds:!right-4 ds:!translate-x-0 ds:!translate-y-0\",\n \"bottom-left\": \"ds:!top-auto ds:!bottom-4 ds:!left-4 ds:!translate-x-0 ds:!translate-y-0\",\n \"bottom-right\":\n \"ds:!top-auto ds:!bottom-4 ds:!left-auto ds:!right-4 ds:!translate-x-0 ds:!translate-y-0\",\n};\n\nconst Dialog = React.forwardRef<HTMLDivElement, DialogProps>((props, ref) => {\n const {\n variant = \"dialog\",\n open,\n onOpenChange,\n title,\n description,\n children,\n trigger,\n footer,\n closeOnEsc = true,\n closeOnOutside = true,\n showCloseButton = true,\n position = \"center\",\n size = \"md\",\n fullscreen = false,\n scrollable = true,\n stickyHeader = false,\n stickyFooter = false,\n animation,\n className,\n contentClassName,\n headerClassName,\n titleClassName,\n descriptionClassName,\n footerClassName,\n // overlayClassName, // Not used in current implementation\n confirmButton,\n cancelButton,\n showIcon = true,\n backdropFilter = 2,\n overlay = \"dark\",\n } = props;\n\n const animationResult = useMemo(() => {\n return animation ? animationClass(animation) : { className: \"\" };\n }, [animation]);\n\n const contentClasses = cn(\n // Remove default padding and gap to allow custom header/footer\n \"ds:!p-0 ds:!gap-0 ds:flex ds:flex-col\",\n sizeClasses[fullscreen ? \"full\" : size],\n positionClasses[position],\n variantColors[variant],\n animationResult.className,\n fullscreen ? \"ds:h-[98vh]\" : \"ds:max-h-[90vh]\"\n );\n\n const headerClasses = cn(\n \"ds:px-6 ds:pt-6 ds:text-left\",\n !scrollable && \"ds:contents ds:space-y-0\",\n headerClassName\n );\n\n const footerClasses = cn(\n \"ds:px-6 ds:pb-6 ds:sm:justify-end\",\n !scrollable && \"ds:border-t ds:py-4\",\n footerClassName\n );\n\n const icon = showIcon ? variantIcons[variant] : null;\n\n const headerComponents = useMemo(() => {\n return title || icon || description ? (\n <AlertDialogHeader\n className={cn(\n \"ds:flex ds:items-center ds:gap-2 ds:py-4\",\n { \"ds:border-b\": stickyHeader },\n headerClasses\n )}\n >\n {(title || icon) && (\n <AlertDialogTitle className={cn(titleClassName)}>\n {icon}\n {title}\n </AlertDialogTitle>\n )}\n {description && (\n <AlertDialogDescription className={descriptionClassName}>\n {description}\n </AlertDialogDescription>\n )}\n </AlertDialogHeader>\n ) : null;\n }, [\n title,\n icon,\n description,\n headerClasses,\n titleClassName,\n descriptionClassName,\n stickyHeader,\n ]);\n\n const footerComponents = useMemo(() => {\n // Merge configs with defaults\n const mergedConfirmButton: DialogButtonConfig = {\n variant: \"solid\",\n color: \"primary\",\n ...confirmButton,\n text: confirmButton?.text ?? \"Confirm\",\n };\n\n const mergedCancelButton: DialogButtonConfig = {\n variant: \"outline\",\n ...cancelButton,\n text: cancelButton?.text ?? \"Cancel\",\n };\n\n return footer || confirmButton || cancelButton ? (\n <AlertDialogFooter\n className={cn(\"ds:py-4\", { \"ds:border-t\": stickyFooter }, footerClasses)}\n >\n {footer || (\n <>\n {cancelButton && (\n <Button\n {...mergedCancelButton}\n onClick={() => {\n mergedCancelButton.onClick?.();\n }}\n >\n {mergedCancelButton.text}\n </Button>\n )}\n {confirmButton && (\n <Button\n {...mergedConfirmButton}\n onClick={() => {\n mergedConfirmButton.onClick?.();\n }}\n >\n {mergedConfirmButton.text}\n </Button>\n )}\n </>\n )}\n </AlertDialogFooter>\n ) : null;\n }, [footer, footerClasses, confirmButton, cancelButton, stickyFooter]);\n\n // For alert-style dialogs (confirm, alert, info, warning)\n if (variant !== \"dialog\") {\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n {trigger && <AlertDialogTrigger asChild>{trigger}</AlertDialogTrigger>}\n <AlertDialogContent\n ref={ref}\n className={cn(className, contentClasses)}\n onEscapeKeyDown={(e) => !closeOnEsc && e.preventDefault()}\n noDefaultAnimation={!!animation}\n backdropFilter={backdropFilter}\n overlay={overlay}\n >\n {stickyHeader && headerComponents}\n\n <ScrollArea className=\"ds:flex ds:max-h-full ds:flex-col ds:overflow-hidden\">\n {!stickyHeader && headerComponents}\n {children && (\n <div className={cn(\"ds:px-6 ds:py-4\", contentClassName)}>\n {children}\n </div>\n )}\n {!stickyFooter && footerComponents}\n </ScrollArea>\n\n {stickyFooter && footerComponents}\n </AlertDialogContent>\n </AlertDialog>\n );\n }\n\n // Regular dialog\n return (\n <SDialog open={open} onOpenChange={onOpenChange}>\n {trigger && <DialogTrigger asChild>{trigger}</DialogTrigger>}\n <SDialogContent\n ref={ref}\n className={cn(className, contentClasses)}\n showCloseButton={showCloseButton}\n onEscapeKeyDown={(e) => !closeOnEsc && e.preventDefault()}\n onInteractOutside={(e) => !closeOnOutside && e.preventDefault()}\n noDefaultAnimation={!!animation}\n backdropFilter={backdropFilter}\n overlay={overlay}\n >\n {stickyHeader && (title || description) && (\n <DialogHeader\n className={cn({ \"ds:py-4 ds:border-b\": stickyHeader }, headerClasses)}\n >\n {title && (\n <DialogTitle className={titleClassName}>{title}</DialogTitle>\n )}\n {description && (\n <DialogDescription className={descriptionClassName}>\n {description}\n </DialogDescription>\n )}\n </DialogHeader>\n )}\n <ScrollArea className=\"ds:flex ds:max-h-full ds:flex-col ds:overflow-hidden\">\n {!stickyHeader && (title || description) && (\n <DialogHeader className={cn(\"ds:py-4\", headerClasses)}>\n {title && (\n <DialogTitle className={titleClassName}>{title}</DialogTitle>\n )}\n {description && (\n <DialogDescription className={descriptionClassName}>\n {description}\n </DialogDescription>\n )}\n </DialogHeader>\n )}\n {children && (\n <div className={cn(\"ds:px-6 ds:py-4\", contentClassName)}>{children}</div>\n )}\n {!stickyFooter && footer && (\n <DialogFooter className={cn(\"ds:py-4\", footerClasses)}>\n {footer}\n </DialogFooter>\n )}\n </ScrollArea>\n {stickyFooter && footer && (\n <DialogFooter\n className={cn({ \"ds:py-4 ds:border-t\": stickyFooter }, footerClasses)}\n >\n {footer}\n </DialogFooter>\n )}\n </SDialogContent>\n </SDialog>\n );\n});\n\nDialog.displayName = \"Dialog\";\n\nexport default Dialog;\n"],"names":["variantIcons","jsx","CheckCircle2","AlertCircle","Info","AlertTriangle","variantColors","sizeClasses","positionClasses","Dialog","React","props","ref","variant","open","onOpenChange","title","description","children","trigger","footer","closeOnEsc","closeOnOutside","showCloseButton","position","size","fullscreen","scrollable","stickyHeader","stickyFooter","animation","className","contentClassName","headerClassName","titleClassName","descriptionClassName","footerClassName","confirmButton","cancelButton","showIcon","backdropFilter","overlay","animationResult","useMemo","animationClass","contentClasses","cn","headerClasses","footerClasses","icon","headerComponents","jsxs","AlertDialogHeader","AlertDialogTitle","AlertDialogDescription","footerComponents","mergedConfirmButton","mergedCancelButton","AlertDialogFooter","Fragment","Button","AlertDialog","AlertDialogTrigger","AlertDialogContent","e","ScrollArea","SDialog","DialogTrigger","SDialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter"],"mappings":"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"}
@@ -8,9 +8,9 @@ const U = X.forwardRef(
8
8
  open: p,
9
9
  defaultOpen: h,
10
10
  onOpenChange: f,
11
- modal: c = !1,
11
+ modal: d = !1,
12
12
  children: M,
13
- trigger: d,
13
+ trigger: c,
14
14
  content: t,
15
15
  items: o,
16
16
  side: R = "bottom",
@@ -35,7 +35,7 @@ const U = X.forwardRef(
35
35
  open: p,
36
36
  defaultOpen: h,
37
37
  onOpenChange: f,
38
- modal: c,
38
+ modal: d,
39
39
  children: M
40
40
  }
41
41
  );
@@ -59,7 +59,7 @@ const U = X.forwardRef(
59
59
  F && e.onClick && e.onClick();
60
60
  },
61
61
  children: [
62
- e.icon && /* @__PURE__ */ n("span", { className: "mr-2", children: e.icon }),
62
+ e.icon && /* @__PURE__ */ n("span", { className: "ds:mr-2", children: e.icon }),
63
63
  e.label
64
64
  ]
65
65
  },
@@ -74,7 +74,7 @@ const U = X.forwardRef(
74
74
  onClick: e.onClick,
75
75
  className: e.className,
76
76
  children: [
77
- e.icon && /* @__PURE__ */ n("span", { className: "mr-2", children: e.icon }),
77
+ e.icon && /* @__PURE__ */ n("span", { className: "ds:mr-2", children: e.icon }),
78
78
  e.label
79
79
  ]
80
80
  }
@@ -86,11 +86,11 @@ const U = X.forwardRef(
86
86
  {
87
87
  disabled: e.disabled,
88
88
  className: a(
89
- e.disabled ? "opacity-50 cursor-not-allowed" : "",
89
+ e.disabled ? "ds:opacity-50 ds:cursor-not-allowed" : "",
90
90
  e.className
91
91
  ),
92
92
  children: [
93
- e.icon && /* @__PURE__ */ n("span", { className: "mr-2", children: e.icon }),
93
+ e.icon && /* @__PURE__ */ n("span", { className: "ds:mr-2", children: e.icon }),
94
94
  e.label
95
95
  ]
96
96
  }
@@ -104,7 +104,7 @@ const U = X.forwardRef(
104
104
  onClick: e.onClick,
105
105
  className: e.className,
106
106
  children: [
107
- e.icon && /* @__PURE__ */ n("span", { className: "mr-2", children: e.icon }),
107
+ e.icon && /* @__PURE__ */ n("span", { className: "ds:mr-2", children: e.icon }),
108
108
  e.label
109
109
  ]
110
110
  },
@@ -119,7 +119,7 @@ const U = X.forwardRef(
119
119
  {
120
120
  onContextMenu: D,
121
121
  className: a(w),
122
- children: d
122
+ children: c
123
123
  }
124
124
  ),
125
125
  /* @__PURE__ */ r(
@@ -127,12 +127,12 @@ const U = X.forwardRef(
127
127
  {
128
128
  open: T,
129
129
  onOpenChange: N,
130
- modal: c,
130
+ modal: d,
131
131
  children: [
132
132
  /* @__PURE__ */ n(O, { asChild: !0, children: /* @__PURE__ */ n(
133
133
  "div",
134
134
  {
135
- className: "fixed",
135
+ className: "ds:fixed",
136
136
  style: {
137
137
  left: k.x,
138
138
  top: k.y,
@@ -159,7 +159,7 @@ const U = X.forwardRef(
159
159
  }
160
160
  )
161
161
  ] });
162
- const x = d ? /* @__PURE__ */ n("div", { onContextMenu: D, className: a(w), children: d }) : null, y = t || o ? /* @__PURE__ */ r(
162
+ const x = c ? /* @__PURE__ */ n("div", { onContextMenu: D, className: a(w), children: c }) : null, y = t || o ? /* @__PURE__ */ r(
163
163
  m,
164
164
  {
165
165
  ref: i,
@@ -180,7 +180,7 @@ const U = X.forwardRef(
180
180
  open: p,
181
181
  defaultOpen: h,
182
182
  onOpenChange: f,
183
- modal: c,
183
+ modal: d,
184
184
  children: [
185
185
  x && /* @__PURE__ */ n(O, { asChild: !0, children: x }),
186
186
  G ? /* @__PURE__ */ n(S, { children: y }) : y
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sources":["../../../../src/components/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n DropdownMenu as SDropdownMenu,\n DropdownMenuTrigger as SDropdownMenuTrigger,\n DropdownMenuContent as SDropdownMenuContent,\n DropdownMenuPortal as SDropdownMenuPortal,\n DropdownMenuItem as SDropdownMenuItem,\n DropdownMenuCheckboxItem as SDropdownMenuCheckboxItem,\n DropdownMenuRadioItem as SDropdownMenuRadioItem,\n DropdownMenuRadioGroup as SDropdownMenuRadioGroup,\n DropdownMenuLabel as SDropdownMenuLabel,\n DropdownMenuSeparator as SDropdownMenuSeparator,\n DropdownMenuGroup as SDropdownMenuGroup,\n DropdownMenuSub as SDropdownMenuSub,\n DropdownMenuSubTrigger as SDropdownMenuSubTrigger,\n DropdownMenuSubContent as SDropdownMenuSubContent,\n} from \"@dsui/ui/components/dropdown-menu\";\nimport { cn } from \"@dsui/ui/lib/utils\";\n\nexport type DropdownMenuSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type DropdownMenuAlign = \"start\" | \"center\" | \"end\";\n\nexport type DropdownMenuItem =\n | {\n key: string;\n label?: string;\n icon?: React.ReactNode;\n children?: DropdownMenuItem[];\n type?: \"item\";\n checked?: boolean;\n disabled?: boolean;\n variant?: \"default\" | \"destructive\";\n onClick?: () => void;\n className?: string;\n }\n | {\n key: string;\n type: \"checkbox\";\n label?: string;\n icon?: React.ReactNode;\n checked?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n className?: string;\n }\n | {\n key: string;\n type: \"radio\";\n label?: string;\n icon?: React.ReactNode;\n group: string;\n checked?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n className?: string;\n }\n | {\n key: string;\n type: \"separator\";\n }\n | {\n key: string;\n type: \"group\";\n label?: string;\n children: DropdownMenuItem[];\n disabled?: boolean;\n };\n\nexport interface DropdownMenuProps {\n // Core props\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n\n // Content\n children?: React.ReactNode;\n trigger?: React.ReactNode;\n content?: React.ReactNode;\n items?: DropdownMenuItem[];\n\n // Layout\n side?: DropdownMenuSide;\n align?: DropdownMenuAlign;\n sideOffset?: number;\n alignOffset?: number;\n\n // Portal\n portal?: boolean;\n\n // Context menu\n contextMenu?: boolean;\n\n // Styling\n className?: string;\n contentClassName?: string;\n triggerClassName?: string;\n}\n\nconst DropdownMenu = React.forwardRef<HTMLDivElement, DropdownMenuProps>(\n (props, ref) => {\n const {\n open,\n defaultOpen,\n onOpenChange,\n modal = false,\n children,\n trigger,\n content,\n items,\n side = \"bottom\",\n align = \"start\",\n sideOffset,\n alignOffset,\n portal = true,\n contextMenu = false,\n className,\n contentClassName,\n triggerClassName,\n } = props;\n\n // Context menu state\n const [contextMenuOpen, setContextMenuOpen] = useState(false);\n const [contextMenuPosition, setContextMenuPosition] = useState({\n x: 0,\n y: 0,\n });\n\n // Handle context menu trigger\n const handleContextMenu = (e: React.MouseEvent) => {\n if (contextMenu) {\n e.preventDefault();\n setContextMenuPosition({ x: e.clientX, y: e.clientY });\n setContextMenuOpen(true);\n }\n };\n\n // If children are provided (compound pattern), render them directly\n if (children) {\n return (\n <SDropdownMenu\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n modal={modal}\n >\n {children}\n </SDropdownMenu>\n );\n }\n\n // Render items if provided\n const renderItems = (menuItems: DropdownMenuItem[]): React.ReactNode => {\n return menuItems.map((item) => {\n switch (item.type) {\n case \"separator\":\n return <SDropdownMenuSeparator key={item.key} />;\n case \"group\":\n return (\n <SDropdownMenuGroup key={item.key}>\n {item.label && (\n <SDropdownMenuLabel>{item.label}</SDropdownMenuLabel>\n )}\n {renderItems(item.children)}\n </SDropdownMenuGroup>\n );\n case \"checkbox\":\n return (\n <SDropdownMenuCheckboxItem\n key={item.key}\n checked={item.checked}\n disabled={item.disabled}\n className={item.className}\n onCheckedChange={(checked: boolean) => {\n if (checked && item.onClick) {\n item.onClick();\n }\n }}\n >\n {item.icon && <span className=\"mr-2\">{item.icon}</span>}\n {item.label}\n </SDropdownMenuCheckboxItem>\n );\n case \"radio\":\n return (\n <SDropdownMenuRadioGroup key={item.key} value={item.group}>\n <SDropdownMenuRadioItem\n value={item.key}\n disabled={item.disabled}\n onClick={item.onClick}\n className={item.className}\n >\n {item.icon && <span className=\"mr-2\">{item.icon}</span>}\n {item.label}\n </SDropdownMenuRadioItem>\n </SDropdownMenuRadioGroup>\n );\n default: {\n // item or undefined type\n if (item.children && item.children.length > 0) {\n // Submenu\n return (\n <SDropdownMenuSub key={item.key}>\n <SDropdownMenuSubTrigger\n disabled={item.disabled}\n className={cn(\n item.disabled ? \"opacity-50 cursor-not-allowed\" : \"\",\n item.className\n )}\n >\n {item.icon && <span className=\"mr-2\">{item.icon}</span>}\n {item.label}\n </SDropdownMenuSubTrigger>\n <SDropdownMenuSubContent>\n {renderItems(item.children)}\n </SDropdownMenuSubContent>\n </SDropdownMenuSub>\n );\n } else {\n // Regular item\n return (\n <SDropdownMenuItem\n key={item.key}\n disabled={item.disabled}\n variant={item.variant}\n onClick={item.onClick}\n className={item.className}\n >\n {item.icon && <span className=\"mr-2\">{item.icon}</span>}\n {item.label}\n </SDropdownMenuItem>\n );\n }\n }\n }\n });\n };\n\n // If context menu is enabled, render differently\n if (contextMenu) {\n return (\n <>\n {/* Trigger area for context menu */}\n <div\n onContextMenu={handleContextMenu}\n className={cn(triggerClassName)}\n >\n {trigger}\n </div>\n <SDropdownMenu\n open={contextMenuOpen}\n onOpenChange={setContextMenuOpen}\n modal={modal}\n >\n <SDropdownMenuTrigger asChild>\n <div\n className=\"fixed\"\n style={{\n left: contextMenuPosition.x,\n top: contextMenuPosition.y,\n width: 1,\n height: 1,\n }}\n />\n </SDropdownMenuTrigger>\n <SDropdownMenuPortal>\n <SDropdownMenuContent\n ref={ref}\n className={cn(className, contentClassName)}\n side=\"bottom\"\n align=\"start\"\n sideOffset={4}\n >\n {content}\n {items && renderItems(items)}\n </SDropdownMenuContent>\n </SDropdownMenuPortal>\n </SDropdownMenu>\n </>\n );\n }\n\n // Fallback to props-based pattern\n const triggerElement = trigger ? (\n <div onContextMenu={handleContextMenu} className={cn(triggerClassName)}>\n {trigger}\n </div>\n ) : null;\n\n const contentElement =\n content || items ? (\n <SDropdownMenuContent\n ref={ref}\n side={side}\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n className={cn(className, contentClassName)}\n >\n {content}\n {items && renderItems(items)}\n </SDropdownMenuContent>\n ) : null;\n\n return (\n <SDropdownMenu\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n modal={modal}\n >\n {triggerElement && (\n <SDropdownMenuTrigger asChild>{triggerElement}</SDropdownMenuTrigger>\n )}\n {portal ? (\n <SDropdownMenuPortal>{contentElement}</SDropdownMenuPortal>\n ) : (\n contentElement\n )}\n </SDropdownMenu>\n );\n }\n);\n\nDropdownMenu.displayName = \"DropdownMenu\";\n\nexport default DropdownMenu;\n"],"names":["DropdownMenu","React","props","ref","open","defaultOpen","onOpenChange","modal","children","trigger","content","items","side","align","sideOffset","alignOffset","portal","contextMenu","className","contentClassName","triggerClassName","contextMenuOpen","setContextMenuOpen","useState","contextMenuPosition","setContextMenuPosition","handleContextMenu","e","jsx","SDropdownMenu","renderItems","menuItems","item","SDropdownMenuSeparator","SDropdownMenuGroup","SDropdownMenuLabel","jsxs","SDropdownMenuCheckboxItem","checked","SDropdownMenuRadioGroup","SDropdownMenuRadioItem","SDropdownMenuSub","SDropdownMenuSubTrigger","cn","SDropdownMenuSubContent","SDropdownMenuItem","Fragment","SDropdownMenuTrigger","SDropdownMenuPortal","SDropdownMenuContent","triggerElement","contentElement"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.js","sources":["../../../../src/components/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n DropdownMenu as SDropdownMenu,\n DropdownMenuTrigger as SDropdownMenuTrigger,\n DropdownMenuContent as SDropdownMenuContent,\n DropdownMenuPortal as SDropdownMenuPortal,\n DropdownMenuItem as SDropdownMenuItem,\n DropdownMenuCheckboxItem as SDropdownMenuCheckboxItem,\n DropdownMenuRadioItem as SDropdownMenuRadioItem,\n DropdownMenuRadioGroup as SDropdownMenuRadioGroup,\n DropdownMenuLabel as SDropdownMenuLabel,\n DropdownMenuSeparator as SDropdownMenuSeparator,\n DropdownMenuGroup as SDropdownMenuGroup,\n DropdownMenuSub as SDropdownMenuSub,\n DropdownMenuSubTrigger as SDropdownMenuSubTrigger,\n DropdownMenuSubContent as SDropdownMenuSubContent,\n} from \"@dsui/ui/components/dropdown-menu\";\nimport { cn } from \"@dsui/ui/lib/utils\";\n\nexport type DropdownMenuSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type DropdownMenuAlign = \"start\" | \"center\" | \"end\";\n\nexport type DropdownMenuItem =\n | {\n key: string;\n label?: string;\n icon?: React.ReactNode;\n children?: DropdownMenuItem[];\n type?: \"item\";\n checked?: boolean;\n disabled?: boolean;\n variant?: \"default\" | \"destructive\";\n onClick?: () => void;\n className?: string;\n }\n | {\n key: string;\n type: \"checkbox\";\n label?: string;\n icon?: React.ReactNode;\n checked?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n className?: string;\n }\n | {\n key: string;\n type: \"radio\";\n label?: string;\n icon?: React.ReactNode;\n group: string;\n checked?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n className?: string;\n }\n | {\n key: string;\n type: \"separator\";\n }\n | {\n key: string;\n type: \"group\";\n label?: string;\n children: DropdownMenuItem[];\n disabled?: boolean;\n };\n\nexport interface DropdownMenuProps {\n // Core props\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n\n // Content\n children?: React.ReactNode;\n trigger?: React.ReactNode;\n content?: React.ReactNode;\n items?: DropdownMenuItem[];\n\n // Layout\n side?: DropdownMenuSide;\n align?: DropdownMenuAlign;\n sideOffset?: number;\n alignOffset?: number;\n\n // Portal\n portal?: boolean;\n\n // Context menu\n contextMenu?: boolean;\n\n // Styling\n className?: string;\n contentClassName?: string;\n triggerClassName?: string;\n}\n\nconst DropdownMenu = React.forwardRef<HTMLDivElement, DropdownMenuProps>(\n (props, ref) => {\n const {\n open,\n defaultOpen,\n onOpenChange,\n modal = false,\n children,\n trigger,\n content,\n items,\n side = \"bottom\",\n align = \"start\",\n sideOffset,\n alignOffset,\n portal = true,\n contextMenu = false,\n className,\n contentClassName,\n triggerClassName,\n } = props;\n\n // Context menu state\n const [contextMenuOpen, setContextMenuOpen] = useState(false);\n const [contextMenuPosition, setContextMenuPosition] = useState({\n x: 0,\n y: 0,\n });\n\n // Handle context menu trigger\n const handleContextMenu = (e: React.MouseEvent) => {\n if (contextMenu) {\n e.preventDefault();\n setContextMenuPosition({ x: e.clientX, y: e.clientY });\n setContextMenuOpen(true);\n }\n };\n\n // If children are provided (compound pattern), render them directly\n if (children) {\n return (\n <SDropdownMenu\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n modal={modal}\n >\n {children}\n </SDropdownMenu>\n );\n }\n\n // Render items if provided\n const renderItems = (menuItems: DropdownMenuItem[]): React.ReactNode => {\n return menuItems.map((item) => {\n switch (item.type) {\n case \"separator\":\n return <SDropdownMenuSeparator key={item.key} />;\n case \"group\":\n return (\n <SDropdownMenuGroup key={item.key}>\n {item.label && (\n <SDropdownMenuLabel>{item.label}</SDropdownMenuLabel>\n )}\n {renderItems(item.children)}\n </SDropdownMenuGroup>\n );\n case \"checkbox\":\n return (\n <SDropdownMenuCheckboxItem\n key={item.key}\n checked={item.checked}\n disabled={item.disabled}\n className={item.className}\n onCheckedChange={(checked: boolean) => {\n if (checked && item.onClick) {\n item.onClick();\n }\n }}\n >\n {item.icon && <span className=\"ds:mr-2\">{item.icon}</span>}\n {item.label}\n </SDropdownMenuCheckboxItem>\n );\n case \"radio\":\n return (\n <SDropdownMenuRadioGroup key={item.key} value={item.group}>\n <SDropdownMenuRadioItem\n value={item.key}\n disabled={item.disabled}\n onClick={item.onClick}\n className={item.className}\n >\n {item.icon && <span className=\"ds:mr-2\">{item.icon}</span>}\n {item.label}\n </SDropdownMenuRadioItem>\n </SDropdownMenuRadioGroup>\n );\n default: {\n // item or undefined type\n if (item.children && item.children.length > 0) {\n // Submenu\n return (\n <SDropdownMenuSub key={item.key}>\n <SDropdownMenuSubTrigger\n disabled={item.disabled}\n className={cn(\n item.disabled ? \"ds:opacity-50 ds:cursor-not-allowed\" : \"\",\n item.className\n )}\n >\n {item.icon && <span className=\"ds:mr-2\">{item.icon}</span>}\n {item.label}\n </SDropdownMenuSubTrigger>\n <SDropdownMenuSubContent>\n {renderItems(item.children)}\n </SDropdownMenuSubContent>\n </SDropdownMenuSub>\n );\n } else {\n // Regular item\n return (\n <SDropdownMenuItem\n key={item.key}\n disabled={item.disabled}\n variant={item.variant}\n onClick={item.onClick}\n className={item.className}\n >\n {item.icon && <span className=\"ds:mr-2\">{item.icon}</span>}\n {item.label}\n </SDropdownMenuItem>\n );\n }\n }\n }\n });\n };\n\n // If context menu is enabled, render differently\n if (contextMenu) {\n return (\n <>\n {/* Trigger area for context menu */}\n <div\n onContextMenu={handleContextMenu}\n className={cn(triggerClassName)}\n >\n {trigger}\n </div>\n <SDropdownMenu\n open={contextMenuOpen}\n onOpenChange={setContextMenuOpen}\n modal={modal}\n >\n <SDropdownMenuTrigger asChild>\n <div\n className=\"ds:fixed\"\n style={{\n left: contextMenuPosition.x,\n top: contextMenuPosition.y,\n width: 1,\n height: 1,\n }}\n />\n </SDropdownMenuTrigger>\n <SDropdownMenuPortal>\n <SDropdownMenuContent\n ref={ref}\n className={cn(className, contentClassName)}\n side=\"bottom\"\n align=\"start\"\n sideOffset={4}\n >\n {content}\n {items && renderItems(items)}\n </SDropdownMenuContent>\n </SDropdownMenuPortal>\n </SDropdownMenu>\n </>\n );\n }\n\n // Fallback to props-based pattern\n const triggerElement = trigger ? (\n <div onContextMenu={handleContextMenu} className={cn(triggerClassName)}>\n {trigger}\n </div>\n ) : null;\n\n const contentElement =\n content || items ? (\n <SDropdownMenuContent\n ref={ref}\n side={side}\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n className={cn(className, contentClassName)}\n >\n {content}\n {items && renderItems(items)}\n </SDropdownMenuContent>\n ) : null;\n\n return (\n <SDropdownMenu\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n modal={modal}\n >\n {triggerElement && (\n <SDropdownMenuTrigger asChild>{triggerElement}</SDropdownMenuTrigger>\n )}\n {portal ? (\n <SDropdownMenuPortal>{contentElement}</SDropdownMenuPortal>\n ) : (\n contentElement\n )}\n </SDropdownMenu>\n );\n }\n);\n\nDropdownMenu.displayName = \"DropdownMenu\";\n\nexport default DropdownMenu;\n"],"names":["DropdownMenu","React","props","ref","open","defaultOpen","onOpenChange","modal","children","trigger","content","items","side","align","sideOffset","alignOffset","portal","contextMenu","className","contentClassName","triggerClassName","contextMenuOpen","setContextMenuOpen","useState","contextMenuPosition","setContextMenuPosition","handleContextMenu","e","jsx","SDropdownMenu","renderItems","menuItems","item","SDropdownMenuSeparator","SDropdownMenuGroup","SDropdownMenuLabel","jsxs","SDropdownMenuCheckboxItem","checked","SDropdownMenuRadioGroup","SDropdownMenuRadioItem","SDropdownMenuSub","SDropdownMenuSubTrigger","cn","SDropdownMenuSubContent","SDropdownMenuItem","Fragment","SDropdownMenuTrigger","SDropdownMenuPortal","SDropdownMenuContent","triggerElement","contentElement"],"mappings":"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"}
@@ -1,70 +1,70 @@
1
- import { jsxs as p, jsx as r } from "react/jsx-runtime";
2
- import * as u from "react";
3
- import { cn as f } from "../packages/ui/src/lib/utils.js";
4
- import { Label as h } from "../packages/ui/src/components/label.js";
5
- import { Tooltip as g } from "./Tooltip/Tooltip.js";
6
- import { Info as w } from "lucide-react";
7
- const m = u.forwardRef(
1
+ import { jsxs as d, jsx as o } from "react/jsx-runtime";
2
+ import * as i from "react";
3
+ import { cn as u } from "../packages/ui/src/lib/utils.js";
4
+ import { Label as f } from "../packages/ui/src/components/label.js";
5
+ import { Tooltip as h } from "./Tooltip/Tooltip.js";
6
+ import { Info as g } from "lucide-react";
7
+ const w = i.forwardRef(
8
8
  ({
9
- className: t,
10
- infoTooltip: a,
11
- size: n = "xl",
12
- shouldFloat: o,
13
- required: c,
14
- children: s,
15
- ...l
16
- }, i) => {
17
- const e = n === "lg" || !1;
18
- return /* @__PURE__ */ p(
19
- h,
9
+ className: a,
10
+ infoTooltip: r,
11
+ size: p = "xl",
12
+ shouldFloat: e,
13
+ required: t,
14
+ children: n,
15
+ ...c
16
+ }, l) => {
17
+ const s = p === "lg" || !1;
18
+ return /* @__PURE__ */ d(
19
+ f,
20
20
  {
21
- className: f(
22
- "absolute start-2 select-none pointer-events-none",
23
- "bg-background px-3 translate-y-2",
24
- "flex",
21
+ className: u(
22
+ "ds:absolute ds:start-2 ds:select-none ds:pointer-events-none",
23
+ "ds:bg-background ds:px-3 ds:translate-y-2",
24
+ "ds:flex",
25
25
  {
26
- "top-0.5 origin-left scale-75 translate-x-1 max-w-full h-3 py-0 bg-transparent": !e,
26
+ "ds:top-0.5 ds:origin-left ds:scale-75 ds:translate-x-1 ds:max-w-full ds:h-3 ds:py-0 ds:bg-transparent": !s,
27
27
  // State empty (placeholder shown) - ở giữa input
28
- "peer-placeholder-shown:top-0 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-x-0 peer-placeholder-shown:w-[calc(100%-(--spacing(4)))] peer-placeholder-shown:h-[calc(100%-(--spacing(4)))] peer-placeholder-shown:py-3 peer-placeholder-shown:bg-background": !e,
28
+ "ds:peer-placeholder-shown:top-0 ds:peer-placeholder-shown:scale-100 ds:peer-placeholder-shown:translate-x-0 ds:peer-placeholder-shown:w-[calc(100%-(--spacing(4)))] ds:peer-placeholder-shown:h-[calc(100%-(--spacing(4)))] ds:peer-placeholder-shown:py-3 ds:peer-placeholder-shown:bg-background": !s,
29
29
  // // State focus - nằm trên input
30
- "peer-focus:top-0.5 peer-focus:origin-left peer-focus:scale-75 peer-focus:translate-x-1 peer-focus:text-primary peer-focus:max-w-full peer-focus:h-3 peer-focus:py-0 peer-focus:bg-transparent": !e,
31
- "group-focus-within:top-0.5 group-focus-within:origin-left group-focus-within:scale-75 group-focus-within:translate-x-1 group-focus-within:text-primary group-focus-within:max-w-full group-focus-within:h-3 group-focus-within:py-0 group-focus-within:bg-transparent": !e
30
+ "ds:peer-focus:top-0.5 ds:peer-focus:origin-left ds:peer-focus:scale-75 ds:peer-focus:translate-x-1 ds:peer-focus:text-primary ds:peer-focus:max-w-full ds:peer-focus:h-3 ds:peer-focus:py-0 ds:peer-focus:bg-transparent": !s,
31
+ "ds:group-focus-within:top-0.5 ds:group-focus-within:origin-left ds:group-focus-within:scale-75 ds:group-focus-within:translate-x-1 ds:group-focus-within:text-primary ds:group-focus-within:max-w-full ds:group-focus-within:h-3 ds:group-focus-within:py-0 ds:group-focus-within:bg-transparent": !s
32
32
  },
33
33
  {
34
- "-top-3.5 origin-left scale-75 translate-x-0 max-w-full w-auto h-3 py-0": e,
34
+ "ds:-top-3.5 ds:origin-left ds:scale-75 ds:translate-x-0 ds:max-w-full ds:w-auto ds:h-3 ds:py-0": s,
35
35
  // State empty (placeholder shown) - ở giữa input
36
- "peer-placeholder-shown:-top-0.5 peer-placeholder-shown:scale-100 peer-placeholder-shown:w-[calc(100%-(--spacing(4)))] peer-placeholder-shown:h-[calc(100%-(--spacing(3)))] peer-placeholder-shown:py-2 peer-placeholder-shown:bg-background": e,
36
+ "ds:peer-placeholder-shown:-top-0.5 ds:peer-placeholder-shown:scale-100 ds:peer-placeholder-shown:w-[calc(100%-(--spacing(4)))] ds:peer-placeholder-shown:h-[calc(100%-(--spacing(3)))] ds:peer-placeholder-shown:py-2 ds:peer-placeholder-shown:bg-background": s,
37
37
  // // State focus - nằm trên input
38
- "peer-focus:-top-3.5 peer-focus:origin-left peer-focus:scale-75 peer-focus:text-primary peer-focus:max-w-full peer-focus:w-auto peer-focus:h-3 peer-focus:py-0": e,
39
- "group-focus-within:-top-3.5 group-focus-within:origin-left group-focus-within:scale-75 group-focus-within:text-primary group-focus-within:max-w-full group-focus-within:w-auto group-focus-within:h-3 group-focus-within:py-0": e
38
+ "ds:peer-focus:-top-3.5 ds:peer-focus:origin-left ds:peer-focus:scale-75 ds:peer-focus:text-primary ds:peer-focus:max-w-full ds:peer-focus:w-auto ds:peer-focus:h-3 ds:peer-focus:py-0": s,
39
+ "ds:group-focus-within:-top-3.5 ds:group-focus-within:origin-left ds:group-focus-within:scale-75 ds:group-focus-within:text-primary ds:group-focus-within:max-w-full ds:group-focus-within:w-auto ds:group-focus-within:h-3 ds:group-focus-within:py-0": s
40
40
  },
41
41
  // State when shouldFloat prop is set
42
42
  {
43
- "top-0.5 origin-left scale-75 translate-x-1 max-w-full h-3 py-0": typeof o == "boolean" && o && !e,
44
- "top-0 scale-100 translate-x-0 w-[calc(100%-(--spacing(4)))] h-[calc(100%-(--spacing(4)))] py-3 bg-background": typeof o == "boolean" && !o && !e
43
+ "ds:top-0.5 ds:origin-left ds:scale-75 ds:translate-x-1 ds:max-w-full ds:h-3 ds:py-0": typeof e == "boolean" && e && !s,
44
+ "ds:top-0 ds:scale-100 ds:translate-x-0 ds:w-[calc(100%-(--spacing(4)))] ds:h-[calc(100%-(--spacing(4)))] ds:py-3 ds:bg-background": typeof e == "boolean" && !e && !s
45
45
  },
46
46
  {
47
- "-top-3.5 origin-left scale-75 translate-x-0 max-w-full h-3 py-0": typeof o == "boolean" && o && e,
48
- "top-0 scale-100 translate-x-0 w-[calc(100%-(--spacing(4)))] h-[calc(100%-(--spacing(4)))] py-3 bg-background": typeof o == "boolean" && !o && e
47
+ "ds:-top-3.5 ds:origin-left ds:scale-75 ds:translate-x-0 ds:max-w-full ds:h-3 ds:py-0": typeof e == "boolean" && e && s,
48
+ "ds:top-0 ds:scale-100 ds:translate-x-0 ds:w-[calc(100%-(--spacing(4)))] ds:h-[calc(100%-(--spacing(4)))] ds:py-3 ds:bg-background": typeof e == "boolean" && !e && s
49
49
  },
50
- "will-change-transform transition-all duration-300 ease-in-out",
51
- t
50
+ "ds:will-change-transform ds:transition-all ds:duration-300 ds:ease-in-out",
51
+ a
52
52
  ),
53
- ref: i,
54
- ...l,
53
+ ref: l,
54
+ ...c,
55
55
  children: [
56
- /* @__PURE__ */ p("span", { className: "truncate whitespace-nowrap max-w-full pointer-events-none", children: [
57
- s,
58
- c && /* @__PURE__ */ r("span", { className: "text-error ml-0.5", children: "*" })
56
+ /* @__PURE__ */ d("span", { className: "ds:truncate ds:whitespace-nowrap ds:max-w-full ds:pointer-events-none", children: [
57
+ n,
58
+ t && /* @__PURE__ */ o("span", { className: "ds:text-error ds:ml-0.5", children: "*" })
59
59
  ] }),
60
- a && /* @__PURE__ */ r(g, { content: a, children: /* @__PURE__ */ r(w, { className: "size-3.5 min-w-3.5 z-10 pointer-events-auto" }) })
60
+ r && /* @__PURE__ */ o(h, { content: r, children: /* @__PURE__ */ o(g, { className: "ds:size-3.5 ds:min-w-3.5 ds:z-10 ds:pointer-events-auto" }) })
61
61
  ]
62
62
  }
63
63
  );
64
64
  }
65
65
  );
66
- m.displayName = "FloatingLabel";
66
+ w.displayName = "FloatingLabel";
67
67
  export {
68
- m as FloatingLabel
68
+ w as FloatingLabel
69
69
  };
70
70
  //# sourceMappingURL=FloatLabel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FloatLabel.js","sources":["../../../src/components/FloatLabel.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Label } from \"@dsui/ui/components/label\";\nimport { Tooltip } from \"./Tooltip/Tooltip\";\nimport { Info } from \"lucide-react\";\n\nconst FloatingLabel = React.forwardRef<\n React.ElementRef<typeof Label>,\n React.ComponentPropsWithoutRef<typeof Label> & {\n infoTooltip?: React.ReactNode;\n size?: string;\n shouldFloat?: boolean;\n required?: boolean;\n }\n>(\n (\n {\n className,\n infoTooltip,\n size = \"xl\",\n shouldFloat,\n required,\n children,\n ...props\n },\n ref\n ) => {\n const lagerSize = size === \"lg\" || false;\n\n return (\n <Label\n className={cn(\n \"absolute start-2 select-none pointer-events-none\",\n \"bg-background px-3 translate-y-2\",\n \"flex\",\n {\n \"top-0.5 origin-left scale-75 translate-x-1 max-w-full h-3 py-0 bg-transparent\":\n !lagerSize,\n // State empty (placeholder shown) - ở giữa input\n \"peer-placeholder-shown:top-0 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-x-0 peer-placeholder-shown:w-[calc(100%-(--spacing(4)))] peer-placeholder-shown:h-[calc(100%-(--spacing(4)))] peer-placeholder-shown:py-3 peer-placeholder-shown:bg-background\":\n !lagerSize,\n // // State focus - nằm trên input\n \"peer-focus:top-0.5 peer-focus:origin-left peer-focus:scale-75 peer-focus:translate-x-1 peer-focus:text-primary peer-focus:max-w-full peer-focus:h-3 peer-focus:py-0 peer-focus:bg-transparent\":\n !lagerSize,\n \"group-focus-within:top-0.5 group-focus-within:origin-left group-focus-within:scale-75 group-focus-within:translate-x-1 group-focus-within:text-primary group-focus-within:max-w-full group-focus-within:h-3 group-focus-within:py-0 group-focus-within:bg-transparent\":\n !lagerSize,\n },\n {\n \"-top-3.5 origin-left scale-75 translate-x-0 max-w-full w-auto h-3 py-0\":\n lagerSize,\n // State empty (placeholder shown) - ở giữa input\n \"peer-placeholder-shown:-top-0.5 peer-placeholder-shown:scale-100 peer-placeholder-shown:w-[calc(100%-(--spacing(4)))] peer-placeholder-shown:h-[calc(100%-(--spacing(3)))] peer-placeholder-shown:py-2 peer-placeholder-shown:bg-background\":\n lagerSize,\n // // State focus - nằm trên input\n \"peer-focus:-top-3.5 peer-focus:origin-left peer-focus:scale-75 peer-focus:text-primary peer-focus:max-w-full peer-focus:w-auto peer-focus:h-3 peer-focus:py-0\":\n lagerSize,\n \"group-focus-within:-top-3.5 group-focus-within:origin-left group-focus-within:scale-75 group-focus-within:text-primary group-focus-within:max-w-full group-focus-within:w-auto group-focus-within:h-3 group-focus-within:py-0\":\n lagerSize,\n },\n\n // State when shouldFloat prop is set\n {\n \"top-0.5 origin-left scale-75 translate-x-1 max-w-full h-3 py-0\":\n typeof shouldFloat === \"boolean\" && shouldFloat && !lagerSize,\n \"top-0 scale-100 translate-x-0 w-[calc(100%-(--spacing(4)))] h-[calc(100%-(--spacing(4)))] py-3 bg-background\":\n typeof shouldFloat === \"boolean\" && !shouldFloat && !lagerSize,\n },\n {\n \"-top-3.5 origin-left scale-75 translate-x-0 max-w-full h-3 py-0\":\n typeof shouldFloat === \"boolean\" && shouldFloat && lagerSize,\n \"top-0 scale-100 translate-x-0 w-[calc(100%-(--spacing(4)))] h-[calc(100%-(--spacing(4)))] py-3 bg-background\":\n typeof shouldFloat === \"boolean\" && !shouldFloat && lagerSize,\n },\n \"will-change-transform transition-all duration-300 ease-in-out\",\n className\n )}\n ref={ref}\n {...props}\n >\n <span className=\"truncate whitespace-nowrap max-w-full pointer-events-none\">\n {children}\n {required && <span className=\"text-error ml-0.5\">*</span>}\n </span>\n\n {infoTooltip && (\n <Tooltip content={infoTooltip}>\n <Info className=\"size-3.5 min-w-3.5 z-10 pointer-events-auto\" />\n </Tooltip>\n )}\n </Label>\n );\n }\n);\n\nFloatingLabel.displayName = \"FloatingLabel\";\n\nexport { FloatingLabel };\n"],"names":["FloatingLabel","React","className","infoTooltip","size","shouldFloat","required","children","props","ref","lagerSize","jsxs","Label","cn","jsx","Tooltip","Info"],"mappings":";;;;;;AAOA,MAAMA,IAAgBC,EAAM;AAAA,EAS1B,CACE;AAAA,IACE,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAYN,MAAS,QAAQ;AAEnC,WACE,gBAAAO;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAWC;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACE,iFACE,CAACH;AAAA;AAAA,YAEH,iRACE,CAACA;AAAA;AAAA,YAEH,iMACE,CAACA;AAAA,YACH,yQACE,CAACA;AAAA,UAAA;AAAA,UAEL;AAAA,YACE,0EACEA;AAAA;AAAA,YAEF,+OACEA;AAAA;AAAA,YAEF,iKACEA;AAAA,YACF,iOACEA;AAAA,UAAA;AAAA;AAAA,UAIJ;AAAA,YACE,kEACE,OAAOL,KAAgB,aAAaA,KAAe,CAACK;AAAA,YACtD,gHACE,OAAOL,KAAgB,aAAa,CAACA,KAAe,CAACK;AAAA,UAAA;AAAA,UAEzD;AAAA,YACE,mEACE,OAAOL,KAAgB,aAAaA,KAAeK;AAAA,YACrD,gHACE,OAAOL,KAAgB,aAAa,CAACA,KAAeK;AAAA,UAAA;AAAA,UAExD;AAAA,UACAR;AAAA,QAAA;AAAA,QAEF,KAAAO;AAAA,QACC,GAAGD;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAG,EAAC,QAAA,EAAK,WAAU,6DACb,UAAA;AAAA,YAAAJ;AAAA,YACAD,KAAY,gBAAAQ,EAAC,QAAA,EAAK,WAAU,qBAAoB,UAAA,IAAA,CAAC;AAAA,UAAA,GACpD;AAAA,UAECX,uBACEY,GAAA,EAAQ,SAASZ,GAChB,UAAA,gBAAAW,EAACE,GAAA,EAAK,WAAU,8CAAA,CAA8C,EAAA,CAChE;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEAhB,EAAc,cAAc;"}
1
+ {"version":3,"file":"FloatLabel.js","sources":["../../../src/components/FloatLabel.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Label } from \"@dsui/ui/components/label\";\nimport { Tooltip } from \"./Tooltip/Tooltip\";\nimport { Info } from \"lucide-react\";\n\nconst FloatingLabel = React.forwardRef<\n React.ElementRef<typeof Label>,\n React.ComponentPropsWithoutRef<typeof Label> & {\n infoTooltip?: React.ReactNode;\n size?: string;\n shouldFloat?: boolean;\n required?: boolean;\n }\n>(\n (\n {\n className,\n infoTooltip,\n size = \"xl\",\n shouldFloat,\n required,\n children,\n ...props\n },\n ref\n ) => {\n const lagerSize = size === \"lg\" || false;\n\n return (\n <Label\n className={cn(\n \"ds:absolute ds:start-2 ds:select-none ds:pointer-events-none\",\n \"ds:bg-background ds:px-3 ds:translate-y-2\",\n \"ds:flex\",\n {\n \"ds:top-0.5 ds:origin-left ds:scale-75 ds:translate-x-1 ds:max-w-full ds:h-3 ds:py-0 ds:bg-transparent\":\n !lagerSize,\n // State empty (placeholder shown) - ở giữa input\n \"ds:peer-placeholder-shown:top-0 ds:peer-placeholder-shown:scale-100 ds:peer-placeholder-shown:translate-x-0 ds:peer-placeholder-shown:w-[calc(100%-(--spacing(4)))] ds:peer-placeholder-shown:h-[calc(100%-(--spacing(4)))] ds:peer-placeholder-shown:py-3 ds:peer-placeholder-shown:bg-background\":\n !lagerSize,\n // // State focus - nằm trên input\n \"ds:peer-focus:top-0.5 ds:peer-focus:origin-left ds:peer-focus:scale-75 ds:peer-focus:translate-x-1 ds:peer-focus:text-primary ds:peer-focus:max-w-full ds:peer-focus:h-3 ds:peer-focus:py-0 ds:peer-focus:bg-transparent\":\n !lagerSize,\n \"ds:group-focus-within:top-0.5 ds:group-focus-within:origin-left ds:group-focus-within:scale-75 ds:group-focus-within:translate-x-1 ds:group-focus-within:text-primary ds:group-focus-within:max-w-full ds:group-focus-within:h-3 ds:group-focus-within:py-0 ds:group-focus-within:bg-transparent\":\n !lagerSize,\n },\n {\n \"ds:-top-3.5 ds:origin-left ds:scale-75 ds:translate-x-0 ds:max-w-full ds:w-auto ds:h-3 ds:py-0\":\n lagerSize,\n // State empty (placeholder shown) - ở giữa input\n \"ds:peer-placeholder-shown:-top-0.5 ds:peer-placeholder-shown:scale-100 ds:peer-placeholder-shown:w-[calc(100%-(--spacing(4)))] ds:peer-placeholder-shown:h-[calc(100%-(--spacing(3)))] ds:peer-placeholder-shown:py-2 ds:peer-placeholder-shown:bg-background\":\n lagerSize,\n // // State focus - nằm trên input\n \"ds:peer-focus:-top-3.5 ds:peer-focus:origin-left ds:peer-focus:scale-75 ds:peer-focus:text-primary ds:peer-focus:max-w-full ds:peer-focus:w-auto ds:peer-focus:h-3 ds:peer-focus:py-0\":\n lagerSize,\n \"ds:group-focus-within:-top-3.5 ds:group-focus-within:origin-left ds:group-focus-within:scale-75 ds:group-focus-within:text-primary ds:group-focus-within:max-w-full ds:group-focus-within:w-auto ds:group-focus-within:h-3 ds:group-focus-within:py-0\":\n lagerSize,\n },\n\n // State when shouldFloat prop is set\n {\n \"ds:top-0.5 ds:origin-left ds:scale-75 ds:translate-x-1 ds:max-w-full ds:h-3 ds:py-0\":\n typeof shouldFloat === \"boolean\" && shouldFloat && !lagerSize,\n \"ds:top-0 ds:scale-100 ds:translate-x-0 ds:w-[calc(100%-(--spacing(4)))] ds:h-[calc(100%-(--spacing(4)))] ds:py-3 ds:bg-background\":\n typeof shouldFloat === \"boolean\" && !shouldFloat && !lagerSize,\n },\n {\n \"ds:-top-3.5 ds:origin-left ds:scale-75 ds:translate-x-0 ds:max-w-full ds:h-3 ds:py-0\":\n typeof shouldFloat === \"boolean\" && shouldFloat && lagerSize,\n \"ds:top-0 ds:scale-100 ds:translate-x-0 ds:w-[calc(100%-(--spacing(4)))] ds:h-[calc(100%-(--spacing(4)))] ds:py-3 ds:bg-background\":\n typeof shouldFloat === \"boolean\" && !shouldFloat && lagerSize,\n },\n \"ds:will-change-transform ds:transition-all ds:duration-300 ds:ease-in-out\",\n className\n )}\n ref={ref}\n {...props}\n >\n <span className=\"ds:truncate ds:whitespace-nowrap ds:max-w-full ds:pointer-events-none\">\n {children}\n {required && <span className=\"ds:text-error ds:ml-0.5\">*</span>}\n </span>\n\n {infoTooltip && (\n <Tooltip content={infoTooltip}>\n <Info className=\"ds:size-3.5 ds:min-w-3.5 ds:z-10 ds:pointer-events-auto\" />\n </Tooltip>\n )}\n </Label>\n );\n }\n);\n\nFloatingLabel.displayName = \"FloatingLabel\";\n\nexport { FloatingLabel };\n"],"names":["FloatingLabel","React","className","infoTooltip","size","shouldFloat","required","children","props","ref","lagerSize","jsxs","Label","cn","jsx","Tooltip","Info"],"mappings":";;;;;;AAOA,MAAMA,IAAgBC,EAAM;AAAA,EAS1B,CACE;AAAA,IACE,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAYN,MAAS,QAAQ;AAEnC,WACE,gBAAAO;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAWC;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACE,yGACE,CAACH;AAAA;AAAA,YAEH,sSACE,CAACA;AAAA;AAAA,YAEH,4NACE,CAACA;AAAA,YACH,oSACE,CAACA;AAAA,UAAA;AAAA,UAEL;AAAA,YACE,kGACEA;AAAA;AAAA,YAEF,iQACEA;AAAA;AAAA,YAEF,yLACEA;AAAA,YACF,yPACEA;AAAA,UAAA;AAAA;AAAA,UAIJ;AAAA,YACE,uFACE,OAAOL,KAAgB,aAAaA,KAAe,CAACK;AAAA,YACtD,qIACE,OAAOL,KAAgB,aAAa,CAACA,KAAe,CAACK;AAAA,UAAA;AAAA,UAEzD;AAAA,YACE,wFACE,OAAOL,KAAgB,aAAaA,KAAeK;AAAA,YACrD,qIACE,OAAOL,KAAgB,aAAa,CAACA,KAAeK;AAAA,UAAA;AAAA,UAExD;AAAA,UACAR;AAAA,QAAA;AAAA,QAEF,KAAAO;AAAA,QACC,GAAGD;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAG,EAAC,QAAA,EAAK,WAAU,yEACb,UAAA;AAAA,YAAAJ;AAAA,YACAD,KAAY,gBAAAQ,EAAC,QAAA,EAAK,WAAU,2BAA0B,UAAA,IAAA,CAAC;AAAA,UAAA,GAC1D;AAAA,UAECX,uBACEY,GAAA,EAAQ,SAASZ,GAChB,UAAA,gBAAAW,EAACE,GAAA,EAAK,WAAU,0DAAA,CAA0D,EAAA,CAC5E;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEAhB,EAAc,cAAc;"}
@@ -1,11 +1,11 @@
1
- import { jsxs as i, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
2
  import "@radix-ui/react-slot";
3
3
  import "../../packages/ui/src/components/button.js";
4
4
  import "../../packages/ui/src/components/button-group.js";
5
5
  import "../../packages/ui/src/components/input.js";
6
6
  import "../../packages/ui/src/components/textarea.js";
7
7
  import "@radix-ui/react-label";
8
- import { cn as n } from "../../packages/ui/src/lib/utils.js";
8
+ import { cn as r } from "../../packages/ui/src/lib/utils.js";
9
9
  import "../../packages/ui/src/components/select.js";
10
10
  import "../../packages/ui/src/components/combobox.js";
11
11
  import "@radix-ui/react-tooltip";
@@ -32,27 +32,27 @@ import "../../packages/ui/src/components/sidebar.js";
32
32
  import "@radix-ui/react-slider";
33
33
  import "../../packages/ui/src/components/tabs.js";
34
34
  import "../../packages/ui/src/components/toggle.js";
35
- import { cva as o } from "class-variance-authority";
36
- o(
37
- "inline-flex items-center justify-center gap-2 whitespace-nowrap 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",
35
+ import { cva as d } from "class-variance-authority";
36
+ d(
37
+ "ds:inline-flex ds:items-center ds:justify-center ds:gap-2 ds:whitespace-nowrap 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",
38
38
  {
39
39
  variants: {},
40
40
  defaultVariants: {}
41
41
  }
42
42
  );
43
- const P = ({ className: t, children: r }) => /* @__PURE__ */ i(
43
+ const P = ({ className: i, children: t }) => /* @__PURE__ */ s(
44
44
  "div",
45
45
  {
46
- className: n(
47
- "relative inline-flex overflow-hidden cursor-pointer shadow-[0_6px_6px_rgba(0,0,0,0.2),0_0_20px_rgba(0,0,0,0.1)] transition-all duration-400 ease-[cubic-bezier(0.175,0.885,0.32,2.2)] p-0 rounded-md",
48
- t
46
+ className: r(
47
+ "ds:relative ds:inline-flex ds:overflow-hidden ds:cursor-pointer ds:shadow-[0_6px_6px_rgba(0,0,0,0.2),0_0_20px_rgba(0,0,0,0.1)] ds:transition-all ds:duration-400 ds:ease-[cubic-bezier(0.175,0.885,0.32,2.2)] ds:p-0 ds:rounded-md",
48
+ i
49
49
  ),
50
50
  children: [
51
- /* @__PURE__ */ e("div", { className: "absolute z-0 inset-0 backdrop-blur-[2.5px] overflow-hidden isolate [filter:url(#glass-distortion)] rounded-[inherit]" }),
52
- /* @__PURE__ */ e("div", { className: "z-[1] absolute inset-0 bg-white/25 rounded-[inherit]" }),
53
- /* @__PURE__ */ e("div", { className: "absolute inset-0 z-[2] overflow-hidden shadow-[inset_2px_2px_1px_0_rgba(255,255,255,0.5),inset_-1px_-1px_1px_1px_rgba(255,255,255,0.5)] rounded-[inherit]" }),
54
- /* @__PURE__ */ e("div", { className: "z-[3] relative", children: /* @__PURE__ */ e("div", { className: "text-foreground [text-shadow:0px_1px_3px_rgba(255, 255, 255, 0.3)] transition-all duration-100 ease-in inline-flex gap-2", children: r }) }),
55
- /* @__PURE__ */ e("svg", { className: "hidden", children: /* @__PURE__ */ i(
51
+ /* @__PURE__ */ e("div", { className: "ds:absolute ds:z-0 ds:inset-0 ds:backdrop-blur-[2.5px] ds:overflow-hidden ds:isolate ds:[filter:url(#glass-distortion)] ds:rounded-[inherit]" }),
52
+ /* @__PURE__ */ e("div", { className: "ds:z-1 ds:absolute ds:inset-0 ds:bg-white/25 ds:rounded-[inherit]" }),
53
+ /* @__PURE__ */ e("div", { className: "ds:absolute ds:inset-0 ds:z-2 ds:overflow-hidden ds:shadow-[inset_2px_2px_1px_0_rgba(255,255,255,0.5),inset_-1px_-1px_1px_1px_rgba(255,255,255,0.5)] ds:rounded-[inherit]" }),
54
+ /* @__PURE__ */ e("div", { className: "ds:z-3 ds:relative", children: /* @__PURE__ */ e("div", { className: "ds:text-foreground ds:[text-shadow:0px_1px_3px_rgba(255, ds:255, ds:255, ds:0.3)] ds:transition-all ds:duration-100 ds:ease-in ds:inline-flex ds:gap-2", children: t }) }),
55
+ /* @__PURE__ */ e("svg", { className: "ds:hidden", children: /* @__PURE__ */ s(
56
56
  "filter",
57
57
  {
58
58
  id: "glass-distortion",
@@ -72,7 +72,7 @@ const P = ({ className: t, children: r }) => /* @__PURE__ */ i(
72
72
  result: "turbulence"
73
73
  }
74
74
  ),
75
- /* @__PURE__ */ i("feComponentTransfer", { in: "turbulence", result: "mapped", children: [
75
+ /* @__PURE__ */ s("feComponentTransfer", { in: "turbulence", result: "mapped", children: [
76
76
  /* @__PURE__ */ e("feFuncR", { type: "gamma", amplitude: "1", exponent: "10", offset: "0.5" }),
77
77
  /* @__PURE__ */ e("feFuncG", { type: "gamma", amplitude: "0", exponent: "1", offset: "0" }),
78
78
  /* @__PURE__ */ e("feFuncB", { type: "gamma", amplitude: "0", exponent: "1", offset: "0.5" })
@@ -1 +1 @@
1
- {"version":3,"file":"Glass.js","sources":["../../../../src/components/Glass/Glass.tsx"],"sourcesContent":["import { cn } from \"@dsui/ui/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport React from \"react\";\n\nconst glassVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap 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 defaultVariants: {},\n }\n);\n\nexport type GlassProps = {\n className?: string;\n children?: React.ReactNode;\n} & VariantProps<typeof glassVariants>;\n\nconst Glass: React.FC<GlassProps> = ({ className, children }) => {\n return (\n <div\n className={cn(\n \"relative inline-flex overflow-hidden cursor-pointer shadow-[0_6px_6px_rgba(0,0,0,0.2),0_0_20px_rgba(0,0,0,0.1)] transition-all duration-400 ease-[cubic-bezier(0.175,0.885,0.32,2.2)] p-0 rounded-md\",\n className\n )}\n >\n <div className=\"absolute z-0 inset-0 backdrop-blur-[2.5px] overflow-hidden isolate [filter:url(#glass-distortion)] rounded-[inherit]\"></div>\n <div className=\"z-[1] absolute inset-0 bg-white/25 rounded-[inherit]\"></div>\n <div className=\"absolute inset-0 z-[2] overflow-hidden shadow-[inset_2px_2px_1px_0_rgba(255,255,255,0.5),inset_-1px_-1px_1px_1px_rgba(255,255,255,0.5)] rounded-[inherit]\"></div>\n <div className=\"z-[3] relative\">\n <div className=\"text-foreground [text-shadow:0px_1px_3px_rgba(255, 255, 255, 0.3)] transition-all duration-100 ease-in inline-flex gap-2\">\n {children}\n </div>\n </div>\n <svg className=\"hidden\">\n <filter\n id=\"glass-distortion\"\n x=\"0%\"\n y=\"0%\"\n width=\"100%\"\n height=\"100%\"\n filterUnits=\"objectBoundingBox\"\n >\n <feTurbulence\n type=\"fractalNoise\"\n baseFrequency=\"0.01 0.01\"\n numOctaves=\"1\"\n seed=\"5\"\n result=\"turbulence\"\n />\n\n <feComponentTransfer in=\"turbulence\" result=\"mapped\">\n <feFuncR type=\"gamma\" amplitude=\"1\" exponent=\"10\" offset=\"0.5\" />\n <feFuncG type=\"gamma\" amplitude=\"0\" exponent=\"1\" offset=\"0\" />\n <feFuncB type=\"gamma\" amplitude=\"0\" exponent=\"1\" offset=\"0.5\" />\n </feComponentTransfer>\n\n <feGaussianBlur in=\"turbulence\" stdDeviation=\"3\" result=\"softMap\" />\n\n <feSpecularLighting\n in=\"softMap\"\n surfaceScale=\"5\"\n specularConstant=\"1\"\n specularExponent=\"100\"\n lighting-color=\"white\"\n result=\"specLight\"\n >\n <fePointLight x=\"-200\" y=\"-200\" z=\"300\" />\n </feSpecularLighting>\n\n <feComposite\n in=\"specLight\"\n operator=\"arithmetic\"\n k1=\"0\"\n k2=\"1\"\n k3=\"1\"\n k4=\"0\"\n result=\"litImage\"\n />\n\n <feDisplacementMap\n in=\"SourceGraphic\"\n in2=\"softMap\"\n scale=\"120\"\n xChannelSelector=\"R\"\n yChannelSelector=\"G\"\n />\n </filter>\n </svg>\n </div>\n );\n};\n\nexport default Glass;\n"],"names":["cva","Glass","className","children","jsxs","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIsBA;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU,CAAA;AAAA,IACV,iBAAiB,CAAA;AAAA,EAAC;AAEtB;AAOA,MAAMC,IAA8B,CAAC,EAAE,WAAAC,GAAW,UAAAC,QAE9C,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAH;AAAA,IAAA;AAAA,IAGF,UAAA;AAAA,MAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,uHAAA,CAAuH;AAAA,MACtI,gBAAAA,EAAC,OAAA,EAAI,WAAU,uDAAA,CAAuD;AAAA,MACtE,gBAAAA,EAAC,OAAA,EAAI,WAAU,4JAAA,CAA4J;AAAA,MAC3K,gBAAAA,EAAC,SAAI,WAAU,kBACb,4BAAC,OAAA,EAAI,WAAU,4HACZ,UAAAH,EAAA,CACH,EAAA,CACF;AAAA,MACA,gBAAAG,EAAC,OAAA,EAAI,WAAU,UACb,UAAA,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,GAAE;AAAA,UACF,GAAE;AAAA,UACF,OAAM;AAAA,UACN,QAAO;AAAA,UACP,aAAY;AAAA,UAEZ,UAAA;AAAA,YAAA,gBAAAE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,eAAc;AAAA,gBACd,YAAW;AAAA,gBACX,MAAK;AAAA,gBACL,QAAO;AAAA,cAAA;AAAA,YAAA;AAAA,YAGT,gBAAAF,EAAC,uBAAA,EAAoB,IAAG,cAAa,QAAO,UAC1C,UAAA;AAAA,cAAA,gBAAAE,EAAC,WAAA,EAAQ,MAAK,SAAQ,WAAU,KAAI,UAAS,MAAK,QAAO,MAAA,CAAM;AAAA,cAC/D,gBAAAA,EAAC,aAAQ,MAAK,SAAQ,WAAU,KAAI,UAAS,KAAI,QAAO,IAAA,CAAI;AAAA,cAC5D,gBAAAA,EAAC,aAAQ,MAAK,SAAQ,WAAU,KAAI,UAAS,KAAI,QAAO,MAAA,CAAM;AAAA,YAAA,GAChE;AAAA,8BAEC,kBAAA,EAAe,IAAG,cAAa,cAAa,KAAI,QAAO,WAAU;AAAA,YAElE,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAG;AAAA,gBACH,cAAa;AAAA,gBACb,kBAAiB;AAAA,gBACjB,kBAAiB;AAAA,gBACjB,kBAAe;AAAA,gBACf,QAAO;AAAA,gBAEP,4BAAC,gBAAA,EAAa,GAAE,QAAO,GAAE,QAAO,GAAE,MAAA,CAAM;AAAA,cAAA;AAAA,YAAA;AAAA,YAG1C,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAG;AAAA,gBACH,UAAS;AAAA,gBACT,IAAG;AAAA,gBACH,IAAG;AAAA,gBACH,IAAG;AAAA,gBACH,IAAG;AAAA,gBACH,QAAO;AAAA,cAAA;AAAA,YAAA;AAAA,YAGT,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAG;AAAA,gBACH,KAAI;AAAA,gBACJ,OAAM;AAAA,gBACN,kBAAiB;AAAA,gBACjB,kBAAiB;AAAA,cAAA;AAAA,YAAA;AAAA,UACnB;AAAA,QAAA;AAAA,MAAA,EACF,CACF;AAAA,IAAA;AAAA,EAAA;AAAA;"}
1
+ {"version":3,"file":"Glass.js","sources":["../../../../src/components/Glass/Glass.tsx"],"sourcesContent":["import { cn } from \"@dsui/ui/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport React from \"react\";\n\nconst glassVariants = cva(\n \"ds:inline-flex ds:items-center ds:justify-center ds:gap-2 ds:whitespace-nowrap 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 defaultVariants: {},\n }\n);\n\nexport type GlassProps = {\n className?: string;\n children?: React.ReactNode;\n} & VariantProps<typeof glassVariants>;\n\nconst Glass: React.FC<GlassProps> = ({ className, children }) => {\n return (\n <div\n className={cn(\n \"ds:relative ds:inline-flex ds:overflow-hidden ds:cursor-pointer ds:shadow-[0_6px_6px_rgba(0,0,0,0.2),0_0_20px_rgba(0,0,0,0.1)] ds:transition-all ds:duration-400 ds:ease-[cubic-bezier(0.175,0.885,0.32,2.2)] ds:p-0 ds:rounded-md\",\n className\n )}\n >\n <div className=\"ds:absolute ds:z-0 ds:inset-0 ds:backdrop-blur-[2.5px] ds:overflow-hidden ds:isolate ds:[filter:url(#glass-distortion)] ds:rounded-[inherit]\"></div>\n <div className=\"ds:z-1 ds:absolute ds:inset-0 ds:bg-white/25 ds:rounded-[inherit]\"></div>\n <div className=\"ds:absolute ds:inset-0 ds:z-2 ds:overflow-hidden ds:shadow-[inset_2px_2px_1px_0_rgba(255,255,255,0.5),inset_-1px_-1px_1px_1px_rgba(255,255,255,0.5)] ds:rounded-[inherit]\"></div>\n <div className=\"ds:z-3 ds:relative\">\n <div className=\"ds:text-foreground ds:[text-shadow:0px_1px_3px_rgba(255, ds:255, ds:255, ds:0.3)] ds:transition-all ds:duration-100 ds:ease-in ds:inline-flex ds:gap-2\">\n {children}\n </div>\n </div>\n <svg className=\"ds:hidden\">\n <filter\n id=\"glass-distortion\"\n x=\"0%\"\n y=\"0%\"\n width=\"100%\"\n height=\"100%\"\n filterUnits=\"objectBoundingBox\"\n >\n <feTurbulence\n type=\"fractalNoise\"\n baseFrequency=\"0.01 0.01\"\n numOctaves=\"1\"\n seed=\"5\"\n result=\"turbulence\"\n />\n\n <feComponentTransfer in=\"turbulence\" result=\"mapped\">\n <feFuncR type=\"gamma\" amplitude=\"1\" exponent=\"10\" offset=\"0.5\" />\n <feFuncG type=\"gamma\" amplitude=\"0\" exponent=\"1\" offset=\"0\" />\n <feFuncB type=\"gamma\" amplitude=\"0\" exponent=\"1\" offset=\"0.5\" />\n </feComponentTransfer>\n\n <feGaussianBlur in=\"turbulence\" stdDeviation=\"3\" result=\"softMap\" />\n\n <feSpecularLighting\n in=\"softMap\"\n surfaceScale=\"5\"\n specularConstant=\"1\"\n specularExponent=\"100\"\n lighting-color=\"white\"\n result=\"specLight\"\n >\n <fePointLight x=\"-200\" y=\"-200\" z=\"300\" />\n </feSpecularLighting>\n\n <feComposite\n in=\"specLight\"\n operator=\"arithmetic\"\n k1=\"0\"\n k2=\"1\"\n k3=\"1\"\n k4=\"0\"\n result=\"litImage\"\n />\n\n <feDisplacementMap\n in=\"SourceGraphic\"\n in2=\"softMap\"\n scale=\"120\"\n xChannelSelector=\"R\"\n yChannelSelector=\"G\"\n />\n </filter>\n </svg>\n </div>\n );\n};\n\nexport default Glass;\n"],"names":["cva","Glass","className","children","jsxs","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIsBA;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU,CAAA;AAAA,IACV,iBAAiB,CAAA;AAAA,EAAC;AAEtB;AAOA,MAAMC,IAA8B,CAAC,EAAE,WAAAC,GAAW,UAAAC,QAE9C,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAH;AAAA,IAAA;AAAA,IAGF,UAAA;AAAA,MAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,+IAAA,CAA+I;AAAA,MAC9J,gBAAAA,EAAC,OAAA,EAAI,WAAU,oEAAA,CAAoE;AAAA,MACnF,gBAAAA,EAAC,OAAA,EAAI,WAAU,4KAAA,CAA4K;AAAA,MAC3L,gBAAAA,EAAC,SAAI,WAAU,sBACb,4BAAC,OAAA,EAAI,WAAU,0JACZ,UAAAH,EAAA,CACH,EAAA,CACF;AAAA,MACA,gBAAAG,EAAC,OAAA,EAAI,WAAU,aACb,UAAA,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,GAAE;AAAA,UACF,GAAE;AAAA,UACF,OAAM;AAAA,UACN,QAAO;AAAA,UACP,aAAY;AAAA,UAEZ,UAAA;AAAA,YAAA,gBAAAE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,eAAc;AAAA,gBACd,YAAW;AAAA,gBACX,MAAK;AAAA,gBACL,QAAO;AAAA,cAAA;AAAA,YAAA;AAAA,YAGT,gBAAAF,EAAC,uBAAA,EAAoB,IAAG,cAAa,QAAO,UAC1C,UAAA;AAAA,cAAA,gBAAAE,EAAC,WAAA,EAAQ,MAAK,SAAQ,WAAU,KAAI,UAAS,MAAK,QAAO,MAAA,CAAM;AAAA,cAC/D,gBAAAA,EAAC,aAAQ,MAAK,SAAQ,WAAU,KAAI,UAAS,KAAI,QAAO,IAAA,CAAI;AAAA,cAC5D,gBAAAA,EAAC,aAAQ,MAAK,SAAQ,WAAU,KAAI,UAAS,KAAI,QAAO,MAAA,CAAM;AAAA,YAAA,GAChE;AAAA,8BAEC,kBAAA,EAAe,IAAG,cAAa,cAAa,KAAI,QAAO,WAAU;AAAA,YAElE,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAG;AAAA,gBACH,cAAa;AAAA,gBACb,kBAAiB;AAAA,gBACjB,kBAAiB;AAAA,gBACjB,kBAAe;AAAA,gBACf,QAAO;AAAA,gBAEP,4BAAC,gBAAA,EAAa,GAAE,QAAO,GAAE,QAAO,GAAE,MAAA,CAAM;AAAA,cAAA;AAAA,YAAA;AAAA,YAG1C,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAG;AAAA,gBACH,UAAS;AAAA,gBACT,IAAG;AAAA,gBACH,IAAG;AAAA,gBACH,IAAG;AAAA,gBACH,IAAG;AAAA,gBACH,QAAO;AAAA,cAAA;AAAA,YAAA;AAAA,YAGT,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAG;AAAA,gBACH,KAAI;AAAA,gBACJ,OAAM;AAAA,gBACN,kBAAiB;AAAA,gBACjB,kBAAiB;AAAA,cAAA;AAAA,YAAA;AAAA,UACnB;AAAA,QAAA;AAAA,MAAA,EACF,CACF;AAAA,IAAA;AAAA,EAAA;AAAA;"}