@sth87/shadcn-design-system 0.0.1

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 (760) hide show
  1. package/README.md +487 -0
  2. package/dist/cjs/_virtual/_commonjsHelpers.cjs +2 -0
  3. package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
  4. package/dist/cjs/_virtual/index.cjs +2 -0
  5. package/dist/cjs/_virtual/index.cjs.map +1 -0
  6. package/dist/cjs/_virtual/index2.cjs +2 -0
  7. package/dist/cjs/_virtual/index2.cjs.map +1 -0
  8. package/dist/cjs/components/Accordion/Accordion.cjs +2 -0
  9. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -0
  10. package/dist/cjs/components/Avatar/Avatar.cjs +2 -0
  11. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -0
  12. package/dist/cjs/components/Badge/Badge.cjs +2 -0
  13. package/dist/cjs/components/Badge/Badge.cjs.map +1 -0
  14. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +2 -0
  15. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +1 -0
  16. package/dist/cjs/components/Button/Button.cjs +2 -0
  17. package/dist/cjs/components/Button/Button.cjs.map +1 -0
  18. package/dist/cjs/components/Button/ButtonGroup.cjs +2 -0
  19. package/dist/cjs/components/Button/ButtonGroup.cjs.map +1 -0
  20. package/dist/cjs/components/Calendar/Calendar.cjs +2 -0
  21. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -0
  22. package/dist/cjs/components/Carousel/Carousel.cjs +2 -0
  23. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -0
  24. package/dist/cjs/components/Checkbox/Checkbox.cjs +2 -0
  25. package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -0
  26. package/dist/cjs/components/Collapsible/Collapsible.cjs +2 -0
  27. package/dist/cjs/components/Collapsible/Collapsible.cjs.map +1 -0
  28. package/dist/cjs/components/Command/Command.cjs +2 -0
  29. package/dist/cjs/components/Command/Command.cjs.map +1 -0
  30. package/dist/cjs/components/Command/index.cjs +2 -0
  31. package/dist/cjs/components/Command/index.cjs.map +1 -0
  32. package/dist/cjs/components/ContextMenu/ContextMenu.cjs +2 -0
  33. package/dist/cjs/components/ContextMenu/ContextMenu.cjs.map +1 -0
  34. package/dist/cjs/components/ContextMenu/index.cjs +2 -0
  35. package/dist/cjs/components/ContextMenu/index.cjs.map +1 -0
  36. package/dist/cjs/components/Cropper/Cropper.cjs +2 -0
  37. package/dist/cjs/components/Cropper/Cropper.cjs.map +1 -0
  38. package/dist/cjs/components/Cropper/CropperTool.cjs +2 -0
  39. package/dist/cjs/components/Cropper/CropperTool.cjs.map +1 -0
  40. package/dist/cjs/components/Cropper/utils.cjs +2 -0
  41. package/dist/cjs/components/Cropper/utils.cjs.map +1 -0
  42. package/dist/cjs/components/DatePicker/DatePicker.cjs +2 -0
  43. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -0
  44. package/dist/cjs/components/DatePicker/RangePicker.cjs +2 -0
  45. package/dist/cjs/components/DatePicker/RangePicker.cjs.map +1 -0
  46. package/dist/cjs/components/DatePicker/TimePicker.cjs +2 -0
  47. package/dist/cjs/components/DatePicker/TimePicker.cjs.map +1 -0
  48. package/dist/cjs/components/Dialog/Dialog.cjs +2 -0
  49. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -0
  50. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +2 -0
  51. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
  52. package/dist/cjs/components/DropdownMenu/index.cjs +2 -0
  53. package/dist/cjs/components/DropdownMenu/index.cjs.map +1 -0
  54. package/dist/cjs/components/FloatLabel.cjs +2 -0
  55. package/dist/cjs/components/FloatLabel.cjs.map +1 -0
  56. package/dist/cjs/components/Glass/Glass.cjs +2 -0
  57. package/dist/cjs/components/Glass/Glass.cjs.map +1 -0
  58. package/dist/cjs/components/ImageViewer/ImageViewer.cjs +2 -0
  59. package/dist/cjs/components/ImageViewer/ImageViewer.cjs.map +1 -0
  60. package/dist/cjs/components/ImageViewer/ImageViewer.css +1 -0
  61. package/dist/cjs/components/Input/Input.cjs +2 -0
  62. package/dist/cjs/components/Input/Input.cjs.map +1 -0
  63. package/dist/cjs/components/InputOTP/InputOTP.cjs +2 -0
  64. package/dist/cjs/components/InputOTP/InputOTP.cjs.map +1 -0
  65. package/dist/cjs/components/Interactive/CursorFollow.cjs +2 -0
  66. package/dist/cjs/components/Interactive/CursorFollow.cjs.map +1 -0
  67. package/dist/cjs/components/Marquee/Marquee.cjs +2 -0
  68. package/dist/cjs/components/Marquee/Marquee.cjs.map +1 -0
  69. package/dist/cjs/components/Marquee/MarqueeWrapper.cjs +2 -0
  70. package/dist/cjs/components/Marquee/MarqueeWrapper.cjs.map +1 -0
  71. package/dist/cjs/components/Marquee/index.cjs +2 -0
  72. package/dist/cjs/components/Marquee/index.cjs.map +1 -0
  73. package/dist/cjs/components/Masonry/Masonry.cjs +2 -0
  74. package/dist/cjs/components/Masonry/Masonry.cjs.map +1 -0
  75. package/dist/cjs/components/Masonry/MasonryWrapper.cjs +2 -0
  76. package/dist/cjs/components/Masonry/MasonryWrapper.cjs.map +1 -0
  77. package/dist/cjs/components/Pagination/Pagination.cjs +2 -0
  78. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -0
  79. package/dist/cjs/components/Pagination/index.cjs +2 -0
  80. package/dist/cjs/components/Pagination/index.cjs.map +1 -0
  81. package/dist/cjs/components/Popover/Popover.cjs +2 -0
  82. package/dist/cjs/components/Popover/Popover.cjs.map +1 -0
  83. package/dist/cjs/components/Popover/index.cjs +2 -0
  84. package/dist/cjs/components/Popover/index.cjs.map +1 -0
  85. package/dist/cjs/components/QrCode/QrCode.cjs +2 -0
  86. package/dist/cjs/components/QrCode/QrCode.cjs.map +1 -0
  87. package/dist/cjs/components/QrCode/index.cjs +2 -0
  88. package/dist/cjs/components/QrCode/index.cjs.map +1 -0
  89. package/dist/cjs/components/Radio/Radio.cjs +2 -0
  90. package/dist/cjs/components/Radio/Radio.cjs.map +1 -0
  91. package/dist/cjs/components/Rate/Rate.cjs +2 -0
  92. package/dist/cjs/components/Rate/Rate.cjs.map +1 -0
  93. package/dist/cjs/components/Resizable/Resizable.cjs +2 -0
  94. package/dist/cjs/components/Resizable/Resizable.cjs.map +1 -0
  95. package/dist/cjs/components/ScrollArea/ScrollArea.cjs +2 -0
  96. package/dist/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -0
  97. package/dist/cjs/components/Select/Select.cjs +2 -0
  98. package/dist/cjs/components/Select/Select.cjs.map +1 -0
  99. package/dist/cjs/components/Separator/Separator.cjs +2 -0
  100. package/dist/cjs/components/Separator/Separator.cjs.map +1 -0
  101. package/dist/cjs/components/Sheet/Sheet.cjs +6 -0
  102. package/dist/cjs/components/Sheet/Sheet.cjs.map +1 -0
  103. package/dist/cjs/components/Sidebar/Sidebar.cjs +2 -0
  104. package/dist/cjs/components/Sidebar/Sidebar.cjs.map +1 -0
  105. package/dist/cjs/components/Skeleton/Skeleton.cjs +2 -0
  106. package/dist/cjs/components/Skeleton/Skeleton.cjs.map +1 -0
  107. package/dist/cjs/components/Slider/Slider.cjs +2 -0
  108. package/dist/cjs/components/Slider/Slider.cjs.map +1 -0
  109. package/dist/cjs/components/Stepper/Stepper.cjs +2 -0
  110. package/dist/cjs/components/Stepper/Stepper.cjs.map +1 -0
  111. package/dist/cjs/components/Stepper/StepperWrapper.cjs +2 -0
  112. package/dist/cjs/components/Stepper/StepperWrapper.cjs.map +1 -0
  113. package/dist/cjs/components/Stepper/index.cjs +2 -0
  114. package/dist/cjs/components/Stepper/index.cjs.map +1 -0
  115. package/dist/cjs/components/Switch/Switch.cjs +2 -0
  116. package/dist/cjs/components/Switch/Switch.cjs.map +1 -0
  117. package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs +2 -0
  118. package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs.map +1 -0
  119. package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs +2 -0
  120. package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs.map +1 -0
  121. package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs +2 -0
  122. package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs.map +1 -0
  123. package/dist/cjs/components/Table/data-table-column-header.cjs +2 -0
  124. package/dist/cjs/components/Table/data-table-column-header.cjs.map +1 -0
  125. package/dist/cjs/components/Table/data-table-pagination.cjs +2 -0
  126. package/dist/cjs/components/Table/data-table-pagination.cjs.map +1 -0
  127. package/dist/cjs/components/Table/data-table.cjs +2 -0
  128. package/dist/cjs/components/Table/data-table.cjs.map +1 -0
  129. package/dist/cjs/components/Tabs/Tabs.cjs +2 -0
  130. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -0
  131. package/dist/cjs/components/Tabs/classes.cjs +2 -0
  132. package/dist/cjs/components/Tabs/classes.cjs.map +1 -0
  133. package/dist/cjs/components/Textarea/Textarea.cjs +2 -0
  134. package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -0
  135. package/dist/cjs/components/TimeGridView.cjs +2 -0
  136. package/dist/cjs/components/TimeGridView.cjs.map +1 -0
  137. package/dist/cjs/components/Toast/Toast.cjs +2 -0
  138. package/dist/cjs/components/Toast/Toast.cjs.map +1 -0
  139. package/dist/cjs/components/Toggle/Toggle.cjs +2 -0
  140. package/dist/cjs/components/Toggle/Toggle.cjs.map +1 -0
  141. package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -0
  142. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -0
  143. package/dist/cjs/components/Tour/Tour.cjs +2 -0
  144. package/dist/cjs/components/Tour/Tour.cjs.map +1 -0
  145. package/dist/cjs/components/Tour/TourWrapper.cjs +2 -0
  146. package/dist/cjs/components/Tour/TourWrapper.cjs.map +1 -0
  147. package/dist/cjs/components/Tour/index.cjs +2 -0
  148. package/dist/cjs/components/Tour/index.cjs.map +1 -0
  149. package/dist/cjs/components/Upload/Upload.cjs +4 -0
  150. package/dist/cjs/components/Upload/Upload.cjs.map +1 -0
  151. package/dist/cjs/components/WheelColumn.cjs +2 -0
  152. package/dist/cjs/components/WheelColumn.cjs.map +1 -0
  153. package/dist/cjs/constants/common.cjs +2 -0
  154. package/dist/cjs/constants/common.cjs.map +1 -0
  155. package/dist/cjs/favicon.ico +0 -0
  156. package/dist/cjs/hooks/use-callback-ref.cjs +2 -0
  157. package/dist/cjs/hooks/use-callback-ref.cjs.map +1 -0
  158. package/dist/cjs/hooks/use-debounced-callback.cjs +2 -0
  159. package/dist/cjs/hooks/use-debounced-callback.cjs.map +1 -0
  160. package/dist/cjs/hooks/use-debounced-value.cjs +2 -0
  161. package/dist/cjs/hooks/use-debounced-value.cjs.map +1 -0
  162. package/dist/cjs/hooks/use-event-listener.cjs +2 -0
  163. package/dist/cjs/hooks/use-event-listener.cjs.map +1 -0
  164. package/dist/cjs/hooks/use-intersection-observer.cjs +2 -0
  165. package/dist/cjs/hooks/use-intersection-observer.cjs.map +1 -0
  166. package/dist/cjs/hooks/use-isomorphic-layout-effect.cjs +2 -0
  167. package/dist/cjs/hooks/use-isomorphic-layout-effect.cjs.map +1 -0
  168. package/dist/cjs/hooks/use-media-query.cjs +2 -0
  169. package/dist/cjs/hooks/use-media-query.cjs.map +1 -0
  170. package/dist/cjs/hooks/use-on-click-outside.cjs +2 -0
  171. package/dist/cjs/hooks/use-on-click-outside.cjs.map +1 -0
  172. package/dist/cjs/hooks/use-script.cjs +2 -0
  173. package/dist/cjs/hooks/use-script.cjs.map +1 -0
  174. package/dist/cjs/hooks/use-scroll-lock.cjs +2 -0
  175. package/dist/cjs/hooks/use-scroll-lock.cjs.map +1 -0
  176. package/dist/cjs/image.png +0 -0
  177. package/dist/cjs/index.cjs +2 -0
  178. package/dist/cjs/index.cjs.map +1 -0
  179. package/dist/cjs/lib/TextAnimation/BlurText.cjs +2 -0
  180. package/dist/cjs/lib/TextAnimation/BlurText.cjs.map +1 -0
  181. package/dist/cjs/lib/TextAnimation/CircularText.cjs +2 -0
  182. package/dist/cjs/lib/TextAnimation/CircularText.cjs.map +1 -0
  183. package/dist/cjs/lib/TextAnimation/FlipWords.cjs +2 -0
  184. package/dist/cjs/lib/TextAnimation/FlipWords.cjs.map +1 -0
  185. package/dist/cjs/lib/TextAnimation/GradientText.cjs +2 -0
  186. package/dist/cjs/lib/TextAnimation/GradientText.cjs.map +1 -0
  187. package/dist/cjs/lib/TextAnimation/RollingText.cjs +2 -0
  188. package/dist/cjs/lib/TextAnimation/RollingText.cjs.map +1 -0
  189. package/dist/cjs/lib/TextAnimation/RotatingText.cjs +2 -0
  190. package/dist/cjs/lib/TextAnimation/RotatingText.cjs.map +1 -0
  191. package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs +2 -0
  192. package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs.map +1 -0
  193. package/dist/cjs/lib/TextAnimation/SplittingText.cjs +2 -0
  194. package/dist/cjs/lib/TextAnimation/SplittingText.cjs.map +1 -0
  195. package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs +2 -0
  196. package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs.map +1 -0
  197. package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs +2 -0
  198. package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs.map +1 -0
  199. package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs +22 -0
  200. package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs.map +1 -0
  201. package/dist/cjs/lib/TextAnimation/TypingText.cjs +2 -0
  202. package/dist/cjs/lib/TextAnimation/TypingText.cjs.map +1 -0
  203. package/dist/cjs/lib/TextAnimation/WritingText.cjs +2 -0
  204. package/dist/cjs/lib/TextAnimation/WritingText.cjs.map +1 -0
  205. package/dist/cjs/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs +253 -0
  206. package/dist/cjs/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs.map +1 -0
  207. package/dist/cjs/node_modules/.pnpm/viewerjs@1.11.7/node_modules/viewerjs/dist/viewer.css +1 -0
  208. package/dist/cjs/styles/animation.css +1 -0
  209. package/dist/cjs/styles/index.css +1 -0
  210. package/dist/cjs/styles/theme.css +1 -0
  211. package/dist/cjs/utils/animations.cjs +2 -0
  212. package/dist/cjs/utils/animations.cjs.map +1 -0
  213. package/dist/cjs/utils/css.cjs +2 -0
  214. package/dist/cjs/utils/css.cjs.map +1 -0
  215. package/dist/cjs/utils/data-table.cjs +2 -0
  216. package/dist/cjs/utils/data-table.cjs.map +1 -0
  217. package/dist/cjs/utils/datetime.cjs +2 -0
  218. package/dist/cjs/utils/datetime.cjs.map +1 -0
  219. package/dist/cjs/vite.svg +1 -0
  220. package/dist/cjs/wave.png +0 -0
  221. package/dist/esm/_virtual/_commonjsHelpers.js +7 -0
  222. package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
  223. package/dist/esm/_virtual/index.js +8 -0
  224. package/dist/esm/_virtual/index.js.map +1 -0
  225. package/dist/esm/_virtual/index2.js +5 -0
  226. package/dist/esm/_virtual/index2.js.map +1 -0
  227. package/dist/esm/components/Accordion/Accordion.js +190 -0
  228. package/dist/esm/components/Accordion/Accordion.js.map +1 -0
  229. package/dist/esm/components/Avatar/Avatar.js +93 -0
  230. package/dist/esm/components/Avatar/Avatar.js.map +1 -0
  231. package/dist/esm/components/Badge/Badge.js +35 -0
  232. package/dist/esm/components/Badge/Badge.js.map +1 -0
  233. package/dist/esm/components/Breadcrumb/Breadcrumb.js +102 -0
  234. package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -0
  235. package/dist/esm/components/Button/Button.js +53 -0
  236. package/dist/esm/components/Button/Button.js.map +1 -0
  237. package/dist/esm/components/Button/ButtonGroup.js +53 -0
  238. package/dist/esm/components/Button/ButtonGroup.js.map +1 -0
  239. package/dist/esm/components/Calendar/Calendar.js +40 -0
  240. package/dist/esm/components/Calendar/Calendar.js.map +1 -0
  241. package/dist/esm/components/Carousel/Carousel.js +510 -0
  242. package/dist/esm/components/Carousel/Carousel.js.map +1 -0
  243. package/dist/esm/components/Checkbox/Checkbox.js +79 -0
  244. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -0
  245. package/dist/esm/components/Collapsible/Collapsible.js +107 -0
  246. package/dist/esm/components/Collapsible/Collapsible.js.map +1 -0
  247. package/dist/esm/components/Command/Command.js +113 -0
  248. package/dist/esm/components/Command/Command.js.map +1 -0
  249. package/dist/esm/components/Command/index.js +16 -0
  250. package/dist/esm/components/Command/index.js.map +1 -0
  251. package/dist/esm/components/ContextMenu/ContextMenu.js +131 -0
  252. package/dist/esm/components/ContextMenu/ContextMenu.js.map +1 -0
  253. package/dist/esm/components/ContextMenu/index.js +24 -0
  254. package/dist/esm/components/ContextMenu/index.js.map +1 -0
  255. package/dist/esm/components/Cropper/Cropper.js +1014 -0
  256. package/dist/esm/components/Cropper/Cropper.js.map +1 -0
  257. package/dist/esm/components/Cropper/CropperTool.js +157 -0
  258. package/dist/esm/components/Cropper/CropperTool.js.map +1 -0
  259. package/dist/esm/components/Cropper/utils.js +108 -0
  260. package/dist/esm/components/Cropper/utils.js.map +1 -0
  261. package/dist/esm/components/DatePicker/DatePicker.js +263 -0
  262. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -0
  263. package/dist/esm/components/DatePicker/RangePicker.js +456 -0
  264. package/dist/esm/components/DatePicker/RangePicker.js.map +1 -0
  265. package/dist/esm/components/DatePicker/TimePicker.js +444 -0
  266. package/dist/esm/components/DatePicker/TimePicker.js.map +1 -0
  267. package/dist/esm/components/Dialog/Dialog.js +223 -0
  268. package/dist/esm/components/Dialog/Dialog.js.map +1 -0
  269. package/dist/esm/components/DropdownMenu/DropdownMenu.js +196 -0
  270. package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -0
  271. package/dist/esm/components/DropdownMenu/index.js +24 -0
  272. package/dist/esm/components/DropdownMenu/index.js.map +1 -0
  273. package/dist/esm/components/FloatLabel.js +59 -0
  274. package/dist/esm/components/FloatLabel.js.map +1 -0
  275. package/dist/esm/components/Glass/Glass.js +93 -0
  276. package/dist/esm/components/Glass/Glass.js.map +1 -0
  277. package/dist/esm/components/ImageViewer/ImageViewer.css +1 -0
  278. package/dist/esm/components/ImageViewer/ImageViewer.js +273 -0
  279. package/dist/esm/components/ImageViewer/ImageViewer.js.map +1 -0
  280. package/dist/esm/components/Input/Input.js +267 -0
  281. package/dist/esm/components/Input/Input.js.map +1 -0
  282. package/dist/esm/components/InputOTP/InputOTP.js +70 -0
  283. package/dist/esm/components/InputOTP/InputOTP.js.map +1 -0
  284. package/dist/esm/components/Interactive/CursorFollow.js +257 -0
  285. package/dist/esm/components/Interactive/CursorFollow.js.map +1 -0
  286. package/dist/esm/components/Marquee/Marquee.js +419 -0
  287. package/dist/esm/components/Marquee/Marquee.js.map +1 -0
  288. package/dist/esm/components/Marquee/MarqueeWrapper.js +25 -0
  289. package/dist/esm/components/Marquee/MarqueeWrapper.js.map +1 -0
  290. package/dist/esm/components/Marquee/index.js +15 -0
  291. package/dist/esm/components/Marquee/index.js.map +1 -0
  292. package/dist/esm/components/Masonry/Masonry.js +840 -0
  293. package/dist/esm/components/Masonry/Masonry.js.map +1 -0
  294. package/dist/esm/components/Masonry/MasonryWrapper.js +19 -0
  295. package/dist/esm/components/Masonry/MasonryWrapper.js.map +1 -0
  296. package/dist/esm/components/Pagination/Pagination.js +209 -0
  297. package/dist/esm/components/Pagination/Pagination.js.map +1 -0
  298. package/dist/esm/components/Pagination/index.js +14 -0
  299. package/dist/esm/components/Pagination/index.js.map +1 -0
  300. package/dist/esm/components/Popover/Popover.js +51 -0
  301. package/dist/esm/components/Popover/Popover.js.map +1 -0
  302. package/dist/esm/components/Popover/index.js +9 -0
  303. package/dist/esm/components/Popover/index.js.map +1 -0
  304. package/dist/esm/components/QrCode/QrCode.js +300 -0
  305. package/dist/esm/components/QrCode/QrCode.js.map +1 -0
  306. package/dist/esm/components/QrCode/index.js +16 -0
  307. package/dist/esm/components/QrCode/index.js.map +1 -0
  308. package/dist/esm/components/Radio/Radio.js +74 -0
  309. package/dist/esm/components/Radio/Radio.js.map +1 -0
  310. package/dist/esm/components/Rate/Rate.js +191 -0
  311. package/dist/esm/components/Rate/Rate.js.map +1 -0
  312. package/dist/esm/components/Resizable/Resizable.js +89 -0
  313. package/dist/esm/components/Resizable/Resizable.js.map +1 -0
  314. package/dist/esm/components/ScrollArea/ScrollArea.js +45 -0
  315. package/dist/esm/components/ScrollArea/ScrollArea.js.map +1 -0
  316. package/dist/esm/components/Select/Select.js +199 -0
  317. package/dist/esm/components/Select/Select.js.map +1 -0
  318. package/dist/esm/components/Separator/Separator.js +7 -0
  319. package/dist/esm/components/Separator/Separator.js.map +1 -0
  320. package/dist/esm/components/Sheet/Sheet.js +141 -0
  321. package/dist/esm/components/Sheet/Sheet.js.map +1 -0
  322. package/dist/esm/components/Sidebar/Sidebar.js +30 -0
  323. package/dist/esm/components/Sidebar/Sidebar.js.map +1 -0
  324. package/dist/esm/components/Skeleton/Skeleton.js +12 -0
  325. package/dist/esm/components/Skeleton/Skeleton.js.map +1 -0
  326. package/dist/esm/components/Slider/Slider.js +420 -0
  327. package/dist/esm/components/Slider/Slider.js.map +1 -0
  328. package/dist/esm/components/Stepper/Stepper.js +886 -0
  329. package/dist/esm/components/Stepper/Stepper.js.map +1 -0
  330. package/dist/esm/components/Stepper/StepperWrapper.js +80 -0
  331. package/dist/esm/components/Stepper/StepperWrapper.js.map +1 -0
  332. package/dist/esm/components/Stepper/index.js +21 -0
  333. package/dist/esm/components/Stepper/index.js.map +1 -0
  334. package/dist/esm/components/Switch/Switch.js +126 -0
  335. package/dist/esm/components/Switch/Switch.js.map +1 -0
  336. package/dist/esm/components/Table/TableFilter/data-table-date-filter.js +126 -0
  337. package/dist/esm/components/Table/TableFilter/data-table-date-filter.js.map +1 -0
  338. package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js +138 -0
  339. package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js.map +1 -0
  340. package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js +164 -0
  341. package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js.map +1 -0
  342. package/dist/esm/components/Table/data-table-column-header.js +82 -0
  343. package/dist/esm/components/Table/data-table-column-header.js.map +1 -0
  344. package/dist/esm/components/Table/data-table-pagination.js +73 -0
  345. package/dist/esm/components/Table/data-table-pagination.js.map +1 -0
  346. package/dist/esm/components/Table/data-table.js +94 -0
  347. package/dist/esm/components/Table/data-table.js.map +1 -0
  348. package/dist/esm/components/Tabs/Tabs.js +540 -0
  349. package/dist/esm/components/Tabs/Tabs.js.map +1 -0
  350. package/dist/esm/components/Tabs/classes.js +345 -0
  351. package/dist/esm/components/Tabs/classes.js.map +1 -0
  352. package/dist/esm/components/Textarea/Textarea.js +132 -0
  353. package/dist/esm/components/Textarea/Textarea.js.map +1 -0
  354. package/dist/esm/components/TimeGridView.js +101 -0
  355. package/dist/esm/components/TimeGridView.js.map +1 -0
  356. package/dist/esm/components/Toast/Toast.js +80 -0
  357. package/dist/esm/components/Toast/Toast.js.map +1 -0
  358. package/dist/esm/components/Toggle/Toggle.js +23 -0
  359. package/dist/esm/components/Toggle/Toggle.js.map +1 -0
  360. package/dist/esm/components/Tooltip/Tooltip.js +120 -0
  361. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -0
  362. package/dist/esm/components/Tour/Tour.js +948 -0
  363. package/dist/esm/components/Tour/Tour.js.map +1 -0
  364. package/dist/esm/components/Tour/TourWrapper.js +67 -0
  365. package/dist/esm/components/Tour/TourWrapper.js.map +1 -0
  366. package/dist/esm/components/Tour/index.js +38 -0
  367. package/dist/esm/components/Tour/index.js.map +1 -0
  368. package/dist/esm/components/Upload/Upload.js +948 -0
  369. package/dist/esm/components/Upload/Upload.js.map +1 -0
  370. package/dist/esm/components/WheelColumn.js +127 -0
  371. package/dist/esm/components/WheelColumn.js.map +1 -0
  372. package/dist/esm/constants/common.js +5 -0
  373. package/dist/esm/constants/common.js.map +1 -0
  374. package/dist/esm/favicon.ico +0 -0
  375. package/dist/esm/hooks/use-callback-ref.js +14 -0
  376. package/dist/esm/hooks/use-callback-ref.js.map +1 -0
  377. package/dist/esm/hooks/use-debounced-callback.js +21 -0
  378. package/dist/esm/hooks/use-debounced-callback.js.map +1 -0
  379. package/dist/esm/hooks/use-debounced-value.js +12 -0
  380. package/dist/esm/hooks/use-debounced-value.js.map +1 -0
  381. package/dist/esm/hooks/use-event-listener.js +21 -0
  382. package/dist/esm/hooks/use-event-listener.js.map +1 -0
  383. package/dist/esm/hooks/use-intersection-observer.js +56 -0
  384. package/dist/esm/hooks/use-intersection-observer.js.map +1 -0
  385. package/dist/esm/hooks/use-isomorphic-layout-effect.js +6 -0
  386. package/dist/esm/hooks/use-isomorphic-layout-effect.js.map +1 -0
  387. package/dist/esm/hooks/use-media-query.js +22 -0
  388. package/dist/esm/hooks/use-media-query.js.map +1 -0
  389. package/dist/esm/hooks/use-on-click-outside.js +18 -0
  390. package/dist/esm/hooks/use-on-click-outside.js.map +1 -0
  391. package/dist/esm/hooks/use-script.js +46 -0
  392. package/dist/esm/hooks/use-script.js.map +1 -0
  393. package/dist/esm/hooks/use-scroll-lock.js +27 -0
  394. package/dist/esm/hooks/use-scroll-lock.js.map +1 -0
  395. package/dist/esm/image.png +0 -0
  396. package/dist/esm/index.js +223 -0
  397. package/dist/esm/index.js.map +1 -0
  398. package/dist/esm/lib/TextAnimation/BlurText.js +84 -0
  399. package/dist/esm/lib/TextAnimation/BlurText.js.map +1 -0
  400. package/dist/esm/lib/TextAnimation/CircularText.js +96 -0
  401. package/dist/esm/lib/TextAnimation/CircularText.js.map +1 -0
  402. package/dist/esm/lib/TextAnimation/FlipWords.js +103 -0
  403. package/dist/esm/lib/TextAnimation/FlipWords.js.map +1 -0
  404. package/dist/esm/lib/TextAnimation/GradientText.js +54 -0
  405. package/dist/esm/lib/TextAnimation/GradientText.js.map +1 -0
  406. package/dist/esm/lib/TextAnimation/RollingText.js +70 -0
  407. package/dist/esm/lib/TextAnimation/RollingText.js.map +1 -0
  408. package/dist/esm/lib/TextAnimation/RotatingText.js +38 -0
  409. package/dist/esm/lib/TextAnimation/RotatingText.js.map +1 -0
  410. package/dist/esm/lib/TextAnimation/ShimmeringText.js +64 -0
  411. package/dist/esm/lib/TextAnimation/ShimmeringText.js.map +1 -0
  412. package/dist/esm/lib/TextAnimation/SplittingText.js +86 -0
  413. package/dist/esm/lib/TextAnimation/SplittingText.js.map +1 -0
  414. package/dist/esm/lib/TextAnimation/TextGenerateEffect.js +59 -0
  415. package/dist/esm/lib/TextAnimation/TextGenerateEffect.js.map +1 -0
  416. package/dist/esm/lib/TextAnimation/TextHoverEffect.js +128 -0
  417. package/dist/esm/lib/TextAnimation/TextHoverEffect.js.map +1 -0
  418. package/dist/esm/lib/TextAnimation/TextPressureEffect.js +135 -0
  419. package/dist/esm/lib/TextAnimation/TextPressureEffect.js.map +1 -0
  420. package/dist/esm/lib/TextAnimation/TypingText.js +118 -0
  421. package/dist/esm/lib/TextAnimation/TypingText.js.map +1 -0
  422. package/dist/esm/lib/TextAnimation/WritingText.js +45 -0
  423. package/dist/esm/lib/TextAnimation/WritingText.js.map +1 -0
  424. package/dist/esm/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.js +865 -0
  425. package/dist/esm/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.js.map +1 -0
  426. package/dist/esm/node_modules/.pnpm/viewerjs@1.11.7/node_modules/viewerjs/dist/viewer.css +1 -0
  427. package/dist/esm/styles/animation.css +1 -0
  428. package/dist/esm/styles/index.css +1 -0
  429. package/dist/esm/styles/theme.css +1 -0
  430. package/dist/esm/utils/animations.js +189 -0
  431. package/dist/esm/utils/animations.js.map +1 -0
  432. package/dist/esm/utils/css.js +25 -0
  433. package/dist/esm/utils/css.js.map +1 -0
  434. package/dist/esm/utils/data-table.js +20 -0
  435. package/dist/esm/utils/data-table.js.map +1 -0
  436. package/dist/esm/utils/datetime.js +17 -0
  437. package/dist/esm/utils/datetime.js.map +1 -0
  438. package/dist/esm/vite.svg +1 -0
  439. package/dist/esm/wave.png +0 -0
  440. package/dist/types/components/Accordion/Accordion.d.ts +49 -0
  441. package/dist/types/components/Accordion/Accordion.d.ts.map +1 -0
  442. package/dist/types/components/Accordion/index.d.ts +3 -0
  443. package/dist/types/components/Accordion/index.d.ts.map +1 -0
  444. package/dist/types/components/Avatar/Avatar.d.ts +18 -0
  445. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -0
  446. package/dist/types/components/Avatar/index.d.ts +3 -0
  447. package/dist/types/components/Avatar/index.d.ts.map +1 -0
  448. package/dist/types/components/Badge/Badge.d.ts +10 -0
  449. package/dist/types/components/Badge/Badge.d.ts.map +1 -0
  450. package/dist/types/components/Badge/index.d.ts +2 -0
  451. package/dist/types/components/Badge/index.d.ts.map +1 -0
  452. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +23 -0
  453. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  454. package/dist/types/components/Breadcrumb/index.d.ts +2 -0
  455. package/dist/types/components/Breadcrumb/index.d.ts.map +1 -0
  456. package/dist/types/components/Button/Button.d.ts +10 -0
  457. package/dist/types/components/Button/Button.d.ts.map +1 -0
  458. package/dist/types/components/Button/ButtonGroup.d.ts +16 -0
  459. package/dist/types/components/Button/ButtonGroup.d.ts.map +1 -0
  460. package/dist/types/components/Button/index.d.ts +5 -0
  461. package/dist/types/components/Button/index.d.ts.map +1 -0
  462. package/dist/types/components/Calendar/Calendar.d.ts +15 -0
  463. package/dist/types/components/Calendar/Calendar.d.ts.map +1 -0
  464. package/dist/types/components/Calendar/index.d.ts +3 -0
  465. package/dist/types/components/Calendar/index.d.ts.map +1 -0
  466. package/dist/types/components/Carousel/Carousel.d.ts +79 -0
  467. package/dist/types/components/Carousel/Carousel.d.ts.map +1 -0
  468. package/dist/types/components/Carousel/index.d.ts +4 -0
  469. package/dist/types/components/Carousel/index.d.ts.map +1 -0
  470. package/dist/types/components/Checkbox/Checkbox.d.ts +15 -0
  471. package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -0
  472. package/dist/types/components/Checkbox/index.d.ts +2 -0
  473. package/dist/types/components/Checkbox/index.d.ts.map +1 -0
  474. package/dist/types/components/Collapsible/Collapsible.d.ts +17 -0
  475. package/dist/types/components/Collapsible/Collapsible.d.ts.map +1 -0
  476. package/dist/types/components/Collapsible/index.d.ts +2 -0
  477. package/dist/types/components/Collapsible/index.d.ts.map +1 -0
  478. package/dist/types/components/Command/Command.d.ts +39 -0
  479. package/dist/types/components/Command/Command.d.ts.map +1 -0
  480. package/dist/types/components/Command/index.d.ts +15 -0
  481. package/dist/types/components/Command/index.d.ts.map +1 -0
  482. package/dist/types/components/ContextMenu/ContextMenu.d.ts +64 -0
  483. package/dist/types/components/ContextMenu/ContextMenu.d.ts.map +1 -0
  484. package/dist/types/components/ContextMenu/index.d.ts +23 -0
  485. package/dist/types/components/ContextMenu/index.d.ts.map +1 -0
  486. package/dist/types/components/Cropper/Cropper.d.ts +86 -0
  487. package/dist/types/components/Cropper/Cropper.d.ts.map +1 -0
  488. package/dist/types/components/Cropper/CropperTool.d.ts +149 -0
  489. package/dist/types/components/Cropper/CropperTool.d.ts.map +1 -0
  490. package/dist/types/components/Cropper/index.d.ts +4 -0
  491. package/dist/types/components/Cropper/index.d.ts.map +1 -0
  492. package/dist/types/components/Cropper/utils.d.ts +130 -0
  493. package/dist/types/components/Cropper/utils.d.ts.map +1 -0
  494. package/dist/types/components/DatePicker/DatePicker.d.ts +56 -0
  495. package/dist/types/components/DatePicker/DatePicker.d.ts.map +1 -0
  496. package/dist/types/components/DatePicker/RangePicker.d.ts +42 -0
  497. package/dist/types/components/DatePicker/RangePicker.d.ts.map +1 -0
  498. package/dist/types/components/DatePicker/TimePicker.d.ts +43 -0
  499. package/dist/types/components/DatePicker/TimePicker.d.ts.map +1 -0
  500. package/dist/types/components/DatePicker/index.d.ts +7 -0
  501. package/dist/types/components/DatePicker/index.d.ts.map +1 -0
  502. package/dist/types/components/Dialog/Dialog.d.ts +45 -0
  503. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -0
  504. package/dist/types/components/Dialog/index.d.ts +2 -0
  505. package/dist/types/components/Dialog/index.d.ts.map +1 -0
  506. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +65 -0
  507. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
  508. package/dist/types/components/DropdownMenu/index.d.ts +22 -0
  509. package/dist/types/components/DropdownMenu/index.d.ts.map +1 -0
  510. package/dist/types/components/FloatLabel.d.ts +8 -0
  511. package/dist/types/components/FloatLabel.d.ts.map +1 -0
  512. package/dist/types/components/Glass/Glass.d.ts +10 -0
  513. package/dist/types/components/Glass/Glass.d.ts.map +1 -0
  514. package/dist/types/components/Glass/index.d.ts +2 -0
  515. package/dist/types/components/Glass/index.d.ts.map +1 -0
  516. package/dist/types/components/ImageViewer/ImageViewer.d.ts +58 -0
  517. package/dist/types/components/ImageViewer/ImageViewer.d.ts.map +1 -0
  518. package/dist/types/components/ImageViewer/index.d.ts +4 -0
  519. package/dist/types/components/ImageViewer/index.d.ts.map +1 -0
  520. package/dist/types/components/Input/Input.d.ts +27 -0
  521. package/dist/types/components/Input/Input.d.ts.map +1 -0
  522. package/dist/types/components/Input/index.d.ts +2 -0
  523. package/dist/types/components/Input/index.d.ts.map +1 -0
  524. package/dist/types/components/InputOTP/InputOTP.d.ts +20 -0
  525. package/dist/types/components/InputOTP/InputOTP.d.ts.map +1 -0
  526. package/dist/types/components/InputOTP/index.d.ts +2 -0
  527. package/dist/types/components/InputOTP/index.d.ts.map +1 -0
  528. package/dist/types/components/Interactive/3DCard.d.ts +28 -0
  529. package/dist/types/components/Interactive/3DCard.d.ts.map +1 -0
  530. package/dist/types/components/Interactive/3DMarquee.d.ts +20 -0
  531. package/dist/types/components/Interactive/3DMarquee.d.ts.map +1 -0
  532. package/dist/types/components/Interactive/CursorFollow.d.ts +75 -0
  533. package/dist/types/components/Interactive/CursorFollow.d.ts.map +1 -0
  534. package/dist/types/components/Interactive/index.cursor.d.ts +7 -0
  535. package/dist/types/components/Interactive/index.cursor.d.ts.map +1 -0
  536. package/dist/types/components/Interactive/index.d.ts +2 -0
  537. package/dist/types/components/Interactive/index.d.ts.map +1 -0
  538. package/dist/types/components/Label/Label.d.ts +3 -0
  539. package/dist/types/components/Label/Label.d.ts.map +1 -0
  540. package/dist/types/components/Label/index.d.ts +2 -0
  541. package/dist/types/components/Label/index.d.ts.map +1 -0
  542. package/dist/types/components/Marquee/Marquee.d.ts +31 -0
  543. package/dist/types/components/Marquee/Marquee.d.ts.map +1 -0
  544. package/dist/types/components/Marquee/MarqueeWrapper.d.ts +10 -0
  545. package/dist/types/components/Marquee/MarqueeWrapper.d.ts.map +1 -0
  546. package/dist/types/components/Marquee/index.d.ts +13 -0
  547. package/dist/types/components/Marquee/index.d.ts.map +1 -0
  548. package/dist/types/components/Masonry/Masonry.d.ts +41 -0
  549. package/dist/types/components/Masonry/Masonry.d.ts.map +1 -0
  550. package/dist/types/components/Masonry/MasonryWrapper.d.ts +29 -0
  551. package/dist/types/components/Masonry/MasonryWrapper.d.ts.map +1 -0
  552. package/dist/types/components/Masonry/index.d.ts +5 -0
  553. package/dist/types/components/Masonry/index.d.ts.map +1 -0
  554. package/dist/types/components/Pagination/Pagination.d.ts +24 -0
  555. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -0
  556. package/dist/types/components/Pagination/index.d.ts +11 -0
  557. package/dist/types/components/Pagination/index.d.ts.map +1 -0
  558. package/dist/types/components/Popover/Popover.d.ts +22 -0
  559. package/dist/types/components/Popover/Popover.d.ts.map +1 -0
  560. package/dist/types/components/Popover/index.d.ts +5 -0
  561. package/dist/types/components/Popover/index.d.ts.map +1 -0
  562. package/dist/types/components/QrCode/QrCode.d.ts +51 -0
  563. package/dist/types/components/QrCode/QrCode.d.ts.map +1 -0
  564. package/dist/types/components/QrCode/index.d.ts +13 -0
  565. package/dist/types/components/QrCode/index.d.ts.map +1 -0
  566. package/dist/types/components/Radio/Radio.d.ts +35 -0
  567. package/dist/types/components/Radio/Radio.d.ts.map +1 -0
  568. package/dist/types/components/Radio/index.d.ts +2 -0
  569. package/dist/types/components/Radio/index.d.ts.map +1 -0
  570. package/dist/types/components/Rate/Rate.d.ts +26 -0
  571. package/dist/types/components/Rate/Rate.d.ts.map +1 -0
  572. package/dist/types/components/Rate/index.d.ts +3 -0
  573. package/dist/types/components/Rate/index.d.ts.map +1 -0
  574. package/dist/types/components/Resizable/Resizable.d.ts +71 -0
  575. package/dist/types/components/Resizable/Resizable.d.ts.map +1 -0
  576. package/dist/types/components/Resizable/index.d.ts +4 -0
  577. package/dist/types/components/Resizable/index.d.ts.map +1 -0
  578. package/dist/types/components/ScrollArea/ScrollArea.d.ts +19 -0
  579. package/dist/types/components/ScrollArea/ScrollArea.d.ts.map +1 -0
  580. package/dist/types/components/ScrollArea/index.d.ts +2 -0
  581. package/dist/types/components/ScrollArea/index.d.ts.map +1 -0
  582. package/dist/types/components/Select/Select.d.ts +33 -0
  583. package/dist/types/components/Select/Select.d.ts.map +1 -0
  584. package/dist/types/components/Select/index.d.ts +2 -0
  585. package/dist/types/components/Select/index.d.ts.map +1 -0
  586. package/dist/types/components/Separator/Separator.d.ts +5 -0
  587. package/dist/types/components/Separator/Separator.d.ts.map +1 -0
  588. package/dist/types/components/Separator/index.d.ts +2 -0
  589. package/dist/types/components/Separator/index.d.ts.map +1 -0
  590. package/dist/types/components/Sheet/Sheet.d.ts +36 -0
  591. package/dist/types/components/Sheet/Sheet.d.ts.map +1 -0
  592. package/dist/types/components/Sheet/index.d.ts +2 -0
  593. package/dist/types/components/Sheet/index.d.ts.map +1 -0
  594. package/dist/types/components/Sidebar/Sidebar.d.ts +50 -0
  595. package/dist/types/components/Sidebar/Sidebar.d.ts.map +1 -0
  596. package/dist/types/components/Sidebar/index.d.ts +4 -0
  597. package/dist/types/components/Sidebar/index.d.ts.map +1 -0
  598. package/dist/types/components/Skeleton/Skeleton.d.ts +6 -0
  599. package/dist/types/components/Skeleton/Skeleton.d.ts.map +1 -0
  600. package/dist/types/components/Skeleton/index.d.ts +2 -0
  601. package/dist/types/components/Skeleton/index.d.ts.map +1 -0
  602. package/dist/types/components/Slider/Slider.d.ts +25 -0
  603. package/dist/types/components/Slider/Slider.d.ts.map +1 -0
  604. package/dist/types/components/Slider/index.d.ts +2 -0
  605. package/dist/types/components/Slider/index.d.ts.map +1 -0
  606. package/dist/types/components/Stepper/Stepper.d.ts +86 -0
  607. package/dist/types/components/Stepper/Stepper.d.ts.map +1 -0
  608. package/dist/types/components/Stepper/StepperWrapper.d.ts +25 -0
  609. package/dist/types/components/Stepper/StepperWrapper.d.ts.map +1 -0
  610. package/dist/types/components/Stepper/index.d.ts +18 -0
  611. package/dist/types/components/Stepper/index.d.ts.map +1 -0
  612. package/dist/types/components/Switch/Switch.d.ts +14 -0
  613. package/dist/types/components/Switch/Switch.d.ts.map +1 -0
  614. package/dist/types/components/Switch/index.d.ts +2 -0
  615. package/dist/types/components/Switch/index.d.ts.map +1 -0
  616. package/dist/types/components/Table/TableFilter/data-table-date-filter.d.ts +9 -0
  617. package/dist/types/components/Table/TableFilter/data-table-date-filter.d.ts.map +1 -0
  618. package/dist/types/components/Table/TableFilter/data-table-filter-popover.d.ts +11 -0
  619. package/dist/types/components/Table/TableFilter/data-table-filter-popover.d.ts.map +1 -0
  620. package/dist/types/components/Table/TableFilter/data-table-slider-filter.d.ts +8 -0
  621. package/dist/types/components/Table/TableFilter/data-table-slider-filter.d.ts.map +1 -0
  622. package/dist/types/components/Table/TableWrapper.d.ts +2 -0
  623. package/dist/types/components/Table/TableWrapper.d.ts.map +1 -0
  624. package/dist/types/components/Table/data-table-column-header.d.ts +9 -0
  625. package/dist/types/components/Table/data-table-column-header.d.ts.map +1 -0
  626. package/dist/types/components/Table/data-table-pagination.d.ts +12 -0
  627. package/dist/types/components/Table/data-table-pagination.d.ts.map +1 -0
  628. package/dist/types/components/Table/data-table-toolbar.d.ts +10 -0
  629. package/dist/types/components/Table/data-table-toolbar.d.ts.map +1 -0
  630. package/dist/types/components/Table/data-table-view-options.d.ts +9 -0
  631. package/dist/types/components/Table/data-table-view-options.d.ts.map +1 -0
  632. package/dist/types/components/Table/data-table.d.ts +18 -0
  633. package/dist/types/components/Table/data-table.d.ts.map +1 -0
  634. package/dist/types/components/Table/index.d.ts +2 -0
  635. package/dist/types/components/Table/index.d.ts.map +1 -0
  636. package/dist/types/components/Table/select-column.d.ts +5 -0
  637. package/dist/types/components/Table/select-column.d.ts.map +1 -0
  638. package/dist/types/components/Tabs/Tabs.d.ts +22 -0
  639. package/dist/types/components/Tabs/Tabs.d.ts.map +1 -0
  640. package/dist/types/components/Tabs/classes.d.ts +29 -0
  641. package/dist/types/components/Tabs/classes.d.ts.map +1 -0
  642. package/dist/types/components/Tabs/index.d.ts +4 -0
  643. package/dist/types/components/Tabs/index.d.ts.map +1 -0
  644. package/dist/types/components/Tabs/types.d.ts +15 -0
  645. package/dist/types/components/Tabs/types.d.ts.map +1 -0
  646. package/dist/types/components/Textarea/Textarea.d.ts +17 -0
  647. package/dist/types/components/Textarea/Textarea.d.ts.map +1 -0
  648. package/dist/types/components/Textarea/index.d.ts +2 -0
  649. package/dist/types/components/Textarea/index.d.ts.map +1 -0
  650. package/dist/types/components/Theme/ThemeShowcase.d.ts +3 -0
  651. package/dist/types/components/Theme/ThemeShowcase.d.ts.map +1 -0
  652. package/dist/types/components/TimeGridView.d.ts +15 -0
  653. package/dist/types/components/TimeGridView.d.ts.map +1 -0
  654. package/dist/types/components/Toast/Toast.d.ts +12 -0
  655. package/dist/types/components/Toast/Toast.d.ts.map +1 -0
  656. package/dist/types/components/Toast/index.d.ts +3 -0
  657. package/dist/types/components/Toast/index.d.ts.map +1 -0
  658. package/dist/types/components/Toggle/Toggle.d.ts +10 -0
  659. package/dist/types/components/Toggle/Toggle.d.ts.map +1 -0
  660. package/dist/types/components/Toggle/index.d.ts +2 -0
  661. package/dist/types/components/Toggle/index.d.ts.map +1 -0
  662. package/dist/types/components/Tooltip/Tooltip.d.ts +19 -0
  663. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -0
  664. package/dist/types/components/Tooltip/index.d.ts +3 -0
  665. package/dist/types/components/Tooltip/index.d.ts.map +1 -0
  666. package/dist/types/components/Tour/Tour.d.ts +105 -0
  667. package/dist/types/components/Tour/Tour.d.ts.map +1 -0
  668. package/dist/types/components/Tour/TourWrapper.d.ts +46 -0
  669. package/dist/types/components/Tour/TourWrapper.d.ts.map +1 -0
  670. package/dist/types/components/Tour/index.d.ts +36 -0
  671. package/dist/types/components/Tour/index.d.ts.map +1 -0
  672. package/dist/types/components/TreeSelect/TreeSelect.d.ts +2 -0
  673. package/dist/types/components/TreeSelect/TreeSelect.d.ts.map +1 -0
  674. package/dist/types/components/TreeSelect/index.d.ts +2 -0
  675. package/dist/types/components/TreeSelect/index.d.ts.map +1 -0
  676. package/dist/types/components/Upload/Upload.d.ts +69 -0
  677. package/dist/types/components/Upload/Upload.d.ts.map +1 -0
  678. package/dist/types/components/Upload/index.d.ts +2 -0
  679. package/dist/types/components/Upload/index.d.ts.map +1 -0
  680. package/dist/types/components/WheelColumn.d.ts +15 -0
  681. package/dist/types/components/WheelColumn.d.ts.map +1 -0
  682. package/dist/types/config/data-table.d.ts +125 -0
  683. package/dist/types/config/data-table.d.ts.map +1 -0
  684. package/dist/types/constants/common.d.ts +4 -0
  685. package/dist/types/constants/common.d.ts.map +1 -0
  686. package/dist/types/constants/theme.d.ts +13 -0
  687. package/dist/types/constants/theme.d.ts.map +1 -0
  688. package/dist/types/hooks/index.d.ts +10 -0
  689. package/dist/types/hooks/index.d.ts.map +1 -0
  690. package/dist/types/hooks/use-callback-ref.d.ts +10 -0
  691. package/dist/types/hooks/use-callback-ref.d.ts.map +1 -0
  692. package/dist/types/hooks/use-data-table.d.ts +26 -0
  693. package/dist/types/hooks/use-data-table.d.ts.map +1 -0
  694. package/dist/types/hooks/use-debounced-callback.d.ts +2 -0
  695. package/dist/types/hooks/use-debounced-callback.d.ts.map +1 -0
  696. package/dist/types/hooks/use-debounced-value.d.ts +9 -0
  697. package/dist/types/hooks/use-debounced-value.d.ts.map +1 -0
  698. package/dist/types/hooks/use-event-listener.d.ts +7 -0
  699. package/dist/types/hooks/use-event-listener.d.ts.map +1 -0
  700. package/dist/types/hooks/use-intersection-observer.d.ts +20 -0
  701. package/dist/types/hooks/use-intersection-observer.d.ts.map +1 -0
  702. package/dist/types/hooks/use-isomorphic-layout-effect.d.ts +3 -0
  703. package/dist/types/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
  704. package/dist/types/hooks/use-media-query.d.ts +7 -0
  705. package/dist/types/hooks/use-media-query.d.ts.map +1 -0
  706. package/dist/types/hooks/use-mouse-position.d.ts +14 -0
  707. package/dist/types/hooks/use-mouse-position.d.ts.map +1 -0
  708. package/dist/types/hooks/use-on-click-outside.d.ts +5 -0
  709. package/dist/types/hooks/use-on-click-outside.d.ts.map +1 -0
  710. package/dist/types/hooks/use-script.d.ts +9 -0
  711. package/dist/types/hooks/use-script.d.ts.map +1 -0
  712. package/dist/types/hooks/use-scroll-lock.d.ts +13 -0
  713. package/dist/types/hooks/use-scroll-lock.d.ts.map +1 -0
  714. package/dist/types/index.d.ts +72 -0
  715. package/dist/types/index.d.ts.map +1 -0
  716. package/dist/types/lib/TextAnimation/BlurText.d.ts +18 -0
  717. package/dist/types/lib/TextAnimation/BlurText.d.ts.map +1 -0
  718. package/dist/types/lib/TextAnimation/CircularText.d.ts +10 -0
  719. package/dist/types/lib/TextAnimation/CircularText.d.ts.map +1 -0
  720. package/dist/types/lib/TextAnimation/FlipWords.d.ts +10 -0
  721. package/dist/types/lib/TextAnimation/FlipWords.d.ts.map +1 -0
  722. package/dist/types/lib/TextAnimation/GradientText.d.ts +11 -0
  723. package/dist/types/lib/TextAnimation/GradientText.d.ts.map +1 -0
  724. package/dist/types/lib/TextAnimation/RollingText.d.ts +12 -0
  725. package/dist/types/lib/TextAnimation/RollingText.d.ts.map +1 -0
  726. package/dist/types/lib/TextAnimation/RotatingText.d.ts +11 -0
  727. package/dist/types/lib/TextAnimation/RotatingText.d.ts.map +1 -0
  728. package/dist/types/lib/TextAnimation/ShimmeringText.d.ts +12 -0
  729. package/dist/types/lib/TextAnimation/ShimmeringText.d.ts.map +1 -0
  730. package/dist/types/lib/TextAnimation/SplittingText.d.ts +26 -0
  731. package/dist/types/lib/TextAnimation/SplittingText.d.ts.map +1 -0
  732. package/dist/types/lib/TextAnimation/TextGenerateEffect.d.ts +10 -0
  733. package/dist/types/lib/TextAnimation/TextGenerateEffect.d.ts.map +1 -0
  734. package/dist/types/lib/TextAnimation/TextHoverEffect.d.ts +6 -0
  735. package/dist/types/lib/TextAnimation/TextHoverEffect.d.ts.map +1 -0
  736. package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts +20 -0
  737. package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts.map +1 -0
  738. package/dist/types/lib/TextAnimation/TypingText.d.ts +27 -0
  739. package/dist/types/lib/TextAnimation/TypingText.d.ts.map +1 -0
  740. package/dist/types/lib/TextAnimation/WritingText.d.ts +13 -0
  741. package/dist/types/lib/TextAnimation/WritingText.d.ts.map +1 -0
  742. package/dist/types/lib/TextAnimation/index.d.ts +16 -0
  743. package/dist/types/lib/TextAnimation/index.d.ts.map +1 -0
  744. package/dist/types/types/data-table.d.ts +44 -0
  745. package/dist/types/types/data-table.d.ts.map +1 -0
  746. package/dist/types/types/theme.d.ts +11 -0
  747. package/dist/types/types/theme.d.ts.map +1 -0
  748. package/dist/types/types/variables.d.ts +6 -0
  749. package/dist/types/types/variables.d.ts.map +1 -0
  750. package/dist/types/utils/animations.d.ts +47 -0
  751. package/dist/types/utils/animations.d.ts.map +1 -0
  752. package/dist/types/utils/css.d.ts +4 -0
  753. package/dist/types/utils/css.d.ts.map +1 -0
  754. package/dist/types/utils/data-table.d.ts +13 -0
  755. package/dist/types/utils/data-table.d.ts.map +1 -0
  756. package/dist/types/utils/datetime.d.ts +2 -0
  757. package/dist/types/utils/datetime.d.ts.map +1 -0
  758. package/dist/types/utils/parsers.d.ts +38 -0
  759. package/dist/types/utils/parsers.d.ts.map +1 -0
  760. package/package.json +968 -0
package/README.md ADDED
@@ -0,0 +1,487 @@
1
+ # @dsui/design-system
2
+
3
+ A modern, fully-typed React design system built on top of **shadcn/ui** with enhanced features, TypeScript, TailwindCSS, and Radix UI primitives.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@dsui/design-system.svg)](https://www.npmjs.com/package/@dsui/design-system)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ ## 📦 Installation
9
+
10
+ DSUI bundles all its dependencies for easy installation:
11
+
12
+ ```bash
13
+ # npm
14
+ npm install dsui react react-dom
15
+
16
+ # yarn
17
+ yarn add dsui react react-dom
18
+
19
+ # pnpm
20
+ pnpm add dsui react react-dom
21
+ ```
22
+
23
+ That's it! All other dependencies (motion, date-fns, lucide-react, tailwindcss, etc.) are automatically installed.
24
+
25
+ See [INSTALLATION.md](./INSTALLATION.md) for detailed installation guide.
26
+
27
+ ## 🚀 Quick Start
28
+
29
+ ### 1. Import CSS
30
+
31
+ Import the design system CSS in your app entry point:
32
+
33
+ ```tsx
34
+ // main.tsx or App.tsx
35
+ import "dsui/theme.css";
36
+ import "dsui/index.css";
37
+ import "dsui/animation.css";
38
+ ```
39
+
40
+ ### 2. Configure TailwindCSS
41
+
42
+ Add the design system to your `tailwind.config.js`:
43
+
44
+ ```js
45
+ /** @type {import('tailwindcss').Config} */
46
+ export default {
47
+ content: [
48
+ "./src/**/*.{js,jsx,ts,tsx}",
49
+ "./node_modules/dsui/dist/**/*.{js,mjs}",
50
+ ],
51
+ theme: {
52
+ extend: {},
53
+ },
54
+ plugins: [require("tailwindcss-animate")],
55
+ };
56
+ ```
57
+
58
+ ### 3. Use Components
59
+
60
+ ```tsx
61
+ import { Button, Dialog } from "@dsui/design-system";
62
+
63
+ function App() {
64
+ const [open, setOpen] = useState(false);
65
+
66
+ return (
67
+ <div>
68
+ <Button variant="default">Click me</Button>
69
+
70
+ {/* Dialog with trigger prop */}
71
+ <Dialog
72
+ trigger={<Button>Open Dialog</Button>}
73
+ title="Welcome"
74
+ description="This is an enhanced dialog component"
75
+ footer={
76
+ <div className="flex gap-2 justify-end w-full">
77
+ <Button variant="outline" onClick={() => setOpen(false)}>
78
+ Cancel
79
+ </Button>
80
+ <Button>Confirm</Button>
81
+ </div>
82
+ }
83
+ >
84
+ <p>Dialog content goes here</p>
85
+ </Dialog>
86
+ </div>
87
+ );
88
+ }
89
+ ```
90
+
91
+ ## 📚 Component Import
92
+
93
+ ### Full Import
94
+
95
+ Import all components from the main entry:
96
+
97
+ ```tsx
98
+ import {
99
+ Avatar,
100
+ Badge,
101
+ Button,
102
+ Calendar,
103
+ Checkbox,
104
+ Dialog,
105
+ Input,
106
+ Select,
107
+ Tabs,
108
+ Toast,
109
+ } from "@dsui/design-system";
110
+ ```
111
+
112
+ ### Tree-shakeable Imports
113
+
114
+ Import individual components for optimal bundle size:
115
+
116
+ ```tsx
117
+ import { Button } from "@dsui/design-system/button";
118
+ import { Dialog } from "@dsui/design-system/dialog";
119
+ import { DatePicker } from "@dsui/design-system/datepicker";
120
+ import { Input } from "@dsui/design-system/input";
121
+ ```
122
+
123
+ ## 🎨 Theme Configuration
124
+
125
+ ### CSS Variables
126
+
127
+ The design system uses CSS variables for theming. Customize colors in your global CSS:
128
+
129
+ ```css
130
+ :root {
131
+ /* Light mode */
132
+ --background: 0 0% 100%;
133
+ --foreground: 222.2 84% 4.9%;
134
+ --primary: 221.2 83.2% 53.3%;
135
+ --primary-foreground: 210 40% 98%;
136
+ --secondary: 210 40% 96.1%;
137
+ --secondary-foreground: 222.2 47.4% 11.2%;
138
+ --muted: 210 40% 96.1%;
139
+ --muted-foreground: 215.4 16.3% 46.9%;
140
+ --accent: 210 40% 96.1%;
141
+ --accent-foreground: 222.2 47.4% 11.2%;
142
+ --destructive: 0 84.2% 60.2%;
143
+ --destructive-foreground: 210 40% 98%;
144
+ --border: 214.3 31.8% 91.4%;
145
+ --input: 214.3 31.8% 91.4%;
146
+ --ring: 221.2 83.2% 53.3%;
147
+ --radius: 0.5rem;
148
+ }
149
+
150
+ .dark {
151
+ /* Dark mode */
152
+ --background: 222.2 84% 4.9%;
153
+ --foreground: 210 40% 98%;
154
+ --primary: 217.2 91.2% 59.8%;
155
+ --primary-foreground: 222.2 47.4% 11.2%;
156
+ /* ... other dark mode variables */
157
+ }
158
+ ```
159
+
160
+ ### Dark Mode
161
+
162
+ Toggle dark mode by adding/removing the `dark` class on the root element:
163
+
164
+ ```tsx
165
+ // Toggle dark mode
166
+ document.documentElement.classList.toggle("dark");
167
+ ```
168
+
169
+ ## 🧩 Available Components
170
+
171
+ ### Form Components
172
+
173
+ - **Button** - Primary, secondary, outline, ghost, and destructive variants
174
+ - **Input** - Text, password, email with label support
175
+ - **Checkbox** - Accessible checkbox with label
176
+ - **Radio** - Radio button groups
177
+ - **Switch** - Toggle switch component
178
+ - **Select** - Dropdown select with search
179
+ - **Textarea** - Multi-line text input
180
+ - **Slider** - Range slider component
181
+ - **InputOTP** - One-time password input
182
+
183
+ ### Data Display
184
+
185
+ - **Avatar** - User profile pictures with fallback
186
+ - **Badge** - Status badges and labels
187
+ - **Calendar** - Date calendar picker
188
+ - **DatePicker** - Date selection with range support
189
+ - **Toast** - Notification toasts
190
+ - **Tooltip** - Hover tooltips
191
+ - **Skeleton** - Loading skeletons
192
+
193
+ ### Layout & Navigation
194
+
195
+ - **Dialog** - Modal dialogs
196
+ - **Sheet** - Side sheet/drawer
197
+ - **Tabs** - Tab navigation
198
+ - **Sidebar** - Navigation sidebar
199
+ - **Breadcrumb** - Breadcrumb navigation
200
+ - **Separator** - Visual dividers
201
+ - **ScrollArea** - Custom scrollbars
202
+ - **Collapsible** - Expandable sections
203
+
204
+ ### Overlay
205
+
206
+ - **Popover** - Floating popovers
207
+ - **Glass** - Glassmorphism effect component
208
+
209
+ ### Utility
210
+
211
+ - **Theme** - Theme utilities and showcase
212
+ - **FloatLabel** - Floating label for inputs
213
+
214
+ ## 🎯 Usage Examples
215
+
216
+ ### Button Component
217
+
218
+ ```tsx
219
+ import { Button } from "@dsui/design-system";
220
+
221
+ <Button variant="default" size="md">
222
+ Default Button
223
+ </Button>
224
+
225
+ <Button variant="outline" size="lg">
226
+ Outline Button
227
+ </Button>
228
+
229
+ <Button variant="solid" color="destructive">
230
+ Destructive Button
231
+ </Button>
232
+ ```
233
+
234
+ ### Dialog Component
235
+
236
+ The Dialog component is enhanced with additional features beyond shadcn/ui:
237
+
238
+ ```tsx
239
+ import { Dialog, Button } from "@dsui/design-system";
240
+ import { useState } from "react";
241
+
242
+ function MyComponent() {
243
+ const [open, setOpen] = useState(false);
244
+
245
+ return (
246
+ // Simple dialog with trigger
247
+ <Dialog
248
+ open={open}
249
+ onOpenChange={setOpen}
250
+ trigger={<Button>Open Dialog</Button>}
251
+ title="Dialog Title"
252
+ description="Dialog description"
253
+ footer={
254
+ <div className="flex gap-2 justify-end w-full">
255
+ <Button variant="outline" onClick={() => setOpen(false)}>
256
+ Cancel
257
+ </Button>
258
+ <Button onClick={() => setOpen(false)}>Save Changes</Button>
259
+ </div>
260
+ }
261
+ >
262
+ <p className="text-sm text-muted-foreground">Dialog content goes here</p>
263
+ </Dialog>
264
+ );
265
+ }
266
+ ```
267
+
268
+ **Enhanced Dialog Features:**
269
+
270
+ - **Variants**: `dialog`, `confirm`, `alert`, `info`, `warning`
271
+ - **Sizes**: `sm`, `md`, `lg`, `xl`, `2xl`, `3xl`, `4xl`, `full`
272
+ - **Positions**: `center`, `top`, `bottom`, `left`, `right`, `top-left`, `top-right`, `bottom-left`, `bottom-right`
273
+ - **Animations**: `bounce`, `slide-up`, `slide-down`, `slide-left`, `slide-right`, `zoom-in`, `zoom-out`, `flip`, `glow`, `spec`
274
+ - **Scroll Options**: `stickyHeader`, `stickyFooter`, `scrollable`
275
+
276
+ ```tsx
277
+ // Confirm dialog variant
278
+ <Dialog
279
+ variant="confirm"
280
+ trigger={<Button>Confirm Action</Button>}
281
+ title="Confirm Action"
282
+ description="Are you sure you want to proceed?"
283
+ onConfirm={() => console.log("Confirmed")}
284
+ onCancel={() => console.log("Cancelled")}
285
+ />
286
+
287
+ // Alert dialog variant
288
+ <Dialog
289
+ variant="alert"
290
+ trigger={<Button>Show Alert</Button>}
291
+ title="Warning"
292
+ description="This action cannot be undone"
293
+ onConfirm={() => console.log("Acknowledged")}
294
+ confirmText="I Understand"
295
+ />
296
+
297
+ // Dialog with custom position and animation
298
+ <Dialog
299
+ position="right"
300
+ animation="slide-left"
301
+ size="lg"
302
+ trigger={<Button>Side Panel</Button>}
303
+ title="Settings"
304
+ >
305
+ <div className="space-y-4">
306
+ {/* Settings content */}
307
+ </div>
308
+ </Dialog>
309
+
310
+ // Scrollable dialog with sticky header/footer
311
+ <Dialog
312
+ stickyHeader
313
+ stickyFooter
314
+ trigger={<Button>Long Content</Button>}
315
+ title="Scrollable Dialog"
316
+ footer={
317
+ <div className="flex gap-2 justify-end w-full">
318
+ <Button variant="outline">Cancel</Button>
319
+ <Button>Save</Button>
320
+ </div>
321
+ }
322
+ >
323
+ <div className="space-y-4">
324
+ {Array.from({ length: 20 }).map((_, i) => (
325
+ <div key={i} className="p-4 border rounded">
326
+ Section {i + 1}
327
+ </div>
328
+ ))}
329
+ </div>
330
+ </Dialog>
331
+ ```
332
+
333
+ **Standalone Usage (without trigger prop):**
334
+
335
+ ```tsx
336
+ function MyComponent() {
337
+ const [open, setOpen] = useState(false);
338
+
339
+ return (
340
+ <>
341
+ <Button onClick={() => setOpen(true)}>Open</Button>
342
+
343
+ <Dialog
344
+ open={open}
345
+ onOpenChange={setOpen}
346
+ title="Standalone Dialog"
347
+ description="Dialog without trigger prop"
348
+ >
349
+ <p>Content here</p>
350
+ </Dialog>
351
+ </>
352
+ );
353
+ }
354
+ ```
355
+
356
+ ### DatePicker Component
357
+
358
+ Enhanced DatePicker with range and time selection:
359
+
360
+ ```tsx
361
+ import { DatePicker } from "@dsui/design-system";
362
+ import { useState } from "react";
363
+
364
+ function MyComponent() {
365
+ const [date, setDate] = useState<Date>();
366
+
367
+ return (
368
+ <DatePicker selected={date} onSelect={setDate} placeholder="Pick a date" />
369
+ );
370
+ }
371
+ ```
372
+
373
+ ### Toast Notifications
374
+
375
+ ```tsx
376
+ import { toast, Toaster } from "@dsui/design-system";
377
+
378
+ function App() {
379
+ return (
380
+ <>
381
+ <Button onClick={() => toast.success("Success message!")}>
382
+ Show Toast
383
+ </Button>
384
+ <Button onClick={() => toast.error("Error message!")}>Show Error</Button>
385
+ <Button onClick={() => toast.info("Info message!")}>Show Info</Button>
386
+ <Toaster />
387
+ </>
388
+ );
389
+ }
390
+ ```
391
+
392
+ ## 🎨 Styling & Customization
393
+
394
+ ### Using CSS Variables
395
+
396
+ ```tsx
397
+ // Override specific component styles
398
+ <Button
399
+ style={
400
+ {
401
+ "--primary": "200 100% 50%",
402
+ "--primary-foreground": "0 0% 100%",
403
+ } as React.CSSProperties
404
+ }
405
+ >
406
+ Custom Styled Button
407
+ </Button>
408
+ ```
409
+
410
+ ### Class Names
411
+
412
+ All components accept `className` prop for custom styling:
413
+
414
+ ```tsx
415
+ <Button className="custom-button-class">
416
+ Styled Button
417
+ </Button>
418
+
419
+ <Dialog
420
+ className="custom-dialog-class"
421
+ headerClassName="custom-header"
422
+ contentClassName="custom-content"
423
+ footerClassName="custom-footer"
424
+ trigger={<Button>Custom Styled Dialog</Button>}
425
+ title="Custom Dialog"
426
+ >
427
+ <p>Content with custom styling</p>
428
+ </Dialog>
429
+ ```
430
+
431
+ ### Variants with CVA
432
+
433
+ Components use `class-variance-authority` for variant management:
434
+
435
+ ```tsx
436
+ <Button variant="outline" size="lg" className="w-full">
437
+ Full Width Button
438
+ </Button>
439
+ ```
440
+
441
+ ## 🔧 Development
442
+
443
+ ```bash
444
+ # Install dependencies
445
+ pnpm install
446
+
447
+ # Start Storybook
448
+ pnpm dev
449
+
450
+ # Build library
451
+ pnpm build
452
+
453
+ # Run linting
454
+ pnpm lint
455
+ ```
456
+
457
+ ## 📖 Documentation
458
+
459
+ For detailed documentation and interactive examples, visit our [Storybook](https://your-storybook-url.com).
460
+
461
+ ## 🤝 Contributing
462
+
463
+ Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details.
464
+
465
+ ## 📄 License
466
+
467
+ MIT © [Your Name]
468
+
469
+ ## 🙏 Credits
470
+
471
+ This design system is built on top of [shadcn/ui](https://ui.shadcn.com/), enhancing it with:
472
+
473
+ - Additional component variants and sizes
474
+ - Enhanced animation support with Motion
475
+ - Extended theming capabilities
476
+ - Custom components like DatePicker with range/time support
477
+ - Improved Dialog with positions, animations, and scroll options
478
+
479
+ Built with:
480
+
481
+ - [shadcn/ui](https://ui.shadcn.com/) - Base component library
482
+ - [Radix UI](https://www.radix-ui.com/) - Unstyled, accessible primitives
483
+ - [TailwindCSS](https://tailwindcss.com/) - Utility-first CSS framework
484
+ - [Motion](https://motion.dev/) - Animation library
485
+ - [date-fns](https://date-fns.org/) - Date utility library
486
+ - [Lucide React](https://lucide.dev/) - Beautiful icon set
487
+ - [React Day Picker](https://react-day-picker.js.org/) - Date picker component
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}exports.getDefaultExportFromCjs=e;
2
+ //# sourceMappingURL=_commonjsHelpers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.cjs"),r=require("../node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs");var t=r.__require();const o=e.getDefaultExportFromCjs(t);exports.default=o;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={exports:{}};exports.__module=e;
2
+ //# sourceMappingURL=index2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),j=require("react"),t=require("@dsui/ui/components/accordion"),o=require("@dsui/ui/lib/utils"),A={primary:{trigger:"data-[state=open]:bg-primary/10 data-[state=open]:text-primary data-[state=open]:rounded-b-none data-[state=open]:border-primary/20",content:"bg-primary/10 rounded-b-md"},secondary:{trigger:"data-[state=open]:bg-secondary/10 data-[state=open]:text-secondary data-[state=open]:rounded-b-none data-[state=open]:border-secondary/20",content:"bg-secondary/10 rounded-b-md"},success:{trigger:"data-[state=open]:bg-success/10 data-[state=open]:text-success data-[state=open]:rounded-b-none data-[state=open]:border-success/20",content:"bg-success/10 rounded-b-md"},warning:{trigger:"data-[state=open]:bg-warning/10 data-[state=open]:text-warning data-[state=open]:rounded-b-none data-[state=open]:border-warning/20",content:"bg-warning/10 rounded-b-md"},error:{trigger:"data-[state=open]:bg-error/10 data-[state=open]:text-error data-[state=open]:rounded-b-none data-[state=open]:border-error/20",content:"bg-error/10 rounded-b-md"},glass:{trigger:"data-[state=open]:bg-glass/10 data-[state=open]:text-glass data-[state=open]:rounded-b-none data-[state=open]:border-glass/20",content:"bg-glass/10 rounded-b-md"}},v={default:{root:"rounded-lg",item:"px-0",trigger:"px-4 hover:bg-accent/50",content:"px-4"},bordered:{root:"rounded-lg border-2 divide-y-2",item:"px-0 border-0",trigger:"px-4 font-semibold hover:bg-accent",content:"px-4"},separated:{root:"space-y-2",item:"rounded-lg border bg-card last:border-b",trigger:"px-4 hover:bg-accent/50",content:"px-4"},ghost:{root:"",item:"border-0",trigger:"px-2 hover:bg-accent/30 rounded-md",content:"px-2"}},l=j.forwardRef((N,a)=>{const{items:i,variant:C="default",color:s,className:c,itemClassName:p,triggerClassName:u,contentClassName:b,children:g,type:m,...d}=N,r=v[C],x=s?A[s].trigger:"",y=s?A[s].content:"";return g&&!i?m==="multiple"?n.jsx(t.Accordion,{ref:a,type:"multiple",className:o.cn(r.root,c),...d,children:g}):n.jsx(t.Accordion,{ref:a,type:"single",className:o.cn(r.root,c),...d,children:g}):m==="multiple"?n.jsx(t.Accordion,{ref:a,type:"multiple",className:o.cn(r.root,c),...d,children:i?.map(e=>n.jsxs(t.AccordionItem,{value:e.value,disabled:e.disabled,className:o.cn(r.item,p,e.className),children:[n.jsx(t.AccordionTrigger,{className:o.cn(r.trigger,x,u,e.triggerClassName),children:e.trigger}),n.jsx(t.AccordionContent,{className:o.cn(r.content,y,b,e.contentClassName),children:e.content})]},e.value))}):n.jsx(t.Accordion,{ref:a,type:"single",className:o.cn(r.root,c),...d,children:i?.map(e=>n.jsxs(t.AccordionItem,{value:e.value,disabled:e.disabled,className:o.cn(r.item,p,e.className),children:[n.jsx(t.AccordionTrigger,{className:o.cn(r.trigger,x,u,e.triggerClassName),children:e.trigger}),n.jsx(t.AccordionContent,{className:o.cn(r.content,y,b,e.contentClassName),children:e?.content})]},e.value))})});l.displayName="Accordion";const h=Object.assign(l,{Item:t.AccordionItem,Trigger:t.AccordionTrigger,Content:t.AccordionContent});Object.defineProperty(exports,"AccordionContent",{enumerable:!0,get:()=>t.AccordionContent});Object.defineProperty(exports,"AccordionItem",{enumerable:!0,get:()=>t.AccordionItem});Object.defineProperty(exports,"AccordionTrigger",{enumerable:!0,get:()=>t.AccordionTrigger});exports.Accordion=l;exports.default=h;
2
+ //# sourceMappingURL=Accordion.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.cjs","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Accordion as SAccordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"@dsui/ui/components/accordion\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { type BasicColor } from \"@/types/variables\";\n\nexport type AccordionItemConfig = {\n value: string;\n trigger: React.ReactNode;\n content?: React.ReactNode;\n disabled?: boolean;\n className?: string;\n triggerClassName?: string;\n contentClassName?: string;\n};\n\ntype AccordionBaseProps = {\n items?: AccordionItemConfig[];\n variant?: \"default\" | \"bordered\" | \"separated\" | \"ghost\";\n color?: BasicColor;\n itemClassName?: string;\n triggerClassName?: string;\n contentClassName?: string;\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n dir?: \"ltr\" | \"rtl\";\n orientation?: \"horizontal\" | \"vertical\";\n asChild?: boolean;\n};\n\ntype AccordionSingleProps = AccordionBaseProps & {\n type: \"single\";\n value?: string;\n defaultValue?: string;\n collapsible?: boolean;\n onValueChange?: (newValue: string) => void;\n};\n\ntype AccordionMultipleProps = AccordionBaseProps & {\n type: \"multiple\";\n value?: string[];\n defaultValue?: string[];\n onValueChange?: (newValue: string[]) => void;\n};\n\nexport type AccordionProps = AccordionSingleProps | AccordionMultipleProps;\n\nconst colorVariants = {\n primary: {\n trigger:\n \"data-[state=open]:bg-primary/10 data-[state=open]:text-primary data-[state=open]:rounded-b-none data-[state=open]:border-primary/20\",\n content: \"bg-primary/10 rounded-b-md\",\n },\n secondary: {\n trigger:\n \"data-[state=open]:bg-secondary/10 data-[state=open]:text-secondary data-[state=open]:rounded-b-none data-[state=open]:border-secondary/20\",\n content: \"bg-secondary/10 rounded-b-md\",\n },\n success: {\n trigger:\n \"data-[state=open]:bg-success/10 data-[state=open]:text-success data-[state=open]:rounded-b-none data-[state=open]:border-success/20\",\n content: \"bg-success/10 rounded-b-md\",\n },\n warning: {\n trigger:\n \"data-[state=open]:bg-warning/10 data-[state=open]:text-warning data-[state=open]:rounded-b-none data-[state=open]:border-warning/20\",\n content: \"bg-warning/10 rounded-b-md\",\n },\n error: {\n trigger:\n \"data-[state=open]:bg-error/10 data-[state=open]:text-error data-[state=open]:rounded-b-none data-[state=open]:border-error/20\",\n content: \"bg-error/10 rounded-b-md\",\n },\n glass: {\n trigger:\n \"data-[state=open]:bg-glass/10 data-[state=open]:text-glass data-[state=open]:rounded-b-none data-[state=open]:border-glass/20\",\n content: \"bg-glass/10 rounded-b-md\",\n },\n};\n\nconst variantStyles = {\n default: {\n root: \"rounded-lg\",\n item: \"px-0\",\n trigger: \"px-4 hover:bg-accent/50\",\n content: \"px-4\",\n },\n bordered: {\n root: \"rounded-lg border-2 divide-y-2\",\n item: \"px-0 border-0\",\n trigger: \"px-4 font-semibold hover:bg-accent\",\n content: \"px-4\",\n },\n separated: {\n root: \"space-y-2\",\n item: \"rounded-lg border bg-card last:border-b\",\n trigger: \"px-4 hover:bg-accent/50\",\n content: \"px-4\",\n },\n ghost: {\n root: \"\",\n item: \"border-0\",\n trigger: \"px-2 hover:bg-accent/30 rounded-md\",\n content: \"px-2\",\n },\n};\n\nconst Accordion = React.forwardRef<HTMLDivElement, AccordionProps>(\n (props, ref) => {\n const {\n items,\n variant = \"default\",\n color,\n className,\n itemClassName,\n triggerClassName,\n contentClassName,\n children,\n type,\n ...rest\n } = props;\n\n const styles = variantStyles[variant];\n const triggerColorClass = color ? colorVariants[color].trigger : \"\";\n const contentColorClass = color ? colorVariants[color].content : \"\";\n\n // If children are provided, use them directly (primitive usage)\n if (children && !items) {\n if (type === \"multiple\") {\n return (\n <SAccordion\n ref={ref}\n type=\"multiple\"\n className={cn(styles.root, className)}\n {...(rest as Omit<\n AccordionMultipleProps,\n keyof AccordionBaseProps | \"type\"\n >)}\n >\n {children}\n </SAccordion>\n );\n }\n return (\n <SAccordion\n ref={ref}\n type=\"single\"\n className={cn(styles.root, className)}\n {...(rest as Omit<\n AccordionSingleProps,\n keyof AccordionBaseProps | \"type\"\n >)}\n >\n {children}\n </SAccordion>\n );\n }\n\n // Wrapper usage with items array\n if (type === \"multiple\") {\n return (\n <SAccordion\n ref={ref}\n type=\"multiple\"\n className={cn(styles.root, className)}\n {...(rest as Omit<\n AccordionMultipleProps,\n keyof AccordionBaseProps | \"type\"\n >)}\n >\n {items?.map((item) => (\n <AccordionItem\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n className={cn(styles.item, itemClassName, item.className)}\n >\n <AccordionTrigger\n className={cn(\n styles.trigger,\n triggerColorClass,\n triggerClassName,\n item.triggerClassName,\n )}\n >\n {item.trigger}\n </AccordionTrigger>\n <AccordionContent\n className={cn(\n styles.content,\n contentColorClass,\n contentClassName,\n item.contentClassName,\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionItem>\n ))}\n </SAccordion>\n );\n }\n\n return (\n <SAccordion\n ref={ref}\n type=\"single\"\n className={cn(styles.root, className)}\n {...(rest as Omit<\n AccordionSingleProps,\n keyof AccordionBaseProps | \"type\"\n >)}\n >\n {items?.map((item) => (\n <AccordionItem\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n className={cn(styles.item, itemClassName, item.className)}\n >\n <AccordionTrigger\n className={cn(\n styles.trigger,\n triggerColorClass,\n triggerClassName,\n item.triggerClassName,\n )}\n >\n {item.trigger}\n </AccordionTrigger>\n <AccordionContent\n className={cn(\n styles.content,\n contentColorClass,\n contentClassName,\n item.contentClassName,\n )}\n >\n {item?.content}\n </AccordionContent>\n </AccordionItem>\n ))}\n </SAccordion>\n );\n },\n);\n\nAccordion.displayName = \"Accordion\";\n\n// Create compound component\nconst AccordionCompound = Object.assign(Accordion, {\n Item: AccordionItem,\n Trigger: AccordionTrigger,\n Content: AccordionContent,\n});\n\nexport default AccordionCompound;\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":["colorVariants","variantStyles","Accordion","React","props","ref","items","variant","color","className","itemClassName","triggerClassName","contentClassName","children","type","rest","styles","triggerColorClass","contentColorClass","jsx","SAccordion","cn","item","jsxs","AccordionItem","AccordionTrigger","AccordionContent","AccordionCompound"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),v=require("react"),c=require("@dsui/ui/components/avatar"),d=require("@dsui/ui/index"),h=require("../../utils/animations.cjs");function p(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=p(v);function y({size:e="md",variant:t="circle",animation:r,color:a,className:n,src:o,alt:l,fallback:g,...f}){const m=s.useMemo(()=>h.animationClass(r,n),[r,n]),b=s.useMemo(()=>{switch(e){case"xs":return"size-6";case"sm":return"size-8";case"md":return"size-10";case"lg":return"size-12";case"xl":return"size-16";default:return"size-10"}},[e]),x=s.useMemo(()=>{switch(t){case"circle":return"rounded-full";case"square":return"rounded-md";default:return"rounded-full"}},[t]),i=s.useMemo(()=>{switch(a){case"primary":return"bg-primary text-primary-foreground";case"secondary":return"bg-secondary text-secondary-foreground";case"dark":return"bg-neutral-900 text-white";case"light":return"bg-neutral-200 text-neutral-950";case"inverted":return"dark:bg-white dark:text-black";case"success":return"bg-success text-success-foreground";case"warning":return"bg-warning text-warning-foreground";case"error":return"bg-error text-error-foreground";case"glass":return"bg-white/15 backdrop-blur-sm";default:return""}},[a]);return u.jsxs(c.Avatar,{className:d.cn("relative flex shrink-0 transition-all duration-300",b,x,m?.className,i,n),...f,children:[o&&u.jsx(c.AvatarImage,{src:o,alt:l,className:"rounded-[inherit]"}),u.jsx(c.AvatarFallback,{className:d.cn("rounded-[inherit]",i,n),children:g})]})}exports.Avatar=y;
2
+ //# sourceMappingURL=Avatar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.cjs","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n Avatar as DsAvatar,\n AvatarImage,\n AvatarFallback,\n} from \"@dsui/ui/components/avatar\";\nimport { cn } from \"@dsui/ui/index\";\nimport type { BasicAnimation, BasicColor } from \"@/types/variables\";\nimport { animationClass } from \"@/utils/animations\";\n\ntype Color = BasicColor | \"dark\" | \"light\" | \"inverted\";\n\ntype Size = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\ntype Variant = \"circle\" | \"square\";\n\nexport type AvatarProps = React.ComponentProps<typeof DsAvatar> & {\n size?: Size;\n variant?: Variant;\n animation?: BasicAnimation;\n color?: Color | string;\n src?: string;\n alt?: string;\n fallback?: React.ReactNode;\n};\n\nexport function Avatar({\n size = \"md\",\n variant = \"circle\",\n animation,\n color,\n className,\n src,\n alt,\n fallback,\n ...props\n}: AvatarProps) {\n const avatarAnimation = React.useMemo<{ className?: string } | null>(() => {\n return animationClass(animation, className);\n }, [animation, className]);\n\n const avatarSize = React.useMemo<string>(() => {\n switch (size) {\n case \"xs\":\n return \"size-6\";\n case \"sm\":\n return \"size-8\";\n case \"md\":\n return \"size-10\";\n case \"lg\":\n return \"size-12\";\n case \"xl\":\n return \"size-16\";\n default:\n return \"size-10\";\n }\n }, [size]);\n\n const avatarVariant = React.useMemo<string>(() => {\n switch (variant) {\n case \"circle\":\n return \"rounded-full\";\n case \"square\":\n return \"rounded-md\";\n default:\n return \"rounded-full\";\n }\n }, [variant]);\n\n const avatarColor = React.useMemo<string>(() => {\n switch (color) {\n case \"primary\":\n return \"bg-primary text-primary-foreground\";\n case \"secondary\":\n return \"bg-secondary text-secondary-foreground\";\n case \"dark\":\n return \"bg-neutral-900 text-white\";\n case \"light\":\n return \"bg-neutral-200 text-neutral-950\";\n case \"inverted\":\n return \"dark:bg-white dark:text-black\";\n case \"success\":\n return \"bg-success text-success-foreground\";\n case \"warning\":\n return \"bg-warning text-warning-foreground\";\n case \"error\":\n return \"bg-error text-error-foreground\";\n case \"glass\":\n return \"bg-white/15 backdrop-blur-sm\";\n default:\n return \"\";\n }\n }, [color]);\n\n return (\n <DsAvatar\n className={cn(\n \"relative flex shrink-0 transition-all duration-300\",\n avatarSize,\n avatarVariant,\n avatarAnimation?.className,\n avatarColor,\n className,\n )}\n {...props}\n >\n {src && <AvatarImage src={src} alt={alt} className=\"rounded-[inherit]\" />}\n <AvatarFallback\n className={cn(\"rounded-[inherit]\", avatarColor, className)}\n >\n {fallback}\n </AvatarFallback>\n </DsAvatar>\n );\n}\n"],"names":["Avatar","size","variant","animation","color","className","src","alt","fallback","props","avatarAnimation","React","animationClass","avatarSize","avatarVariant","avatarColor","jsxs","DsAvatar","cn","jsx","AvatarImage","AvatarFallback"],"mappings":"8gBA0BO,SAASA,EAAO,CACrB,KAAAC,EAAO,KACP,QAAAC,EAAU,SACV,UAAAC,EACA,MAAAC,EACA,UAAAC,EACA,IAAAC,EACA,IAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAkBC,EAAM,QAAuC,IAC5DC,EAAAA,eAAeT,EAAWE,CAAS,EACzC,CAACF,EAAWE,CAAS,CAAC,EAEnBQ,EAAaF,EAAM,QAAgB,IAAM,CAC7C,OAAQV,EAAA,CACN,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,QACE,MAAO,SAAA,CAEb,EAAG,CAACA,CAAI,CAAC,EAEHa,EAAgBH,EAAM,QAAgB,IAAM,CAChD,OAAQT,EAAA,CACN,IAAK,SACH,MAAO,eACT,IAAK,SACH,MAAO,aACT,QACE,MAAO,cAAA,CAEb,EAAG,CAACA,CAAO,CAAC,EAENa,EAAcJ,EAAM,QAAgB,IAAM,CAC9C,OAAQP,EAAA,CACN,IAAK,UACH,MAAO,qCACT,IAAK,YACH,MAAO,yCACT,IAAK,OACH,MAAO,4BACT,IAAK,QACH,MAAO,kCACT,IAAK,WACH,MAAO,gCACT,IAAK,UACH,MAAO,qCACT,IAAK,UACH,MAAO,qCACT,IAAK,QACH,MAAO,iCACT,IAAK,QACH,MAAO,+BACT,QACE,MAAO,EAAA,CAEb,EAAG,CAACA,CAAK,CAAC,EAEV,OACEY,EAAAA,KAACC,EAAAA,OAAA,CACC,UAAWC,EAAAA,GACT,qDACAL,EACAC,EACAJ,GAAiB,UACjBK,EACAV,CAAA,EAED,GAAGI,EAEH,SAAA,CAAAH,GAAOa,EAAAA,IAACC,cAAA,CAAY,IAAAd,EAAU,IAAAC,EAAU,UAAU,oBAAoB,EACvEY,EAAAA,IAACE,EAAAA,eAAA,CACC,UAAWH,EAAAA,GAAG,oBAAqBH,EAAaV,CAAS,EAExD,SAAAG,CAAA,CAAA,CACH,CAAA,CAAA,CAGN"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),r=require("react"),n=require("@dsui/ui/components/badge"),d=require("@dsui/ui/lib/utils"),o=require("lucide-react"),u=require("../../utils/animations.cjs"),t=r.forwardRef((c,l)=>{const{animation:i,...e}=c,s=r.useMemo(()=>u.animationEffect({animation:i,children:e?.children,className:e?.className,rootClassName:n.badgeVariants({variant:e?.variant,size:e?.size})}),[i,e]);return a.jsx(n.Badge,{ref:l,...e,className:d.cn(e?.className,s?.className),asChild:s?.children?!0:e.asChild,children:a.jsxs(a.Fragment,{children:[e?.isLoading&&a.jsx(o.LoaderCircle,{className:"animate-spin"}),!e?.isLoading&&(s?.children??e.children)]})})});t.displayName="Badge";exports.default=t;
2
+ //# sourceMappingURL=Badge.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.cjs","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n badgeVariants,\n Badge as SBadge,\n type BadgeProps as SBadgeProps,\n} from \"@dsui/ui/components/badge\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport type { BadgeAnimation } from \"@/types/variables\";\nimport { LoaderCircle } from \"lucide-react\";\nimport { animationEffect } from \"@/utils/animations\";\n\nexport type BadgeProps = SBadgeProps & {\n animation?: BadgeAnimation;\n isLoading?: boolean;\n};\n\ntype AnimResult = {\n className?: string;\n style?: React.CSSProperties;\n children?: React.ReactNode;\n variant?: SBadgeProps[\"variant\"];\n};\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n const { animation, ...rest } = props;\n\n const badgeAnimation = useMemo<AnimResult | null>(() => {\n return animationEffect<BadgeAnimation, SBadgeProps[\"variant\"]>({\n animation,\n children: rest?.children,\n className: rest?.className,\n rootClassName: badgeVariants({\n variant: rest?.variant,\n size: rest?.size,\n }),\n });\n }, [animation, rest]);\n\n return (\n <SBadge\n ref={ref}\n {...rest}\n className={cn(rest?.className, badgeAnimation?.className)}\n asChild={badgeAnimation?.children ? true : rest.asChild}\n >\n <>\n {rest?.isLoading && <LoaderCircle className=\"animate-spin\" />}\n {!rest?.isLoading && (badgeAnimation?.children ?? rest.children)}\n </>\n </SBadge>\n );\n});\n\nBadge.displayName = \"Badge\";\nexport default Badge;\n"],"names":["Badge","React","props","ref","animation","rest","badgeAnimation","useMemo","animationEffect","badgeVariants","jsx","SBadge","cn","jsxs","Fragment","LoaderCircle"],"mappings":"6SAuBMA,EAAQC,EAAM,WAAwC,CAACC,EAAOC,IAAQ,CAC1E,KAAM,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASH,EAEzBI,EAAiBC,EAAAA,QAA2B,IACzCC,kBAAwD,CAC7D,UAAAJ,EACA,SAAUC,GAAM,SAChB,UAAWA,GAAM,UACjB,cAAeI,EAAAA,cAAc,CAC3B,QAASJ,GAAM,QACf,KAAMA,GAAM,IAAA,CACb,CAAA,CACF,EACA,CAACD,EAAWC,CAAI,CAAC,EAEpB,OACEK,EAAAA,IAACC,EAAAA,MAAA,CACC,IAAAR,EACC,GAAGE,EACJ,UAAWO,EAAAA,GAAGP,GAAM,UAAWC,GAAgB,SAAS,EACxD,QAASA,GAAgB,SAAW,GAAOD,EAAK,QAEhD,SAAAQ,EAAAA,KAAAC,WAAA,CACG,SAAA,CAAAT,GAAM,WAAaK,EAAAA,IAACK,EAAAA,aAAA,CAAa,UAAU,eAAe,EAC1D,CAACV,GAAM,YAAcC,GAAgB,UAAYD,EAAK,SAAA,CAAA,CACzD,CAAA,CAAA,CAGN,CAAC,EAEDL,EAAM,YAAc"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),o=require("react"),t=require("@dsui/ui/components/breadcrumb"),E=require("@dsui/ui/lib/utils"),g=require("lucide-react"),m=require("@dsui/ui/components/popover"),P={default:"",primary:"text-primary [&_[data-slot=breadcrumb-link]:hover]:text-primary/80 [&_[data-slot=breadcrumb-page]]:text-primary",secondary:"text-secondary [&_[data-slot=breadcrumb-link]:hover]:text-secondary/80 [&_[data-slot=breadcrumb-page]]:text-secondary",accent:"text-accent [&_[data-slot=breadcrumb-link]:hover]:text-accent/80 [&_[data-slot=breadcrumb-page]]:text-accent",destructive:"text-destructive [&_[data-slot=breadcrumb-link]:hover]:text-destructive/80 [&_[data-slot=breadcrumb-page]]:text-destructive",muted:"text-muted-foreground [&_[data-slot=breadcrumb-link]:hover]:text-muted-foreground/80 [&_[data-slot=breadcrumb-page]]:text-muted-foreground",success:"text-success [&_[data-slot=breadcrumb-link]:hover]:text-success/80 [&_[data-slot=breadcrumb-page]]:text-success",error:"text-error [&_[data-slot=breadcrumb-link]:hover]:text-error/80 [&_[data-slot=breadcrumb-page]]:text-error",warning:"text-warning [&_[data-slot=breadcrumb-link]:hover]:text-warning/80 [&_[data-slot=breadcrumb-page]]:text-warning"},C={default:"",compact:"text-xs [&_[data-slot=breadcrumb-list]]:gap-1 [&_[data-slot=breadcrumb-separator]>svg]:size-3",badge:"[&_[data-slot=breadcrumb-list]]:gap-1 [&_[data-slot=breadcrumb-item]]:border [&_[data-slot=breadcrumb-item]]:bg-muted [&_[data-slot=breadcrumb-item]]:px-2 [&_[data-slot=breadcrumb-item]]:py-0.5 [&_[data-slot=breadcrumb-item]]:rounded-full [&_[data-slot=breadcrumb-item]]:text-sm",bordered:"border rounded-md px-3 py-2"},f=o.forwardRef(({className:j,variant:v="default",color:_="default",items:y,separator:n,maxItems:i,showEllipsis:B=!0,showHome:b="label",showPopoverOnEllipsis:N=!1,...k},w)=>{const[S,I]=o.useState(!1),d=y;let a=[];const s=b===!0?"label":b;s&&(s==="label"?a=[{label:"Home",href:"/"}]:s==="icon"?a=[{icon:e.jsx(g.Home,{className:"size-4"}),href:"/"}]:s==="both"?a=[{label:"Home",icon:e.jsx(g.Home,{className:"size-4"}),href:"/"}]:typeof s=="object"&&!o.isValidElement(s)?a=[s]:a=[{label:s,href:"/"}]);let c=[],u=!1,x=[];if(i===0)c=[...a,...d];else if(i){const r=i-a.length,l=r>0?d.slice(-r):[];c=[...a,...l],u=r>0&&d.length>r&&B,x=r>0?d.slice(0,-r):d}else c=[...a,...d];const h=()=>N?e.jsxs(m.Popover,{open:S,onOpenChange:I,children:[e.jsx(m.PopoverTrigger,{asChild:!0,children:e.jsx(t.BreadcrumbItem,{children:e.jsx(t.BreadcrumbEllipsis,{})})}),e.jsx(m.PopoverContent,{className:"w-auto max-w-64 p-2",children:x.map((r,l)=>e.jsxs("div",{className:"flex items-center gap-2 py-1 px-3 rounded hover:bg-muted",children:[r.icon,r.label&&e.jsx("a",{href:r.href,className:"text-sm hover:underline",children:r.label})]},l))})]}):e.jsx(t.BreadcrumbItem,{children:e.jsx(t.BreadcrumbEllipsis,{})});return e.jsx(t.Breadcrumb,{ref:w,className:E.cn(C[v],j),...k,children:e.jsxs(t.BreadcrumbList,{className:P[_],children:[u&&a.length===0&&e.jsxs(e.Fragment,{children:[h(),e.jsx(t.BreadcrumbSeparator,{children:n})]}),c.map((r,l)=>{const p=l===c.length-1,q=u&&l===0&&a.length>0;return e.jsxs(o.Fragment,{children:[e.jsx(t.BreadcrumbItem,{children:p?e.jsx(t.BreadcrumbPage,{children:e.jsxs("div",{className:"flex items-center gap-1",children:[r.icon,r.label]})}):e.jsx(t.BreadcrumbLink,{href:r.href,children:e.jsxs("div",{className:"flex items-center gap-1",children:[r.icon,r.label]})})}),q&&e.jsxs(e.Fragment,{children:[e.jsx(t.BreadcrumbSeparator,{children:n}),h()]}),!p&&e.jsx(t.BreadcrumbSeparator,{children:n})]},l)})]})})});f.displayName="Breadcrumb";exports.default=f;
2
+ //# sourceMappingURL=Breadcrumb.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.cjs","sources":["../../../../src/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Breadcrumb as SBreadcrumb,\n BreadcrumbList as SBreadcrumbList,\n BreadcrumbItem as SBreadcrumbItem,\n BreadcrumbLink as SBreadcrumbLink,\n BreadcrumbPage as SBreadcrumbPage,\n BreadcrumbSeparator as SBreadcrumbSeparator,\n BreadcrumbEllipsis as SBreadcrumbEllipsis,\n} from \"@dsui/ui/components/breadcrumb\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Home } from \"lucide-react\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@dsui/ui/components/popover\";\n\nexport type BreadcrumbItemType = {\n label?: React.ReactNode;\n href?: string;\n icon?: React.ReactNode;\n};\n\nexport type BreadcrumbProps = React.ComponentProps<\"nav\"> & {\n variant?: \"default\" | \"compact\" | \"badge\" | \"bordered\";\n color?:\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"destructive\"\n | \"muted\"\n | \"success\"\n | \"error\"\n | \"warning\";\n items: BreadcrumbItemType[];\n separator?: React.ReactNode;\n maxItems?: number;\n showEllipsis?: boolean;\n showHome?:\n | boolean\n | \"label\"\n | \"icon\"\n | \"both\"\n | React.ReactNode\n | { label?: React.ReactNode; icon?: React.ReactNode; href?: string };\n showPopoverOnEllipsis?: boolean;\n};\n\nconst colorClasses = {\n default: \"\",\n primary:\n \"text-primary [&_[data-slot=breadcrumb-link]:hover]:text-primary/80 [&_[data-slot=breadcrumb-page]]:text-primary\",\n secondary:\n \"text-secondary [&_[data-slot=breadcrumb-link]:hover]:text-secondary/80 [&_[data-slot=breadcrumb-page]]:text-secondary\",\n accent:\n \"text-accent [&_[data-slot=breadcrumb-link]:hover]:text-accent/80 [&_[data-slot=breadcrumb-page]]:text-accent\",\n destructive:\n \"text-destructive [&_[data-slot=breadcrumb-link]:hover]:text-destructive/80 [&_[data-slot=breadcrumb-page]]:text-destructive\",\n muted:\n \"text-muted-foreground [&_[data-slot=breadcrumb-link]:hover]:text-muted-foreground/80 [&_[data-slot=breadcrumb-page]]:text-muted-foreground\",\n success:\n \"text-success [&_[data-slot=breadcrumb-link]:hover]:text-success/80 [&_[data-slot=breadcrumb-page]]:text-success\",\n error:\n \"text-error [&_[data-slot=breadcrumb-link]:hover]:text-error/80 [&_[data-slot=breadcrumb-page]]:text-error\",\n warning:\n \"text-warning [&_[data-slot=breadcrumb-link]:hover]:text-warning/80 [&_[data-slot=breadcrumb-page]]:text-warning\",\n};\n\nconst variantClasses = {\n default: \"\",\n compact:\n \"text-xs [&_[data-slot=breadcrumb-list]]:gap-1 [&_[data-slot=breadcrumb-separator]>svg]:size-3\",\n badge:\n \"[&_[data-slot=breadcrumb-list]]:gap-1 [&_[data-slot=breadcrumb-item]]:border [&_[data-slot=breadcrumb-item]]:bg-muted [&_[data-slot=breadcrumb-item]]:px-2 [&_[data-slot=breadcrumb-item]]:py-0.5 [&_[data-slot=breadcrumb-item]]:rounded-full [&_[data-slot=breadcrumb-item]]:text-sm\",\n bordered: \"border rounded-md px-3 py-2\",\n};\n\nconst Breadcrumb = React.forwardRef<HTMLElement, BreadcrumbProps>(\n (\n {\n className,\n variant = \"default\",\n color = \"default\",\n items,\n separator,\n maxItems,\n showEllipsis = true,\n showHome = \"label\",\n showPopoverOnEllipsis = false,\n ...props\n },\n ref,\n ) => {\n const [popoverOpen, setPopoverOpen] = React.useState(false);\n const userItems = items;\n let homeItem: BreadcrumbItemType[] = [];\n const normalizedShowHome = showHome === true ? \"label\" : showHome;\n if (normalizedShowHome) {\n if (normalizedShowHome === \"label\") {\n homeItem = [{ label: \"Home\", href: \"/\" }];\n } else if (normalizedShowHome === \"icon\") {\n homeItem = [{ icon: <Home className=\"size-4\" />, href: \"/\" }];\n } else if (normalizedShowHome === \"both\") {\n homeItem = [\n { label: \"Home\", icon: <Home className=\"size-4\" />, href: \"/\" },\n ];\n } else if (\n typeof normalizedShowHome === \"object\" &&\n !React.isValidElement(normalizedShowHome)\n ) {\n // custom object\n homeItem = [normalizedShowHome as BreadcrumbItemType];\n } else {\n // ReactNode\n homeItem = [\n { label: normalizedShowHome as React.ReactNode, href: \"/\" },\n ];\n }\n }\n // Calculate which items to display\n let displayItems: BreadcrumbItemType[] = [];\n let hasEllipsis = false;\n let hiddenItems: BreadcrumbItemType[] = [];\n\n if (maxItems === 0) {\n displayItems = [...homeItem, ...userItems];\n } else if (maxItems) {\n const numUserItems = maxItems - homeItem.length;\n const truncatedUserItems =\n numUserItems > 0 ? userItems.slice(-numUserItems) : [];\n displayItems = [...homeItem, ...truncatedUserItems];\n hasEllipsis =\n numUserItems > 0 && userItems.length > numUserItems && showEllipsis;\n hiddenItems =\n numUserItems > 0 ? userItems.slice(0, -numUserItems) : userItems;\n } else {\n displayItems = [...homeItem, ...userItems];\n }\n\n const renderEllipsis = () => {\n if (showPopoverOnEllipsis) {\n return (\n <Popover open={popoverOpen} onOpenChange={setPopoverOpen}>\n <PopoverTrigger asChild>\n <SBreadcrumbItem>\n <SBreadcrumbEllipsis />\n </SBreadcrumbItem>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto max-w-64 p-2\">\n {hiddenItems.map((item, index) => (\n <div\n key={index}\n className=\"flex items-center gap-2 py-1 px-3 rounded hover:bg-muted\"\n >\n {item.icon}\n {item.label && (\n <a href={item.href} className=\"text-sm hover:underline\">\n {item.label}\n </a>\n )}\n </div>\n ))}\n </PopoverContent>\n </Popover>\n );\n }\n return (\n <SBreadcrumbItem>\n <SBreadcrumbEllipsis />\n </SBreadcrumbItem>\n );\n };\n\n return (\n <SBreadcrumb\n ref={ref}\n className={cn(variantClasses[variant], className)}\n {...props}\n >\n <SBreadcrumbList className={colorClasses[color]}>\n {hasEllipsis && homeItem.length === 0 && (\n <>\n {renderEllipsis()}\n <SBreadcrumbSeparator>{separator}</SBreadcrumbSeparator>\n </>\n )}\n {displayItems.map((item, index) => {\n const isLast = index === displayItems.length - 1;\n const shouldShowEllipsisAfter =\n hasEllipsis && index === 0 && homeItem.length > 0;\n return (\n <React.Fragment key={index}>\n <SBreadcrumbItem>\n {isLast ? (\n <SBreadcrumbPage>\n <div className=\"flex items-center gap-1\">\n {item.icon}\n {item.label}\n </div>\n </SBreadcrumbPage>\n ) : (\n <SBreadcrumbLink href={item.href}>\n <div className=\"flex items-center gap-1\">\n {item.icon}\n {item.label}\n </div>\n </SBreadcrumbLink>\n )}\n </SBreadcrumbItem>\n {shouldShowEllipsisAfter && (\n <>\n <SBreadcrumbSeparator>{separator}</SBreadcrumbSeparator>\n {renderEllipsis()}\n </>\n )}\n {!isLast && (\n <SBreadcrumbSeparator>{separator}</SBreadcrumbSeparator>\n )}\n </React.Fragment>\n );\n })}\n </SBreadcrumbList>\n </SBreadcrumb>\n );\n },\n);\n\nBreadcrumb.displayName = \"Breadcrumb\";\n\nexport default Breadcrumb;\n"],"names":["colorClasses","variantClasses","Breadcrumb","React","className","variant","color","items","separator","maxItems","showEllipsis","showHome","showPopoverOnEllipsis","props","ref","popoverOpen","setPopoverOpen","userItems","homeItem","normalizedShowHome","jsx","Home","displayItems","hasEllipsis","hiddenItems","numUserItems","truncatedUserItems","renderEllipsis","jsxs","Popover","PopoverTrigger","SBreadcrumbItem","SBreadcrumbEllipsis","PopoverContent","item","index","SBreadcrumb","cn","SBreadcrumbList","Fragment","SBreadcrumbSeparator","isLast","shouldShowEllipsisAfter","SBreadcrumbPage","SBreadcrumbLink"],"mappings":"mTAkDMA,EAAe,CACnB,QAAS,GACT,QACE,kHACF,UACE,wHACF,OACE,+GACF,YACE,8HACF,MACE,6IACF,QACE,kHACF,MACE,4GACF,QACE,iHACJ,EAEMC,EAAiB,CACrB,QAAS,GACT,QACE,gGACF,MACE,yRACF,SAAU,6BACZ,EAEMC,EAAaC,EAAM,WACvB,CACE,CACE,UAAAC,EACA,QAAAC,EAAU,UACV,MAAAC,EAAQ,UACR,MAAAC,EACA,UAAAC,EACA,SAAAC,EACA,aAAAC,EAAe,GACf,SAAAC,EAAW,QACX,sBAAAC,EAAwB,GACxB,GAAGC,CAAA,EAELC,IACG,CACH,KAAM,CAACC,EAAaC,CAAc,EAAIb,EAAM,SAAS,EAAK,EACpDc,EAAYV,EAClB,IAAIW,EAAiC,CAAA,EACrC,MAAMC,EAAqBR,IAAa,GAAO,QAAUA,EACrDQ,IACEA,IAAuB,QACzBD,EAAW,CAAC,CAAE,MAAO,OAAQ,KAAM,IAAK,EAC/BC,IAAuB,OAChCD,EAAW,CAAC,CAAE,KAAME,EAAAA,IAACC,EAAAA,KAAA,CAAK,UAAU,QAAA,CAAS,EAAI,KAAM,GAAA,CAAK,EACnDF,IAAuB,OAChCD,EAAW,CACT,CAAE,MAAO,OAAQ,KAAME,MAACC,EAAAA,MAAK,UAAU,QAAA,CAAS,EAAI,KAAM,GAAA,CAAI,EAGhE,OAAOF,GAAuB,UAC9B,CAAChB,EAAM,eAAegB,CAAkB,EAGxCD,EAAW,CAACC,CAAwC,EAGpDD,EAAW,CACT,CAAE,MAAOC,EAAuC,KAAM,GAAA,CAAI,GAKhE,IAAIG,EAAqC,CAAA,EACrCC,EAAc,GACdC,EAAoC,CAAA,EAExC,GAAIf,IAAa,EACfa,EAAe,CAAC,GAAGJ,EAAU,GAAGD,CAAS,UAChCR,EAAU,CACnB,MAAMgB,EAAehB,EAAWS,EAAS,OACnCQ,EACJD,EAAe,EAAIR,EAAU,MAAM,CAACQ,CAAY,EAAI,CAAA,EACtDH,EAAe,CAAC,GAAGJ,EAAU,GAAGQ,CAAkB,EAClDH,EACEE,EAAe,GAAKR,EAAU,OAASQ,GAAgBf,EACzDc,EACEC,EAAe,EAAIR,EAAU,MAAM,EAAG,CAACQ,CAAY,EAAIR,CAC3D,MACEK,EAAe,CAAC,GAAGJ,EAAU,GAAGD,CAAS,EAG3C,MAAMU,EAAiB,IACjBf,EAEAgB,EAAAA,KAACC,EAAAA,QAAA,CAAQ,KAAMd,EAAa,aAAcC,EACxC,SAAA,CAAAI,EAAAA,IAACU,EAAAA,eAAA,CAAe,QAAO,GACrB,SAAAV,EAAAA,IAACW,EAAAA,gBACC,SAAAX,EAAAA,IAACY,EAAAA,mBAAA,CAAA,CAAoB,EACvB,CAAA,CACF,EACAZ,EAAAA,IAACa,EAAAA,gBAAe,UAAU,sBACvB,WAAY,IAAI,CAACC,EAAMC,IACtBP,EAAAA,KAAC,MAAA,CAEC,UAAU,2DAET,SAAA,CAAAM,EAAK,KACLA,EAAK,OACJd,EAAAA,IAAC,IAAA,CAAE,KAAMc,EAAK,KAAM,UAAU,0BAC3B,SAAAA,EAAK,KAAA,CACR,CAAA,CAAA,EAPGC,CAAA,CAUR,CAAA,CACH,CAAA,EACF,EAIFf,EAAAA,IAACW,EAAAA,eAAA,CACC,SAAAX,EAAAA,IAACY,EAAAA,mBAAA,CAAA,CAAoB,EACvB,EAIJ,OACEZ,EAAAA,IAACgB,EAAAA,WAAA,CACC,IAAAtB,EACA,UAAWuB,EAAAA,GAAGpC,EAAeI,CAAO,EAAGD,CAAS,EAC/C,GAAGS,EAEJ,SAAAe,EAAAA,KAACU,iBAAA,CAAgB,UAAWtC,EAAaM,CAAK,EAC3C,SAAA,CAAAiB,GAAeL,EAAS,SAAW,GAClCU,EAAAA,KAAAW,EAAAA,SAAA,CACG,SAAA,CAAAZ,EAAA,EACDP,EAAAA,IAACoB,EAAAA,qBAAsB,SAAAhC,CAAA,CAAU,CAAA,EACnC,EAEDc,EAAa,IAAI,CAACY,EAAMC,IAAU,CACjC,MAAMM,EAASN,IAAUb,EAAa,OAAS,EACzCoB,EACJnB,GAAeY,IAAU,GAAKjB,EAAS,OAAS,EAClD,OACEU,OAACzB,EAAM,SAAN,CACC,SAAA,CAAAiB,EAAAA,IAACW,EAAAA,gBACE,SAAAU,EACCrB,EAAAA,IAACuB,EAAAA,gBACC,SAAAf,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAM,EAAK,KACLA,EAAK,KAAA,CAAA,CACR,CAAA,CACF,EAEAd,EAAAA,IAACwB,EAAAA,eAAA,CAAgB,KAAMV,EAAK,KAC1B,SAAAN,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAM,EAAK,KACLA,EAAK,KAAA,CAAA,CACR,EACF,EAEJ,EACCQ,GACCd,EAAAA,KAAAW,WAAA,CACE,SAAA,CAAAnB,EAAAA,IAACoB,EAAAA,qBAAsB,SAAAhC,CAAA,CAAU,EAChCmB,EAAA,CAAe,EAClB,EAED,CAACc,GACArB,EAAAA,IAACoB,EAAAA,oBAAA,CAAsB,SAAAhC,CAAA,CAAU,CAAA,CAAA,EAzBhB2B,CA2BrB,CAEJ,CAAC,CAAA,CAAA,CACH,CAAA,CAAA,CAGN,CACF,EAEAjC,EAAW,YAAc"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),r=require("react"),o=require("@dsui/ui/components/button"),N=require("@dsui/ui/lib/utils"),b=require("lucide-react"),f=require("../../utils/animations.cjs"),l=r.forwardRef((c,u)=>{const{variant:n="solid",size:a="normal",color:d="muted",animation:i,...e}=c,t=r.useMemo(()=>f.animationEffect({animation:i,children:e?.children,className:e?.className,rootClassName:o.buttonVariants({variant:n,size:a}),variantType:n,...e}),[i,e,a,n]),m=(t?.children?!0:e.asChild)&&!e?.isLoading,h=e?.isLoading?s.jsxs(s.Fragment,{children:[s.jsx(b.LoaderCircle,{className:"animate-spin"}),t?.children??e.children??null]}):t?.children??e.children??null;return s.jsx(o.Button,{ref:u,...e,className:N.cn("cursor-pointer group",e?.className,t?.className),asChild:m,style:{...e.style||{},...t?.style||{}},variant:t?.variant??n,color:d,size:a,children:h})});l.displayName="Button";exports.default=l;
2
+ //# sourceMappingURL=Button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.cjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n buttonVariants,\n Button as SButton,\n type ButtonProps as SButtonProps,\n} from \"@dsui/ui/components/button\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport type { ButtonAnimation } from \"@/types/variables\";\nimport { LoaderCircle } from \"lucide-react\";\nimport { animationEffect } from \"@/utils/animations\";\n\nexport type ButtonProps = SButtonProps & {\n animation?: ButtonAnimation;\n isLoading?: boolean;\n};\n\ntype AnimResult = {\n className?: string;\n style?: React.CSSProperties;\n children?: React.ReactNode;\n variant?: SButtonProps[\"variant\"];\n};\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref) => {\n const {\n variant = \"solid\",\n size = \"normal\",\n color = \"muted\",\n animation,\n ...rest\n } = props;\n\n const buttonAnimation = useMemo<AnimResult | null>(() => {\n return animationEffect<ButtonAnimation, SButtonProps[\"variant\"]>({\n animation,\n children: rest?.children,\n className: rest?.className,\n rootClassName: buttonVariants({\n variant: variant,\n size: size,\n }),\n variantType: variant,\n ...rest,\n });\n }, [animation, rest, size, variant]);\n\n // Disable asChild when loading to avoid React.Children.only error\n const shouldUseAsChild =\n (buttonAnimation?.children ? true : rest.asChild) && !rest?.isLoading;\n\n const buttonContent = rest?.isLoading ? (\n <>\n <LoaderCircle className=\"animate-spin\" />\n {\n (buttonAnimation?.children ??\n rest.children ??\n null) as SButtonProps[\"children\"]\n }\n </>\n ) : (\n ((buttonAnimation?.children ??\n rest.children ??\n null) as SButtonProps[\"children\"])\n );\n\n return (\n <SButton\n ref={ref}\n {...rest}\n className={cn(\n \"cursor-pointer group\",\n rest?.className,\n buttonAnimation?.className,\n )}\n asChild={shouldUseAsChild}\n style={{ ...(rest.style || {}), ...(buttonAnimation?.style || {}) }}\n variant={buttonAnimation?.variant ?? variant}\n color={color}\n size={size}\n >\n {buttonContent}\n </SButton>\n );\n },\n);\n\nButton.displayName = \"Button\";\nexport default Button;\n"],"names":["Button","React","props","ref","variant","size","color","animation","rest","buttonAnimation","useMemo","animationEffect","buttonVariants","shouldUseAsChild","buttonContent","jsxs","Fragment","jsx","LoaderCircle","SButton","cn"],"mappings":"8SAuBMA,EAASC,EAAM,WACnB,CAACC,EAAOC,IAAQ,CACd,KAAM,CACJ,QAAAC,EAAU,QACV,KAAAC,EAAO,SACP,MAAAC,EAAQ,QACR,UAAAC,EACA,GAAGC,CAAA,EACDN,EAEEO,EAAkBC,EAAAA,QAA2B,IAC1CC,kBAA0D,CAC/D,UAAAJ,EACA,SAAUC,GAAM,SAChB,UAAWA,GAAM,UACjB,cAAeI,EAAAA,eAAe,CAC5B,QAAAR,EACA,KAAAC,CAAA,CACD,EACD,YAAaD,EACb,GAAGI,CAAA,CACJ,EACA,CAACD,EAAWC,EAAMH,EAAMD,CAAO,CAAC,EAG7BS,GACHJ,GAAiB,SAAW,GAAOD,EAAK,UAAY,CAACA,GAAM,UAExDM,EAAgBN,GAAM,UAC1BO,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAC,EAAAA,IAACC,EAAAA,aAAA,CAAa,UAAU,cAAA,CAAe,EAEpCT,GAAiB,UAChBD,EAAK,UACL,IAAA,CAAA,CAEN,EAEEC,GAAiB,UACjBD,EAAK,UACL,KAGJ,OACES,EAAAA,IAACE,EAAAA,OAAA,CACC,IAAAhB,EACC,GAAGK,EACJ,UAAWY,EAAAA,GACT,uBACAZ,GAAM,UACNC,GAAiB,SAAA,EAEnB,QAASI,EACT,MAAO,CAAE,GAAIL,EAAK,OAAS,CAAA,EAAK,GAAIC,GAAiB,OAAS,EAAC,EAC/D,QAASA,GAAiB,SAAWL,EACrC,MAAAE,EACA,KAAAD,EAEC,SAAAS,CAAA,CAAA,CAGP,CACF,EAEAd,EAAO,YAAc"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("react/jsx-runtime"),r=require("react"),o=require("@dsui/ui/components/button-group"),G=require("@dsui/ui/lib/utils");require("class-variance-authority");const q=require("./Button.cjs"),u=r.forwardRef(({className:i,orientation:a="horizontal",variant:s,color:l,size:p,animation:n,isLoading:c,disabled:d,children:m,...b},f)=>{const g=r.Children.map(m,t=>{if(r.isValidElement(t)&&t.type===q.default){const e=t.props;return r.cloneElement(t,{variant:n==="glass"?"ghost":e.variant??s,color:e.color??l,size:e.size??p,animation:e.animation??n,isLoading:e.isLoading??c,disabled:e.disabled??d})}return t});return B.jsx(o.ButtonGroup,{ref:f,orientation:a,className:G.cn(i),...b,children:g})});u.displayName="ButtonGroup";Object.defineProperty(exports,"ButtonGroupSeparator",{enumerable:!0,get:()=>o.ButtonGroupSeparator});Object.defineProperty(exports,"ButtonGroupText",{enumerable:!0,get:()=>o.ButtonGroupText});exports.default=u;
2
+ //# sourceMappingURL=ButtonGroup.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonGroup.cjs","sources":["../../../../src/components/Button/ButtonGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n ButtonGroup as SButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n} from \"@dsui/ui/components/button-group\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport Button, { type ButtonProps } from \"./Button\";\n\nexport type ButtonGroupProps = React.ComponentProps<typeof SButtonGroup> &\n VariantProps<typeof buttonGroupVariants> & {\n variant?: ButtonProps[\"variant\"];\n color?: ButtonProps[\"color\"];\n size?: ButtonProps[\"size\"];\n animation?: ButtonProps[\"animation\"];\n isLoading?: ButtonProps[\"isLoading\"];\n disabled?: boolean;\n };\n\nconst ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\n (\n {\n className,\n orientation = \"horizontal\",\n variant,\n color,\n size,\n animation,\n isLoading,\n disabled,\n children,\n ...props\n },\n ref,\n ) => {\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && child.type === Button) {\n const childProps = child.props as ButtonProps;\n return React.cloneElement(child as React.ReactElement<ButtonProps>, {\n variant:\n animation === \"glass\" ? \"ghost\" : (childProps.variant ?? variant),\n color: childProps.color ?? color,\n size: childProps.size ?? size,\n animation: childProps.animation ?? animation,\n isLoading: childProps.isLoading ?? isLoading,\n disabled: childProps.disabled ?? disabled,\n });\n }\n return child;\n });\n\n return (\n <SButtonGroup\n ref={ref}\n orientation={orientation}\n className={cn(className)}\n {...props}\n >\n {childrenWithProps}\n </SButtonGroup>\n );\n },\n);\n\nButtonGroup.displayName = \"ButtonGroup\";\n\nexport { ButtonGroupSeparator, ButtonGroupText };\nexport default ButtonGroup;\n"],"names":["ButtonGroup","React","className","orientation","variant","color","size","animation","isLoading","disabled","children","props","ref","childrenWithProps","child","Button","childProps","jsx","SButtonGroup","cn"],"mappings":"sTAqBMA,EAAcC,EAAM,WACxB,CACE,CACE,UAAAC,EACA,YAAAC,EAAc,aACd,QAAAC,EACA,MAAAC,EACA,KAAAC,EACA,UAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAoBZ,EAAM,SAAS,IAAIS,EAAWI,GAAU,CAChE,GAAIb,EAAM,eAAea,CAAK,GAAKA,EAAM,OAASC,UAAQ,CACxD,MAAMC,EAAaF,EAAM,MACzB,OAAOb,EAAM,aAAaa,EAA0C,CAClE,QACEP,IAAc,QAAU,QAAWS,EAAW,SAAWZ,EAC3D,MAAOY,EAAW,OAASX,EAC3B,KAAMW,EAAW,MAAQV,EACzB,UAAWU,EAAW,WAAaT,EACnC,UAAWS,EAAW,WAAaR,EACnC,SAAUQ,EAAW,UAAYP,CAAA,CAClC,CACH,CACA,OAAOK,CACT,CAAC,EAED,OACEG,EAAAA,IAACC,EAAAA,YAAA,CACC,IAAAN,EACA,YAAAT,EACA,UAAWgB,EAAAA,GAAGjB,CAAS,EACtB,GAAGS,EAEH,SAAAE,CAAA,CAAA,CAGP,CACF,EAEAb,EAAY,YAAc"}