@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CursorFollow.js","sources":["../../../../src/components/Interactive/CursorFollow.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n motion,\n useMotionValue,\n useSpring,\n AnimatePresence,\n type HTMLMotionProps,\n type SpringOptions,\n} from \"motion/react\";\n\nimport { cn } from \"@dsui/ui/index\";\n\n// Transition presets\ntype TransitionPreset = \"slow\" | \"normal\" | \"fast\" | \"realtime\";\n\nconst TRANSITION_PRESETS: Record<TransitionPreset, SpringOptions> = {\n slow: { stiffness: 100, damping: 20, bounce: 0 },\n normal: { stiffness: 500, damping: 50, bounce: 0 },\n fast: { stiffness: 1000, damping: 80, bounce: 0 },\n realtime: { stiffness: 2000, damping: 100, bounce: 0 },\n};\n\ntype CursorContextType = {\n cursorPos: { x: number; y: number };\n isActive: boolean;\n containerRef: React.RefObject<HTMLDivElement | null>;\n cursorRef: React.RefObject<HTMLDivElement | null>;\n};\n\nconst CursorContext = React.createContext<CursorContextType | undefined>(\n undefined,\n);\n\nconst useCursor = (): CursorContextType => {\n const context = React.useContext(CursorContext);\n if (!context) {\n throw new Error(\"useCursor must be used within a CursorProvider\");\n }\n return context;\n};\n\ntype Align =\n | \"top\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"left\"\n | \"right\"\n | \"center\";\n\ntype CursorVariantKey = \"default\" | \"pointer\";\ntype CursorVariant = CursorVariantKey | React.ReactNode;\n\n// Predefined cursor variants\nconst cursorVariants: Record<CursorVariantKey, React.ReactNode> = {\n default: null, // Use system cursor\n pointer: (\n <div className=\"h-5 w-5 rounded-full bg-white/30 border-2 border-white\" />\n ),\n};\n\ntype CursorProviderProps = React.ComponentProps<\"div\"> & {\n children: React.ReactNode;\n /** Auto-setup cursor with variant (preset key or custom ReactNode) */\n cursorType?: CursorVariant;\n /** Auto-setup follow element with content */\n followText?: React.ReactNode;\n /** Show follow element (default: true when followText is provided) */\n showFollow?: boolean;\n /** Follow element alignment */\n followAlign?: Align;\n /** Follow element side offset */\n followSideOffset?: number;\n /** Follow element transition preset */\n followTransition?: TransitionPreset;\n};\n\nfunction CursorProvider({\n ref,\n children,\n cursorType = \"default\",\n followText,\n showFollow,\n followAlign = \"bottom-right\",\n followSideOffset = 15,\n followTransition = \"normal\",\n ...props\n}: CursorProviderProps) {\n const [cursorPos, setCursorPos] = React.useState({ x: 0, y: 0 });\n const [isActive, setIsActive] = React.useState(false);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const cursorRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(ref, () => containerRef.current as HTMLDivElement);\n\n React.useEffect(() => {\n if (!containerRef.current) return;\n\n const parent = containerRef.current.parentElement;\n if (!parent) return;\n\n if (getComputedStyle(parent).position === \"static\") {\n parent.style.position = \"relative\";\n }\n\n const handleMouseMove = (e: MouseEvent) => {\n const rect = parent.getBoundingClientRect();\n setCursorPos({ x: e.clientX - rect.left, y: e.clientY - rect.top });\n setIsActive(true);\n };\n const handleMouseLeave = () => setIsActive(false);\n\n parent.addEventListener(\"mousemove\", handleMouseMove);\n parent.addEventListener(\"mouseleave\", handleMouseLeave);\n\n return () => {\n parent.removeEventListener(\"mousemove\", handleMouseMove);\n parent.removeEventListener(\"mouseleave\", handleMouseLeave);\n };\n }, []);\n\n // Auto-setup: determine if we should show cursor and follow\n const shouldShowCursor = cursorType !== undefined;\n const shouldShowFollowElement = showFollow ?? followText !== undefined;\n\n // Convert preset to SpringOptions\n const transitionConfig = TRANSITION_PRESETS[followTransition];\n\n return (\n <CursorContext.Provider\n value={{ cursorPos, isActive, containerRef, cursorRef }}\n >\n <div ref={containerRef} data-slot=\"cursor-provider\" {...props}>\n {children}\n\n {/* Auto-setup Cursor */}\n {shouldShowCursor && <Cursor cursorType={cursorType} />}\n\n {/* Auto-setup CursorFollow */}\n {shouldShowFollowElement && (\n <CursorFollow\n followText={followText}\n align={followAlign}\n sideOffset={followSideOffset}\n transition={transitionConfig}\n />\n )}\n </div>\n </CursorContext.Provider>\n );\n}\n\ntype CursorProps = HTMLMotionProps<\"div\"> & {\n children?: React.ReactNode;\n cursorType?: CursorVariant;\n};\n\nfunction Cursor({\n ref,\n children,\n cursorType = \"default\",\n className,\n style,\n ...props\n}: CursorProps) {\n const { cursorPos, isActive, containerRef, cursorRef } = useCursor();\n React.useImperativeHandle(ref, () => cursorRef.current as HTMLDivElement);\n\n const x = useMotionValue(0);\n const y = useMotionValue(0);\n\n // Determine which content to render\n const getCursorContent = () => {\n if (children) return children;\n\n // Check if cursorType is a preset key\n if (typeof cursorType === \"string\" && cursorType in cursorVariants) {\n return cursorVariants[cursorType as CursorVariantKey];\n }\n\n // Otherwise treat it as custom ReactNode\n return cursorType;\n };\n\n const cursorContent = getCursorContent();\n\n // Only hide system cursor if we have custom content to show\n const shouldHideSystemCursor = cursorContent !== null;\n\n React.useEffect(() => {\n const parentElement = containerRef.current?.parentElement;\n\n if (parentElement && isActive && shouldHideSystemCursor) {\n parentElement.style.cursor = \"none\";\n }\n\n return () => {\n if (parentElement) parentElement.style.cursor = \"default\";\n };\n }, [containerRef, isActive, shouldHideSystemCursor]);\n\n React.useEffect(() => {\n x.set(cursorPos.x);\n y.set(cursorPos.y);\n }, [cursorPos, x, y]);\n\n // Only render if we have content to show\n if (!cursorContent) return null;\n\n return (\n <AnimatePresence>\n {isActive && (\n <motion.div\n ref={cursorRef}\n data-slot=\"cursor\"\n className={cn(\n \"transform-[translate(-50%,-50%)] pointer-events-none z-[9999] absolute\",\n className,\n )}\n style={{ top: y, left: x, ...style }}\n initial={{ scale: 0, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n exit={{ scale: 0, opacity: 0 }}\n {...props}\n >\n {cursorContent}\n </motion.div>\n )}\n </AnimatePresence>\n );\n}\n\ntype CursorFollowProps = HTMLMotionProps<\"div\"> & {\n sideOffset?: number;\n align?: Align;\n transition?: SpringOptions;\n transitionPreset?: TransitionPreset;\n children?: React.ReactNode;\n followText?: React.ReactNode;\n};\n\nfunction CursorFollow({\n ref,\n sideOffset = 15,\n align = \"bottom-right\",\n children,\n className,\n style,\n followText,\n transition,\n transitionPreset = \"normal\",\n ...props\n}: CursorFollowProps) {\n const { cursorPos, isActive, cursorRef } = useCursor();\n const cursorFollowRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(\n ref,\n () => cursorFollowRef.current as HTMLDivElement,\n );\n\n const x = useMotionValue(0);\n const y = useMotionValue(0);\n\n // Use custom transition if provided, otherwise use preset\n const finalTransition = transition || TRANSITION_PRESETS[transitionPreset];\n\n const springX = useSpring(x, finalTransition);\n const springY = useSpring(y, finalTransition);\n\n const calculateOffset = React.useCallback(() => {\n const rect = cursorFollowRef.current?.getBoundingClientRect();\n const width = rect?.width ?? 0;\n const height = rect?.height ?? 0;\n\n let newOffset;\n\n switch (align) {\n case \"center\":\n newOffset = { x: width / 2, y: height / 2 };\n break;\n case \"top\":\n newOffset = { x: width / 2, y: height + sideOffset };\n break;\n case \"top-left\":\n newOffset = { x: width + sideOffset, y: height + sideOffset };\n break;\n case \"top-right\":\n newOffset = { x: -sideOffset, y: height + sideOffset };\n break;\n case \"bottom\":\n newOffset = { x: width / 2, y: -sideOffset };\n break;\n case \"bottom-left\":\n newOffset = { x: width + sideOffset, y: -sideOffset };\n break;\n case \"bottom-right\":\n newOffset = { x: -sideOffset, y: -sideOffset };\n break;\n case \"left\":\n newOffset = { x: width + sideOffset, y: height / 2 };\n break;\n case \"right\":\n newOffset = { x: -sideOffset, y: height / 2 };\n break;\n default:\n newOffset = { x: 0, y: 0 };\n }\n\n return newOffset;\n }, [align, sideOffset]);\n\n React.useEffect(() => {\n const offset = calculateOffset();\n const cursorRect = cursorRef.current?.getBoundingClientRect();\n const cursorWidth = cursorRect?.width ?? 20;\n const cursorHeight = cursorRect?.height ?? 20;\n\n x.set(cursorPos.x - offset.x + cursorWidth / 2);\n y.set(cursorPos.y - offset.y + cursorHeight / 2);\n }, [calculateOffset, cursorPos, cursorRef, x, y]);\n\n // Determine follow content based on children or followText\n const getFollowContent = () => {\n if (children) return children;\n\n if (followText) {\n // If followText is a string, wrap it with default styling\n if (typeof followText === \"string\") {\n return (\n <div className=\"px-4 py-2 bg-white rounded-md shadow-lg text-sm font-medium\">\n {followText}\n </div>\n );\n }\n // If it's a ReactNode, render it directly\n return followText;\n }\n\n return null;\n };\n\n return (\n <AnimatePresence>\n {isActive && (\n <motion.div\n ref={cursorFollowRef}\n data-slot=\"cursor-follow\"\n className={cn(\n \"transform-[translate(-50%,-50%)] pointer-events-none z-[9998] absolute\",\n className,\n )}\n style={{ top: springY, left: springX, ...style }}\n initial={{ scale: 0, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n exit={{ scale: 0, opacity: 0 }}\n {...props}\n >\n {getFollowContent()}\n </motion.div>\n )}\n </AnimatePresence>\n );\n}\n\n// Hook for easy cursor setup (Method 2)\ntype useCursorFollowOptions = {\n /** Cursor variant type (preset key or custom ReactNode) */\n cursorType?: CursorVariant;\n /** Follow element content */\n followText?: React.ReactNode;\n /** Show follow element */\n showFollow?: boolean;\n /** Follow element alignment */\n align?: Align;\n /** Follow element side offset */\n sideOffset?: number;\n /** Follow element transition preset */\n transitionPreset?: TransitionPreset;\n /** Additional className for the container */\n className?: string;\n /** Additional style for the container */\n style?: React.CSSProperties;\n};\n\ntype UseCursorFollowType = {\n ref: React.RefObject<HTMLDivElement | null>;\n className: string;\n style: React.CSSProperties;\n \"data-cursor-container\": true;\n children: (originalChildren: React.ReactNode) => React.ReactElement;\n};\n\nfunction useCursorFollow(\n options: useCursorFollowOptions = {},\n): UseCursorFollowType {\n const {\n cursorType = \"default\",\n followText,\n showFollow,\n align = \"bottom-right\",\n sideOffset = 15,\n transitionPreset = \"normal\",\n className,\n style,\n } = options;\n\n const [cursorPos, setCursorPos] = React.useState({ x: 0, y: 0 });\n const [isActive, setIsActive] = React.useState(false);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const cursorRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (!containerRef.current) return;\n\n const element = containerRef.current;\n if (getComputedStyle(element).position === \"static\") {\n element.style.position = \"relative\";\n }\n\n const handleMouseMove = (e: MouseEvent) => {\n const rect = element.getBoundingClientRect();\n setCursorPos({ x: e.clientX - rect.left, y: e.clientY - rect.top });\n setIsActive(true);\n };\n const handleMouseLeave = () => setIsActive(false);\n\n element.addEventListener(\"mousemove\", handleMouseMove);\n element.addEventListener(\"mouseleave\", handleMouseLeave);\n\n return () => {\n element.removeEventListener(\"mousemove\", handleMouseMove);\n element.removeEventListener(\"mouseleave\", handleMouseLeave);\n };\n }, []);\n\n // Only hide system cursor if cursorType is not 'default'\n const shouldHideSystemCursor = cursorType !== \"default\";\n\n React.useEffect(() => {\n if (!containerRef.current || !isActive || !shouldHideSystemCursor) return;\n const element = containerRef.current;\n element.style.cursor = \"none\";\n return () => {\n element.style.cursor = \"default\";\n };\n }, [isActive, shouldHideSystemCursor]);\n\n // Render function for cursor elements\n const renderCursorElements = React.useCallback(() => {\n if (!isActive) return null;\n\n return (\n <CursorContext.Provider\n value={{ cursorPos, isActive, containerRef, cursorRef }}\n >\n <Cursor cursorType={cursorType} />\n {(showFollow ?? followText !== undefined) && (\n <CursorFollow\n followText={followText}\n align={align}\n sideOffset={sideOffset}\n transitionPreset={transitionPreset}\n />\n )}\n </CursorContext.Provider>\n );\n }, [\n isActive,\n cursorPos,\n cursorType,\n followText,\n showFollow,\n align,\n sideOffset,\n transitionPreset,\n ]);\n\n // Return props that can be spread on the container element\n return {\n ref: containerRef,\n className: cn(\"relative\", className),\n style: { ...style },\n \"data-cursor-container\": true as const,\n children: (originalChildren: React.ReactNode) => (\n <>\n {originalChildren}\n {renderCursorElements()}\n </>\n ),\n };\n}\n\nexport {\n CursorProvider,\n Cursor,\n CursorFollow,\n useCursor,\n useCursorFollow,\n TRANSITION_PRESETS,\n type CursorContextType,\n type CursorProviderProps,\n type CursorProps,\n type CursorFollowProps,\n type CursorVariant,\n type CursorVariantKey,\n type Align,\n type useCursorFollowOptions,\n type TransitionPreset,\n};\n"],"names":["TRANSITION_PRESETS","CursorContext","React","useCursor","context","cursorVariants","jsx","CursorProvider","ref","children","cursorType","followText","showFollow","followAlign","followSideOffset","followTransition","props","cursorPos","setCursorPos","isActive","setIsActive","containerRef","cursorRef","parent","handleMouseMove","e","rect","handleMouseLeave","shouldShowCursor","shouldShowFollowElement","transitionConfig","Cursor","CursorFollow","className","style","x","useMotionValue","y","cursorContent","shouldHideSystemCursor","parentElement","AnimatePresence","motion","cn","sideOffset","align","transition","transitionPreset","cursorFollowRef","finalTransition","springX","useSpring","springY","calculateOffset","width","height","newOffset","offset","cursorRect","cursorWidth","cursorHeight","getFollowContent","useCursorFollow","options","element","renderCursorElements","jsxs","originalChildren","Fragment"],"mappings":"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"}
@@ -0,0 +1,419 @@
1
+ import { jsx as z, jsxs as I, Fragment as W } from "react/jsx-runtime";
2
+ import { Slot as V, cn as O, useComposedRefs as _ } from "@dsui/ui/index";
3
+ import { cva as $ } from "class-variance-authority";
4
+ import * as u from "react";
5
+ const G = "Marquee", J = "MarqueeContent";
6
+ function L() {
7
+ const i = /* @__PURE__ */ new Set();
8
+ let t = null;
9
+ const s = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), f = typeof ResizeObserver < "u";
10
+ let c = !1;
11
+ const b = /* @__PURE__ */ new WeakMap();
12
+ function e() {
13
+ c || (c = !0, queueMicrotask(() => {
14
+ c = !1;
15
+ for (const r of i)
16
+ r();
17
+ }));
18
+ }
19
+ function q() {
20
+ t && (t.disconnect(), t = null), s.clear(), o.clear();
21
+ }
22
+ function g(r) {
23
+ return i.add(r), () => {
24
+ i.delete(r), i.size === 0 && q();
25
+ };
26
+ }
27
+ function p(r, n, d) {
28
+ if (!r || !n) return null;
29
+ const a = s.get(r), l = s.get(n);
30
+ if (!a || !l) return null;
31
+ const m = d === "vertical" ? a.height : a.width, R = d === "vertical" ? l.height : l.width;
32
+ let v = b.get(r);
33
+ v || (v = /* @__PURE__ */ new WeakMap(), b.set(r, v));
34
+ let h = v.get(n);
35
+ h || (h = {
36
+ horizontal: { rootSize: -1, contentSize: -1 },
37
+ vertical: { rootSize: -1, contentSize: -1 }
38
+ }, v.set(n, h));
39
+ const w = h[d];
40
+ if (w.rootSize === m && w.contentSize === R)
41
+ return w;
42
+ const x = { rootSize: m, contentSize: R };
43
+ return h[d] = x, x;
44
+ }
45
+ function C(r, n) {
46
+ if (!f || !r || !n) return;
47
+ t || (t = new ResizeObserver((R) => {
48
+ let v = !1;
49
+ for (const h of R) {
50
+ const w = h.target, { width: x, height: N } = h.contentRect, y = s.get(w);
51
+ (!y || y.width !== x || y.height !== N) && (s.set(w, { width: x, height: N }), v = !0);
52
+ }
53
+ v && e();
54
+ })), o.set(r, (o.get(r) ?? 0) + 1), o.set(n, (o.get(n) ?? 0) + 1), t.observe(r), t.observe(n);
55
+ const d = r.getBoundingClientRect(), a = n.getBoundingClientRect(), l = { width: d.width, height: d.height }, m = {
56
+ width: a.width,
57
+ height: a.height
58
+ };
59
+ s.set(r, l), s.set(n, m), l.width > 0 && l.height > 0 && m.width > 0 && m.height > 0 && e();
60
+ }
61
+ function M(r, n) {
62
+ if (!t || !r || !n) return;
63
+ const d = (o.get(r) ?? 1) - 1, a = (o.get(n) ?? 1) - 1;
64
+ d <= 0 ? (t.unobserve(r), s.delete(r), o.delete(r)) : o.set(r, d), a <= 0 ? (t.unobserve(n), s.delete(n), o.delete(n)) : o.set(n, a);
65
+ }
66
+ return {
67
+ subscribe: g,
68
+ getSnapshot: p,
69
+ observe: C,
70
+ unobserve: M
71
+ };
72
+ }
73
+ const P = L();
74
+ function A(i, t, s) {
75
+ const o = u.useCallback(
76
+ (c) => P.subscribe(c),
77
+ []
78
+ ), f = u.useCallback(
79
+ () => P.getSnapshot(
80
+ i.current,
81
+ t.current,
82
+ s
83
+ ),
84
+ [i, t, s]
85
+ );
86
+ return u.useSyncExternalStore(o, f, f);
87
+ }
88
+ const Q = u.createContext(void 0);
89
+ function U(i) {
90
+ const t = u.useContext(Q);
91
+ return i ?? t ?? "ltr";
92
+ }
93
+ const K = u.createContext(null);
94
+ function X(i) {
95
+ const t = u.useContext(K);
96
+ if (!t)
97
+ throw new Error(`\`${i}\` must be used within \`${G}\``);
98
+ return t;
99
+ }
100
+ function te(i) {
101
+ const {
102
+ side: t = "left",
103
+ dir: s,
104
+ speed: o = 50,
105
+ delay: f = 0,
106
+ loopCount: c = 0,
107
+ gap: b = "1rem",
108
+ asChild: e,
109
+ autoFill: q = !1,
110
+ pauseOnHover: g = !1,
111
+ pauseOnKeyboard: p = !1,
112
+ reverse: C = !1,
113
+ className: M,
114
+ style: r,
115
+ ref: n,
116
+ ...d
117
+ } = i, a = t === "top" || t === "bottom" ? "vertical" : "horizontal", l = U(s), m = u.useRef(null), R = u.useRef(null), v = _(n, m), [h, w] = u.useState(!1), x = u.useCallback(
118
+ (S) => {
119
+ p && S.key === " " && (S.preventDefault(), w((D) => !D));
120
+ },
121
+ [p]
122
+ ), N = A(m, R, a), y = u.useMemo(() => {
123
+ const S = Math.max(1e-3, o);
124
+ if (!N)
125
+ return (q ? 1e3 : 2e3) / S;
126
+ const { rootSize: D, contentSize: k } = N;
127
+ if (q) {
128
+ const H = k < D ? Math.ceil(D / k) : 1;
129
+ return k * H / S;
130
+ } else
131
+ return k < D ? D / S : k / S;
132
+ }, [N, o, q]), T = u.useMemo(
133
+ () => ({
134
+ "--marquee-duration": `${y}s`,
135
+ "--marquee-gap": b,
136
+ "--marquee-delay": `${f}s`,
137
+ "--marquee-loop-count": c === 0 || c === 1 / 0 ? "infinite" : c.toString(),
138
+ ...r
139
+ }),
140
+ [y, b, f, c, r]
141
+ ), j = u.useMemo(
142
+ () => ({
143
+ side: t,
144
+ orientation: a,
145
+ dir: l,
146
+ speed: o,
147
+ loopCount: c,
148
+ contentRef: R,
149
+ rootRef: m,
150
+ autoFill: q,
151
+ paused: h,
152
+ pauseOnHover: g,
153
+ pauseOnKeyboard: p,
154
+ reverse: C
155
+ }),
156
+ [
157
+ t,
158
+ a,
159
+ l,
160
+ o,
161
+ c,
162
+ q,
163
+ h,
164
+ g,
165
+ p,
166
+ C
167
+ ]
168
+ ), B = e ? V : "div";
169
+ return /* @__PURE__ */ z(K.Provider, { value: j, children: /* @__PURE__ */ z("div", { "data-slot": "marquee-wrapper", className: "grid", children: /* @__PURE__ */ z(
170
+ B,
171
+ {
172
+ role: "marquee",
173
+ "aria-live": "off",
174
+ "data-orientation": a,
175
+ "data-slot": "marquee",
176
+ dir: l,
177
+ tabIndex: p ? 0 : void 0,
178
+ ...d,
179
+ ref: v,
180
+ className: O(
181
+ "relative flex overflow-hidden motion-reduce:animate-none",
182
+ a === "vertical" && "h-full flex-col",
183
+ a === "horizontal" && "w-full",
184
+ h && "[&_*]:[animation-play-state:paused]",
185
+ g && "group",
186
+ p && "rounded-md focus-visible:border-ring focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",
187
+ M
188
+ ),
189
+ style: T,
190
+ onKeyDown: p ? x : void 0
191
+ }
192
+ ) }) });
193
+ }
194
+ const F = $(
195
+ "flex min-w-full shrink-0 gap-(--marquee-gap)",
196
+ {
197
+ variants: {
198
+ side: {
199
+ left: "animate-marquee-left",
200
+ right: "animate-marquee-right",
201
+ top: "min-h-full min-w-auto animate-marquee-up flex-col",
202
+ bottom: "min-h-full min-w-auto animate-marquee-down flex-col"
203
+ },
204
+ dir: {
205
+ ltr: "",
206
+ rtl: ""
207
+ },
208
+ pauseOnHover: {
209
+ true: "group-hover:[animation-play-state:paused]",
210
+ false: ""
211
+ },
212
+ reverse: {
213
+ true: "[animation-direction:reverse]",
214
+ false: ""
215
+ }
216
+ },
217
+ compoundVariants: [
218
+ {
219
+ side: "left",
220
+ dir: "rtl",
221
+ className: "animate-marquee-left-rtl"
222
+ },
223
+ {
224
+ side: "right",
225
+ dir: "rtl",
226
+ className: "animate-marquee-right-rtl"
227
+ }
228
+ ],
229
+ defaultVariants: {
230
+ side: "left",
231
+ dir: "ltr",
232
+ pauseOnHover: !1,
233
+ reverse: !1
234
+ }
235
+ }
236
+ );
237
+ function re(i) {
238
+ const {
239
+ className: t,
240
+ asChild: s,
241
+ ref: o,
242
+ children: f,
243
+ style: c,
244
+ ...b
245
+ } = i, e = X(J), q = _(o, e.contentRef), g = e.orientation === "vertical", p = e.dir === "rtl", C = A(
246
+ e.rootRef,
247
+ e.contentRef,
248
+ e.orientation
249
+ );
250
+ u.useEffect(() => {
251
+ if (e.rootRef.current && e.contentRef.current)
252
+ return P.observe(
253
+ e.rootRef.current,
254
+ e.contentRef.current
255
+ ), () => {
256
+ P.unobserve(
257
+ e.rootRef.current,
258
+ e.contentRef.current
259
+ );
260
+ };
261
+ }, [e.rootRef, e.contentRef]);
262
+ const M = u.useMemo(() => {
263
+ if (!e.autoFill || !C) return 1;
264
+ const { rootSize: a, contentSize: l } = C;
265
+ return l === 0 ? 1 : l < a ? Math.ceil(a / l) : 1;
266
+ }, [e.autoFill, C]), r = u.useCallback(
267
+ (a) => Array.from({ length: Math.max(0, a) }).map((l, m) => /* @__PURE__ */ z(u.Fragment, { children: f }, m)),
268
+ [f]
269
+ ), n = u.useMemo(
270
+ () => ({
271
+ ...c,
272
+ animationDuration: "var(--marquee-duration)",
273
+ animationDelay: "var(--marquee-delay)",
274
+ animationIterationCount: "var(--marquee-loop-count)",
275
+ animationDirection: e.reverse ? "reverse" : "normal"
276
+ }),
277
+ [c, e.reverse]
278
+ ), d = s ? V : "div";
279
+ return /* @__PURE__ */ I(W, { children: [
280
+ /* @__PURE__ */ I(
281
+ d,
282
+ {
283
+ "data-orientation": e.orientation,
284
+ "data-slot": "marquee-content",
285
+ ...b,
286
+ style: n,
287
+ className: O(
288
+ F({
289
+ side: e.side,
290
+ dir: e.dir,
291
+ pauseOnHover: e.pauseOnHover,
292
+ reverse: e.reverse,
293
+ className: t
294
+ }),
295
+ g && "flex-col",
296
+ g ? "mb-(--marquee-gap)" : p ? "ml-(--marquee-gap)" : "mr-(--marquee-gap)"
297
+ ),
298
+ children: [
299
+ /* @__PURE__ */ z(
300
+ "div",
301
+ {
302
+ ref: q,
303
+ className: O(
304
+ "flex shrink-0 gap-(--marquee-gap)",
305
+ g && "flex-col"
306
+ ),
307
+ children: f
308
+ }
309
+ ),
310
+ r(M - 1)
311
+ ]
312
+ }
313
+ ),
314
+ /* @__PURE__ */ z(
315
+ d,
316
+ {
317
+ role: "presentation",
318
+ "aria-hidden": "true",
319
+ ...b,
320
+ style: n,
321
+ className: O(
322
+ F({
323
+ side: e.side,
324
+ dir: e.dir,
325
+ pauseOnHover: e.pauseOnHover,
326
+ reverse: e.reverse,
327
+ className: t
328
+ }),
329
+ g && "flex-col"
330
+ ),
331
+ children: r(M)
332
+ }
333
+ )
334
+ ] });
335
+ }
336
+ function oe(i) {
337
+ const { className: t, asChild: s, ...o } = i;
338
+ return /* @__PURE__ */ z(
339
+ s ? V : "div",
340
+ {
341
+ "data-slot": "marquee-item",
342
+ ...o,
343
+ className: O("shrink-0", t)
344
+ }
345
+ );
346
+ }
347
+ const Y = $("pointer-events-none absolute z-10", {
348
+ variants: {
349
+ side: {
350
+ left: "top-0 left-0 h-full bg-gradient-to-r from-background to-transparent",
351
+ right: "top-0 right-0 h-full bg-gradient-to-l from-background to-transparent",
352
+ top: "top-0 left-0 w-full bg-gradient-to-b from-background to-transparent",
353
+ bottom: "bottom-0 left-0 w-full bg-gradient-to-t from-background to-transparent"
354
+ },
355
+ size: {
356
+ default: "",
357
+ sm: "",
358
+ lg: ""
359
+ }
360
+ },
361
+ compoundVariants: [
362
+ {
363
+ side: ["left", "right"],
364
+ size: "default",
365
+ className: "w-1/4"
366
+ },
367
+ {
368
+ side: ["left", "right"],
369
+ size: "sm",
370
+ className: "w-1/6"
371
+ },
372
+ {
373
+ side: ["left", "right"],
374
+ size: "lg",
375
+ className: "w-1/3"
376
+ },
377
+ {
378
+ side: ["top", "bottom"],
379
+ size: "default",
380
+ className: "h-1/4"
381
+ },
382
+ {
383
+ side: ["top", "bottom"],
384
+ size: "sm",
385
+ className: "h-1/6"
386
+ },
387
+ {
388
+ side: ["top", "bottom"],
389
+ size: "lg",
390
+ className: "h-1/3"
391
+ }
392
+ ],
393
+ defaultVariants: {
394
+ size: "default"
395
+ }
396
+ });
397
+ function ne(i) {
398
+ const { side: t, size: s, className: o, asChild: f, ...c } = i;
399
+ return /* @__PURE__ */ z(
400
+ f ? V : "div",
401
+ {
402
+ "data-size": s,
403
+ "data-slot": "marquee-edge",
404
+ ...c,
405
+ className: O(Y({ side: t, size: s, className: o }))
406
+ }
407
+ );
408
+ }
409
+ export {
410
+ re as Content,
411
+ ne as Edge,
412
+ oe as Item,
413
+ te as Marquee,
414
+ re as MarqueeContent,
415
+ ne as MarqueeEdge,
416
+ oe as MarqueeItem,
417
+ te as Root
418
+ };
419
+ //# sourceMappingURL=Marquee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Marquee.js","sources":["../../../../src/components/Marquee/Marquee.tsx"],"sourcesContent":["\"use client\";\n\nimport { cn, Slot, useComposedRefs } from \"@dsui/ui/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nconst ROOT_NAME = \"Marquee\";\nconst CONTENT_NAME = \"MarqueeContent\";\n\ntype Side = \"left\" | \"right\" | \"top\" | \"bottom\";\ntype Orientation = \"horizontal\" | \"vertical\";\ntype Direction = \"ltr\" | \"rtl\";\n\ntype RootElement = React.ComponentRef<typeof MarqueeRoot>;\ntype ContentElement = React.ComponentRef<typeof MarqueeContent>;\n\ninterface Dimensions {\n width: number;\n height: number;\n}\n\ninterface ElementDimensions {\n rootSize: number;\n contentSize: number;\n}\n\nfunction createResizeObserverStore() {\n const listeners = new Set<() => void>();\n let observer: ResizeObserver | null = null;\n const elements = new Map<Element, Dimensions>();\n const refCounts = new Map<Element, number>();\n const isSupported = typeof ResizeObserver !== \"undefined\";\n let notificationScheduled = false;\n\n const snapshotCache = new WeakMap<\n Element,\n WeakMap<\n Element,\n { horizontal: ElementDimensions; vertical: ElementDimensions }\n >\n >();\n\n function notify() {\n if (notificationScheduled) return;\n notificationScheduled = true;\n queueMicrotask(() => {\n notificationScheduled = false;\n for (const callback of listeners) {\n callback();\n }\n });\n }\n\n function cleanup() {\n if (observer) {\n observer.disconnect();\n observer = null;\n }\n elements.clear();\n refCounts.clear();\n }\n\n function subscribe(callback: () => void) {\n listeners.add(callback);\n return () => {\n listeners.delete(callback);\n if (listeners.size === 0) {\n cleanup();\n }\n };\n }\n\n function getSnapshot(\n rootElement: RootElement | null,\n contentElement: ContentElement | null,\n orientation: Orientation,\n ): ElementDimensions | null {\n if (!rootElement || !contentElement) return null;\n\n const rootDims = elements.get(rootElement);\n const contentDims = elements.get(contentElement);\n\n if (!rootDims || !contentDims) return null;\n\n const rootSize =\n orientation === \"vertical\" ? rootDims.height : rootDims.width;\n const contentSize =\n orientation === \"vertical\" ? contentDims.height : contentDims.width;\n\n let rootCache = snapshotCache.get(rootElement);\n if (!rootCache) {\n rootCache = new WeakMap();\n snapshotCache.set(rootElement, rootCache);\n }\n\n let contentCache = rootCache.get(contentElement);\n if (!contentCache) {\n contentCache = {\n horizontal: { rootSize: -1, contentSize: -1 },\n vertical: { rootSize: -1, contentSize: -1 },\n };\n rootCache.set(contentElement, contentCache);\n }\n\n const cached = contentCache[orientation];\n if (cached.rootSize === rootSize && cached.contentSize === contentSize) {\n return cached;\n }\n\n const snapshot = { rootSize, contentSize };\n contentCache[orientation] = snapshot;\n return snapshot;\n }\n\n function observe(\n rootElement: RootElement | null,\n contentElement: Element | null,\n ) {\n if (!isSupported || !rootElement || !contentElement) return;\n\n if (!observer) {\n observer = new ResizeObserver((entries) => {\n let hasChanged = false;\n\n for (const entry of entries) {\n const element = entry.target;\n const { width, height } = entry.contentRect;\n\n const currentData = elements.get(element);\n\n if (\n !currentData ||\n currentData.width !== width ||\n currentData.height !== height\n ) {\n elements.set(element, { width, height });\n hasChanged = true;\n }\n }\n\n if (hasChanged) {\n notify();\n }\n });\n }\n\n refCounts.set(rootElement, (refCounts.get(rootElement) ?? 0) + 1);\n refCounts.set(contentElement, (refCounts.get(contentElement) ?? 0) + 1);\n\n observer.observe(rootElement);\n observer.observe(contentElement);\n\n const rootRect = rootElement.getBoundingClientRect();\n const contentRect = contentElement.getBoundingClientRect();\n\n const rootData = { width: rootRect.width, height: rootRect.height };\n const contentData = {\n width: contentRect.width,\n height: contentRect.height,\n };\n\n elements.set(rootElement, rootData);\n elements.set(contentElement, contentData);\n\n if (\n rootData.width > 0 &&\n rootData.height > 0 &&\n contentData.width > 0 &&\n contentData.height > 0\n ) {\n notify();\n }\n }\n\n function unobserve(\n rootElement: RootElement | null,\n contentElement: Element | null,\n ) {\n if (!observer || !rootElement || !contentElement) return;\n\n const rootCount = (refCounts.get(rootElement) ?? 1) - 1;\n const contentCount = (refCounts.get(contentElement) ?? 1) - 1;\n\n if (rootCount <= 0) {\n observer.unobserve(rootElement);\n elements.delete(rootElement);\n refCounts.delete(rootElement);\n } else {\n refCounts.set(rootElement, rootCount);\n }\n\n if (contentCount <= 0) {\n observer.unobserve(contentElement);\n elements.delete(contentElement);\n refCounts.delete(contentElement);\n } else {\n refCounts.set(contentElement, contentCount);\n }\n }\n\n return {\n subscribe,\n getSnapshot,\n observe,\n unobserve,\n };\n}\n\nconst resizeObserverStore = createResizeObserverStore();\n\nfunction useResizeObserverStore(\n rootRef: React.RefObject<RootElement | null>,\n contentRef: React.RefObject<ContentElement | null>,\n orientation: Orientation,\n) {\n const onSubscribe = React.useCallback(\n (callback: () => void) => resizeObserverStore.subscribe(callback),\n [],\n );\n\n const getSnapshot = React.useCallback(\n () =>\n resizeObserverStore.getSnapshot(\n rootRef.current,\n contentRef.current,\n orientation,\n ),\n [rootRef, contentRef, orientation],\n );\n\n return React.useSyncExternalStore(onSubscribe, getSnapshot, getSnapshot);\n}\n\nconst DirectionContext = React.createContext<Direction | undefined>(undefined);\n\nfunction useDirection(dir?: Direction): Direction {\n const contextDir = React.useContext(DirectionContext);\n return dir ?? contextDir ?? \"ltr\";\n}\n\ninterface DivProps extends React.ComponentProps<\"div\"> {\n asChild?: boolean;\n}\n\ninterface MarqueeContextValue {\n side: Side;\n orientation: Orientation;\n dir: Direction;\n speed: number;\n loopCount: number;\n contentRef: React.RefObject<ContentElement | null>;\n rootRef: React.RefObject<RootElement | null>;\n autoFill: boolean;\n pauseOnHover: boolean;\n pauseOnKeyboard: boolean;\n reverse: boolean;\n paused: boolean;\n}\n\nconst MarqueeContext = React.createContext<MarqueeContextValue | null>(null);\n\nfunction useMarqueeContext(consumerName: string) {\n const context = React.useContext(MarqueeContext);\n if (!context) {\n throw new Error(`\\`${consumerName}\\` must be used within \\`${ROOT_NAME}\\``);\n }\n return context;\n}\n\ninterface MarqueeRootProps extends DivProps {\n side?: Side;\n dir?: Direction;\n speed?: number;\n delay?: number;\n loopCount?: number;\n gap?: string | number;\n autoFill?: boolean;\n pauseOnHover?: boolean;\n pauseOnKeyboard?: boolean;\n reverse?: boolean;\n}\n\nfunction MarqueeRoot(props: MarqueeRootProps) {\n const {\n side = \"left\",\n dir: dirProp,\n speed = 50,\n delay = 0,\n loopCount = 0,\n gap = \"1rem\",\n asChild,\n autoFill = false,\n pauseOnHover = false,\n pauseOnKeyboard = false,\n reverse = false,\n className,\n style: styleProp,\n ref,\n ...marqueeProps\n } = props;\n\n const orientation: Orientation =\n side === \"top\" || side === \"bottom\" ? \"vertical\" : \"horizontal\";\n\n const dir = useDirection(dirProp);\n\n const rootRef = React.useRef<RootElement>(null);\n const contentRef = React.useRef<ContentElement>(null);\n const composedRef = useComposedRefs(ref, rootRef);\n\n const [paused, setPaused] = React.useState(false);\n\n const onKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (pauseOnKeyboard && event.key === \" \") {\n event.preventDefault();\n setPaused((prev) => !prev);\n }\n },\n [pauseOnKeyboard],\n );\n\n const dimensions = useResizeObserverStore(rootRef, contentRef, orientation);\n\n const duration = React.useMemo(() => {\n const safeSpeed = Math.max(0.001, speed);\n\n if (!dimensions) {\n const defaultDistance = autoFill ? 1000 : 2000;\n return defaultDistance / safeSpeed;\n }\n\n const { rootSize, contentSize } = dimensions;\n\n if (autoFill) {\n const multiplier =\n contentSize < rootSize ? Math.ceil(rootSize / contentSize) : 1;\n return (contentSize * multiplier) / safeSpeed;\n } else {\n return contentSize < rootSize\n ? rootSize / safeSpeed\n : contentSize / safeSpeed;\n }\n }, [dimensions, speed, autoFill]);\n\n const style = React.useMemo<React.CSSProperties>(\n () => ({\n \"--marquee-duration\": `${duration}s`,\n \"--marquee-gap\": gap,\n \"--marquee-delay\": `${delay}s`,\n \"--marquee-loop-count\":\n loopCount === 0 || loopCount === Infinity\n ? \"infinite\"\n : loopCount.toString(),\n ...styleProp,\n }),\n [duration, gap, delay, loopCount, styleProp],\n );\n\n const contextValue = React.useMemo<MarqueeContextValue>(\n () => ({\n side,\n orientation,\n dir,\n speed,\n loopCount,\n contentRef,\n rootRef,\n autoFill,\n paused,\n pauseOnHover,\n pauseOnKeyboard,\n reverse,\n }),\n [\n side,\n orientation,\n dir,\n speed,\n loopCount,\n autoFill,\n paused,\n pauseOnHover,\n pauseOnKeyboard,\n reverse,\n ],\n );\n\n const MarqueePrimitive = asChild ? Slot : \"div\";\n\n return (\n <MarqueeContext.Provider value={contextValue}>\n <div data-slot=\"marquee-wrapper\" className=\"grid\">\n <MarqueePrimitive\n role=\"marquee\"\n aria-live=\"off\"\n data-orientation={orientation}\n data-slot=\"marquee\"\n dir={dir}\n tabIndex={pauseOnKeyboard ? 0 : undefined}\n {...marqueeProps}\n ref={composedRef}\n className={cn(\n \"relative flex overflow-hidden motion-reduce:animate-none\",\n orientation === \"vertical\" && \"h-full flex-col\",\n orientation === \"horizontal\" && \"w-full\",\n paused && \"[&_*]:[animation-play-state:paused]\",\n pauseOnHover && \"group\",\n pauseOnKeyboard &&\n \"rounded-md focus-visible:border-ring focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50\",\n className,\n )}\n style={style}\n onKeyDown={pauseOnKeyboard ? onKeyDown : undefined}\n />\n </div>\n </MarqueeContext.Provider>\n );\n}\n\nconst marqueeContentVariants = cva(\n \"flex min-w-full shrink-0 gap-(--marquee-gap)\",\n {\n variants: {\n side: {\n left: \"animate-marquee-left\",\n right: \"animate-marquee-right\",\n top: \"min-h-full min-w-auto animate-marquee-up flex-col\",\n bottom: \"min-h-full min-w-auto animate-marquee-down flex-col\",\n },\n dir: {\n ltr: \"\",\n rtl: \"\",\n },\n pauseOnHover: {\n true: \"group-hover:[animation-play-state:paused]\",\n false: \"\",\n },\n reverse: {\n true: \"[animation-direction:reverse]\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n side: \"left\",\n dir: \"rtl\",\n className: \"animate-marquee-left-rtl\",\n },\n {\n side: \"right\",\n dir: \"rtl\",\n className: \"animate-marquee-right-rtl\",\n },\n ],\n defaultVariants: {\n side: \"left\",\n dir: \"ltr\",\n pauseOnHover: false,\n reverse: false,\n },\n },\n);\n\nfunction MarqueeContent(props: DivProps) {\n const {\n className,\n asChild,\n ref,\n children,\n style: styleProp,\n ...contentProps\n } = props;\n\n const context = useMarqueeContext(CONTENT_NAME);\n const composedRef = useComposedRefs(ref, context.contentRef);\n\n const isVertical = context.orientation === \"vertical\";\n const isRtl = context.dir === \"rtl\";\n\n const dimensions = useResizeObserverStore(\n context.rootRef,\n context.contentRef,\n context.orientation,\n );\n\n React.useEffect(() => {\n if (context.rootRef.current && context.contentRef.current) {\n resizeObserverStore.observe(\n context.rootRef.current,\n context.contentRef.current,\n );\n\n return () => {\n resizeObserverStore.unobserve(\n context.rootRef.current,\n context.contentRef.current,\n );\n };\n }\n }, [context.rootRef, context.contentRef]);\n\n const multiplier = React.useMemo(() => {\n if (!context.autoFill || !dimensions) return 1;\n\n const { rootSize, contentSize } = dimensions;\n if (contentSize === 0) return 1;\n\n return contentSize < rootSize ? Math.ceil(rootSize / contentSize) : 1;\n }, [context.autoFill, dimensions]);\n\n const onMultipliedChildrenRender = React.useCallback(\n (count: number) => {\n return Array.from({ length: Math.max(0, count) }).map((_, i) => (\n <React.Fragment key={i}>{children}</React.Fragment>\n ));\n },\n [children],\n );\n\n const style = React.useMemo(\n () => ({\n ...styleProp,\n animationDuration: \"var(--marquee-duration)\",\n animationDelay: \"var(--marquee-delay)\",\n animationIterationCount: \"var(--marquee-loop-count)\",\n animationDirection: context.reverse ? \"reverse\" : \"normal\",\n }),\n [styleProp, context.reverse],\n );\n\n const ContentPrimitive = asChild ? Slot : \"div\";\n\n return (\n <>\n <ContentPrimitive\n data-orientation={context.orientation}\n data-slot=\"marquee-content\"\n {...contentProps}\n style={style}\n className={cn(\n marqueeContentVariants({\n side: context.side,\n dir: context.dir,\n pauseOnHover: context.pauseOnHover,\n reverse: context.reverse,\n className,\n }),\n isVertical && \"flex-col\",\n isVertical\n ? \"mb-(--marquee-gap)\"\n : isRtl\n ? \"ml-(--marquee-gap)\"\n : \"mr-(--marquee-gap)\",\n )}\n >\n <div\n ref={composedRef}\n className={cn(\n \"flex shrink-0 gap-(--marquee-gap)\",\n isVertical && \"flex-col\",\n )}\n >\n {children}\n </div>\n {onMultipliedChildrenRender(multiplier - 1)}\n </ContentPrimitive>\n <ContentPrimitive\n role=\"presentation\"\n aria-hidden=\"true\"\n {...contentProps}\n style={style}\n className={cn(\n marqueeContentVariants({\n side: context.side,\n dir: context.dir,\n pauseOnHover: context.pauseOnHover,\n reverse: context.reverse,\n className,\n }),\n isVertical && \"flex-col\",\n )}\n >\n {onMultipliedChildrenRender(multiplier)}\n </ContentPrimitive>\n </>\n );\n}\n\nfunction MarqueeItem(props: DivProps) {\n const { className, asChild, ...itemProps } = props;\n\n const ItemPrimitive = asChild ? Slot : \"div\";\n\n return (\n <ItemPrimitive\n data-slot=\"marquee-item\"\n {...itemProps}\n className={cn(\"shrink-0\", className)}\n />\n );\n}\n\nconst marqueeEdgeVariants = cva(\"pointer-events-none absolute z-10\", {\n variants: {\n side: {\n left: \"top-0 left-0 h-full bg-gradient-to-r from-background to-transparent\",\n right:\n \"top-0 right-0 h-full bg-gradient-to-l from-background to-transparent\",\n top: \"top-0 left-0 w-full bg-gradient-to-b from-background to-transparent\",\n bottom:\n \"bottom-0 left-0 w-full bg-gradient-to-t from-background to-transparent\",\n },\n size: {\n default: \"\",\n sm: \"\",\n lg: \"\",\n },\n },\n compoundVariants: [\n {\n side: [\"left\", \"right\"],\n size: \"default\",\n className: \"w-1/4\",\n },\n {\n side: [\"left\", \"right\"],\n size: \"sm\",\n className: \"w-1/6\",\n },\n {\n side: [\"left\", \"right\"],\n size: \"lg\",\n className: \"w-1/3\",\n },\n {\n side: [\"top\", \"bottom\"],\n size: \"default\",\n className: \"h-1/4\",\n },\n {\n side: [\"top\", \"bottom\"],\n size: \"sm\",\n className: \"h-1/6\",\n },\n {\n side: [\"top\", \"bottom\"],\n size: \"lg\",\n className: \"h-1/3\",\n },\n ],\n defaultVariants: {\n size: \"default\",\n },\n});\n\ninterface MarqueeEdgeProps\n extends VariantProps<typeof marqueeEdgeVariants>, DivProps {}\n\nfunction MarqueeEdge(props: MarqueeEdgeProps) {\n const { side, size, className, asChild, ...edgeProps } = props;\n\n const EdgePrimitive = asChild ? Slot : \"div\";\n\n return (\n <EdgePrimitive\n data-size={size}\n data-slot=\"marquee-edge\"\n {...edgeProps}\n className={cn(marqueeEdgeVariants({ side, size, className }))}\n />\n );\n}\n\nexport {\n MarqueeRoot as Root,\n MarqueeContent as Content,\n MarqueeItem as Item,\n MarqueeEdge as Edge,\n //\n MarqueeRoot as Marquee,\n MarqueeContent,\n MarqueeItem,\n MarqueeEdge,\n // types\n type MarqueeRootProps,\n type MarqueeEdgeProps,\n};\n"],"names":["ROOT_NAME","CONTENT_NAME","createResizeObserverStore","listeners","observer","elements","refCounts","isSupported","notificationScheduled","snapshotCache","notify","callback","cleanup","subscribe","getSnapshot","rootElement","contentElement","orientation","rootDims","contentDims","rootSize","contentSize","rootCache","contentCache","cached","snapshot","observe","entries","hasChanged","entry","element","width","height","currentData","rootRect","contentRect","rootData","contentData","unobserve","rootCount","contentCount","resizeObserverStore","useResizeObserverStore","rootRef","contentRef","onSubscribe","React","DirectionContext","useDirection","dir","contextDir","MarqueeContext","useMarqueeContext","consumerName","context","MarqueeRoot","props","side","dirProp","speed","delay","loopCount","gap","asChild","autoFill","pauseOnHover","pauseOnKeyboard","reverse","className","styleProp","ref","marqueeProps","composedRef","useComposedRefs","paused","setPaused","onKeyDown","event","prev","dimensions","duration","safeSpeed","multiplier","style","contextValue","MarqueePrimitive","Slot","jsx","cn","marqueeContentVariants","cva","MarqueeContent","children","contentProps","isVertical","isRtl","onMultipliedChildrenRender","count","_","i","ContentPrimitive","jsxs","Fragment","MarqueeItem","itemProps","marqueeEdgeVariants","MarqueeEdge","size","edgeProps"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { jsxs as h, jsx as e } from "react/jsx-runtime";
2
+ import * as f from "react";
3
+ import { Root as c, Content as p, Item as q, Edge as l } from "./Marquee.js";
4
+ function b({
5
+ items: r,
6
+ fade: o,
7
+ children: n,
8
+ side: t = "left",
9
+ ...a
10
+ }) {
11
+ const i = r && r.length > 0, m = f.Children.count(n) > 0;
12
+ i && m && console.warn(
13
+ "Marquee: Both 'items' and 'children' are provided. 'items' will be used."
14
+ );
15
+ const s = t === "top" || t === "bottom" ? ["top", "bottom"] : ["left", "right"];
16
+ return i ? /* @__PURE__ */ h(c, { ...a, side: t, children: [
17
+ /* @__PURE__ */ e(p, { children: r.map((d, u) => /* @__PURE__ */ e(q, { children: d }, u)) }),
18
+ o && /* @__PURE__ */ e(l, { side: s[0] }),
19
+ o && /* @__PURE__ */ e(l, { side: s[1] })
20
+ ] }) : /* @__PURE__ */ e(c, { ...a, side: t, children: n });
21
+ }
22
+ export {
23
+ b as MarqueeWrapper
24
+ };
25
+ //# sourceMappingURL=MarqueeWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarqueeWrapper.js","sources":["../../../../src/components/Marquee/MarqueeWrapper.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Root, Content, Item, Edge } from \"./Marquee\";\nimport type { MarqueeRootProps } from \"./Marquee\";\n\ninterface MarqueeWrapperProps extends MarqueeRootProps {\n items?: React.ReactNode[];\n fade?: boolean;\n}\n\nfunction MarqueeWrapper({\n items,\n fade,\n children,\n side = \"left\",\n ...props\n}: MarqueeWrapperProps) {\n const hasItems = items && items.length > 0;\n const hasChildren = React.Children.count(children) > 0;\n\n if (hasItems && hasChildren) {\n console.warn(\n \"Marquee: Both 'items' and 'children' are provided. 'items' will be used.\",\n );\n }\n\n const isVertical = side === \"top\" || side === \"bottom\";\n const fadeSides = isVertical ? [\"top\", \"bottom\"] : [\"left\", \"right\"];\n\n if (hasItems) {\n return (\n <Root {...props} side={side}>\n <Content>\n {items.map((item, index) => (\n <Item key={index}>{item}</Item>\n ))}\n </Content>\n {fade && (\n <Edge side={fadeSides[0] as \"left\" | \"right\" | \"top\" | \"bottom\"} />\n )}\n {fade && (\n <Edge side={fadeSides[1] as \"left\" | \"right\" | \"top\" | \"bottom\"} />\n )}\n </Root>\n );\n }\n\n return (\n <Root {...props} side={side}>\n {children}\n </Root>\n );\n}\n\nexport { MarqueeWrapper };\nexport type { MarqueeWrapperProps };\n"],"names":["MarqueeWrapper","items","fade","children","side","props","hasItems","hasChildren","React","fadeSides","jsxs","Root","jsx","Content","item","index","Item","Edge"],"mappings":";;;AAWA,SAASA,EAAe;AAAA,EACtB,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GAAwB;AACtB,QAAMC,IAAWL,KAASA,EAAM,SAAS,GACnCM,IAAcC,EAAM,SAAS,MAAML,CAAQ,IAAI;AAErD,EAAIG,KAAYC,KACd,QAAQ;AAAA,IACN;AAAA,EAAA;AAKJ,QAAME,IADaL,MAAS,SAASA,MAAS,WACf,CAAC,OAAO,QAAQ,IAAI,CAAC,QAAQ,OAAO;AAEnE,SAAIE,IAEA,gBAAAI,EAACC,GAAA,EAAM,GAAGN,GAAO,MAAAD,GACf,UAAA;AAAA,IAAA,gBAAAQ,EAACC,GAAA,EACE,UAAAZ,EAAM,IAAI,CAACa,GAAMC,MAChB,gBAAAH,EAACI,GAAA,EAAkB,UAAAF,EAAA,GAARC,CAAa,CACzB,GACH;AAAA,IACCb,KACC,gBAAAU,EAACK,GAAA,EAAK,MAAMR,EAAU,CAAC,GAA0C;AAAA,IAElEP,KACC,gBAAAU,EAACK,GAAA,EAAK,MAAMR,EAAU,CAAC,EAAA,CAA0C;AAAA,EAAA,GAErE,IAKF,gBAAAG,EAACD,GAAA,EAAM,GAAGN,GAAO,MAAAD,GACd,UAAAD,GACH;AAEJ;"}
@@ -0,0 +1,15 @@
1
+ import { Edge as e, Item as t, Content as r } from "./Marquee.js";
2
+ import { MarqueeWrapper as a } from "./MarqueeWrapper.js";
3
+ const m = Object.assign(a, {
4
+ Content: r,
5
+ Item: t,
6
+ Edge: e,
7
+ //
8
+ MarqueeContent: r,
9
+ MarqueeItem: t,
10
+ MarqueeEdge: e
11
+ });
12
+ export {
13
+ m as Marquee
14
+ };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Marquee/index.ts"],"sourcesContent":["import {\n Content,\n Item,\n Edge,\n //\n MarqueeContent,\n MarqueeItem,\n MarqueeEdge,\n // types\n type MarqueeRootProps,\n type MarqueeEdgeProps,\n} from \"./Marquee\";\nimport { MarqueeWrapper } from \"./MarqueeWrapper\";\n\nconst Marquee = Object.assign(MarqueeWrapper, {\n Content,\n Item,\n Edge,\n //\n MarqueeContent,\n MarqueeItem,\n MarqueeEdge,\n});\n\nexport { Marquee };\nexport type { MarqueeRootProps, MarqueeEdgeProps };\n"],"names":["Marquee","MarqueeWrapper","Content","Item","Edge","MarqueeContent","MarqueeItem","MarqueeEdge"],"mappings":";;AAcA,MAAMA,IAAU,OAAO,OAAOC,GAAgB;AAAA,EAAA,SAC5CC;AAAAA,EAAA,MACAC;AAAAA,EAAA,MACAC;AAAAA;AAAAA,EAEA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AACF,CAAC;"}