@arolariu/components 0.0.38 → 0.0.40

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 (418) hide show
  1. package/CONTRIBUTING.md +371 -0
  2. package/DEBUGGING.md +401 -0
  3. package/EXAMPLES.md +1035 -0
  4. package/LICENSE +21 -21
  5. package/changelog.md +85 -29
  6. package/dist/cjs/components/ui/accordion.cjs +2 -2
  7. package/dist/cjs/components/ui/accordion.cjs.map +1 -1
  8. package/dist/cjs/components/ui/alert-dialog.cjs +7 -7
  9. package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
  10. package/dist/cjs/components/ui/alert.cjs +2 -2
  11. package/dist/cjs/components/ui/alert.cjs.map +1 -1
  12. package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
  13. package/dist/cjs/components/ui/avatar.cjs +2 -2
  14. package/dist/cjs/components/ui/avatar.cjs.map +1 -1
  15. package/dist/cjs/components/ui/background-beams.cjs.map +1 -1
  16. package/dist/cjs/components/ui/badge.cjs +2 -2
  17. package/dist/cjs/components/ui/badge.cjs.map +1 -1
  18. package/dist/cjs/components/ui/breadcrumb.cjs +5 -5
  19. package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
  20. package/dist/cjs/components/ui/bubble-background.cjs +1 -2
  21. package/dist/cjs/components/ui/bubble-background.cjs.map +1 -1
  22. package/dist/cjs/components/ui/button.cjs.map +1 -1
  23. package/dist/cjs/components/ui/calendar.cjs +89 -35
  24. package/dist/cjs/components/ui/calendar.cjs.map +1 -1
  25. package/dist/cjs/components/ui/card.cjs +5 -5
  26. package/dist/cjs/components/ui/card.cjs.map +1 -1
  27. package/dist/cjs/components/ui/carousel.cjs +3 -3
  28. package/dist/cjs/components/ui/carousel.cjs.map +1 -1
  29. package/dist/cjs/components/ui/chart.cjs +14 -14
  30. package/dist/cjs/components/ui/chart.cjs.map +1 -1
  31. package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
  32. package/dist/cjs/components/ui/collapsible.cjs +2 -2
  33. package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
  34. package/dist/cjs/components/ui/command.cjs +8 -7
  35. package/dist/cjs/components/ui/command.cjs.map +1 -1
  36. package/dist/cjs/components/ui/context-menu.cjs +9 -9
  37. package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
  38. package/dist/cjs/components/ui/counting-number.cjs.map +1 -1
  39. package/dist/cjs/components/ui/dialog.cjs +8 -7
  40. package/dist/cjs/components/ui/dialog.cjs.map +1 -1
  41. package/dist/cjs/components/ui/dot-background.cjs.map +1 -1
  42. package/dist/cjs/components/ui/drawer.cjs +6 -6
  43. package/dist/cjs/components/ui/drawer.cjs.map +1 -1
  44. package/dist/cjs/components/ui/dropdown-menu.cjs +10 -10
  45. package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
  46. package/dist/cjs/components/ui/dropdrawer.cjs +8 -8
  47. package/dist/cjs/components/ui/dropdrawer.cjs.map +1 -1
  48. package/dist/cjs/components/ui/fireworks-background.cjs.map +1 -1
  49. package/dist/cjs/components/ui/flip-button.cjs.map +1 -1
  50. package/dist/cjs/components/ui/form.cjs +5 -5
  51. package/dist/cjs/components/ui/form.cjs.map +1 -1
  52. package/dist/cjs/components/ui/gradient-background.cjs.map +1 -1
  53. package/dist/cjs/components/ui/gradient-text.cjs.map +1 -1
  54. package/dist/cjs/components/ui/highlight-text.cjs.map +1 -1
  55. package/dist/cjs/components/ui/hole-background.cjs.map +1 -1
  56. package/dist/cjs/components/ui/hover-card.cjs +2 -2
  57. package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
  58. package/dist/cjs/components/ui/input-otp.cjs +3 -3
  59. package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
  60. package/dist/cjs/components/ui/input.cjs.map +1 -1
  61. package/dist/cjs/components/ui/label.cjs.map +1 -1
  62. package/dist/cjs/components/ui/menubar.cjs +9 -9
  63. package/dist/cjs/components/ui/menubar.cjs.map +1 -1
  64. package/dist/cjs/components/ui/navigation-menu.cjs +4 -4
  65. package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
  66. package/dist/cjs/components/ui/pagination.cjs +3 -3
  67. package/dist/cjs/components/ui/pagination.cjs.map +1 -1
  68. package/dist/cjs/components/ui/popover.cjs.map +1 -1
  69. package/dist/cjs/components/ui/progress.cjs.map +1 -1
  70. package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
  71. package/dist/cjs/components/ui/resizable.cjs +1 -1
  72. package/dist/cjs/components/ui/resizable.cjs.map +1 -1
  73. package/dist/cjs/components/ui/ripple-button.cjs.map +1 -1
  74. package/dist/cjs/components/ui/scratcher.cjs.map +1 -1
  75. package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
  76. package/dist/cjs/components/ui/select.cjs +5 -5
  77. package/dist/cjs/components/ui/select.cjs.map +1 -1
  78. package/dist/cjs/components/ui/separator.cjs +1 -1
  79. package/dist/cjs/components/ui/separator.cjs.map +1 -1
  80. package/dist/cjs/components/ui/sheet.cjs +5 -5
  81. package/dist/cjs/components/ui/sheet.cjs.map +1 -1
  82. package/dist/cjs/components/ui/sidebar.cjs +19 -19
  83. package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
  84. package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
  85. package/dist/cjs/components/ui/slider.cjs.map +1 -1
  86. package/dist/cjs/components/ui/sonner.cjs +2 -2
  87. package/dist/cjs/components/ui/sonner.cjs.map +1 -1
  88. package/dist/cjs/components/ui/switch.cjs.map +1 -1
  89. package/dist/cjs/components/ui/table.cjs +6 -6
  90. package/dist/cjs/components/ui/table.cjs.map +1 -1
  91. package/dist/cjs/components/ui/tabs.cjs +2 -2
  92. package/dist/cjs/components/ui/tabs.cjs.map +1 -1
  93. package/dist/cjs/components/ui/textarea.cjs.map +1 -1
  94. package/dist/cjs/components/ui/toggle-group.cjs +2 -2
  95. package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
  96. package/dist/cjs/components/ui/toggle.cjs +2 -2
  97. package/dist/cjs/components/ui/toggle.cjs.map +1 -1
  98. package/dist/cjs/components/ui/tooltip.cjs +3 -3
  99. package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
  100. package/dist/cjs/hooks/use-mobile.cjs.map +1 -1
  101. package/dist/cjs/index.cjs +243 -241
  102. package/dist/cjs/index.cjs.map +1 -0
  103. package/dist/cjs/index.css +400 -150
  104. package/dist/cjs/index.css.map +1 -0
  105. package/dist/cjs/lib/utils.cjs.map +1 -1
  106. package/dist/esm/components/ui/accordion.js +14 -14
  107. package/dist/esm/components/ui/accordion.js.map +1 -1
  108. package/dist/esm/components/ui/alert-dialog.js +25 -25
  109. package/dist/esm/components/ui/alert-dialog.js.map +1 -1
  110. package/dist/esm/components/ui/alert.js +10 -10
  111. package/dist/esm/components/ui/alert.js.map +1 -1
  112. package/dist/esm/components/ui/aspect-ratio.js +3 -3
  113. package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
  114. package/dist/esm/components/ui/avatar.js +9 -9
  115. package/dist/esm/components/ui/avatar.js.map +1 -1
  116. package/dist/esm/components/ui/background-beams.js +20 -20
  117. package/dist/esm/components/ui/background-beams.js.map +1 -1
  118. package/dist/esm/components/ui/badge.js +8 -8
  119. package/dist/esm/components/ui/badge.js.map +1 -1
  120. package/dist/esm/components/ui/breadcrumb.js +21 -21
  121. package/dist/esm/components/ui/breadcrumb.js.map +1 -1
  122. package/dist/esm/components/ui/bubble-background.js +32 -33
  123. package/dist/esm/components/ui/bubble-background.js.map +1 -1
  124. package/dist/esm/components/ui/button.js +8 -8
  125. package/dist/esm/components/ui/button.js.map +1 -1
  126. package/dist/esm/components/ui/calendar.js +93 -42
  127. package/dist/esm/components/ui/calendar.js.map +1 -1
  128. package/dist/esm/components/ui/card.js +16 -16
  129. package/dist/esm/components/ui/card.js.map +1 -1
  130. package/dist/esm/components/ui/carousel.js +33 -33
  131. package/dist/esm/components/ui/carousel.js.map +1 -1
  132. package/dist/esm/components/ui/chart.js +45 -45
  133. package/dist/esm/components/ui/chart.js.map +1 -1
  134. package/dist/esm/components/ui/checkbox.js +8 -8
  135. package/dist/esm/components/ui/checkbox.js.map +1 -1
  136. package/dist/esm/components/ui/collapsible.js +8 -8
  137. package/dist/esm/components/ui/collapsible.js.map +1 -1
  138. package/dist/esm/components/ui/command.js +33 -32
  139. package/dist/esm/components/ui/command.js.map +1 -1
  140. package/dist/esm/components/ui/context-menu.js +36 -36
  141. package/dist/esm/components/ui/context-menu.js.map +1 -1
  142. package/dist/esm/components/ui/counting-number.js +12 -12
  143. package/dist/esm/components/ui/counting-number.js.map +1 -1
  144. package/dist/esm/components/ui/dialog.js +27 -26
  145. package/dist/esm/components/ui/dialog.js.map +1 -1
  146. package/dist/esm/components/ui/dot-background.js +15 -15
  147. package/dist/esm/components/ui/dot-background.js.map +1 -1
  148. package/dist/esm/components/ui/drawer.js +24 -24
  149. package/dist/esm/components/ui/drawer.js.map +1 -1
  150. package/dist/esm/components/ui/dropdown-menu.js +36 -36
  151. package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
  152. package/dist/esm/components/ui/dropdrawer.js +104 -104
  153. package/dist/esm/components/ui/dropdrawer.js.map +1 -1
  154. package/dist/esm/components/ui/fireworks-background.js +12 -12
  155. package/dist/esm/components/ui/fireworks-background.js.map +1 -1
  156. package/dist/esm/components/ui/flip-button.js +12 -12
  157. package/dist/esm/components/ui/flip-button.js.map +1 -1
  158. package/dist/esm/components/ui/form.js +26 -26
  159. package/dist/esm/components/ui/form.js.map +1 -1
  160. package/dist/esm/components/ui/gradient-background.js +7 -7
  161. package/dist/esm/components/ui/gradient-background.js.map +1 -1
  162. package/dist/esm/components/ui/gradient-text.js +9 -9
  163. package/dist/esm/components/ui/gradient-text.js.map +1 -1
  164. package/dist/esm/components/ui/highlight-text.js +10 -10
  165. package/dist/esm/components/ui/highlight-text.js.map +1 -1
  166. package/dist/esm/components/ui/hole-background.js +30 -30
  167. package/dist/esm/components/ui/hole-background.js.map +1 -1
  168. package/dist/esm/components/ui/hover-card.js +8 -8
  169. package/dist/esm/components/ui/hover-card.js.map +1 -1
  170. package/dist/esm/components/ui/input-otp.js +17 -17
  171. package/dist/esm/components/ui/input-otp.js.map +1 -1
  172. package/dist/esm/components/ui/input.js +4 -4
  173. package/dist/esm/components/ui/input.js.map +1 -1
  174. package/dist/esm/components/ui/label.js +5 -5
  175. package/dist/esm/components/ui/label.js.map +1 -1
  176. package/dist/esm/components/ui/menubar.js +39 -39
  177. package/dist/esm/components/ui/menubar.js.map +1 -1
  178. package/dist/esm/components/ui/navigation-menu.js +27 -27
  179. package/dist/esm/components/ui/navigation-menu.js.map +1 -1
  180. package/dist/esm/components/ui/pagination.js +23 -23
  181. package/dist/esm/components/ui/pagination.js.map +1 -1
  182. package/dist/esm/components/ui/popover.js +9 -9
  183. package/dist/esm/components/ui/popover.js.map +1 -1
  184. package/dist/esm/components/ui/progress.js +6 -6
  185. package/dist/esm/components/ui/progress.js.map +1 -1
  186. package/dist/esm/components/ui/radio-group.js +10 -10
  187. package/dist/esm/components/ui/radio-group.js.map +1 -1
  188. package/dist/esm/components/ui/resizable.js +11 -11
  189. package/dist/esm/components/ui/resizable.js.map +1 -1
  190. package/dist/esm/components/ui/ripple-button.js +14 -14
  191. package/dist/esm/components/ui/ripple-button.js.map +1 -1
  192. package/dist/esm/components/ui/scratcher.js +13 -13
  193. package/dist/esm/components/ui/scratcher.js.map +1 -1
  194. package/dist/esm/components/ui/scroll-area.js +11 -11
  195. package/dist/esm/components/ui/scroll-area.js.map +1 -1
  196. package/dist/esm/components/ui/select.js +34 -34
  197. package/dist/esm/components/ui/select.js.map +1 -1
  198. package/dist/esm/components/ui/separator.js +6 -6
  199. package/dist/esm/components/ui/separator.js.map +1 -1
  200. package/dist/esm/components/ui/sheet.js +25 -25
  201. package/dist/esm/components/ui/sheet.js.map +1 -1
  202. package/dist/esm/components/ui/sidebar.js +96 -96
  203. package/dist/esm/components/ui/sidebar.js.map +1 -1
  204. package/dist/esm/components/ui/skeleton.js +4 -4
  205. package/dist/esm/components/ui/skeleton.js.map +1 -1
  206. package/dist/esm/components/ui/slider.js +12 -12
  207. package/dist/esm/components/ui/slider.js.map +1 -1
  208. package/dist/esm/components/ui/sonner.js +7 -8
  209. package/dist/esm/components/ui/sonner.js.map +1 -1
  210. package/dist/esm/components/ui/switch.js +7 -7
  211. package/dist/esm/components/ui/switch.js.map +1 -1
  212. package/dist/esm/components/ui/table.js +19 -19
  213. package/dist/esm/components/ui/table.js.map +1 -1
  214. package/dist/esm/components/ui/tabs.js +11 -11
  215. package/dist/esm/components/ui/tabs.js.map +1 -1
  216. package/dist/esm/components/ui/textarea.js +4 -4
  217. package/dist/esm/components/ui/textarea.js.map +1 -1
  218. package/dist/esm/components/ui/toggle-group.js +12 -12
  219. package/dist/esm/components/ui/toggle-group.js.map +1 -1
  220. package/dist/esm/components/ui/toggle.js +7 -7
  221. package/dist/esm/components/ui/toggle.js.map +1 -1
  222. package/dist/esm/components/ui/tooltip.js +11 -11
  223. package/dist/esm/components/ui/tooltip.js.map +1 -1
  224. package/dist/esm/hooks/use-mobile.js +3 -3
  225. package/dist/esm/hooks/use-mobile.js.map +1 -1
  226. package/dist/esm/index.css +400 -150
  227. package/dist/esm/index.css.map +1 -0
  228. package/dist/esm/index.js +62 -332
  229. package/dist/esm/lib/utils.js +3 -3
  230. package/dist/esm/lib/utils.js.map +1 -1
  231. package/dist/index.css +400 -150
  232. package/dist/index.js +62 -332
  233. package/dist/types/components/ui/accordion.d.ts +1 -0
  234. package/dist/types/components/ui/accordion.d.ts.map +1 -0
  235. package/dist/types/components/ui/alert-dialog.d.ts +1 -0
  236. package/dist/types/components/ui/alert-dialog.d.ts.map +1 -0
  237. package/dist/types/components/ui/alert.d.ts +1 -0
  238. package/dist/types/components/ui/alert.d.ts.map +1 -0
  239. package/dist/types/components/ui/aspect-ratio.d.ts +1 -0
  240. package/dist/types/components/ui/aspect-ratio.d.ts.map +1 -0
  241. package/dist/types/components/ui/avatar.d.ts +1 -0
  242. package/dist/types/components/ui/avatar.d.ts.map +1 -0
  243. package/dist/types/components/ui/background-beams.d.ts +1 -0
  244. package/dist/types/components/ui/background-beams.d.ts.map +1 -0
  245. package/dist/types/components/ui/badge.d.ts +1 -0
  246. package/dist/types/components/ui/badge.d.ts.map +1 -0
  247. package/dist/types/components/ui/breadcrumb.d.ts +1 -0
  248. package/dist/types/components/ui/breadcrumb.d.ts.map +1 -0
  249. package/dist/types/components/ui/bubble-background.d.ts +1 -0
  250. package/dist/types/components/ui/bubble-background.d.ts.map +1 -0
  251. package/dist/types/components/ui/button.d.ts +1 -0
  252. package/dist/types/components/ui/button.d.ts.map +1 -0
  253. package/dist/types/components/ui/calendar.d.ts +8 -3
  254. package/dist/types/components/ui/calendar.d.ts.map +1 -0
  255. package/dist/types/components/ui/card.d.ts +1 -0
  256. package/dist/types/components/ui/card.d.ts.map +1 -0
  257. package/dist/types/components/ui/carousel.d.ts +1 -0
  258. package/dist/types/components/ui/carousel.d.ts.map +1 -0
  259. package/dist/types/components/ui/chart.d.ts +19 -4
  260. package/dist/types/components/ui/chart.d.ts.map +1 -0
  261. package/dist/types/components/ui/checkbox.d.ts +1 -0
  262. package/dist/types/components/ui/checkbox.d.ts.map +1 -0
  263. package/dist/types/components/ui/collapsible.d.ts +1 -0
  264. package/dist/types/components/ui/collapsible.d.ts.map +1 -0
  265. package/dist/types/components/ui/command.d.ts +4 -1
  266. package/dist/types/components/ui/command.d.ts.map +1 -0
  267. package/dist/types/components/ui/context-menu.d.ts +1 -0
  268. package/dist/types/components/ui/context-menu.d.ts.map +1 -0
  269. package/dist/types/components/ui/counting-number.d.ts +1 -0
  270. package/dist/types/components/ui/counting-number.d.ts.map +1 -0
  271. package/dist/types/components/ui/dialog.d.ts +4 -1
  272. package/dist/types/components/ui/dialog.d.ts.map +1 -0
  273. package/dist/types/components/ui/dot-background.d.ts +1 -0
  274. package/dist/types/components/ui/dot-background.d.ts.map +1 -0
  275. package/dist/types/components/ui/drawer.d.ts +1 -0
  276. package/dist/types/components/ui/drawer.d.ts.map +1 -0
  277. package/dist/types/components/ui/dropdown-menu.d.ts +1 -0
  278. package/dist/types/components/ui/dropdown-menu.d.ts.map +1 -0
  279. package/dist/types/components/ui/dropdrawer.d.ts +1 -0
  280. package/dist/types/components/ui/dropdrawer.d.ts.map +1 -0
  281. package/dist/types/components/ui/fireworks-background.d.ts +1 -0
  282. package/dist/types/components/ui/fireworks-background.d.ts.map +1 -0
  283. package/dist/types/components/ui/flip-button.d.ts +1 -0
  284. package/dist/types/components/ui/flip-button.d.ts.map +1 -0
  285. package/dist/types/components/ui/form.d.ts +1 -0
  286. package/dist/types/components/ui/form.d.ts.map +1 -0
  287. package/dist/types/components/ui/gradient-background.d.ts +1 -0
  288. package/dist/types/components/ui/gradient-background.d.ts.map +1 -0
  289. package/dist/types/components/ui/gradient-text.d.ts +1 -0
  290. package/dist/types/components/ui/gradient-text.d.ts.map +1 -0
  291. package/dist/types/components/ui/highlight-text.d.ts +1 -0
  292. package/dist/types/components/ui/highlight-text.d.ts.map +1 -0
  293. package/dist/types/components/ui/hole-background.d.ts +1 -0
  294. package/dist/types/components/ui/hole-background.d.ts.map +1 -0
  295. package/dist/types/components/ui/hover-card.d.ts +1 -0
  296. package/dist/types/components/ui/hover-card.d.ts.map +1 -0
  297. package/dist/types/components/ui/input-otp.d.ts +1 -0
  298. package/dist/types/components/ui/input-otp.d.ts.map +1 -0
  299. package/dist/types/components/ui/input.d.ts +1 -0
  300. package/dist/types/components/ui/input.d.ts.map +1 -0
  301. package/dist/types/components/ui/label.d.ts +1 -0
  302. package/dist/types/components/ui/label.d.ts.map +1 -0
  303. package/dist/types/components/ui/menubar.d.ts +1 -0
  304. package/dist/types/components/ui/menubar.d.ts.map +1 -0
  305. package/dist/types/components/ui/navigation-menu.d.ts +1 -0
  306. package/dist/types/components/ui/navigation-menu.d.ts.map +1 -0
  307. package/dist/types/components/ui/pagination.d.ts +1 -0
  308. package/dist/types/components/ui/pagination.d.ts.map +1 -0
  309. package/dist/types/components/ui/popover.d.ts +1 -0
  310. package/dist/types/components/ui/popover.d.ts.map +1 -0
  311. package/dist/types/components/ui/progress.d.ts +1 -0
  312. package/dist/types/components/ui/progress.d.ts.map +1 -0
  313. package/dist/types/components/ui/radio-group.d.ts +1 -0
  314. package/dist/types/components/ui/radio-group.d.ts.map +1 -0
  315. package/dist/types/components/ui/resizable.d.ts +1 -0
  316. package/dist/types/components/ui/resizable.d.ts.map +1 -0
  317. package/dist/types/components/ui/ripple-button.d.ts +1 -0
  318. package/dist/types/components/ui/ripple-button.d.ts.map +1 -0
  319. package/dist/types/components/ui/scratcher.d.ts +1 -0
  320. package/dist/types/components/ui/scratcher.d.ts.map +1 -0
  321. package/dist/types/components/ui/scroll-area.d.ts +1 -0
  322. package/dist/types/components/ui/scroll-area.d.ts.map +1 -0
  323. package/dist/types/components/ui/select.d.ts +1 -0
  324. package/dist/types/components/ui/select.d.ts.map +1 -0
  325. package/dist/types/components/ui/separator.d.ts +1 -0
  326. package/dist/types/components/ui/separator.d.ts.map +1 -0
  327. package/dist/types/components/ui/sheet.d.ts +1 -0
  328. package/dist/types/components/ui/sheet.d.ts.map +1 -0
  329. package/dist/types/components/ui/sidebar.d.ts +1 -0
  330. package/dist/types/components/ui/sidebar.d.ts.map +1 -0
  331. package/dist/types/components/ui/skeleton.d.ts +1 -0
  332. package/dist/types/components/ui/skeleton.d.ts.map +1 -0
  333. package/dist/types/components/ui/slider.d.ts +1 -0
  334. package/dist/types/components/ui/slider.d.ts.map +1 -0
  335. package/dist/types/components/ui/sonner.d.ts +1 -0
  336. package/dist/types/components/ui/sonner.d.ts.map +1 -0
  337. package/dist/types/components/ui/switch.d.ts +1 -0
  338. package/dist/types/components/ui/switch.d.ts.map +1 -0
  339. package/dist/types/components/ui/table.d.ts +1 -0
  340. package/dist/types/components/ui/table.d.ts.map +1 -0
  341. package/dist/types/components/ui/tabs.d.ts +1 -0
  342. package/dist/types/components/ui/tabs.d.ts.map +1 -0
  343. package/dist/types/components/ui/textarea.d.ts +1 -0
  344. package/dist/types/components/ui/textarea.d.ts.map +1 -0
  345. package/dist/types/components/ui/toggle-group.d.ts +1 -0
  346. package/dist/types/components/ui/toggle-group.d.ts.map +1 -0
  347. package/dist/types/components/ui/toggle.d.ts +1 -0
  348. package/dist/types/components/ui/toggle.d.ts.map +1 -0
  349. package/dist/types/components/ui/tooltip.d.ts +1 -0
  350. package/dist/types/components/ui/tooltip.d.ts.map +1 -0
  351. package/dist/types/hooks/use-mobile.d.ts +1 -0
  352. package/dist/types/hooks/use-mobile.d.ts.map +1 -0
  353. package/dist/types/index.d.ts +1 -0
  354. package/dist/types/index.d.ts.map +1 -0
  355. package/dist/types/lib/utils.d.ts +1 -0
  356. package/dist/types/lib/utils.d.ts.map +1 -0
  357. package/package.json +90 -72
  358. package/readme.md +627 -215
  359. package/src/components/ui/accordion.tsx +1 -1
  360. package/src/components/ui/alert-dialog.tsx +4 -4
  361. package/src/components/ui/alert.tsx +3 -3
  362. package/src/components/ui/avatar.tsx +2 -2
  363. package/src/components/ui/badge.tsx +1 -1
  364. package/src/components/ui/breadcrumb.tsx +3 -3
  365. package/src/components/ui/bubble-background.tsx +189 -187
  366. package/src/components/ui/button.tsx +1 -1
  367. package/src/components/ui/calendar.tsx +189 -51
  368. package/src/components/ui/card.tsx +4 -4
  369. package/src/components/ui/carousel.tsx +6 -6
  370. package/src/components/ui/chart.tsx +380 -353
  371. package/src/components/ui/checkbox.tsx +1 -1
  372. package/src/components/ui/command.tsx +14 -7
  373. package/src/components/ui/context-menu.tsx +9 -9
  374. package/src/components/ui/counting-number.tsx +4 -4
  375. package/src/components/ui/dialog.tsx +17 -9
  376. package/src/components/ui/dot-background.tsx +2 -2
  377. package/src/components/ui/drawer.tsx +141 -138
  378. package/src/components/ui/dropdrawer.tsx +2 -2
  379. package/src/components/ui/fireworks-background.tsx +12 -12
  380. package/src/components/ui/flip-button.tsx +6 -6
  381. package/src/components/ui/form.tsx +6 -6
  382. package/src/components/ui/gradient-background.tsx +3 -3
  383. package/src/components/ui/gradient-text.tsx +2 -2
  384. package/src/components/ui/highlight-text.tsx +3 -3
  385. package/src/components/ui/hole-background.tsx +9 -9
  386. package/src/components/ui/hover-card.tsx +1 -1
  387. package/src/components/ui/input-otp.tsx +2 -2
  388. package/src/components/ui/input.tsx +22 -23
  389. package/src/components/ui/label.tsx +1 -1
  390. package/src/components/ui/menubar.tsx +11 -11
  391. package/src/components/ui/navigation-menu.tsx +8 -8
  392. package/src/components/ui/pagination.tsx +1 -1
  393. package/src/components/ui/popover.tsx +1 -1
  394. package/src/components/ui/progress.tsx +1 -1
  395. package/src/components/ui/radio-group.tsx +1 -1
  396. package/src/components/ui/resizable.tsx +3 -3
  397. package/src/components/ui/ripple-button.tsx +111 -111
  398. package/src/components/ui/scratcher.tsx +171 -171
  399. package/src/components/ui/scroll-area.tsx +1 -1
  400. package/src/components/ui/select.tsx +8 -8
  401. package/src/components/ui/separator.tsx +2 -2
  402. package/src/components/ui/sheet.tsx +4 -4
  403. package/src/components/ui/sidebar.tsx +18 -18
  404. package/src/components/ui/skeleton.tsx +1 -1
  405. package/src/components/ui/slider.tsx +6 -6
  406. package/src/components/ui/switch.tsx +2 -2
  407. package/src/components/ui/table.tsx +5 -5
  408. package/src/components/ui/tabs.tsx +2 -2
  409. package/src/components/ui/textarea.tsx +1 -1
  410. package/src/components/ui/toggle-group.tsx +2 -2
  411. package/src/components/ui/toggle.tsx +1 -1
  412. package/src/components/ui/tooltip.tsx +1 -1
  413. package/src/hooks/use-mobile.tsx +44 -44
  414. package/src/index.css +68 -68
  415. package/src/index.ts +400 -400
  416. package/src/lib/utils.ts +10 -10
  417. package/tailwind.config.mjs +65 -65
  418. package/tsconfig.json +8 -0
@@ -37,7 +37,7 @@ function SheetOverlay({
37
37
  data-slot="sheet-overlay"
38
38
  className={cn(
39
39
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
40
- className
40
+ className,
41
41
  )}
42
42
  {...props}
43
43
  />
@@ -67,7 +67,7 @@ function SheetContent({
67
67
  "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
68
68
  side === "bottom" &&
69
69
  "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
70
- className
70
+ className,
71
71
  )}
72
72
  {...props}
73
73
  >
@@ -110,7 +110,7 @@ function SheetTitle({
110
110
  data-slot="sheet-title"
111
111
  className={cn(
112
112
  "text-neutral-950 font-semibold dark:text-neutral-50",
113
- className
113
+ className,
114
114
  )}
115
115
  {...props}
116
116
  />
@@ -126,7 +126,7 @@ function SheetDescription({
126
126
  data-slot="sheet-description"
127
127
  className={cn(
128
128
  "text-neutral-500 text-sm dark:text-neutral-400",
129
- className
129
+ className,
130
130
  )}
131
131
  {...props}
132
132
  />
@@ -2,7 +2,7 @@
2
2
 
3
3
  import * as React from "react";
4
4
  import { Slot } from "@radix-ui/react-slot";
5
- import { VariantProps, cva } from "class-variance-authority";
5
+ import { cva, VariantProps } from "class-variance-authority";
6
6
  import { PanelLeftIcon } from "lucide-react";
7
7
 
8
8
  import { useIsMobile } from "@/hooks/use-mobile";
@@ -85,7 +85,7 @@ function SidebarProvider({
85
85
  // This sets the cookie to keep the sidebar state.
86
86
  document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
87
87
  },
88
- [setOpenProp, open]
88
+ [setOpenProp, open],
89
89
  );
90
90
 
91
91
  // Helper to toggle the sidebar.
@@ -123,7 +123,7 @@ function SidebarProvider({
123
123
  setOpenMobile,
124
124
  toggleSidebar,
125
125
  }),
126
- [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
126
+ [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],
127
127
  );
128
128
 
129
129
  return (
@@ -140,7 +140,7 @@ function SidebarProvider({
140
140
  }
141
141
  className={cn(
142
142
  "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",
143
- className
143
+ className,
144
144
  )}
145
145
  {...props}
146
146
  >
@@ -171,7 +171,7 @@ function Sidebar({
171
171
  data-slot="sidebar"
172
172
  className={cn(
173
173
  "bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",
174
- className
174
+ className,
175
175
  )}
176
176
  {...props}
177
177
  >
@@ -223,7 +223,7 @@ function Sidebar({
223
223
  "group-data-[side=right]:rotate-180",
224
224
  variant === "floating" || variant === "inset"
225
225
  ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"
226
- : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
226
+ : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)",
227
227
  )}
228
228
  />
229
229
  <div
@@ -237,7 +237,7 @@ function Sidebar({
237
237
  variant === "floating" || variant === "inset"
238
238
  ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
239
239
  : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
240
- className
240
+ className,
241
241
  )}
242
242
  {...props}
243
243
  >
@@ -297,7 +297,7 @@ function SidebarRail({ className, ...props }: React.ComponentProps<"button">) {
297
297
  "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
298
298
  "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
299
299
  "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
300
- className
300
+ className,
301
301
  )}
302
302
  {...props}
303
303
  />
@@ -311,7 +311,7 @@ function SidebarInset({ className, ...props }: React.ComponentProps<"main">) {
311
311
  className={cn(
312
312
  "bg-white relative flex w-full flex-1 flex-col dark:bg-neutral-950",
313
313
  "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
314
- className
314
+ className,
315
315
  )}
316
316
  {...props}
317
317
  />
@@ -328,7 +328,7 @@ function SidebarInput({
328
328
  data-sidebar="input"
329
329
  className={cn(
330
330
  "bg-white h-8 w-full shadow-none dark:bg-neutral-950",
331
- className
331
+ className,
332
332
  )}
333
333
  {...props}
334
334
  />
@@ -378,7 +378,7 @@ function SidebarContent({ className, ...props }: React.ComponentProps<"div">) {
378
378
  data-sidebar="content"
379
379
  className={cn(
380
380
  "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
381
- className
381
+ className,
382
382
  )}
383
383
  {...props}
384
384
  />
@@ -410,7 +410,7 @@ function SidebarGroupLabel({
410
410
  className={cn(
411
411
  "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
412
412
  "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
413
- className
413
+ className,
414
414
  )}
415
415
  {...props}
416
416
  />
@@ -433,7 +433,7 @@ function SidebarGroupAction({
433
433
  // Increases the hit area of the button on mobile.
434
434
  "after:absolute after:-inset-2 md:after:hidden",
435
435
  "group-data-[collapsible=icon]:hidden",
436
- className
436
+ className,
437
437
  )}
438
438
  {...props}
439
439
  />
@@ -495,7 +495,7 @@ const sidebarMenuButtonVariants = cva(
495
495
  variant: "default",
496
496
  size: "default",
497
497
  },
498
- }
498
+ },
499
499
  );
500
500
 
501
501
  function SidebarMenuButton({
@@ -573,7 +573,7 @@ function SidebarMenuAction({
573
573
  "group-data-[collapsible=icon]:hidden",
574
574
  showOnHover &&
575
575
  "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
576
- className
576
+ className,
577
577
  )}
578
578
  {...props}
579
579
  />
@@ -595,7 +595,7 @@ function SidebarMenuBadge({
595
595
  "peer-data-[size=default]/menu-button:top-1.5",
596
596
  "peer-data-[size=lg]/menu-button:top-2.5",
597
597
  "group-data-[collapsible=icon]:hidden",
598
- className
598
+ className,
599
599
  )}
600
600
  {...props}
601
601
  />
@@ -648,7 +648,7 @@ function SidebarMenuSub({ className, ...props }: React.ComponentProps<"ul">) {
648
648
  className={cn(
649
649
  "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5",
650
650
  "group-data-[collapsible=icon]:hidden",
651
- className
651
+ className,
652
652
  )}
653
653
  {...props}
654
654
  />
@@ -694,7 +694,7 @@ function SidebarMenuSubButton({
694
694
  size === "sm" && "text-xs",
695
695
  size === "md" && "text-sm",
696
696
  "group-data-[collapsible=icon]:hidden",
697
- className
697
+ className,
698
698
  )}
699
699
  {...props}
700
700
  />
@@ -9,7 +9,7 @@ function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
9
9
  data-slot="skeleton"
10
10
  className={cn(
11
11
  "bg-neutral-100 animate-pulse rounded-md dark:bg-neutral-800",
12
- className
12
+ className,
13
13
  )}
14
14
  {...props}
15
15
  />
@@ -18,9 +18,9 @@ function Slider({
18
18
  Array.isArray(value)
19
19
  ? value
20
20
  : Array.isArray(defaultValue)
21
- ? defaultValue
22
- : [min, max],
23
- [value, defaultValue, min, max]
21
+ ? defaultValue
22
+ : [min, max],
23
+ [value, defaultValue, min, max],
24
24
  );
25
25
 
26
26
  return (
@@ -32,20 +32,20 @@ function Slider({
32
32
  max={max}
33
33
  className={cn(
34
34
  "relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",
35
- className
35
+ className,
36
36
  )}
37
37
  {...props}
38
38
  >
39
39
  <SliderPrimitive.Track
40
40
  data-slot="slider-track"
41
41
  className={cn(
42
- "bg-neutral-100 relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5 dark:bg-neutral-800"
42
+ "bg-neutral-100 relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5 dark:bg-neutral-800",
43
43
  )}
44
44
  >
45
45
  <SliderPrimitive.Range
46
46
  data-slot="slider-range"
47
47
  className={cn(
48
- "bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50"
48
+ "bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50",
49
49
  )}
50
50
  />
51
51
  </SliderPrimitive.Track>
@@ -14,14 +14,14 @@ function Switch({
14
14
  data-slot="switch"
15
15
  className={cn(
16
16
  "peer data-[state=checked]:bg-neutral-900 data-[state=unchecked]:bg-neutral-200 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 dark:data-[state=unchecked]:bg-neutral-200/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-neutral-200 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=unchecked]:bg-neutral-800 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=unchecked]:bg-neutral-800/80 dark:border-neutral-800",
17
- className
17
+ className,
18
18
  )}
19
19
  {...props}
20
20
  >
21
21
  <SwitchPrimitive.Thumb
22
22
  data-slot="switch-thumb"
23
23
  className={cn(
24
- "bg-white dark:data-[state=unchecked]:bg-neutral-950 dark:data-[state=checked]:bg-neutral-50 pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:bg-neutral-950 dark:dark:data-[state=unchecked]:bg-neutral-50 dark:dark:data-[state=checked]:bg-neutral-900"
24
+ "bg-white dark:data-[state=unchecked]:bg-neutral-950 dark:data-[state=checked]:bg-neutral-50 pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:bg-neutral-950 dark:dark:data-[state=unchecked]:bg-neutral-50 dark:dark:data-[state=checked]:bg-neutral-900",
25
25
  )}
26
26
  />
27
27
  </SwitchPrimitive.Root>
@@ -45,7 +45,7 @@ function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
45
45
  data-slot="table-footer"
46
46
  className={cn(
47
47
  "bg-neutral-100/50 border-t font-medium [&>tr]:last:border-b-0 dark:bg-neutral-800/50",
48
- className
48
+ className,
49
49
  )}
50
50
  {...props}
51
51
  />
@@ -58,7 +58,7 @@ function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
58
58
  data-slot="table-row"
59
59
  className={cn(
60
60
  "hover:bg-neutral-100/50 data-[state=selected]:bg-neutral-100 border-b transition-colors dark:hover:bg-neutral-800/50 dark:data-[state=selected]:bg-neutral-800",
61
- className
61
+ className,
62
62
  )}
63
63
  {...props}
64
64
  />
@@ -71,7 +71,7 @@ function TableHead({ className, ...props }: React.ComponentProps<"th">) {
71
71
  data-slot="table-head"
72
72
  className={cn(
73
73
  "text-neutral-950 h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] dark:text-neutral-50",
74
- className
74
+ className,
75
75
  )}
76
76
  {...props}
77
77
  />
@@ -84,7 +84,7 @@ function TableCell({ className, ...props }: React.ComponentProps<"td">) {
84
84
  data-slot="table-cell"
85
85
  className={cn(
86
86
  "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
87
- className
87
+ className,
88
88
  )}
89
89
  {...props}
90
90
  />
@@ -100,7 +100,7 @@ function TableCaption({
100
100
  data-slot="table-caption"
101
101
  className={cn(
102
102
  "text-neutral-500 mt-4 text-sm dark:text-neutral-400",
103
- className
103
+ className,
104
104
  )}
105
105
  {...props}
106
106
  />
@@ -27,7 +27,7 @@ function TabsList({
27
27
  data-slot="tabs-list"
28
28
  className={cn(
29
29
  "bg-neutral-100 text-neutral-500 inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px] dark:bg-neutral-800 dark:text-neutral-400",
30
- className
30
+ className,
31
31
  )}
32
32
  {...props}
33
33
  />
@@ -43,7 +43,7 @@ function TabsTrigger({
43
43
  data-slot="tabs-trigger"
44
44
  className={cn(
45
45
  "data-[state=active]:bg-white dark:data-[state=active]:text-neutral-950 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:outline-ring dark:data-[state=active]:border-neutral-200 dark:data-[state=active]:bg-neutral-200/30 text-neutral-950 dark:text-neutral-500 inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-neutral-200 border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[state=active]:bg-neutral-950 dark:dark:data-[state=active]:text-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=active]:border-neutral-800 dark:dark:data-[state=active]:bg-neutral-800/30 dark:text-neutral-50 dark:dark:text-neutral-400 dark:border-neutral-800",
46
- className
46
+ className,
47
47
  )}
48
48
  {...props}
49
49
  />
@@ -10,7 +10,7 @@ function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
10
10
  data-slot="textarea"
11
11
  className={cn(
12
12
  "border-neutral-200 placeholder:text-neutral-500 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:bg-neutral-200/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900 dark:dark:bg-neutral-800/30",
13
- className
13
+ className,
14
14
  )}
15
15
  {...props}
16
16
  />
@@ -29,7 +29,7 @@ function ToggleGroup({
29
29
  data-size={size}
30
30
  className={cn(
31
31
  "group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs",
32
- className
32
+ className,
33
33
  )}
34
34
  {...props}
35
35
  >
@@ -61,7 +61,7 @@ function ToggleGroupItem({
61
61
  size: context.size || size,
62
62
  }),
63
63
  "min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l",
64
- className
64
+ className,
65
65
  )}
66
66
  {...props}
67
67
  >
@@ -25,7 +25,7 @@ const toggleVariants = cva(
25
25
  variant: "default",
26
26
  size: "default",
27
27
  },
28
- }
28
+ },
29
29
  );
30
30
 
31
31
  function Toggle({
@@ -47,7 +47,7 @@ function TooltipContent({
47
47
  sideOffset={sideOffset}
48
48
  className={cn(
49
49
  "bg-neutral-900 text-neutral-50 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance dark:bg-neutral-50 dark:text-neutral-900",
50
- className
50
+ className,
51
51
  )}
52
52
  {...props}
53
53
  >
@@ -1,44 +1,44 @@
1
- import * as React from "react";
2
-
3
- const MOBILE_BREAKPOINT = 768;
4
-
5
- /**
6
- * A custom React hook that detects whether the current device is a mobile device
7
- * based on the screen width.
8
- *
9
- * This hook uses a media query to check if the viewport width is less than the defined
10
- * mobile breakpoint (768px). It updates the state when the window size changes.
11
- *
12
- * @returns {boolean} Returns true if the viewport width is less than the mobile breakpoint,
13
- * false otherwise.
14
- *
15
- * @example
16
- * ```tsx
17
- * function MyComponent() {
18
- * const isMobile = useIsMobile();
19
- *
20
- * return (
21
- * <div>
22
- * {isMobile ? 'Mobile View' : 'Desktop View'}
23
- * </div>
24
- * );
25
- * }
26
- * ```
27
- */
28
- export function useIsMobile(): boolean {
29
- const [isMobile, setIsMobile] = React.useState<boolean | undefined>(
30
- undefined,
31
- );
32
-
33
- React.useEffect(() => {
34
- const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
35
- const onChange = () => {
36
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
37
- };
38
- mql.addEventListener("change", onChange);
39
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
40
- return () => mql.removeEventListener("change", onChange);
41
- }, []);
42
-
43
- return !!isMobile;
44
- }
1
+ import * as React from "react";
2
+
3
+ const MOBILE_BREAKPOINT = 768;
4
+
5
+ /**
6
+ * A custom React hook that detects whether the current device is a mobile device
7
+ * based on the screen width.
8
+ *
9
+ * This hook uses a media query to check if the viewport width is less than the defined
10
+ * mobile breakpoint (768px). It updates the state when the window size changes.
11
+ *
12
+ * @returns {boolean} Returns true if the viewport width is less than the mobile breakpoint,
13
+ * false otherwise.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * function MyComponent() {
18
+ * const isMobile = useIsMobile();
19
+ *
20
+ * return (
21
+ * <div>
22
+ * {isMobile ? 'Mobile View' : 'Desktop View'}
23
+ * </div>
24
+ * );
25
+ * }
26
+ * ```
27
+ */
28
+ export function useIsMobile(): boolean {
29
+ const [isMobile, setIsMobile] = React.useState<boolean | undefined>(
30
+ undefined,
31
+ );
32
+
33
+ React.useEffect(() => {
34
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
35
+ const onChange = () => {
36
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
37
+ };
38
+ mql.addEventListener("change", onChange);
39
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
40
+ return () => mql.removeEventListener("change", onChange);
41
+ }, []);
42
+
43
+ return !!isMobile;
44
+ }
package/src/index.css CHANGED
@@ -1,75 +1,75 @@
1
- @import 'tailwindcss';
1
+ @import 'tailwindcss';
2
2
 
3
- @config '../tailwind.config.mjs';
3
+ @config '../tailwind.config.mjs';
4
4
 
5
- @custom-variant dark (&:is(.dark *));
5
+ @custom-variant dark (&:is(.dark *));
6
6
 
7
- /*
8
- The default border color has changed to `currentcolor` in Tailwind CSS v4,
9
- so we've added these compatibility styles to make sure everything still
10
- looks the same as it did with Tailwind CSS v3.
7
+ /*
8
+ The default border color has changed to `currentcolor` in Tailwind CSS v4,
9
+ so we've added these compatibility styles to make sure everything still
10
+ looks the same as it did with Tailwind CSS v3.
11
11
 
12
- If we ever want to remove these styles, we need to add an explicit border
13
- color utility to any element that depends on these defaults.
14
- */
15
- @layer base {
16
- *,
17
- ::after,
18
- ::before,
19
- ::backdrop,
20
- ::file-selector-button {
21
- border-color: var(--color-gray-200, currentcolor);
22
- }
23
- }
12
+ If we ever want to remove these styles, we need to add an explicit border
13
+ color utility to any element that depends on these defaults.
14
+ */
15
+ @layer base {
16
+ *,
17
+ ::after,
18
+ ::before,
19
+ ::backdrop,
20
+ ::file-selector-button {
21
+ border-color: var(--color-gray-200, currentcolor);
22
+ }
23
+ }
24
24
 
25
- :root {
26
- --sidebar: hsl(0 0% 98%);
27
- --sidebar-foreground: hsl(240 5.3% 26.1%);
28
- --sidebar-primary: hsl(240 5.9% 10%);
29
- --sidebar-primary-foreground: hsl(0 0% 98%);
30
- --sidebar-accent: hsl(240 4.8% 95.9%);
31
- --sidebar-accent-foreground: hsl(240 5.9% 10%);
32
- --sidebar-border: hsl(220 13% 91%);
33
- --sidebar-ring: hsl(217.2 91.2% 59.8%);
34
- }
35
- .dark {
36
- --sidebar: hsl(240 5.9% 10%);
37
- --sidebar-foreground: hsl(240 4.8% 95.9%);
38
- --sidebar-primary: hsl(224.3 76.3% 48%);
39
- --sidebar-primary-foreground: hsl(0 0% 100%);
40
- --sidebar-accent: hsl(240 3.7% 15.9%);
41
- --sidebar-accent-foreground: hsl(240 4.8% 95.9%);
42
- --sidebar-border: hsl(240 3.7% 15.9%);
43
- --sidebar-ring: hsl(217.2 91.2% 59.8%);
44
- }
25
+ :root {
26
+ --sidebar: hsl(0 0% 98%);
27
+ --sidebar-foreground: hsl(240 5.3% 26.1%);
28
+ --sidebar-primary: hsl(240 5.9% 10%);
29
+ --sidebar-primary-foreground: hsl(0 0% 98%);
30
+ --sidebar-accent: hsl(240 4.8% 95.9%);
31
+ --sidebar-accent-foreground: hsl(240 5.9% 10%);
32
+ --sidebar-border: hsl(220 13% 91%);
33
+ --sidebar-ring: hsl(217.2 91.2% 59.8%);
34
+ }
35
+ .dark {
36
+ --sidebar: hsl(240 5.9% 10%);
37
+ --sidebar-foreground: hsl(240 4.8% 95.9%);
38
+ --sidebar-primary: hsl(224.3 76.3% 48%);
39
+ --sidebar-primary-foreground: hsl(0 0% 100%);
40
+ --sidebar-accent: hsl(240 3.7% 15.9%);
41
+ --sidebar-accent-foreground: hsl(240 4.8% 95.9%);
42
+ --sidebar-border: hsl(240 3.7% 15.9%);
43
+ --sidebar-ring: hsl(217.2 91.2% 59.8%);
44
+ }
45
45
 
46
- @theme inline {
47
- --color-sidebar: var(--sidebar);
48
- --color-sidebar-foreground: var(--sidebar-foreground);
49
- --color-sidebar-primary: var(--sidebar-primary);
50
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
51
- --color-sidebar-accent: var(--sidebar-accent);
52
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
53
- --color-sidebar-border: var(--sidebar-border);
54
- --color-sidebar-ring: var(--sidebar-ring);
55
- --animate-accordion-down: accordion-down 0.2s ease-out;
56
- --animate-accordion-up: accordion-up 0.2s ease-out;
46
+ @theme inline {
47
+ --color-sidebar: var(--sidebar);
48
+ --color-sidebar-foreground: var(--sidebar-foreground);
49
+ --color-sidebar-primary: var(--sidebar-primary);
50
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
51
+ --color-sidebar-accent: var(--sidebar-accent);
52
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
53
+ --color-sidebar-border: var(--sidebar-border);
54
+ --color-sidebar-ring: var(--sidebar-ring);
55
+ --animate-accordion-down: accordion-down 0.2s ease-out;
56
+ --animate-accordion-up: accordion-up 0.2s ease-out;
57
57
 
58
- @keyframes accordion-down {
59
- from {
60
- height: 0;
61
- }
62
- to {
63
- height: var(--radix-accordion-content-height);
64
- }
65
- }
66
-
67
- @keyframes accordion-up {
68
- from {
69
- height: var(--radix-accordion-content-height);
70
- }
71
- to {
72
- height: 0;
73
- }
74
- }
75
- }
58
+ @keyframes accordion-down {
59
+ from {
60
+ height: 0;
61
+ }
62
+ to {
63
+ height: var(--radix-accordion-content-height);
64
+ }
65
+ }
66
+
67
+ @keyframes accordion-up {
68
+ from {
69
+ height: var(--radix-accordion-content-height);
70
+ }
71
+ to {
72
+ height: 0;
73
+ }
74
+ }
75
+ }