@arolariu/components 0.0.39 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/CONTRIBUTING.md +371 -371
  2. package/DEBUGGING.md +3 -8
  3. package/EXAMPLES.md +1035 -1035
  4. package/README.md +1 -1
  5. package/{CHANGELOG.md → changelog.md} +15 -0
  6. package/dist/components/ui/accordion.d.ts.map +1 -0
  7. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  8. package/dist/components/ui/alert.d.ts.map +1 -0
  9. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  10. package/dist/components/ui/avatar.d.ts.map +1 -0
  11. package/dist/components/ui/background-beams.d.ts.map +1 -0
  12. package/dist/components/ui/badge.d.ts.map +1 -0
  13. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  14. package/dist/components/ui/bubble-background.d.ts.map +1 -0
  15. package/dist/{esm/components → components}/ui/bubble-background.js +1 -2
  16. package/dist/components/ui/bubble-background.js.map +1 -0
  17. package/dist/components/ui/button.d.ts.map +1 -0
  18. package/dist/components/ui/calendar.d.ts.map +1 -0
  19. package/dist/{esm/components → components}/ui/calendar.js +1 -1
  20. package/dist/components/ui/calendar.js.map +1 -0
  21. package/dist/components/ui/card.d.ts.map +1 -0
  22. package/dist/components/ui/carousel.d.ts.map +1 -0
  23. package/dist/components/ui/chart.d.ts +41 -0
  24. package/dist/components/ui/chart.d.ts.map +1 -0
  25. package/dist/{esm/components → components}/ui/chart.js +10 -10
  26. package/dist/components/ui/chart.js.map +1 -0
  27. package/dist/components/ui/checkbox.d.ts.map +1 -0
  28. package/dist/components/ui/collapsible.d.ts.map +1 -0
  29. package/dist/components/ui/command.d.ts.map +1 -0
  30. package/dist/components/ui/context-menu.d.ts.map +1 -0
  31. package/dist/components/ui/counting-number.d.ts.map +1 -0
  32. package/dist/components/ui/dialog.d.ts.map +1 -0
  33. package/dist/components/ui/dot-background.d.ts.map +1 -0
  34. package/dist/components/ui/drawer.d.ts.map +1 -0
  35. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  36. package/dist/components/ui/dropdrawer.d.ts.map +1 -0
  37. package/dist/components/ui/dropdrawer.js.map +1 -0
  38. package/dist/components/ui/fireworks-background.d.ts.map +1 -0
  39. package/dist/components/ui/flip-button.d.ts.map +1 -0
  40. package/dist/components/ui/form.d.ts.map +1 -0
  41. package/dist/components/ui/gradient-background.d.ts.map +1 -0
  42. package/dist/components/ui/gradient-text.d.ts.map +1 -0
  43. package/dist/components/ui/highlight-text.d.ts.map +1 -0
  44. package/dist/components/ui/hole-background.d.ts.map +1 -0
  45. package/dist/components/ui/hover-card.d.ts.map +1 -0
  46. package/dist/components/ui/input-otp.d.ts.map +1 -0
  47. package/dist/components/ui/input.d.ts.map +1 -0
  48. package/dist/components/ui/label.d.ts.map +1 -0
  49. package/dist/components/ui/menubar.d.ts.map +1 -0
  50. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  51. package/dist/components/ui/pagination.d.ts.map +1 -0
  52. package/dist/components/ui/popover.d.ts.map +1 -0
  53. package/dist/components/ui/progress.d.ts.map +1 -0
  54. package/dist/components/ui/radio-group.d.ts.map +1 -0
  55. package/dist/components/ui/resizable.d.ts.map +1 -0
  56. package/dist/components/ui/ripple-button.d.ts.map +1 -0
  57. package/dist/components/ui/scratcher.d.ts.map +1 -0
  58. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  59. package/dist/components/ui/select.d.ts.map +1 -0
  60. package/dist/components/ui/separator.d.ts.map +1 -0
  61. package/dist/components/ui/sheet.d.ts.map +1 -0
  62. package/dist/components/ui/sidebar.d.ts.map +1 -0
  63. package/dist/components/ui/skeleton.d.ts.map +1 -0
  64. package/dist/components/ui/slider.d.ts.map +1 -0
  65. package/dist/components/ui/sonner.d.ts.map +1 -0
  66. package/dist/components/ui/switch.d.ts.map +1 -0
  67. package/dist/components/ui/table.d.ts.map +1 -0
  68. package/dist/components/ui/tabs.d.ts.map +1 -0
  69. package/dist/components/ui/textarea.d.ts.map +1 -0
  70. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  71. package/dist/components/ui/toggle.d.ts.map +1 -0
  72. package/dist/components/ui/tooltip.d.ts.map +1 -0
  73. package/dist/hooks/use-mobile.d.ts.map +1 -0
  74. package/dist/index.css +26 -2
  75. package/dist/index.css.map +1 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +61 -61
  78. package/dist/lib/utils.d.ts.map +1 -0
  79. package/package.json +261 -332
  80. package/src/components/ui/bubble-background.tsx +189 -187
  81. package/src/components/ui/calendar.tsx +4 -1
  82. package/src/components/ui/chart.tsx +31 -58
  83. package/src/components/ui/dropdrawer.tsx +973 -973
  84. package/src/index.css +67 -69
  85. package/dist/cjs/components/ui/accordion.cjs +0 -92
  86. package/dist/cjs/components/ui/accordion.cjs.map +0 -1
  87. package/dist/cjs/components/ui/alert-dialog.cjs +0 -152
  88. package/dist/cjs/components/ui/alert-dialog.cjs.map +0 -1
  89. package/dist/cjs/components/ui/alert.cjs +0 -83
  90. package/dist/cjs/components/ui/alert.cjs.map +0 -1
  91. package/dist/cjs/components/ui/aspect-ratio.cjs +0 -47
  92. package/dist/cjs/components/ui/aspect-ratio.cjs.map +0 -1
  93. package/dist/cjs/components/ui/avatar.cjs +0 -69
  94. package/dist/cjs/components/ui/avatar.cjs.map +0 -1
  95. package/dist/cjs/components/ui/background-beams.cjs +0 -200
  96. package/dist/cjs/components/ui/background-beams.cjs.map +0 -1
  97. package/dist/cjs/components/ui/badge.cjs +0 -69
  98. package/dist/cjs/components/ui/badge.cjs.map +0 -1
  99. package/dist/cjs/components/ui/breadcrumb.cjs +0 -128
  100. package/dist/cjs/components/ui/breadcrumb.cjs.map +0 -1
  101. package/dist/cjs/components/ui/bubble-background.cjs +0 -214
  102. package/dist/cjs/components/ui/bubble-background.cjs.map +0 -1
  103. package/dist/cjs/components/ui/button.cjs +0 -80
  104. package/dist/cjs/components/ui/button.cjs.map +0 -1
  105. package/dist/cjs/components/ui/calendar.cjs +0 -146
  106. package/dist/cjs/components/ui/calendar.cjs.map +0 -1
  107. package/dist/cjs/components/ui/card.cjs +0 -108
  108. package/dist/cjs/components/ui/card.cjs.map +0 -1
  109. package/dist/cjs/components/ui/carousel.cjs +0 -207
  110. package/dist/cjs/components/ui/carousel.cjs.map +0 -1
  111. package/dist/cjs/components/ui/chart.cjs +0 -221
  112. package/dist/cjs/components/ui/chart.cjs.map +0 -1
  113. package/dist/cjs/components/ui/checkbox.cjs +0 -57
  114. package/dist/cjs/components/ui/checkbox.cjs.map +0 -1
  115. package/dist/cjs/components/ui/collapsible.cjs +0 -65
  116. package/dist/cjs/components/ui/collapsible.cjs.map +0 -1
  117. package/dist/cjs/components/ui/command.cjs +0 -159
  118. package/dist/cjs/components/ui/command.cjs.map +0 -1
  119. package/dist/cjs/components/ui/context-menu.cjs +0 -219
  120. package/dist/cjs/components/ui/context-menu.cjs.map +0 -1
  121. package/dist/cjs/components/ui/counting-number.cjs +0 -95
  122. package/dist/cjs/components/ui/counting-number.cjs.map +0 -1
  123. package/dist/cjs/components/ui/dialog.cjs +0 -156
  124. package/dist/cjs/components/ui/dialog.cjs.map +0 -1
  125. package/dist/cjs/components/ui/dot-background.cjs +0 -131
  126. package/dist/cjs/components/ui/dot-background.cjs.map +0 -1
  127. package/dist/cjs/components/ui/drawer.cjs +0 -147
  128. package/dist/cjs/components/ui/drawer.cjs.map +0 -1
  129. package/dist/cjs/components/ui/dropdown-menu.cjs +0 -220
  130. package/dist/cjs/components/ui/dropdown-menu.cjs.map +0 -1
  131. package/dist/cjs/components/ui/dropdrawer.cjs +0 -627
  132. package/dist/cjs/components/ui/dropdrawer.cjs.map +0 -1
  133. package/dist/cjs/components/ui/fireworks-background.cjs +0 -259
  134. package/dist/cjs/components/ui/fireworks-background.cjs.map +0 -1
  135. package/dist/cjs/components/ui/flip-button.cjs +0 -100
  136. package/dist/cjs/components/ui/flip-button.cjs.map +0 -1
  137. package/dist/cjs/components/ui/form.cjs +0 -149
  138. package/dist/cjs/components/ui/form.cjs.map +0 -1
  139. package/dist/cjs/components/ui/gradient-background.cjs +0 -60
  140. package/dist/cjs/components/ui/gradient-background.cjs.map +0 -1
  141. package/dist/cjs/components/ui/gradient-text.cjs +0 -83
  142. package/dist/cjs/components/ui/gradient-text.cjs.map +0 -1
  143. package/dist/cjs/components/ui/highlight-text.cjs +0 -74
  144. package/dist/cjs/components/ui/highlight-text.cjs.map +0 -1
  145. package/dist/cjs/components/ui/hole-background.cjs +0 -361
  146. package/dist/cjs/components/ui/hole-background.cjs.map +0 -1
  147. package/dist/cjs/components/ui/hover-card.cjs +0 -72
  148. package/dist/cjs/components/ui/hover-card.cjs.map +0 -1
  149. package/dist/cjs/components/ui/input-otp.cjs +0 -94
  150. package/dist/cjs/components/ui/input-otp.cjs.map +0 -1
  151. package/dist/cjs/components/ui/input.cjs +0 -49
  152. package/dist/cjs/components/ui/input.cjs.map +0 -1
  153. package/dist/cjs/components/ui/label.cjs +0 -49
  154. package/dist/cjs/components/ui/label.cjs.map +0 -1
  155. package/dist/cjs/components/ui/menubar.cjs +0 -233
  156. package/dist/cjs/components/ui/menubar.cjs.map +0 -1
  157. package/dist/cjs/components/ui/navigation-menu.cjs +0 -144
  158. package/dist/cjs/components/ui/navigation-menu.cjs.map +0 -1
  159. package/dist/cjs/components/ui/pagination.cjs +0 -142
  160. package/dist/cjs/components/ui/pagination.cjs.map +0 -1
  161. package/dist/cjs/components/ui/popover.cjs +0 -80
  162. package/dist/cjs/components/ui/popover.cjs.map +0 -1
  163. package/dist/cjs/components/ui/progress.cjs +0 -56
  164. package/dist/cjs/components/ui/progress.cjs.map +0 -1
  165. package/dist/cjs/components/ui/radio-group.cjs +0 -67
  166. package/dist/cjs/components/ui/radio-group.cjs.map +0 -1
  167. package/dist/cjs/components/ui/resizable.cjs +0 -75
  168. package/dist/cjs/components/ui/resizable.cjs.map +0 -1
  169. package/dist/cjs/components/ui/ripple-button.cjs +0 -108
  170. package/dist/cjs/components/ui/ripple-button.cjs.map +0 -1
  171. package/dist/cjs/components/ui/scratcher.cjs +0 -179
  172. package/dist/cjs/components/ui/scratcher.cjs.map +0 -1
  173. package/dist/cjs/components/ui/scroll-area.cjs +0 -73
  174. package/dist/cjs/components/ui/scroll-area.cjs.map +0 -1
  175. package/dist/cjs/components/ui/select.cjs +0 -177
  176. package/dist/cjs/components/ui/select.cjs.map +0 -1
  177. package/dist/cjs/components/ui/separator.cjs +0 -51
  178. package/dist/cjs/components/ui/separator.cjs.map +0 -1
  179. package/dist/cjs/components/ui/sheet.cjs +0 -150
  180. package/dist/cjs/components/ui/sheet.cjs.map +0 -1
  181. package/dist/cjs/components/ui/sidebar.cjs +0 -513
  182. package/dist/cjs/components/ui/sidebar.cjs.map +0 -1
  183. package/dist/cjs/components/ui/skeleton.cjs +0 -48
  184. package/dist/cjs/components/ui/skeleton.cjs.map +0 -1
  185. package/dist/cjs/components/ui/slider.cjs +0 -78
  186. package/dist/cjs/components/ui/slider.cjs.map +0 -1
  187. package/dist/cjs/components/ui/sonner.cjs +0 -58
  188. package/dist/cjs/components/ui/sonner.cjs.map +0 -1
  189. package/dist/cjs/components/ui/switch.cjs +0 -53
  190. package/dist/cjs/components/ui/switch.cjs.map +0 -1
  191. package/dist/cjs/components/ui/table.cjs +0 -122
  192. package/dist/cjs/components/ui/table.cjs.map +0 -1
  193. package/dist/cjs/components/ui/tabs.cjs +0 -79
  194. package/dist/cjs/components/ui/tabs.cjs.map +0 -1
  195. package/dist/cjs/components/ui/textarea.cjs +0 -48
  196. package/dist/cjs/components/ui/textarea.cjs.map +0 -1
  197. package/dist/cjs/components/ui/toggle-group.cjs +0 -80
  198. package/dist/cjs/components/ui/toggle-group.cjs.map +0 -1
  199. package/dist/cjs/components/ui/toggle.cjs +0 -74
  200. package/dist/cjs/components/ui/toggle.cjs.map +0 -1
  201. package/dist/cjs/components/ui/tooltip.cjs +0 -88
  202. package/dist/cjs/components/ui/tooltip.cjs.map +0 -1
  203. package/dist/cjs/hooks/use-mobile.cjs +0 -52
  204. package/dist/cjs/hooks/use-mobile.cjs.map +0 -1
  205. package/dist/cjs/index.cjs +0 -905
  206. package/dist/cjs/index.cjs.map +0 -1
  207. package/dist/cjs/index.css +0 -7309
  208. package/dist/cjs/index.css.map +0 -1
  209. package/dist/cjs/lib/utils.cjs +0 -42
  210. package/dist/cjs/lib/utils.cjs.map +0 -1
  211. package/dist/esm/components/ui/bubble-background.js.map +0 -1
  212. package/dist/esm/components/ui/calendar.js.map +0 -1
  213. package/dist/esm/components/ui/chart.js.map +0 -1
  214. package/dist/esm/components/ui/dropdrawer.js.map +0 -1
  215. package/dist/esm/index.css +0 -7309
  216. package/dist/esm/index.css.map +0 -1
  217. package/dist/esm/index.js +0 -62
  218. package/dist/types/components/ui/accordion.d.ts.map +0 -1
  219. package/dist/types/components/ui/alert-dialog.d.ts.map +0 -1
  220. package/dist/types/components/ui/alert.d.ts.map +0 -1
  221. package/dist/types/components/ui/aspect-ratio.d.ts.map +0 -1
  222. package/dist/types/components/ui/avatar.d.ts.map +0 -1
  223. package/dist/types/components/ui/background-beams.d.ts.map +0 -1
  224. package/dist/types/components/ui/badge.d.ts.map +0 -1
  225. package/dist/types/components/ui/breadcrumb.d.ts.map +0 -1
  226. package/dist/types/components/ui/bubble-background.d.ts.map +0 -1
  227. package/dist/types/components/ui/button.d.ts.map +0 -1
  228. package/dist/types/components/ui/calendar.d.ts.map +0 -1
  229. package/dist/types/components/ui/card.d.ts.map +0 -1
  230. package/dist/types/components/ui/carousel.d.ts.map +0 -1
  231. package/dist/types/components/ui/chart.d.ts +0 -55
  232. package/dist/types/components/ui/chart.d.ts.map +0 -1
  233. package/dist/types/components/ui/checkbox.d.ts.map +0 -1
  234. package/dist/types/components/ui/collapsible.d.ts.map +0 -1
  235. package/dist/types/components/ui/command.d.ts.map +0 -1
  236. package/dist/types/components/ui/context-menu.d.ts.map +0 -1
  237. package/dist/types/components/ui/counting-number.d.ts.map +0 -1
  238. package/dist/types/components/ui/dialog.d.ts.map +0 -1
  239. package/dist/types/components/ui/dot-background.d.ts.map +0 -1
  240. package/dist/types/components/ui/drawer.d.ts.map +0 -1
  241. package/dist/types/components/ui/dropdown-menu.d.ts.map +0 -1
  242. package/dist/types/components/ui/dropdrawer.d.ts.map +0 -1
  243. package/dist/types/components/ui/fireworks-background.d.ts.map +0 -1
  244. package/dist/types/components/ui/flip-button.d.ts.map +0 -1
  245. package/dist/types/components/ui/form.d.ts.map +0 -1
  246. package/dist/types/components/ui/gradient-background.d.ts.map +0 -1
  247. package/dist/types/components/ui/gradient-text.d.ts.map +0 -1
  248. package/dist/types/components/ui/highlight-text.d.ts.map +0 -1
  249. package/dist/types/components/ui/hole-background.d.ts.map +0 -1
  250. package/dist/types/components/ui/hover-card.d.ts.map +0 -1
  251. package/dist/types/components/ui/input-otp.d.ts.map +0 -1
  252. package/dist/types/components/ui/input.d.ts.map +0 -1
  253. package/dist/types/components/ui/label.d.ts.map +0 -1
  254. package/dist/types/components/ui/menubar.d.ts.map +0 -1
  255. package/dist/types/components/ui/navigation-menu.d.ts.map +0 -1
  256. package/dist/types/components/ui/pagination.d.ts.map +0 -1
  257. package/dist/types/components/ui/popover.d.ts.map +0 -1
  258. package/dist/types/components/ui/progress.d.ts.map +0 -1
  259. package/dist/types/components/ui/radio-group.d.ts.map +0 -1
  260. package/dist/types/components/ui/resizable.d.ts.map +0 -1
  261. package/dist/types/components/ui/ripple-button.d.ts.map +0 -1
  262. package/dist/types/components/ui/scratcher.d.ts.map +0 -1
  263. package/dist/types/components/ui/scroll-area.d.ts.map +0 -1
  264. package/dist/types/components/ui/select.d.ts.map +0 -1
  265. package/dist/types/components/ui/separator.d.ts.map +0 -1
  266. package/dist/types/components/ui/sheet.d.ts.map +0 -1
  267. package/dist/types/components/ui/sidebar.d.ts.map +0 -1
  268. package/dist/types/components/ui/skeleton.d.ts.map +0 -1
  269. package/dist/types/components/ui/slider.d.ts.map +0 -1
  270. package/dist/types/components/ui/sonner.d.ts.map +0 -1
  271. package/dist/types/components/ui/switch.d.ts.map +0 -1
  272. package/dist/types/components/ui/table.d.ts.map +0 -1
  273. package/dist/types/components/ui/tabs.d.ts.map +0 -1
  274. package/dist/types/components/ui/textarea.d.ts.map +0 -1
  275. package/dist/types/components/ui/toggle-group.d.ts.map +0 -1
  276. package/dist/types/components/ui/toggle.d.ts.map +0 -1
  277. package/dist/types/components/ui/tooltip.d.ts.map +0 -1
  278. package/dist/types/hooks/use-mobile.d.ts.map +0 -1
  279. package/dist/types/index.d.ts.map +0 -1
  280. package/dist/types/lib/utils.d.ts.map +0 -1
  281. package/tailwind.config.mjs +0 -65
  282. package/tsconfig.json +0 -58
  283. /package/{LICENSE → LICENSE.md} +0 -0
  284. /package/dist/{types/components → components}/ui/accordion.d.ts +0 -0
  285. /package/dist/{esm/components → components}/ui/accordion.js +0 -0
  286. /package/dist/{esm/components → components}/ui/accordion.js.map +0 -0
  287. /package/dist/{types/components → components}/ui/alert-dialog.d.ts +0 -0
  288. /package/dist/{esm/components → components}/ui/alert-dialog.js +0 -0
  289. /package/dist/{esm/components → components}/ui/alert-dialog.js.map +0 -0
  290. /package/dist/{types/components → components}/ui/alert.d.ts +0 -0
  291. /package/dist/{esm/components → components}/ui/alert.js +0 -0
  292. /package/dist/{esm/components → components}/ui/alert.js.map +0 -0
  293. /package/dist/{types/components → components}/ui/aspect-ratio.d.ts +0 -0
  294. /package/dist/{esm/components → components}/ui/aspect-ratio.js +0 -0
  295. /package/dist/{esm/components → components}/ui/aspect-ratio.js.map +0 -0
  296. /package/dist/{types/components → components}/ui/avatar.d.ts +0 -0
  297. /package/dist/{esm/components → components}/ui/avatar.js +0 -0
  298. /package/dist/{esm/components → components}/ui/avatar.js.map +0 -0
  299. /package/dist/{types/components → components}/ui/background-beams.d.ts +0 -0
  300. /package/dist/{esm/components → components}/ui/background-beams.js +0 -0
  301. /package/dist/{esm/components → components}/ui/background-beams.js.map +0 -0
  302. /package/dist/{types/components → components}/ui/badge.d.ts +0 -0
  303. /package/dist/{esm/components → components}/ui/badge.js +0 -0
  304. /package/dist/{esm/components → components}/ui/badge.js.map +0 -0
  305. /package/dist/{types/components → components}/ui/breadcrumb.d.ts +0 -0
  306. /package/dist/{esm/components → components}/ui/breadcrumb.js +0 -0
  307. /package/dist/{esm/components → components}/ui/breadcrumb.js.map +0 -0
  308. /package/dist/{types/components → components}/ui/bubble-background.d.ts +0 -0
  309. /package/dist/{types/components → components}/ui/button.d.ts +0 -0
  310. /package/dist/{esm/components → components}/ui/button.js +0 -0
  311. /package/dist/{esm/components → components}/ui/button.js.map +0 -0
  312. /package/dist/{types/components → components}/ui/calendar.d.ts +0 -0
  313. /package/dist/{types/components → components}/ui/card.d.ts +0 -0
  314. /package/dist/{esm/components → components}/ui/card.js +0 -0
  315. /package/dist/{esm/components → components}/ui/card.js.map +0 -0
  316. /package/dist/{types/components → components}/ui/carousel.d.ts +0 -0
  317. /package/dist/{esm/components → components}/ui/carousel.js +0 -0
  318. /package/dist/{esm/components → components}/ui/carousel.js.map +0 -0
  319. /package/dist/{types/components → components}/ui/checkbox.d.ts +0 -0
  320. /package/dist/{esm/components → components}/ui/checkbox.js +0 -0
  321. /package/dist/{esm/components → components}/ui/checkbox.js.map +0 -0
  322. /package/dist/{types/components → components}/ui/collapsible.d.ts +0 -0
  323. /package/dist/{esm/components → components}/ui/collapsible.js +0 -0
  324. /package/dist/{esm/components → components}/ui/collapsible.js.map +0 -0
  325. /package/dist/{types/components → components}/ui/command.d.ts +0 -0
  326. /package/dist/{esm/components → components}/ui/command.js +0 -0
  327. /package/dist/{esm/components → components}/ui/command.js.map +0 -0
  328. /package/dist/{types/components → components}/ui/context-menu.d.ts +0 -0
  329. /package/dist/{esm/components → components}/ui/context-menu.js +0 -0
  330. /package/dist/{esm/components → components}/ui/context-menu.js.map +0 -0
  331. /package/dist/{types/components → components}/ui/counting-number.d.ts +0 -0
  332. /package/dist/{esm/components → components}/ui/counting-number.js +0 -0
  333. /package/dist/{esm/components → components}/ui/counting-number.js.map +0 -0
  334. /package/dist/{types/components → components}/ui/dialog.d.ts +0 -0
  335. /package/dist/{esm/components → components}/ui/dialog.js +0 -0
  336. /package/dist/{esm/components → components}/ui/dialog.js.map +0 -0
  337. /package/dist/{types/components → components}/ui/dot-background.d.ts +0 -0
  338. /package/dist/{esm/components → components}/ui/dot-background.js +0 -0
  339. /package/dist/{esm/components → components}/ui/dot-background.js.map +0 -0
  340. /package/dist/{types/components → components}/ui/drawer.d.ts +0 -0
  341. /package/dist/{esm/components → components}/ui/drawer.js +0 -0
  342. /package/dist/{esm/components → components}/ui/drawer.js.map +0 -0
  343. /package/dist/{types/components → components}/ui/dropdown-menu.d.ts +0 -0
  344. /package/dist/{esm/components → components}/ui/dropdown-menu.js +0 -0
  345. /package/dist/{esm/components → components}/ui/dropdown-menu.js.map +0 -0
  346. /package/dist/{types/components → components}/ui/dropdrawer.d.ts +0 -0
  347. /package/dist/{esm/components → components}/ui/dropdrawer.js +0 -0
  348. /package/dist/{types/components → components}/ui/fireworks-background.d.ts +0 -0
  349. /package/dist/{esm/components → components}/ui/fireworks-background.js +0 -0
  350. /package/dist/{esm/components → components}/ui/fireworks-background.js.map +0 -0
  351. /package/dist/{types/components → components}/ui/flip-button.d.ts +0 -0
  352. /package/dist/{esm/components → components}/ui/flip-button.js +0 -0
  353. /package/dist/{esm/components → components}/ui/flip-button.js.map +0 -0
  354. /package/dist/{types/components → components}/ui/form.d.ts +0 -0
  355. /package/dist/{esm/components → components}/ui/form.js +0 -0
  356. /package/dist/{esm/components → components}/ui/form.js.map +0 -0
  357. /package/dist/{types/components → components}/ui/gradient-background.d.ts +0 -0
  358. /package/dist/{esm/components → components}/ui/gradient-background.js +0 -0
  359. /package/dist/{esm/components → components}/ui/gradient-background.js.map +0 -0
  360. /package/dist/{types/components → components}/ui/gradient-text.d.ts +0 -0
  361. /package/dist/{esm/components → components}/ui/gradient-text.js +0 -0
  362. /package/dist/{esm/components → components}/ui/gradient-text.js.map +0 -0
  363. /package/dist/{types/components → components}/ui/highlight-text.d.ts +0 -0
  364. /package/dist/{esm/components → components}/ui/highlight-text.js +0 -0
  365. /package/dist/{esm/components → components}/ui/highlight-text.js.map +0 -0
  366. /package/dist/{types/components → components}/ui/hole-background.d.ts +0 -0
  367. /package/dist/{esm/components → components}/ui/hole-background.js +0 -0
  368. /package/dist/{esm/components → components}/ui/hole-background.js.map +0 -0
  369. /package/dist/{types/components → components}/ui/hover-card.d.ts +0 -0
  370. /package/dist/{esm/components → components}/ui/hover-card.js +0 -0
  371. /package/dist/{esm/components → components}/ui/hover-card.js.map +0 -0
  372. /package/dist/{types/components → components}/ui/input-otp.d.ts +0 -0
  373. /package/dist/{esm/components → components}/ui/input-otp.js +0 -0
  374. /package/dist/{esm/components → components}/ui/input-otp.js.map +0 -0
  375. /package/dist/{types/components → components}/ui/input.d.ts +0 -0
  376. /package/dist/{esm/components → components}/ui/input.js +0 -0
  377. /package/dist/{esm/components → components}/ui/input.js.map +0 -0
  378. /package/dist/{types/components → components}/ui/label.d.ts +0 -0
  379. /package/dist/{esm/components → components}/ui/label.js +0 -0
  380. /package/dist/{esm/components → components}/ui/label.js.map +0 -0
  381. /package/dist/{types/components → components}/ui/menubar.d.ts +0 -0
  382. /package/dist/{esm/components → components}/ui/menubar.js +0 -0
  383. /package/dist/{esm/components → components}/ui/menubar.js.map +0 -0
  384. /package/dist/{types/components → components}/ui/navigation-menu.d.ts +0 -0
  385. /package/dist/{esm/components → components}/ui/navigation-menu.js +0 -0
  386. /package/dist/{esm/components → components}/ui/navigation-menu.js.map +0 -0
  387. /package/dist/{types/components → components}/ui/pagination.d.ts +0 -0
  388. /package/dist/{esm/components → components}/ui/pagination.js +0 -0
  389. /package/dist/{esm/components → components}/ui/pagination.js.map +0 -0
  390. /package/dist/{types/components → components}/ui/popover.d.ts +0 -0
  391. /package/dist/{esm/components → components}/ui/popover.js +0 -0
  392. /package/dist/{esm/components → components}/ui/popover.js.map +0 -0
  393. /package/dist/{types/components → components}/ui/progress.d.ts +0 -0
  394. /package/dist/{esm/components → components}/ui/progress.js +0 -0
  395. /package/dist/{esm/components → components}/ui/progress.js.map +0 -0
  396. /package/dist/{types/components → components}/ui/radio-group.d.ts +0 -0
  397. /package/dist/{esm/components → components}/ui/radio-group.js +0 -0
  398. /package/dist/{esm/components → components}/ui/radio-group.js.map +0 -0
  399. /package/dist/{types/components → components}/ui/resizable.d.ts +0 -0
  400. /package/dist/{esm/components → components}/ui/resizable.js +0 -0
  401. /package/dist/{esm/components → components}/ui/resizable.js.map +0 -0
  402. /package/dist/{types/components → components}/ui/ripple-button.d.ts +0 -0
  403. /package/dist/{esm/components → components}/ui/ripple-button.js +0 -0
  404. /package/dist/{esm/components → components}/ui/ripple-button.js.map +0 -0
  405. /package/dist/{types/components → components}/ui/scratcher.d.ts +0 -0
  406. /package/dist/{esm/components → components}/ui/scratcher.js +0 -0
  407. /package/dist/{esm/components → components}/ui/scratcher.js.map +0 -0
  408. /package/dist/{types/components → components}/ui/scroll-area.d.ts +0 -0
  409. /package/dist/{esm/components → components}/ui/scroll-area.js +0 -0
  410. /package/dist/{esm/components → components}/ui/scroll-area.js.map +0 -0
  411. /package/dist/{types/components → components}/ui/select.d.ts +0 -0
  412. /package/dist/{esm/components → components}/ui/select.js +0 -0
  413. /package/dist/{esm/components → components}/ui/select.js.map +0 -0
  414. /package/dist/{types/components → components}/ui/separator.d.ts +0 -0
  415. /package/dist/{esm/components → components}/ui/separator.js +0 -0
  416. /package/dist/{esm/components → components}/ui/separator.js.map +0 -0
  417. /package/dist/{types/components → components}/ui/sheet.d.ts +0 -0
  418. /package/dist/{esm/components → components}/ui/sheet.js +0 -0
  419. /package/dist/{esm/components → components}/ui/sheet.js.map +0 -0
  420. /package/dist/{types/components → components}/ui/sidebar.d.ts +0 -0
  421. /package/dist/{esm/components → components}/ui/sidebar.js +0 -0
  422. /package/dist/{esm/components → components}/ui/sidebar.js.map +0 -0
  423. /package/dist/{types/components → components}/ui/skeleton.d.ts +0 -0
  424. /package/dist/{esm/components → components}/ui/skeleton.js +0 -0
  425. /package/dist/{esm/components → components}/ui/skeleton.js.map +0 -0
  426. /package/dist/{types/components → components}/ui/slider.d.ts +0 -0
  427. /package/dist/{esm/components → components}/ui/slider.js +0 -0
  428. /package/dist/{esm/components → components}/ui/slider.js.map +0 -0
  429. /package/dist/{types/components → components}/ui/sonner.d.ts +0 -0
  430. /package/dist/{esm/components → components}/ui/sonner.js +0 -0
  431. /package/dist/{esm/components → components}/ui/sonner.js.map +0 -0
  432. /package/dist/{types/components → components}/ui/switch.d.ts +0 -0
  433. /package/dist/{esm/components → components}/ui/switch.js +0 -0
  434. /package/dist/{esm/components → components}/ui/switch.js.map +0 -0
  435. /package/dist/{types/components → components}/ui/table.d.ts +0 -0
  436. /package/dist/{esm/components → components}/ui/table.js +0 -0
  437. /package/dist/{esm/components → components}/ui/table.js.map +0 -0
  438. /package/dist/{types/components → components}/ui/tabs.d.ts +0 -0
  439. /package/dist/{esm/components → components}/ui/tabs.js +0 -0
  440. /package/dist/{esm/components → components}/ui/tabs.js.map +0 -0
  441. /package/dist/{types/components → components}/ui/textarea.d.ts +0 -0
  442. /package/dist/{esm/components → components}/ui/textarea.js +0 -0
  443. /package/dist/{esm/components → components}/ui/textarea.js.map +0 -0
  444. /package/dist/{types/components → components}/ui/toggle-group.d.ts +0 -0
  445. /package/dist/{esm/components → components}/ui/toggle-group.js +0 -0
  446. /package/dist/{esm/components → components}/ui/toggle-group.js.map +0 -0
  447. /package/dist/{types/components → components}/ui/toggle.d.ts +0 -0
  448. /package/dist/{esm/components → components}/ui/toggle.js +0 -0
  449. /package/dist/{esm/components → components}/ui/toggle.js.map +0 -0
  450. /package/dist/{types/components → components}/ui/tooltip.d.ts +0 -0
  451. /package/dist/{esm/components → components}/ui/tooltip.js +0 -0
  452. /package/dist/{esm/components → components}/ui/tooltip.js.map +0 -0
  453. /package/dist/{types/hooks → hooks}/use-mobile.d.ts +0 -0
  454. /package/dist/{esm/hooks → hooks}/use-mobile.js +0 -0
  455. /package/dist/{esm/hooks → hooks}/use-mobile.js.map +0 -0
  456. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  457. /package/dist/{types/lib → lib}/utils.d.ts +0 -0
  458. /package/dist/{esm/lib → lib}/utils.js +0 -0
  459. /package/dist/{esm/lib → lib}/utils.js.map +0 -0
@@ -1,187 +1,189 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import {
5
- motion,
6
- type SpringOptions,
7
- useMotionValue,
8
- useSpring,
9
- } from "motion/react";
10
-
11
- import { cn } from "@/lib/utils";
12
-
13
- interface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {
14
- interactive?: boolean;
15
- transition?: SpringOptions;
16
- colors?: {
17
- first: string;
18
- second: string;
19
- third: string;
20
- fourth: string;
21
- fifth: string;
22
- sixth: string;
23
- };
24
- }
25
-
26
- const BubbleBackground = React.forwardRef<
27
- HTMLDivElement,
28
- BubbleBackgroundProps
29
- >(
30
- (
31
- {
32
- className,
33
- children,
34
- interactive = false,
35
- transition = { stiffness: 100, damping: 20 },
36
- colors = {
37
- first: "18,113,255",
38
- second: "221,74,255",
39
- third: "0,220,255",
40
- fourth: "200,50,50",
41
- fifth: "180,180,50",
42
- sixth: "140,100,255",
43
- },
44
- ...props
45
- },
46
- ref,
47
- ) => {
48
- const containerRef = React.useRef<HTMLDivElement>(null);
49
- React.useImperativeHandle(
50
- ref,
51
- () => containerRef.current as HTMLDivElement,
52
- );
53
-
54
- const mouseX = useMotionValue(0);
55
- const mouseY = useMotionValue(0);
56
- const springX = useSpring(mouseX, transition);
57
- const springY = useSpring(mouseY, transition);
58
-
59
- React.useEffect(() => {
60
- if (!interactive) return;
61
-
62
- const currentContainer = containerRef.current;
63
- if (!currentContainer) return;
64
-
65
- const handleMouseMove = (e: MouseEvent) => {
66
- const rect = currentContainer.getBoundingClientRect();
67
- const centerX = rect.left + rect.width / 2;
68
- const centerY = rect.top + rect.height / 2;
69
- mouseX.set(e.clientX - centerX);
70
- mouseY.set(e.clientY - centerY);
71
- };
72
-
73
- currentContainer?.addEventListener("mousemove", handleMouseMove);
74
- return () =>
75
- currentContainer?.removeEventListener("mousemove", handleMouseMove);
76
- }, [interactive, mouseX, mouseY]);
77
-
78
- return (
79
- <div
80
- ref={containerRef}
81
- className={cn(
82
- "relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900",
83
- className,
84
- )}
85
- {...props}
86
- >
87
- <style>
88
- {`
89
- :root {
90
- --first-color: ${colors.first};
91
- --second-color: ${colors.second};
92
- --third-color: ${colors.third};
93
- --fourth-color: ${colors.fourth};
94
- --fifth-color: ${colors.fifth};
95
- --sixth-color: ${colors.sixth};
96
- }
97
- `}
98
- </style>
99
-
100
- <svg
101
- xmlns="http://www.w3.org/2000/svg"
102
- className="absolute top-0 left-0 w-0 h-0"
103
- >
104
- <defs>
105
- <filter id="goo">
106
- <feGaussianBlur
107
- in="SourceGraphic"
108
- stdDeviation="10"
109
- result="blur"
110
- />
111
- <feColorMatrix
112
- in="blur"
113
- mode="matrix"
114
- values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8"
115
- result="goo"
116
- />
117
- <feBlend in="SourceGraphic" in2="goo" />
118
- </filter>
119
- </defs>
120
- </svg>
121
-
122
- <div
123
- className="absolute inset-0"
124
- style={{ filter: "url(#goo) blur(40px)" }}
125
- >
126
- <motion.div
127
- className="absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]"
128
- animate={{ y: [-50, 50, -50] }}
129
- transition={{ duration: 30, ease: "easeInOut", repeat: Infinity }}
130
- />
131
-
132
- <motion.div
133
- className="absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]"
134
- animate={{ rotate: 360 }}
135
- transition={{
136
- duration: 20,
137
- ease: "linear",
138
- repeat: Infinity,
139
- repeatType: "loop",
140
- reverse: true,
141
- }}
142
- >
143
- <div className="rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]" />
144
- </motion.div>
145
-
146
- <motion.div
147
- className="absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]"
148
- animate={{ rotate: 360 }}
149
- transition={{ duration: 40, ease: "linear", repeat: Infinity }}
150
- >
151
- <div className="absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]" />
152
- </motion.div>
153
-
154
- <motion.div
155
- className="absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70"
156
- animate={{ x: [-50, 50, -50] }}
157
- transition={{ duration: 40, ease: "easeInOut", repeat: Infinity }}
158
- />
159
-
160
- <motion.div
161
- className="absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]"
162
- animate={{ rotate: 360 }}
163
- transition={{ duration: 20, ease: "linear", repeat: Infinity }}
164
- >
165
- <div className="absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]" />
166
- </motion.div>
167
-
168
- {interactive && (
169
- <motion.div
170
- className="absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70"
171
- style={{
172
- x: springX,
173
- y: springY,
174
- }}
175
- />
176
- )}
177
- </div>
178
-
179
- {children}
180
- </div>
181
- );
182
- },
183
- );
184
-
185
- BubbleBackground.displayName = "BubbleBackground";
186
-
187
- export { BubbleBackground, type BubbleBackgroundProps };
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import {
5
+ motion,
6
+ type SpringOptions,
7
+ Transition,
8
+ useMotionValue,
9
+ useSpring,
10
+ } from "motion/react";
11
+
12
+ import { cn } from "@/lib/utils";
13
+
14
+ interface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {
15
+ interactive?: boolean;
16
+ transition?: SpringOptions;
17
+ colors?: {
18
+ first: string;
19
+ second: string;
20
+ third: string;
21
+ fourth: string;
22
+ fifth: string;
23
+ sixth: string;
24
+ };
25
+ }
26
+
27
+ const BubbleBackground = React.forwardRef<
28
+ HTMLDivElement,
29
+ BubbleBackgroundProps
30
+ >(
31
+ (
32
+ {
33
+ className,
34
+ children,
35
+ interactive = false,
36
+ transition = { stiffness: 100, damping: 20 },
37
+ colors = {
38
+ first: "18,113,255",
39
+ second: "221,74,255",
40
+ third: "0,220,255",
41
+ fourth: "200,50,50",
42
+ fifth: "180,180,50",
43
+ sixth: "140,100,255",
44
+ },
45
+ ...props
46
+ },
47
+ ref,
48
+ ) => {
49
+ const containerRef = React.useRef<HTMLDivElement>(null);
50
+ React.useImperativeHandle(
51
+ ref,
52
+ () => containerRef.current as HTMLDivElement,
53
+ );
54
+
55
+ const mouseX = useMotionValue(0);
56
+ const mouseY = useMotionValue(0);
57
+ const springX = useSpring(mouseX, transition);
58
+ const springY = useSpring(mouseY, transition);
59
+
60
+ React.useEffect(() => {
61
+ if (!interactive) return;
62
+
63
+ const currentContainer = containerRef.current;
64
+ if (!currentContainer) return;
65
+
66
+ const handleMouseMove = (e: MouseEvent) => {
67
+ const rect = currentContainer.getBoundingClientRect();
68
+ const centerX = rect.left + rect.width / 2;
69
+ const centerY = rect.top + rect.height / 2;
70
+ mouseX.set(e.clientX - centerX);
71
+ mouseY.set(e.clientY - centerY);
72
+ };
73
+
74
+ currentContainer?.addEventListener("mousemove", handleMouseMove);
75
+ return () =>
76
+ currentContainer?.removeEventListener("mousemove", handleMouseMove);
77
+ }, [interactive, mouseX, mouseY]);
78
+
79
+ return (
80
+ <div
81
+ ref={containerRef}
82
+ className={cn(
83
+ "relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900",
84
+ className,
85
+ )}
86
+ {...props}
87
+ >
88
+ <style>
89
+ {`
90
+ :root {
91
+ --first-color: ${colors.first};
92
+ --second-color: ${colors.second};
93
+ --third-color: ${colors.third};
94
+ --fourth-color: ${colors.fourth};
95
+ --fifth-color: ${colors.fifth};
96
+ --sixth-color: ${colors.sixth};
97
+ }
98
+ `}
99
+ </style>
100
+
101
+ <svg
102
+ xmlns="http://www.w3.org/2000/svg"
103
+ className="absolute top-0 left-0 w-0 h-0"
104
+ >
105
+ <defs>
106
+ <filter id="goo">
107
+ <feGaussianBlur
108
+ in="SourceGraphic"
109
+ stdDeviation="10"
110
+ result="blur"
111
+ />
112
+ <feColorMatrix
113
+ in="blur"
114
+ mode="matrix"
115
+ values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8"
116
+ result="goo"
117
+ />
118
+ <feBlend in="SourceGraphic" in2="goo" />
119
+ </filter>
120
+ </defs>
121
+ </svg>
122
+
123
+ <div
124
+ className="absolute inset-0"
125
+ style={{ filter: "url(#goo) blur(40px)" }}
126
+ >
127
+ <motion.div
128
+ className="absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]"
129
+ animate={{ y: [-50, 50, -50] }}
130
+ transition={{ duration: 30, ease: "easeInOut", repeat: Infinity }}
131
+ />
132
+
133
+ <motion.div
134
+ className="absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]"
135
+ animate={{ rotate: 360 }}
136
+ transition={
137
+ {
138
+ duration: 20,
139
+ ease: "linear",
140
+ repeat: Infinity,
141
+ repeatType: "reverse",
142
+ } satisfies Transition
143
+ }
144
+ >
145
+ <div className="rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]" />
146
+ </motion.div>
147
+
148
+ <motion.div
149
+ className="absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]"
150
+ animate={{ rotate: 360 }}
151
+ transition={{ duration: 40, ease: "linear", repeat: Infinity }}
152
+ >
153
+ <div className="absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]" />
154
+ </motion.div>
155
+
156
+ <motion.div
157
+ className="absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70"
158
+ animate={{ x: [-50, 50, -50] }}
159
+ transition={{ duration: 40, ease: "easeInOut", repeat: Infinity }}
160
+ />
161
+
162
+ <motion.div
163
+ className="absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]"
164
+ animate={{ rotate: 360 }}
165
+ transition={{ duration: 20, ease: "linear", repeat: Infinity }}
166
+ >
167
+ <div className="absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]" />
168
+ </motion.div>
169
+
170
+ {interactive && (
171
+ <motion.div
172
+ className="absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70"
173
+ style={{
174
+ x: springX,
175
+ y: springY,
176
+ }}
177
+ />
178
+ )}
179
+ </div>
180
+
181
+ {children}
182
+ </div>
183
+ );
184
+ },
185
+ );
186
+
187
+ BubbleBackground.displayName = "BubbleBackground";
188
+
189
+ export { BubbleBackground, type BubbleBackgroundProps };
@@ -73,7 +73,10 @@ function Calendar({
73
73
  "relative has-focus:border-neutral-950 border border-neutral-200 shadow-xs has-focus:ring-neutral-950/50 has-focus:ring-[3px] rounded-md dark:has-focus:border-neutral-300 dark:border-neutral-800 dark:has-focus:ring-neutral-300/50",
74
74
  defaultClassNames.dropdown_root,
75
75
  ),
76
- dropdown: cn("absolute inset-0 opacity-0", defaultClassNames.dropdown),
76
+ dropdown: cn(
77
+ "absolute bg-white inset-0 opacity-0 dark:bg-neutral-950",
78
+ defaultClassNames.dropdown,
79
+ ),
77
80
  caption_label: cn(
78
81
  "select-none font-medium",
79
82
  captionLayout === "label"
@@ -2,14 +2,6 @@
2
2
 
3
3
  import * as React from "react";
4
4
  import * as RechartsPrimitive from "recharts";
5
- import type { LegendPayload } from "recharts/types/component/DefaultLegendContent";
6
- import {
7
- NameType,
8
- Payload,
9
- ValueType,
10
- } from "recharts/types/component/DefaultTooltipContent";
11
- import type { Props as LegendProps } from "recharts/types/component/Legend";
12
- import { TooltipContentProps } from "recharts/types/component/Tooltip";
13
5
 
14
6
  import { cn } from "@/lib/utils";
15
7
 
@@ -92,17 +84,17 @@ const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {
92
84
  __html: Object.entries(THEMES)
93
85
  .map(
94
86
  ([theme, prefix]) => `
95
- ${prefix} [data-chart=${id}] {
96
- ${colorConfig
97
- .map(([key, itemConfig]) => {
98
- const color =
99
- itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||
100
- itemConfig.color;
101
- return color ? ` --color-${key}: ${color};` : null;
102
- })
103
- .join("\n")}
104
- }
105
- `,
87
+ ${prefix} [data-chart=${id}] {
88
+ ${colorConfig
89
+ .map(([key, itemConfig]) => {
90
+ const color =
91
+ itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||
92
+ itemConfig.color;
93
+ return color ? ` --color-${key}: ${color};` : null;
94
+ })
95
+ .join("\n")}
96
+ }
97
+ `,
106
98
  )
107
99
  .join("\n"),
108
100
  }}
@@ -112,43 +104,28 @@ const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {
112
104
 
113
105
  const ChartTooltip = RechartsPrimitive.Tooltip;
114
106
 
115
- type CustomTooltipProps = TooltipContentProps<ValueType, NameType> & {
116
- className?: string;
117
- hideLabel?: boolean;
118
- hideIndicator?: boolean;
119
- indicator?: "line" | "dot" | "dashed";
120
- nameKey?: string;
121
- labelKey?: string;
122
- labelFormatter?: (
123
- label: TooltipContentProps<number, string>["label"],
124
- payload: TooltipContentProps<number, string>["payload"],
125
- ) => React.ReactNode;
126
- formatter?: (
127
- value: number | string,
128
- name: string,
129
- item: Payload<number | string, string>,
130
- index: number,
131
- payload: ReadonlyArray<Payload<number | string, string>>,
132
- ) => React.ReactNode;
133
- labelClassName?: string;
134
- color?: string;
135
- };
136
-
137
107
  function ChartTooltipContent({
138
108
  active,
139
109
  payload,
140
- label,
141
110
  className,
142
111
  indicator = "dot",
143
112
  hideLabel = false,
144
113
  hideIndicator = false,
114
+ label,
145
115
  labelFormatter,
146
- formatter,
147
116
  labelClassName,
117
+ formatter,
148
118
  color,
149
119
  nameKey,
150
120
  labelKey,
151
- }: CustomTooltipProps) {
121
+ }: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &
122
+ React.ComponentProps<"div"> & {
123
+ hideLabel?: boolean;
124
+ hideIndicator?: boolean;
125
+ indicator?: "line" | "dot" | "dashed";
126
+ nameKey?: string;
127
+ labelKey?: string;
128
+ }) {
152
129
  const { config } = useChart();
153
130
 
154
131
  const tooltipLabel = React.useMemo(() => {
@@ -196,7 +173,7 @@ function ChartTooltipContent({
196
173
  return (
197
174
  <div
198
175
  className={cn(
199
- "border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
176
+ "border-neutral-200/50 bg-white grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-neutral-200 px-2.5 py-1.5 text-xs shadow-xl dark:border-neutral-800/50 dark:bg-neutral-950 dark:border-neutral-800",
200
177
  className,
201
178
  )}
202
179
  >
@@ -211,7 +188,7 @@ function ChartTooltipContent({
211
188
  <div
212
189
  key={item.dataKey}
213
190
  className={cn(
214
- "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
191
+ "[&>svg]:text-neutral-500 flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 dark:[&>svg]:text-neutral-400",
215
192
  indicator === "dot" && "items-center",
216
193
  )}
217
194
  >
@@ -251,12 +228,12 @@ function ChartTooltipContent({
251
228
  >
252
229
  <div className="grid gap-1.5">
253
230
  {nestLabel ? tooltipLabel : null}
254
- <span className="text-muted-foreground">
231
+ <span className="text-neutral-500 dark:text-neutral-400">
255
232
  {itemConfig?.label || item.name}
256
233
  </span>
257
234
  </div>
258
235
  {item.value && (
259
- <span className="text-foreground font-mono font-medium tabular-nums">
236
+ <span className="text-neutral-950 font-mono font-medium tabular-nums dark:text-neutral-50">
260
237
  {item.value.toLocaleString()}
261
238
  </span>
262
239
  )}
@@ -273,21 +250,17 @@ function ChartTooltipContent({
273
250
 
274
251
  const ChartLegend = RechartsPrimitive.Legend;
275
252
 
276
- type ChartLegendContentProps = {
277
- className?: string;
278
- hideIcon?: boolean;
279
- verticalAlign?: LegendProps["verticalAlign"];
280
- payload?: LegendPayload[];
281
- nameKey?: string;
282
- };
283
-
284
253
  function ChartLegendContent({
285
254
  className,
286
255
  hideIcon = false,
287
256
  payload,
288
257
  verticalAlign = "bottom",
289
258
  nameKey,
290
- }: ChartLegendContentProps) {
259
+ }: React.ComponentProps<"div"> &
260
+ Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
261
+ hideIcon?: boolean;
262
+ nameKey?: string;
263
+ }) {
291
264
  const { config } = useChart();
292
265
 
293
266
  if (!payload?.length) {
@@ -310,7 +283,7 @@ function ChartLegendContent({
310
283
  <div
311
284
  key={item.value}
312
285
  className={cn(
313
- "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3",
286
+ "[&>svg]:text-neutral-500 flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 dark:[&>svg]:text-neutral-400",
314
287
  )}
315
288
  >
316
289
  {itemConfig?.icon && !hideIcon ? (