@arolariu/components 0.1.2 → 0.3.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 (360) hide show
  1. package/DEBUGGING.md +396 -396
  2. package/LICENSE.md +21 -21
  3. package/changelog.md +120 -118
  4. package/dist/components/ui/accordion.d.ts +6 -6
  5. package/dist/components/ui/accordion.d.ts.map +1 -1
  6. package/dist/components/ui/accordion.js +20 -28
  7. package/dist/components/ui/accordion.js.map +1 -1
  8. package/dist/components/ui/alert-dialog.d.ts +19 -13
  9. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  10. package/dist/components/ui/alert-dialog.js +40 -63
  11. package/dist/components/ui/alert-dialog.js.map +1 -1
  12. package/dist/components/ui/alert.d.ts +7 -8
  13. package/dist/components/ui/alert.d.ts.map +1 -1
  14. package/dist/components/ui/alert.js +18 -21
  15. package/dist/components/ui/alert.js.map +1 -1
  16. package/dist/components/ui/aspect-ratio.d.ts +1 -2
  17. package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
  18. package/dist/components/ui/aspect-ratio.js +1 -8
  19. package/dist/components/ui/aspect-ratio.js.map +1 -1
  20. package/dist/components/ui/avatar.d.ts +5 -5
  21. package/dist/components/ui/avatar.d.ts.map +1 -1
  22. package/dist/components/ui/avatar.js +17 -20
  23. package/dist/components/ui/avatar.js.map +1 -1
  24. package/dist/components/ui/background-beams.d.ts.map +1 -1
  25. package/dist/components/ui/background-beams.js +6 -6
  26. package/dist/components/ui/background-beams.js.map +1 -1
  27. package/dist/components/ui/badge.d.ts +7 -7
  28. package/dist/components/ui/badge.d.ts.map +1 -1
  29. package/dist/components/ui/badge.js +9 -12
  30. package/dist/components/ui/badge.js.map +1 -1
  31. package/dist/components/ui/breadcrumb.d.ts +17 -9
  32. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  33. package/dist/components/ui/breadcrumb.js +32 -39
  34. package/dist/components/ui/breadcrumb.js.map +1 -1
  35. package/dist/components/ui/bubble-background.d.ts +1 -1
  36. package/dist/components/ui/bubble-background.d.ts.map +1 -1
  37. package/dist/components/ui/bubble-background.js +13 -13
  38. package/dist/components/ui/bubble-background.js.map +1 -1
  39. package/dist/components/ui/button-group.d.ts +13 -0
  40. package/dist/components/ui/button-group.d.ts.map +1 -0
  41. package/dist/components/ui/button-group.js +47 -0
  42. package/dist/components/ui/button-group.js.map +1 -0
  43. package/dist/components/ui/button.d.ts +8 -7
  44. package/dist/components/ui/button.d.ts.map +1 -1
  45. package/dist/components/ui/button.js +16 -15
  46. package/dist/components/ui/button.js.map +1 -1
  47. package/dist/components/ui/calendar.d.ts.map +1 -1
  48. package/dist/components/ui/calendar.js +22 -22
  49. package/dist/components/ui/calendar.js.map +1 -1
  50. package/dist/components/ui/card.d.ts +7 -8
  51. package/dist/components/ui/card.d.ts.map +1 -1
  52. package/dist/components/ui/card.js +33 -46
  53. package/dist/components/ui/card.js.map +1 -1
  54. package/dist/components/ui/carousel.d.ts +7 -8
  55. package/dist/components/ui/carousel.d.ts.map +1 -1
  56. package/dist/components/ui/carousel.js +30 -21
  57. package/dist/components/ui/carousel.js.map +1 -1
  58. package/dist/components/ui/chart.d.ts +37 -29
  59. package/dist/components/ui/chart.d.ts.map +1 -1
  60. package/dist/components/ui/chart.js +29 -27
  61. package/dist/components/ui/chart.js.map +1 -1
  62. package/dist/components/ui/checkbox.d.ts +2 -2
  63. package/dist/components/ui/checkbox.d.ts.map +1 -1
  64. package/dist/components/ui/checkbox.js +11 -13
  65. package/dist/components/ui/checkbox.js.map +1 -1
  66. package/dist/components/ui/collapsible.d.ts +4 -5
  67. package/dist/components/ui/collapsible.d.ts.map +1 -1
  68. package/dist/components/ui/collapsible.js +3 -20
  69. package/dist/components/ui/collapsible.js.map +1 -1
  70. package/dist/components/ui/command.d.ts +79 -17
  71. package/dist/components/ui/command.d.ts.map +1 -1
  72. package/dist/components/ui/command.js +52 -77
  73. package/dist/components/ui/command.js.map +1 -1
  74. package/dist/components/ui/context-menu.d.ts +23 -21
  75. package/dist/components/ui/context-menu.d.ts.map +1 -1
  76. package/dist/components/ui/context-menu.js +60 -104
  77. package/dist/components/ui/context-menu.js.map +1 -1
  78. package/dist/components/ui/counting-number.d.ts +1 -1
  79. package/dist/components/ui/counting-number.d.ts.map +1 -1
  80. package/dist/components/ui/counting-number.js +4 -3
  81. package/dist/components/ui/counting-number.js.map +1 -1
  82. package/dist/components/ui/dialog.d.ts +17 -13
  83. package/dist/components/ui/dialog.d.ts.map +1 -1
  84. package/dist/components/ui/dialog.js +38 -66
  85. package/dist/components/ui/dialog.js.map +1 -1
  86. package/dist/components/ui/dot-background.d.ts +10 -17
  87. package/dist/components/ui/dot-background.d.ts.map +1 -1
  88. package/dist/components/ui/dot-background.js +2 -2
  89. package/dist/components/ui/dot-background.js.map +1 -1
  90. package/dist/components/ui/drawer.d.ts +20 -11
  91. package/dist/components/ui/drawer.d.ts.map +1 -1
  92. package/dist/components/ui/drawer.js +37 -62
  93. package/dist/components/ui/drawer.js.map +1 -1
  94. package/dist/components/ui/dropdown-menu.d.ts +23 -21
  95. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  96. package/dist/components/ui/dropdown-menu.js +65 -109
  97. package/dist/components/ui/dropdown-menu.js.map +1 -1
  98. package/dist/components/ui/dropdrawer.d.ts +3 -3
  99. package/dist/components/ui/dropdrawer.d.ts.map +1 -1
  100. package/dist/components/ui/dropdrawer.js +13 -16
  101. package/dist/components/ui/dropdrawer.js.map +1 -1
  102. package/dist/components/ui/empty.d.ts +13 -0
  103. package/dist/components/ui/empty.d.ts.map +1 -0
  104. package/dist/components/ui/empty.js +65 -0
  105. package/dist/components/ui/empty.js.map +1 -0
  106. package/dist/components/ui/field.d.ts +25 -0
  107. package/dist/components/ui/field.d.ts.map +1 -0
  108. package/dist/components/ui/field.js +135 -0
  109. package/dist/components/ui/field.js.map +1 -0
  110. package/dist/components/ui/fireworks-background.d.ts.map +1 -1
  111. package/dist/components/ui/fireworks-background.js +1 -1
  112. package/dist/components/ui/fireworks-background.js.map +1 -1
  113. package/dist/components/ui/flip-button.d.ts +1 -1
  114. package/dist/components/ui/flip-button.d.ts.map +1 -1
  115. package/dist/components/ui/flip-button.js +3 -3
  116. package/dist/components/ui/flip-button.js.map +1 -1
  117. package/dist/components/ui/form.d.ts +7 -8
  118. package/dist/components/ui/form.d.ts.map +1 -1
  119. package/dist/components/ui/form.js +29 -28
  120. package/dist/components/ui/form.js.map +1 -1
  121. package/dist/components/ui/gradient-background.d.ts +1 -1
  122. package/dist/components/ui/gradient-background.d.ts.map +1 -1
  123. package/dist/components/ui/gradient-background.js +2 -2
  124. package/dist/components/ui/gradient-background.js.map +1 -1
  125. package/dist/components/ui/gradient-text.d.ts +1 -1
  126. package/dist/components/ui/gradient-text.d.ts.map +1 -1
  127. package/dist/components/ui/gradient-text.js +5 -5
  128. package/dist/components/ui/gradient-text.js.map +1 -1
  129. package/dist/components/ui/highlight-text.d.ts +1 -1
  130. package/dist/components/ui/highlight-text.d.ts.map +1 -1
  131. package/dist/components/ui/highlight-text.js +3 -3
  132. package/dist/components/ui/highlight-text.js.map +1 -1
  133. package/dist/components/ui/hole-background.d.ts.map +1 -1
  134. package/dist/components/ui/hole-background.js +11 -10
  135. package/dist/components/ui/hole-background.js.map +1 -1
  136. package/dist/components/ui/hover-card.d.ts +5 -5
  137. package/dist/components/ui/hover-card.d.ts.map +1 -1
  138. package/dist/components/ui/hover-card.js +12 -26
  139. package/dist/components/ui/hover-card.js.map +1 -1
  140. package/dist/components/ui/input-group.d.ts +17 -0
  141. package/dist/components/ui/input-group.d.ts.map +1 -0
  142. package/dist/components/ui/input-group.js +91 -0
  143. package/dist/components/ui/input-group.js.map +1 -0
  144. package/dist/components/ui/input-otp.d.ts +31 -8
  145. package/dist/components/ui/input-otp.d.ts.map +1 -1
  146. package/dist/components/ui/input-otp.js +24 -27
  147. package/dist/components/ui/input-otp.js.map +1 -1
  148. package/dist/components/ui/input.d.ts +1 -1
  149. package/dist/components/ui/input.d.ts.map +1 -1
  150. package/dist/components/ui/input.js +7 -8
  151. package/dist/components/ui/input.js.map +1 -1
  152. package/dist/components/ui/item.d.ts +24 -0
  153. package/dist/components/ui/item.d.ts.map +1 -0
  154. package/dist/components/ui/item.js +122 -0
  155. package/dist/components/ui/item.js.map +1 -0
  156. package/dist/components/ui/kbd.d.ts +5 -0
  157. package/dist/components/ui/kbd.d.ts.map +1 -0
  158. package/dist/components/ui/kbd.js +21 -0
  159. package/dist/components/ui/kbd.js.map +1 -0
  160. package/dist/components/ui/label.d.ts +3 -2
  161. package/dist/components/ui/label.d.ts.map +1 -1
  162. package/dist/components/ui/label.js +9 -8
  163. package/dist/components/ui/label.js.map +1 -1
  164. package/dist/components/ui/menubar.d.ts +20 -18
  165. package/dist/components/ui/menubar.d.ts.map +1 -1
  166. package/dist/components/ui/menubar.js +75 -95
  167. package/dist/components/ui/menubar.js.map +1 -1
  168. package/dist/components/ui/navigation-menu.d.ts +11 -13
  169. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  170. package/dist/components/ui/navigation-menu.js +39 -58
  171. package/dist/components/ui/navigation-menu.js.map +1 -1
  172. package/dist/components/ui/pagination.d.ts +25 -10
  173. package/dist/components/ui/pagination.d.ts.map +1 -1
  174. package/dist/components/ui/pagination.js +33 -41
  175. package/dist/components/ui/pagination.js.map +1 -1
  176. package/dist/components/ui/popover.d.ts +6 -6
  177. package/dist/components/ui/popover.d.ts.map +1 -1
  178. package/dist/components/ui/popover.js +10 -26
  179. package/dist/components/ui/popover.js.map +1 -1
  180. package/dist/components/ui/progress.d.ts +2 -2
  181. package/dist/components/ui/progress.d.ts.map +1 -1
  182. package/dist/components/ui/progress.js +8 -10
  183. package/dist/components/ui/progress.js.map +1 -1
  184. package/dist/components/ui/radio-group.d.ts +3 -3
  185. package/dist/components/ui/radio-group.d.ts.map +1 -1
  186. package/dist/components/ui/radio-group.js +17 -20
  187. package/dist/components/ui/radio-group.js.map +1 -1
  188. package/dist/components/ui/resizable.d.ts +21 -6
  189. package/dist/components/ui/resizable.d.ts.map +1 -1
  190. package/dist/components/ui/resizable.js +9 -21
  191. package/dist/components/ui/resizable.js.map +1 -1
  192. package/dist/components/ui/ripple-button.d.ts +1 -1
  193. package/dist/components/ui/ripple-button.d.ts.map +1 -1
  194. package/dist/components/ui/ripple-button.js +4 -4
  195. package/dist/components/ui/ripple-button.js.map +1 -1
  196. package/dist/components/ui/scratcher.d.ts.map +1 -1
  197. package/dist/components/ui/scratcher.js +7 -5
  198. package/dist/components/ui/scratcher.js.map +1 -1
  199. package/dist/components/ui/scroll-area.d.ts +3 -3
  200. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  201. package/dist/components/ui/scroll-area.js +14 -18
  202. package/dist/components/ui/scroll-area.js.map +1 -1
  203. package/dist/components/ui/select.d.ts +11 -13
  204. package/dist/components/ui/select.d.ts.map +1 -1
  205. package/dist/components/ui/select.js +55 -78
  206. package/dist/components/ui/select.js.map +1 -1
  207. package/dist/components/ui/separator.d.ts +2 -2
  208. package/dist/components/ui/separator.d.ts.map +1 -1
  209. package/dist/components/ui/separator.js +7 -8
  210. package/dist/components/ui/separator.js.map +1 -1
  211. package/dist/components/ui/sheet.d.ts +24 -12
  212. package/dist/components/ui/sheet.d.ts.map +1 -1
  213. package/dist/components/ui/sheet.js +56 -68
  214. package/dist/components/ui/sheet.js.map +1 -1
  215. package/dist/components/ui/sidebar.d.ts +35 -39
  216. package/dist/components/ui/sidebar.d.ts.map +1 -1
  217. package/dist/components/ui/sidebar.js +115 -124
  218. package/dist/components/ui/sidebar.js.map +1 -1
  219. package/dist/components/ui/skeleton.d.ts +1 -1
  220. package/dist/components/ui/skeleton.d.ts.map +1 -1
  221. package/dist/components/ui/skeleton.js +2 -3
  222. package/dist/components/ui/skeleton.js.map +1 -1
  223. package/dist/components/ui/slider.d.ts +2 -2
  224. package/dist/components/ui/slider.d.ts.map +1 -1
  225. package/dist/components/ui/slider.js +12 -31
  226. package/dist/components/ui/slider.js.map +1 -1
  227. package/dist/components/ui/sonner.d.ts +4 -2
  228. package/dist/components/ui/sonner.d.ts.map +1 -1
  229. package/dist/components/ui/sonner.js +8 -5
  230. package/dist/components/ui/sonner.js.map +1 -1
  231. package/dist/components/ui/spinner.d.ts +4 -0
  232. package/dist/components/ui/spinner.d.ts.map +1 -0
  233. package/dist/components/ui/spinner.js +16 -0
  234. package/dist/components/ui/spinner.js.map +1 -0
  235. package/dist/components/ui/switch.d.ts +2 -2
  236. package/dist/components/ui/switch.d.ts.map +1 -1
  237. package/dist/components/ui/switch.js +8 -10
  238. package/dist/components/ui/switch.js.map +1 -1
  239. package/dist/components/ui/table.d.ts +9 -9
  240. package/dist/components/ui/table.d.ts.map +1 -1
  241. package/dist/components/ui/table.js +40 -49
  242. package/dist/components/ui/table.js.map +1 -1
  243. package/dist/components/ui/tabs.d.ts +6 -6
  244. package/dist/components/ui/tabs.d.ts.map +1 -1
  245. package/dist/components/ui/tabs.js +18 -27
  246. package/dist/components/ui/tabs.js.map +1 -1
  247. package/dist/components/ui/textarea.d.ts +1 -1
  248. package/dist/components/ui/textarea.d.ts.map +1 -1
  249. package/dist/components/ui/textarea.js +7 -8
  250. package/dist/components/ui/textarea.js.map +1 -1
  251. package/dist/components/ui/toggle-group.d.ts +9 -4
  252. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  253. package/dist/components/ui/toggle-group.js +12 -16
  254. package/dist/components/ui/toggle-group.js.map +1 -1
  255. package/dist/components/ui/toggle.d.ts +9 -6
  256. package/dist/components/ui/toggle.d.ts.map +1 -1
  257. package/dist/components/ui/toggle.js +8 -9
  258. package/dist/components/ui/toggle.js.map +1 -1
  259. package/dist/components/ui/tooltip.d.ts +6 -6
  260. package/dist/components/ui/tooltip.d.ts.map +1 -1
  261. package/dist/components/ui/tooltip.js +14 -39
  262. package/dist/components/ui/tooltip.js.map +1 -1
  263. package/dist/components/ui/typewriter.d.ts.map +1 -1
  264. package/dist/components/ui/typewriter.js +9 -9
  265. package/dist/components/ui/typewriter.js.map +1 -1
  266. package/dist/hooks/useIsMobile.d.ts +2 -5
  267. package/dist/hooks/useIsMobile.d.ts.map +1 -1
  268. package/dist/hooks/useIsMobile.js +1 -1
  269. package/dist/hooks/useIsMobile.js.map +1 -1
  270. package/dist/hooks/useWindowSize.d.ts +0 -1
  271. package/dist/hooks/useWindowSize.d.ts.map +1 -1
  272. package/dist/hooks/useWindowSize.js +1 -1
  273. package/dist/hooks/useWindowSize.js.map +1 -1
  274. package/dist/index.css +841 -1128
  275. package/dist/index.css.map +1 -1
  276. package/dist/index.d.ts +43 -37
  277. package/dist/index.d.ts.map +1 -1
  278. package/dist/index.js +11 -5
  279. package/dist/lib/utilities.d.ts +9 -0
  280. package/dist/lib/utilities.d.ts.map +1 -0
  281. package/dist/lib/{utils.js → utilities.js} +1 -1
  282. package/dist/lib/utilities.js.map +1 -0
  283. package/package.json +121 -90
  284. package/{README.md → readme.md} +627 -627
  285. package/src/components/ui/accordion.tsx +55 -66
  286. package/src/components/ui/alert-dialog.tsx +124 -160
  287. package/src/components/ui/alert.tsx +56 -69
  288. package/src/components/ui/aspect-ratio.tsx +7 -12
  289. package/src/components/ui/avatar.tsx +43 -53
  290. package/src/components/ui/background-beams.tsx +145 -142
  291. package/src/components/ui/badge.tsx +39 -48
  292. package/src/components/ui/breadcrumb.tsx +94 -117
  293. package/src/components/ui/bubble-background.tsx +170 -189
  294. package/src/components/ui/button-group.tsx +69 -0
  295. package/src/components/ui/button.tsx +55 -61
  296. package/src/components/ui/calendar.tsx +175 -216
  297. package/src/components/ui/card.tsx +64 -97
  298. package/src/components/ui/carousel.tsx +216 -241
  299. package/src/components/ui/chart.tsx +293 -385
  300. package/src/components/ui/checkbox.tsx +27 -32
  301. package/src/components/ui/collapsible.tsx +11 -34
  302. package/src/components/ui/command.tsx +138 -184
  303. package/src/components/ui/context-menu.tsx +186 -255
  304. package/src/components/ui/counting-number.tsx +92 -108
  305. package/src/components/ui/dialog.tsx +106 -146
  306. package/src/components/ui/dot-background.tsx +153 -158
  307. package/src/components/ui/drawer.tsx +105 -141
  308. package/src/components/ui/dropdown-menu.tsx +188 -260
  309. package/src/components/ui/dropdrawer.tsx +865 -973
  310. package/src/components/ui/empty.tsx +86 -0
  311. package/src/components/ui/field.tsx +198 -0
  312. package/src/components/ui/fireworks-background.tsx +325 -378
  313. package/src/components/ui/flip-button.tsx +89 -110
  314. package/src/components/ui/form.tsx +144 -174
  315. package/src/components/ui/gradient-background.tsx +30 -43
  316. package/src/components/ui/gradient-text.tsx +62 -65
  317. package/src/components/ui/highlight-text.tsx +54 -71
  318. package/src/components/ui/hole-background.tsx +326 -361
  319. package/src/components/ui/hover-card.tsx +29 -44
  320. package/src/components/ui/input-group.tsx +145 -0
  321. package/src/components/ui/input-otp.tsx +66 -77
  322. package/src/components/ui/input.tsx +21 -22
  323. package/src/components/ui/item.tsx +163 -0
  324. package/src/components/ui/kbd.tsx +31 -0
  325. package/src/components/ui/label.tsx +23 -24
  326. package/src/components/ui/menubar.tsx +233 -279
  327. package/src/components/ui/navigation-menu.tsx +120 -171
  328. package/src/components/ui/pagination.tsx +92 -129
  329. package/src/components/ui/popover.tsx +33 -48
  330. package/src/components/ui/progress.tsx +24 -31
  331. package/src/components/ui/radio-group.tsx +43 -45
  332. package/src/components/ui/resizable.tsx +38 -56
  333. package/src/components/ui/ripple-button.tsx +90 -111
  334. package/src/components/ui/scratcher.tsx +167 -171
  335. package/src/components/ui/scroll-area.tsx +42 -58
  336. package/src/components/ui/select.tsx +145 -191
  337. package/src/components/ui/separator.tsx +26 -28
  338. package/src/components/ui/sheet.tsx +112 -145
  339. package/src/components/ui/sidebar.tsx +664 -729
  340. package/src/components/ui/skeleton.tsx +15 -19
  341. package/src/components/ui/slider.tsx +23 -63
  342. package/src/components/ui/sonner.tsx +36 -26
  343. package/src/components/ui/spinner.tsx +18 -0
  344. package/src/components/ui/switch.tsx +28 -31
  345. package/src/components/ui/table.tsx +93 -119
  346. package/src/components/ui/tabs.tsx +54 -66
  347. package/src/components/ui/textarea.tsx +21 -20
  348. package/src/components/ui/toggle-group.tsx +53 -73
  349. package/src/components/ui/toggle.tsx +44 -47
  350. package/src/components/ui/tooltip.tsx +32 -61
  351. package/src/components/ui/typewriter.tsx +173 -188
  352. package/src/hooks/useIsMobile.tsx +42 -45
  353. package/src/hooks/useWindowSize.tsx +66 -72
  354. package/src/index.css +67 -67
  355. package/src/index.ts +342 -408
  356. package/src/lib/utilities.ts +12 -0
  357. package/dist/lib/utils.d.ts +0 -7
  358. package/dist/lib/utils.d.ts.map +0 -1
  359. package/dist/lib/utils.js.map +0 -1
  360. package/src/lib/utils.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\tooltip.js","sources":["webpack://@arolariu/components/./src/components/ui/tooltip.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"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\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-neutral-900 fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] dark:bg-neutral-50\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"names":["TooltipProvider","delayDuration","props","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","className","sideOffset","children","cn"],"mappings":";;;;;AAOA,SAASA,gBAAgB,EACvBC,gBAAgB,CAAC,EACjB,GAAGC,OACoD;IACvD,OAAO,WAAP,GACE,IAACC,UAAyB;QACxB,aAAU;QACV,eAAeF;QACd,GAAGC,KAAK;;AAGf;AAEA,SAASE,QAAQ,EACf,GAAGF,OACgD;IACnD,OAAO,WAAP,GACE,IAACF,iBAAAA;kBACC,kBAACG,MAAqB;YAAC,aAAU;YAAW,GAAGD,KAAK;;;AAG1D;AAEA,SAASG,eAAe,EACtB,GAAGH,OACmD;IACtD,OAAO,WAAP,GAAO,IAACC,SAAwB;QAAC,aAAU;QAAmB,GAAGD,KAAK;;AACxE;AAEA,SAASI,eAAe,EACtBC,SAAS,EACTC,aAAa,CAAC,EACdC,QAAQ,EACR,GAAGP,OACmD;IACtD,OAAO,WAAP,GACE,IAACC,QAAuB;kBACtB,mBAACA,SAAwB;YACvB,aAAU;YACV,YAAYK;YACZ,WAAWE,GACT,+cACAH;YAED,GAAGL,KAAK;;gBAERO;8BACD,IAACN,OAAsB;oBAAC,WAAU;;;;;AAI1C"}
1
+ {"version":3,"file":"components\\ui\\tooltip.js","sources":["webpack://@arolariu/components/./src/components/ui/tooltip.tsx"],"sourcesContent":["\r\n\r\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nconst TooltipProvider = TooltipPrimitive.Provider;\r\n\r\nconst Tooltip = TooltipPrimitive.Root;\r\n\r\nconst TooltipTrigger = TooltipPrimitive.Trigger;\r\n\r\nconst TooltipContent = React.forwardRef<\r\n React.ElementRef<typeof TooltipPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\r\n>(({className, sideOffset = 4, ...props}, ref) => (\r\n <TooltipPrimitive.Portal>\r\n <TooltipPrimitive.Content\r\n ref={ref}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"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 origin-[--radix-tooltip-content-transform-origin] overflow-hidden rounded-md bg-neutral-900 px-3 py-1.5 text-xs text-neutral-50 dark:bg-neutral-50 dark:text-neutral-900\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </TooltipPrimitive.Portal>\r\n));\r\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\r\n\r\nexport {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger};\r\n"],"names":["TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","React","className","sideOffset","props","ref","cn"],"mappings":";;;;;AAOA,MAAMA,kBAAkBC;AAExB,MAAMC,UAAUD;AAEhB,MAAME,iBAAiBF;AAEvB,MAAMG,iBAAiB,WAAjBA,GAAiBC,WAGrB,CAAC,EAACC,SAAS,EAAEC,aAAa,CAAC,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACxC,IAACR,QAAuB;kBACtB,kBAACA,SAAwB;YACvB,KAAKQ;YACL,YAAYF;YACZ,WAAWG,GACT,4cACAJ;YAED,GAAGE,KAAK;;;AAIfJ,eAAe,WAAW,GAAGH,QAAAA,WAAoC"}
@@ -1 +1 @@
1
- {"version":3,"file":"typewriter.d.ts","sourceRoot":"","sources":["../../../src/components/ui/typewriter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,cAAc,GAAI,wCAI5B;IACD,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,KAAG,KAAK,CAAC,GAAG,CAAC,OAiFb,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,wCAIlC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,KAAG,KAAK,CAAC,GAAG,CAAC,OA2Eb,CAAC"}
1
+ {"version":3,"file":"typewriter.d.ts","sourceRoot":"","sources":["../../../src/components/ui/typewriter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,cAAc,GAAI,wCAI5B;IACD,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,KAAG,KAAK,CAAC,GAAG,CAAC,OAwEb,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,wCAIlC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,KAAG,KAAK,CAAC,GAAG,CAAC,OAsEb,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { useEffect } from "react";
4
- import { cn } from "../../lib/utils.js";
3
+ import { cn } from "../../lib/utilities.js";
5
4
  import { motion, stagger, useAnimate, useInView } from "motion/react";
5
+ import { useEffect } from "react";
6
6
  const TypewriterText = ({ words, className, cursorClassName })=>{
7
7
  const wordsArray = words.map((word)=>({
8
8
  ...word,
@@ -31,7 +31,7 @@ const TypewriterText = ({ words, className, cursorClassName })=>{
31
31
  children: [
32
32
  word.text.map((char, index)=>/*#__PURE__*/ jsx(motion.span, {
33
33
  initial: {},
34
- className: cn("dark:text-white text-black opacity-0 hidden", word.className),
34
+ className: cn("hidden text-black opacity-0 dark:text-white", word.className),
35
35
  children: char
36
36
  }, `char-${index}`)),
37
37
  "\xa0"
@@ -39,7 +39,7 @@ const TypewriterText = ({ words, className, cursorClassName })=>{
39
39
  }, `word-${idx}`))
40
40
  });
41
41
  return /*#__PURE__*/ jsxs("div", {
42
- className: cn("text-base sm:text-xl md:text-3xl lg:text-5xl font-bold text-center", className),
42
+ className: cn("text-center text-base font-bold sm:text-xl md:text-3xl lg:text-5xl", className),
43
43
  children: [
44
44
  renderWords(),
45
45
  /*#__PURE__*/ jsx(motion.span, {
@@ -54,7 +54,7 @@ const TypewriterText = ({ words, className, cursorClassName })=>{
54
54
  repeat: 1 / 0,
55
55
  repeatType: "reverse"
56
56
  },
57
- className: cn("inline-block rounded-sm w-[4px] h-4 md:h-6 lg:h-10 bg-blue-500", cursorClassName)
57
+ className: cn("inline-block h-4 w-[4px] rounded-sm bg-blue-500 md:h-6 lg:h-10", cursorClassName)
58
58
  })
59
59
  ]
60
60
  });
@@ -69,7 +69,7 @@ const TypewriterTextSmooth = ({ words, className, cursorClassName })=>{
69
69
  className: "inline-block",
70
70
  children: [
71
71
  word.text.map((char, index)=>/*#__PURE__*/ jsx("span", {
72
- className: cn("dark:text-white text-black ", word.className),
72
+ className: cn("text-black dark:text-white", word.className),
73
73
  children: char
74
74
  }, `char-${index}`)),
75
75
  "\xa0"
@@ -77,7 +77,7 @@ const TypewriterTextSmooth = ({ words, className, cursorClassName })=>{
77
77
  }, `word-${idx}`))
78
78
  });
79
79
  return /*#__PURE__*/ jsxs("div", {
80
- className: cn("flex space-x-1 my-6", className),
80
+ className: cn("my-6 flex space-x-1", className),
81
81
  children: [
82
82
  /*#__PURE__*/ jsxs(motion.div, {
83
83
  className: "overflow-hidden pb-2",
@@ -94,7 +94,7 @@ const TypewriterTextSmooth = ({ words, className, cursorClassName })=>{
94
94
  },
95
95
  children: [
96
96
  /*#__PURE__*/ jsxs("div", {
97
- className: "text-xs sm:text-base md:text-xl lg:text:3xl xl:text-5xl font-bold",
97
+ className: "lg:text:3xl text-xs font-bold sm:text-base md:text-xl xl:text-5xl",
98
98
  style: {
99
99
  whiteSpace: "nowrap"
100
100
  },
@@ -118,7 +118,7 @@ const TypewriterTextSmooth = ({ words, className, cursorClassName })=>{
118
118
  repeat: 1 / 0,
119
119
  repeatType: "reverse"
120
120
  },
121
- className: cn("block rounded-sm w-[4px] h-4 sm:h-6 xl:h-12 bg-blue-500", cursorClassName)
121
+ className: cn("block h-4 w-[4px] rounded-sm bg-blue-500 sm:h-6 xl:h-12", cursorClassName)
122
122
  })
123
123
  ]
124
124
  });
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\typewriter.js","sources":["webpack://@arolariu/components/./src/components/ui/typewriter.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { motion, stagger, useAnimate, useInView } from \"motion/react\";\nimport { useEffect } from \"react\";\n\nexport const TypewriterText = ({\n words,\n className,\n cursorClassName,\n}: {\n words: {\n text: string;\n className?: string;\n }[];\n className?: string;\n cursorClassName?: string;\n}): React.JSX.Element => {\n // split text inside of words into array of characters\n const wordsArray = words.map((word) => {\n return {\n ...word,\n text: word.text.split(\"\"),\n };\n });\n\n const [scope, animate] = useAnimate();\n const isInView = useInView(scope);\n useEffect(() => {\n if (isInView) {\n animate(\n \"span\",\n {\n display: \"inline-block\",\n opacity: 1,\n width: \"fit-content\",\n },\n {\n duration: 0.3,\n delay: stagger(0.1),\n ease: \"easeInOut\",\n },\n );\n }\n }, [isInView]);\n\n const renderWords = () => {\n return (\n <motion.div ref={scope} className=\"inline\">\n {wordsArray.map((word, idx) => {\n return (\n <div key={`word-${idx}`} className=\"inline-block\">\n {word.text.map((char, index) => (\n <motion.span\n initial={{}}\n key={`char-${index}`}\n className={cn(\n `dark:text-white text-black opacity-0 hidden`,\n word.className,\n )}\n >\n {char}\n </motion.span>\n ))}\n &nbsp;\n </div>\n );\n })}\n </motion.div>\n );\n };\n return (\n <div\n className={cn(\n \"text-base sm:text-xl md:text-3xl lg:text-5xl font-bold text-center\",\n className,\n )}\n >\n {renderWords()}\n <motion.span\n initial={{\n opacity: 0,\n }}\n animate={{\n opacity: 1,\n }}\n transition={{\n duration: 0.8,\n repeat: Infinity,\n repeatType: \"reverse\",\n }}\n className={cn(\n \"inline-block rounded-sm w-[4px] h-4 md:h-6 lg:h-10 bg-blue-500\",\n cursorClassName,\n )}\n ></motion.span>\n </div>\n );\n};\n\nexport const TypewriterTextSmooth = ({\n words,\n className,\n cursorClassName,\n}: {\n words: {\n text: string;\n className?: string;\n }[];\n className?: string;\n cursorClassName?: string;\n}): React.JSX.Element => {\n // split text inside of words into array of characters\n const wordsArray = words.map((word) => {\n return {\n ...word,\n text: word.text.split(\"\"),\n };\n });\n const renderWords = () => {\n return (\n <div>\n {wordsArray.map((word, idx) => {\n return (\n <div key={`word-${idx}`} className=\"inline-block\">\n {word.text.map((char, index) => (\n <span\n key={`char-${index}`}\n className={cn(`dark:text-white text-black `, word.className)}\n >\n {char}\n </span>\n ))}\n &nbsp;\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={cn(\"flex space-x-1 my-6\", className)}>\n <motion.div\n className=\"overflow-hidden pb-2\"\n initial={{\n width: \"0%\",\n }}\n whileInView={{\n width: \"fit-content\",\n }}\n transition={{\n duration: 2,\n ease: \"linear\",\n delay: 1,\n }}\n >\n <div\n className=\"text-xs sm:text-base md:text-xl lg:text:3xl xl:text-5xl font-bold\"\n style={{\n whiteSpace: \"nowrap\",\n }}\n >\n {renderWords()}{\" \"}\n </div>{\" \"}\n </motion.div>\n <motion.span\n initial={{\n opacity: 0,\n }}\n animate={{\n opacity: 1,\n }}\n transition={{\n duration: 0.8,\n\n repeat: Infinity,\n repeatType: \"reverse\",\n }}\n className={cn(\n \"block rounded-sm w-[4px] h-4 sm:h-6 xl:h-12 bg-blue-500\",\n cursorClassName,\n )}\n ></motion.span>\n </div>\n );\n};\n"],"names":["TypewriterText","words","className","cursorClassName","wordsArray","word","scope","animate","useAnimate","isInView","useInView","useEffect","stagger","renderWords","motion","idx","char","index","cn","Infinity","TypewriterTextSmooth"],"mappings":";;;;;AAOO,MAAMA,iBAAiB,CAAC,EAC7BC,KAAK,EACLC,SAAS,EACTC,eAAe,EAQhB;IAEC,MAAMC,aAAaH,MAAM,GAAG,CAAC,CAACI,OACrB;YACL,GAAGA,IAAI;YACP,MAAMA,KAAK,IAAI,CAAC,KAAK,CAAC;QACxB;IAGF,MAAM,CAACC,OAAOC,QAAQ,GAAGC;IACzB,MAAMC,WAAWC,UAAUJ;IAC3BK,UAAU;QACR,IAAIF,UACFF,QACE,QACA;YACE,SAAS;YACT,SAAS;YACT,OAAO;QACT,GACA;YACE,UAAU;YACV,OAAOK,QAAQ;YACf,MAAM;QACR;IAGN,GAAG;QAACH;KAAS;IAEb,MAAMI,cAAc,IACX,WAAP,GACE,IAACC,OAAO,GAAG;YAAC,KAAKR;YAAO,WAAU;sBAC/BF,WAAW,GAAG,CAAC,CAACC,MAAMU,MACd,WAAP,GACE,KAAC;oBAAwB,WAAU;;wBAChCV,KAAK,IAAI,CAAC,GAAG,CAAC,CAACW,MAAMC,QAAAA,WAAAA,GACpB,IAACH,OAAO,IAAI;gCACV,SAAS,CAAC;gCAEV,WAAWI,GACT,+CACAb,KAAK,SAAS;0CAGfW;+BANI,CAAC,KAAK,EAAEC,OAAO;wBAQrB;;mBAZK,CAAC,KAAK,EAAEF,KAAK;;IAoBjC,OAAO,WAAP,GACE,KAAC;QACC,WAAWG,GACT,sEACAhB;;YAGDW;0BACD,IAACC,OAAO,IAAI;gBACV,SAAS;oBACP,SAAS;gBACX;gBACA,SAAS;oBACP,SAAS;gBACX;gBACA,YAAY;oBACV,UAAU;oBACV,QAAQK;oBACR,YAAY;gBACd;gBACA,WAAWD,GACT,kEACAf;;;;AAKV;AAEO,MAAMiB,uBAAuB,CAAC,EACnCnB,KAAK,EACLC,SAAS,EACTC,eAAe,EAQhB;IAEC,MAAMC,aAAaH,MAAM,GAAG,CAAC,CAACI,OACrB;YACL,GAAGA,IAAI;YACP,MAAMA,KAAK,IAAI,CAAC,KAAK,CAAC;QACxB;IAEF,MAAMQ,cAAc,IACX,WAAP,GACE,IAAC;sBACET,WAAW,GAAG,CAAC,CAACC,MAAMU,MACd,WAAP,GACE,KAAC;oBAAwB,WAAU;;wBAChCV,KAAK,IAAI,CAAC,GAAG,CAAC,CAACW,MAAMC,QAAAA,WAAAA,GACpB,IAAC;gCAEC,WAAWC,GAAG,+BAA+Bb,KAAK,SAAS;0CAE1DW;+BAHI,CAAC,KAAK,EAAEC,OAAO;wBAKrB;;mBARK,CAAC,KAAK,EAAEF,KAAK;;IAiBjC,OAAO,WAAP,GACE,KAAC;QAAI,WAAWG,GAAG,uBAAuBhB;;0BACxC,KAACY,OAAO,GAAG;gBACT,WAAU;gBACV,SAAS;oBACP,OAAO;gBACT;gBACA,aAAa;oBACX,OAAO;gBACT;gBACA,YAAY;oBACV,UAAU;oBACV,MAAM;oBACN,OAAO;gBACT;;kCAEA,KAAC;wBACC,WAAU;wBACV,OAAO;4BACL,YAAY;wBACd;;4BAECD;4BAAe;;;oBACX;;;0BAET,IAACC,OAAO,IAAI;gBACV,SAAS;oBACP,SAAS;gBACX;gBACA,SAAS;oBACP,SAAS;gBACX;gBACA,YAAY;oBACV,UAAU;oBAEV,QAAQK;oBACR,YAAY;gBACd;gBACA,WAAWD,GACT,4DACAf;;;;AAKV"}
1
+ {"version":3,"file":"components\\ui\\typewriter.js","sources":["webpack://@arolariu/components/./src/components/ui/typewriter.tsx"],"sourcesContent":["\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport {motion, stagger, useAnimate, useInView} from \"motion/react\";\r\nimport * as React from \"react\";\r\n\r\nexport const TypewriterText = ({\r\n words,\r\n className,\r\n cursorClassName,\r\n}: {\r\n words: {\r\n text: string;\r\n className?: string;\r\n }[];\r\n className?: string;\r\n cursorClassName?: string;\r\n}): React.JSX.Element => {\r\n // split text inside of words into array of characters\r\n const wordsArray = words.map((word) => {\r\n return {\r\n ...word,\r\n text: word.text.split(\"\"),\r\n };\r\n });\r\n\r\n const [scope, animate] = useAnimate();\r\n const isInView = useInView(scope);\r\n React.useEffect(() => {\r\n if (isInView) {\r\n animate(\r\n \"span\",\r\n {\r\n display: \"inline-block\",\r\n opacity: 1,\r\n width: \"fit-content\",\r\n },\r\n {\r\n duration: 0.3,\r\n delay: stagger(0.1),\r\n ease: \"easeInOut\",\r\n },\r\n );\r\n }\r\n }, [isInView]);\r\n\r\n const renderWords = () => {\r\n return (\r\n <motion.div\r\n ref={scope}\r\n className='inline'>\r\n {wordsArray.map((word, idx) => {\r\n return (\r\n <div\r\n key={`word-${idx}`}\r\n className='inline-block'>\r\n {word.text.map((char, index) => (\r\n <motion.span\r\n initial={{}}\r\n key={`char-${index}`}\r\n className={cn(`hidden text-black opacity-0 dark:text-white`, word.className)}>\r\n {char}\r\n </motion.span>\r\n ))}\r\n &nbsp;\r\n </div>\r\n );\r\n })}\r\n </motion.div>\r\n );\r\n };\r\n return (\r\n <div className={cn(\"text-center text-base font-bold sm:text-xl md:text-3xl lg:text-5xl\", className)}>\r\n {renderWords()}\r\n <motion.span\r\n initial={{\r\n opacity: 0,\r\n }}\r\n animate={{\r\n opacity: 1,\r\n }}\r\n transition={{\r\n duration: 0.8,\r\n repeat: Infinity,\r\n repeatType: \"reverse\",\r\n }}\r\n className={cn(\"inline-block h-4 w-[4px] rounded-sm bg-blue-500 md:h-6 lg:h-10\", cursorClassName)}></motion.span>\r\n </div>\r\n );\r\n};\r\n\r\nexport const TypewriterTextSmooth = ({\r\n words,\r\n className,\r\n cursorClassName,\r\n}: {\r\n words: {\r\n text: string;\r\n className?: string;\r\n }[];\r\n className?: string;\r\n cursorClassName?: string;\r\n}): React.JSX.Element => {\r\n // split text inside of words into array of characters\r\n const wordsArray = words.map((word) => {\r\n return {\r\n ...word,\r\n text: word.text.split(\"\"),\r\n };\r\n });\r\n const renderWords = () => {\r\n return (\r\n <div>\r\n {wordsArray.map((word, idx) => {\r\n return (\r\n <div\r\n key={`word-${idx}`}\r\n className='inline-block'>\r\n {word.text.map((char, index) => (\r\n <span\r\n key={`char-${index}`}\r\n className={cn(`text-black dark:text-white`, word.className)}>\r\n {char}\r\n </span>\r\n ))}\r\n &nbsp;\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n };\r\n\r\n return (\r\n <div className={cn(\"my-6 flex space-x-1\", className)}>\r\n <motion.div\r\n className='overflow-hidden pb-2'\r\n initial={{\r\n width: \"0%\",\r\n }}\r\n whileInView={{\r\n width: \"fit-content\",\r\n }}\r\n transition={{\r\n duration: 2,\r\n ease: \"linear\",\r\n delay: 1,\r\n }}>\r\n <div\r\n className='lg:text:3xl text-xs font-bold sm:text-base md:text-xl xl:text-5xl'\r\n style={{\r\n whiteSpace: \"nowrap\",\r\n }}>\r\n {renderWords()}{\" \"}\r\n </div>{\" \"}\r\n </motion.div>\r\n <motion.span\r\n initial={{\r\n opacity: 0,\r\n }}\r\n animate={{\r\n opacity: 1,\r\n }}\r\n transition={{\r\n duration: 0.8,\r\n\r\n repeat: Infinity,\r\n repeatType: \"reverse\",\r\n }}\r\n className={cn(\"block h-4 w-[4px] rounded-sm bg-blue-500 sm:h-6 xl:h-12\", cursorClassName)}></motion.span>\r\n </div>\r\n );\r\n};\r\n"],"names":["TypewriterText","words","className","cursorClassName","wordsArray","word","scope","animate","useAnimate","isInView","useInView","React","stagger","renderWords","motion","idx","char","index","cn","Infinity","TypewriterTextSmooth"],"mappings":";;;;;AAMO,MAAMA,iBAAiB,CAAC,EAC7BC,KAAK,EACLC,SAAS,EACTC,eAAe,EAQhB;IAEC,MAAMC,aAAaH,MAAM,GAAG,CAAC,CAACI,OACrB;YACL,GAAGA,IAAI;YACP,MAAMA,KAAK,IAAI,CAAC,KAAK,CAAC;QACxB;IAGF,MAAM,CAACC,OAAOC,QAAQ,GAAGC;IACzB,MAAMC,WAAWC,UAAUJ;IAC3BK,UAAgB;QACd,IAAIF,UACFF,QACE,QACA;YACE,SAAS;YACT,SAAS;YACT,OAAO;QACT,GACA;YACE,UAAU;YACV,OAAOK,QAAQ;YACf,MAAM;QACR;IAGN,GAAG;QAACH;KAAS;IAEb,MAAMI,cAAc,IACX,WAAP,GACE,IAACC,OAAO,GAAG;YACT,KAAKR;YACL,WAAU;sBACTF,WAAW,GAAG,CAAC,CAACC,MAAMU,MACd,WAAP,GACE,KAAC;oBAEC,WAAU;;wBACTV,KAAK,IAAI,CAAC,GAAG,CAAC,CAACW,MAAMC,QAAAA,WAAAA,GACpB,IAACH,OAAO,IAAI;gCACV,SAAS,CAAC;gCAEV,WAAWI,GAAG,+CAA+Cb,KAAK,SAAS;0CAC1EW;+BAFI,CAAC,KAAK,EAAEC,OAAO;wBAIrB;;mBATE,CAAC,KAAK,EAAEF,KAAK;;IAiB9B,OAAO,WAAP,GACE,KAAC;QAAI,WAAWG,GAAG,sEAAsEhB;;YACtFW;0BACD,IAACC,OAAO,IAAI;gBACV,SAAS;oBACP,SAAS;gBACX;gBACA,SAAS;oBACP,SAAS;gBACX;gBACA,YAAY;oBACV,UAAU;oBACV,QAAQK;oBACR,YAAY;gBACd;gBACA,WAAWD,GAAG,kEAAkEf;;;;AAGxF;AAEO,MAAMiB,uBAAuB,CAAC,EACnCnB,KAAK,EACLC,SAAS,EACTC,eAAe,EAQhB;IAEC,MAAMC,aAAaH,MAAM,GAAG,CAAC,CAACI,OACrB;YACL,GAAGA,IAAI;YACP,MAAMA,KAAK,IAAI,CAAC,KAAK,CAAC;QACxB;IAEF,MAAMQ,cAAc,IACX,WAAP,GACE,IAAC;sBACET,WAAW,GAAG,CAAC,CAACC,MAAMU,MACd,WAAP,GACE,KAAC;oBAEC,WAAU;;wBACTV,KAAK,IAAI,CAAC,GAAG,CAAC,CAACW,MAAMC,QAAAA,WAAAA,GACpB,IAAC;gCAEC,WAAWC,GAAG,8BAA8Bb,KAAK,SAAS;0CACzDW;+BAFI,CAAC,KAAK,EAAEC,OAAO;wBAIrB;;mBARE,CAAC,KAAK,EAAEF,KAAK;;IAiB9B,OAAO,WAAP,GACE,KAAC;QAAI,WAAWG,GAAG,uBAAuBhB;;0BACxC,KAACY,OAAO,GAAG;gBACT,WAAU;gBACV,SAAS;oBACP,OAAO;gBACT;gBACA,aAAa;oBACX,OAAO;gBACT;gBACA,YAAY;oBACV,UAAU;oBACV,MAAM;oBACN,OAAO;gBACT;;kCACA,KAAC;wBACC,WAAU;wBACV,OAAO;4BACL,YAAY;wBACd;;4BACCD;4BAAe;;;oBACX;;;0BAET,IAACC,OAAO,IAAI;gBACV,SAAS;oBACP,SAAS;gBACX;gBACA,SAAS;oBACP,SAAS;gBACX;gBACA,YAAY;oBACV,UAAU;oBAEV,QAAQK;oBACR,YAAY;gBACd;gBACA,WAAWD,GAAG,2DAA2Df;;;;AAGjF"}
@@ -1,13 +1,10 @@
1
1
  /**
2
2
  * A custom React hook that detects whether the current device is a mobile device
3
3
  * based on the screen width.
4
- *
5
4
  * This hook uses a media query to check if the viewport width is less than the defined
6
5
  * mobile breakpoint (768px). It updates the state when the window size changes.
7
- *
8
- * @returns {boolean} Returns true if the viewport width is less than the mobile breakpoint,
9
- * false otherwise.
10
- *
6
+ * @returns Returns true if the viewport width is less than the mobile breakpoint,
7
+ * false otherwise.
11
8
  * @example
12
9
  * ```tsx
13
10
  * function MyComponent() {
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMobile.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsMobile.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAgBrC"}
1
+ {"version":3,"file":"useIsMobile.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsMobile.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAgBrC"}
@@ -12,7 +12,7 @@ function useIsMobile() {
12
12
  setIsMobile(globalThis.window.innerWidth < MOBILE_BREAKPOINT);
13
13
  return ()=>mql.removeEventListener("change", onChange);
14
14
  }, []);
15
- return !!isMobile;
15
+ return Boolean(isMobile);
16
16
  }
17
17
  export { useIsMobile };
18
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"hooks\\useIsMobile.js","sources":["webpack://@arolariu/components/./src/hooks/useIsMobile.tsx"],"sourcesContent":["\nimport * as React from \"react\";\n\nconst MOBILE_BREAKPOINT = 768;\n\n/**\n * A custom React hook that detects whether the current device is a mobile device\n * based on the screen width.\n *\n * This hook uses a media query to check if the viewport width is less than the defined\n * mobile breakpoint (768px). It updates the state when the window size changes.\n *\n * @returns {boolean} Returns true if the viewport width is less than the mobile breakpoint,\n * false otherwise.\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const isMobile = useIsMobile();\n *\n * return (\n * <div>\n * {isMobile ? 'Mobile View' : 'Desktop View'}\n * </div>\n * );\n * }\n * ```\n */\nexport function useIsMobile(): boolean {\n const [isMobile, setIsMobile] = React.useState<boolean | null>(null);\n\n React.useEffect(() => {\n const mql = globalThis.window.matchMedia(\n `(max-width: ${MOBILE_BREAKPOINT - 1}px)`,\n );\n const onChange = () => {\n setIsMobile(globalThis.window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener(\"change\", onChange);\n setIsMobile(globalThis.window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener(\"change\", onChange);\n }, []);\n\n return !!isMobile;\n}\n"],"names":["MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","React","mql","globalThis","onChange"],"mappings":";;AAGA,MAAMA,oBAAoB;AAyBnB,SAASC;IACd,MAAM,CAACC,UAAUC,YAAY,GAAGC,SAA+B;IAE/DA,UAAgB;QACd,MAAMC,MAAMC,WAAW,MAAM,CAAC,UAAU,CACtC,CAAC,YAAY,EAAEN,oBAAoB,EAAE,GAAG,CAAC;QAE3C,MAAMO,WAAW;YACfJ,YAAYG,WAAW,MAAM,CAAC,UAAU,GAAGN;QAC7C;QACAK,IAAI,gBAAgB,CAAC,UAAUE;QAC/BJ,YAAYG,WAAW,MAAM,CAAC,UAAU,GAAGN;QAC3C,OAAO,IAAMK,IAAI,mBAAmB,CAAC,UAAUE;IACjD,GAAG,EAAE;IAEL,OAAO,CAAC,CAACL;AACX"}
1
+ {"version":3,"file":"hooks\\useIsMobile.js","sources":["webpack://@arolariu/components/./src/hooks/useIsMobile.tsx"],"sourcesContent":["\r\nimport * as React from \"react\";\r\n\r\nconst MOBILE_BREAKPOINT = 768;\r\n\r\n/**\r\n * A custom React hook that detects whether the current device is a mobile device\r\n * based on the screen width.\r\n * This hook uses a media query to check if the viewport width is less than the defined\r\n * mobile breakpoint (768px). It updates the state when the window size changes.\r\n * @returns Returns true if the viewport width is less than the mobile breakpoint,\r\n * false otherwise.\r\n * @example\r\n * ```tsx\r\n * function MyComponent() {\r\n * const isMobile = useIsMobile();\r\n *\r\n * return (\r\n * <div>\r\n * {isMobile ? 'Mobile View' : 'Desktop View'}\r\n * </div>\r\n * );\r\n * }\r\n * ```\r\n */\r\nexport function useIsMobile(): boolean {\r\n const [isMobile, setIsMobile] = React.useState<boolean | null>(null);\r\n\r\n React.useEffect(() => {\r\n const mql = globalThis.window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\r\n const onChange = () => {\r\n // eslint-disable-next-line react-hooks-extra/no-direct-set-state-in-use-effect\r\n setIsMobile(globalThis.window.innerWidth < MOBILE_BREAKPOINT);\r\n };\r\n mql.addEventListener(\"change\", onChange);\r\n // eslint-disable-next-line react-hooks-extra/no-direct-set-state-in-use-effect\r\n setIsMobile(globalThis.window.innerWidth < MOBILE_BREAKPOINT);\r\n return () => mql.removeEventListener(\"change\", onChange);\r\n }, []);\r\n\r\n return Boolean(isMobile);\r\n}\r\n"],"names":["MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","React","mql","globalThis","onChange","Boolean"],"mappings":";;AAGA,MAAMA,oBAAoB;AAsBnB,SAASC;IACd,MAAM,CAACC,UAAUC,YAAY,GAAGC,SAA+B;IAE/DA,UAAgB;QACd,MAAMC,MAAMC,WAAW,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,EAAEN,oBAAoB,EAAE,GAAG,CAAC;QAClF,MAAMO,WAAW;YAEfJ,YAAYG,WAAW,MAAM,CAAC,UAAU,GAAGN;QAC7C;QACAK,IAAI,gBAAgB,CAAC,UAAUE;QAE/BJ,YAAYG,WAAW,MAAM,CAAC,UAAU,GAAGN;QAC3C,OAAO,IAAMK,IAAI,mBAAmB,CAAC,UAAUE;IACjD,GAAG,EAAE;IAEL,OAAOC,QAAQN;AACjB"}
@@ -1,4 +1,3 @@
1
- /** @format */
2
1
  type WindowSize = {
3
2
  width: number | null;
4
3
  height: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowSize.d.ts","sourceRoot":"","sources":["../../src/hooks/useWindowSize.tsx"],"names":[],"mappings":"AAAA,cAAc;AAQd,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,cAAc,GAAG,QAAQ,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,IAAI,cAAc,CAmC9C"}
1
+ {"version":3,"file":"useWindowSize.d.ts","sourceRoot":"","sources":["../../src/hooks/useWindowSize.tsx"],"names":[],"mappings":"AAMA,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,cAAc,GAAG,QAAQ,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,IAAI,cAAc,CA+B9C"}
@@ -1,5 +1,5 @@
1
- import { useEffect, useState } from "react";
2
1
  "use client";
2
+ import { useEffect, useState } from "react";
3
3
  const MOBILE_BREAKPOINT = 768;
4
4
  function useWindowSize() {
5
5
  const [windowSize, setWindowSize] = useState({
@@ -1 +1 @@
1
- {"version":3,"file":"hooks\\useWindowSize.js","sources":["webpack://@arolariu/components/./src/hooks/useWindowSize.tsx"],"sourcesContent":["/** @format */\n\n\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\nconst MOBILE_BREAKPOINT = 768;\n\ntype WindowSize = {\n width: number | null;\n height: number | null;\n};\n\ntype HookReturnType = Readonly<{\n windowSize: WindowSize;\n isMobile: boolean;\n isDesktop: boolean;\n}>;\n\n/**\n * Client hook to get the window size and whether the window is mobile or desktop.\n * @returns An object containing the window size and whether the window is mobile or desktop.\n *@example\n * ```tsx\n * function MyComponent() {\n * const { windowSize, isMobile, isDesktop } = useWindowSize();\n *\n * return (\n * <div>\n * <p>Window Size: {windowSize.width} x {windowSize.height}</p>\n * <p>{isMobile ? 'Mobile View' : 'Desktop View'}</p>\n * </div>\n * );\n * }\n * ```\n */\nexport function useWindowSize(): HookReturnType {\n const [windowSize, setWindowSize] = useState<WindowSize>({\n width: null,\n height: null,\n });\n\n useEffect(() => {\n /**\n * This function updates the window size.\n * It is created inside of useEffect and has a short lifespan.\n * After it is attached to the window object, it will be garbage collected\n * when the component unmounts or the window is resized.\n */\n function __handleResize__() {\n setWindowSize({\n width: globalThis.window.innerWidth,\n height: globalThis.window.innerHeight,\n });\n }\n\n globalThis.window.addEventListener(\"resize\", __handleResize__);\n __handleResize__(); // Call the function once to get the initial window size\n return () =>\n globalThis.window.removeEventListener(\"resize\", __handleResize__);\n }, []); // Empty array ensures that effect is only run on mount\n\n return {\n windowSize,\n isMobile:\n typeof windowSize.width === \"number\" &&\n windowSize.width < MOBILE_BREAKPOINT,\n isDesktop:\n typeof windowSize.width === \"number\" &&\n windowSize.width >= MOBILE_BREAKPOINT,\n } as const;\n}\n"],"names":["MOBILE_BREAKPOINT","useWindowSize","windowSize","setWindowSize","useState","useEffect","__handleResize__","globalThis"],"mappings":";AAEA;AAIA,MAAMA,oBAAoB;AA8BnB,SAASC;IACd,MAAM,CAACC,YAAYC,cAAc,GAAGC,SAAqB;QACvD,OAAO;QACP,QAAQ;IACV;IAEAC,UAAU;QAOR,SAASC;YACPH,cAAc;gBACZ,OAAOI,WAAW,MAAM,CAAC,UAAU;gBACnC,QAAQA,WAAW,MAAM,CAAC,WAAW;YACvC;QACF;QAEAA,WAAW,MAAM,CAAC,gBAAgB,CAAC,UAAUD;QAC7CA;QACA,OAAO,IACLC,WAAW,MAAM,CAAC,mBAAmB,CAAC,UAAUD;IACpD,GAAG,EAAE;IAEL,OAAO;QACLJ;QACA,UACE,AAA4B,YAA5B,OAAOA,WAAW,KAAK,IACvBA,WAAW,KAAK,GAAGF;QACrB,WACE,AAA4B,YAA5B,OAAOE,WAAW,KAAK,IACvBA,WAAW,KAAK,IAAIF;IACxB;AACF"}
1
+ {"version":3,"file":"hooks\\useWindowSize.js","sources":["webpack://@arolariu/components/./src/hooks/useWindowSize.tsx"],"sourcesContent":["\r\n\r\nimport {useEffect, useState} from \"react\";\r\n\r\nconst MOBILE_BREAKPOINT = 768;\r\n\r\ntype WindowSize = {\r\n width: number | null;\r\n height: number | null;\r\n};\r\n\r\ntype HookReturnType = Readonly<{\r\n windowSize: WindowSize;\r\n isMobile: boolean;\r\n isDesktop: boolean;\r\n}>;\r\n\r\n/**\r\n * Client hook to get the window size and whether the window is mobile or desktop.\r\n * @returns An object containing the window size and whether the window is mobile or desktop.\r\n *@example\r\n * ```tsx\r\n * function MyComponent() {\r\n * const { windowSize, isMobile, isDesktop } = useWindowSize();\r\n *\r\n * return (\r\n * <div>\r\n * <p>Window Size: {windowSize.width} x {windowSize.height}</p>\r\n * <p>{isMobile ? 'Mobile View' : 'Desktop View'}</p>\r\n * </div>\r\n * );\r\n * }\r\n * ```\r\n */\r\nexport function useWindowSize(): HookReturnType {\r\n const [windowSize, setWindowSize] = useState<WindowSize>({\r\n width: null,\r\n height: null,\r\n });\r\n\r\n useEffect(() => {\r\n /**\r\n * This function updates the window size.\r\n * It is created inside of useEffect and has a short lifespan.\r\n * After it is attached to the window object, it will be garbage collected\r\n * when the component unmounts or the window is resized.\r\n */\r\n function __handleResize__() {\r\n // eslint-disable-next-line react-hooks-extra/no-direct-set-state-in-use-effect\r\n setWindowSize({\r\n width: globalThis.window.innerWidth,\r\n height: globalThis.window.innerHeight,\r\n });\r\n }\r\n\r\n globalThis.window.addEventListener(\"resize\", __handleResize__);\r\n __handleResize__(); // Call the function once to get the initial window size\r\n return () => globalThis.window.removeEventListener(\"resize\", __handleResize__);\r\n }, []); // Empty array ensures that effect is only run on mount\r\n\r\n return {\r\n windowSize,\r\n isMobile: typeof windowSize.width === \"number\" && windowSize.width < MOBILE_BREAKPOINT,\r\n isDesktop: typeof windowSize.width === \"number\" && windowSize.width >= MOBILE_BREAKPOINT,\r\n } as const;\r\n}\r\n"],"names":["MOBILE_BREAKPOINT","useWindowSize","windowSize","setWindowSize","useState","useEffect","__handleResize__","globalThis"],"mappings":";;AAIA,MAAMA,oBAAoB;AA8BnB,SAASC;IACd,MAAM,CAACC,YAAYC,cAAc,GAAGC,SAAqB;QACvD,OAAO;QACP,QAAQ;IACV;IAEAC,UAAU;QAOR,SAASC;YAEPH,cAAc;gBACZ,OAAOI,WAAW,MAAM,CAAC,UAAU;gBACnC,QAAQA,WAAW,MAAM,CAAC,WAAW;YACvC;QACF;QAEAA,WAAW,MAAM,CAAC,gBAAgB,CAAC,UAAUD;QAC7CA;QACA,OAAO,IAAMC,WAAW,MAAM,CAAC,mBAAmB,CAAC,UAAUD;IAC/D,GAAG,EAAE;IAEL,OAAO;QACLJ;QACA,UAAU,mBAAOA,WAAW,KAAK,IAAiBA,WAAW,KAAK,GAAGF;QACrE,WAAW,mBAAOE,WAAW,KAAK,IAAiBA,WAAW,KAAK,IAAIF;IACzE;AACF"}