@arolariu/components 0.0.35 → 0.0.37

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 (293) hide show
  1. package/changelog.md +13 -0
  2. package/dist/cjs/components/ui/accordion.cjs +1 -1
  3. package/dist/cjs/components/ui/accordion.cjs.map +1 -1
  4. package/dist/cjs/components/ui/alert-dialog.cjs +1 -1
  5. package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
  6. package/dist/cjs/components/ui/alert.cjs +1 -1
  7. package/dist/cjs/components/ui/alert.cjs.map +1 -1
  8. package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
  9. package/dist/cjs/components/ui/avatar.cjs.map +1 -1
  10. package/dist/cjs/components/ui/background-beams.cjs +210 -0
  11. package/dist/cjs/components/ui/background-beams.cjs.map +1 -0
  12. package/dist/cjs/components/ui/badge.cjs +1 -1
  13. package/dist/cjs/components/ui/badge.cjs.map +1 -1
  14. package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
  15. package/dist/cjs/components/ui/bubble-background.cjs +214 -0
  16. package/dist/cjs/components/ui/bubble-background.cjs.map +1 -0
  17. package/dist/cjs/components/ui/button.cjs +6 -6
  18. package/dist/cjs/components/ui/button.cjs.map +1 -1
  19. package/dist/cjs/components/ui/card.cjs +13 -3
  20. package/dist/cjs/components/ui/card.cjs.map +1 -1
  21. package/dist/cjs/components/ui/carousel.cjs.map +1 -1
  22. package/dist/cjs/components/ui/chart.cjs.map +1 -1
  23. package/dist/cjs/components/ui/checkbox.cjs +1 -1
  24. package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
  25. package/dist/cjs/components/ui/collapsible.cjs +1 -1
  26. package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
  27. package/dist/cjs/components/ui/command.cjs +2 -2
  28. package/dist/cjs/components/ui/command.cjs.map +1 -1
  29. package/dist/cjs/components/ui/context-menu.cjs +7 -7
  30. package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
  31. package/dist/cjs/components/ui/counting-number.cjs +95 -0
  32. package/dist/cjs/components/ui/counting-number.cjs.map +1 -0
  33. package/dist/cjs/components/ui/dialog.cjs +1 -1
  34. package/dist/cjs/components/ui/dialog.cjs.map +1 -1
  35. package/dist/cjs/components/ui/dot-background.cjs +131 -0
  36. package/dist/cjs/components/ui/dot-background.cjs.map +1 -0
  37. package/dist/cjs/components/ui/drawer.cjs +3 -3
  38. package/dist/cjs/components/ui/drawer.cjs.map +1 -1
  39. package/dist/cjs/components/ui/dropdown-menu.cjs +7 -7
  40. package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
  41. package/dist/cjs/components/ui/fireworks-background.cjs +259 -0
  42. package/dist/cjs/components/ui/fireworks-background.cjs.map +1 -0
  43. package/dist/cjs/components/ui/flip-button.cjs +100 -0
  44. package/dist/cjs/components/ui/flip-button.cjs.map +1 -0
  45. package/dist/cjs/components/ui/form.cjs +2 -2
  46. package/dist/cjs/components/ui/form.cjs.map +1 -1
  47. package/dist/cjs/components/ui/gradient-background.cjs +60 -0
  48. package/dist/cjs/components/ui/gradient-background.cjs.map +1 -0
  49. package/dist/cjs/components/ui/gradient-text.cjs +83 -0
  50. package/dist/cjs/components/ui/gradient-text.cjs.map +1 -0
  51. package/dist/cjs/components/ui/highlight-text.cjs +74 -0
  52. package/dist/cjs/components/ui/highlight-text.cjs.map +1 -0
  53. package/dist/cjs/components/ui/hole-background.cjs +361 -0
  54. package/dist/cjs/components/ui/hole-background.cjs.map +1 -0
  55. package/dist/cjs/components/ui/hover-card.cjs +9 -6
  56. package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
  57. package/dist/cjs/components/ui/input-otp.cjs +2 -3
  58. package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
  59. package/dist/cjs/components/ui/input.cjs +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 +5 -5
  65. package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
  66. package/dist/cjs/components/ui/pagination.cjs.map +1 -1
  67. package/dist/cjs/components/ui/popover.cjs +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 +1 -1
  71. package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
  72. package/dist/cjs/components/ui/resizable.cjs.map +1 -1
  73. package/dist/cjs/components/ui/ripple-button.cjs +108 -0
  74. package/dist/cjs/components/ui/ripple-button.cjs.map +1 -0
  75. package/dist/cjs/components/ui/scratcher.cjs +179 -0
  76. package/dist/cjs/components/ui/scratcher.cjs.map +1 -0
  77. package/dist/cjs/components/ui/scroll-area.cjs +1 -1
  78. package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
  79. package/dist/cjs/components/ui/select.cjs +6 -5
  80. package/dist/cjs/components/ui/select.cjs.map +1 -1
  81. package/dist/cjs/components/ui/separator.cjs.map +1 -1
  82. package/dist/cjs/components/ui/sheet.cjs +1 -1
  83. package/dist/cjs/components/ui/sheet.cjs.map +1 -1
  84. package/dist/cjs/components/ui/sidebar.cjs +14 -11
  85. package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
  86. package/dist/cjs/components/ui/skeleton.cjs +2 -1
  87. package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
  88. package/dist/cjs/components/ui/slider.cjs +2 -2
  89. package/dist/cjs/components/ui/slider.cjs.map +1 -1
  90. package/dist/cjs/components/ui/sonner.cjs +5 -7
  91. package/dist/cjs/components/ui/sonner.cjs.map +1 -1
  92. package/dist/cjs/components/ui/switch.cjs +2 -2
  93. package/dist/cjs/components/ui/switch.cjs.map +1 -1
  94. package/dist/cjs/components/ui/table.cjs +2 -2
  95. package/dist/cjs/components/ui/table.cjs.map +1 -1
  96. package/dist/cjs/components/ui/tabs.cjs +3 -3
  97. package/dist/cjs/components/ui/tabs.cjs.map +1 -1
  98. package/dist/cjs/components/ui/textarea.cjs +1 -1
  99. package/dist/cjs/components/ui/textarea.cjs.map +1 -1
  100. package/dist/cjs/components/ui/toggle-group.cjs +2 -2
  101. package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
  102. package/dist/cjs/components/ui/toggle.cjs +2 -2
  103. package/dist/cjs/components/ui/toggle.cjs.map +1 -1
  104. package/dist/cjs/components/ui/tooltip.cjs +1 -1
  105. package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
  106. package/dist/cjs/index.cjs +55 -4
  107. package/dist/cjs/index.css +1013 -258
  108. package/dist/esm/components/ui/accordion.js +1 -1
  109. package/dist/esm/components/ui/accordion.js.map +1 -1
  110. package/dist/esm/components/ui/alert-dialog.js +1 -1
  111. package/dist/esm/components/ui/alert-dialog.js.map +1 -1
  112. package/dist/esm/components/ui/alert.js +1 -1
  113. package/dist/esm/components/ui/alert.js.map +1 -1
  114. package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
  115. package/dist/esm/components/ui/avatar.js.map +1 -1
  116. package/dist/esm/components/ui/background-beams.js +166 -0
  117. package/dist/esm/components/ui/background-beams.js.map +1 -0
  118. package/dist/esm/components/ui/badge.js +1 -1
  119. package/dist/esm/components/ui/badge.js.map +1 -1
  120. package/dist/esm/components/ui/breadcrumb.js.map +1 -1
  121. package/dist/esm/components/ui/bubble-background.js +180 -0
  122. package/dist/esm/components/ui/bubble-background.js.map +1 -0
  123. package/dist/esm/components/ui/button.js +6 -6
  124. package/dist/esm/components/ui/button.js.map +1 -1
  125. package/dist/esm/components/ui/card.js +11 -4
  126. package/dist/esm/components/ui/card.js.map +1 -1
  127. package/dist/esm/components/ui/carousel.js.map +1 -1
  128. package/dist/esm/components/ui/chart.js.map +1 -1
  129. package/dist/esm/components/ui/checkbox.js +1 -1
  130. package/dist/esm/components/ui/checkbox.js.map +1 -1
  131. package/dist/esm/components/ui/collapsible.js +1 -1
  132. package/dist/esm/components/ui/collapsible.js.map +1 -1
  133. package/dist/esm/components/ui/command.js +2 -2
  134. package/dist/esm/components/ui/command.js.map +1 -1
  135. package/dist/esm/components/ui/context-menu.js +7 -7
  136. package/dist/esm/components/ui/context-menu.js.map +1 -1
  137. package/dist/esm/components/ui/counting-number.js +61 -0
  138. package/dist/esm/components/ui/counting-number.js.map +1 -0
  139. package/dist/esm/components/ui/dialog.js +1 -1
  140. package/dist/esm/components/ui/dialog.js.map +1 -1
  141. package/dist/esm/components/ui/dot-background.js +97 -0
  142. package/dist/esm/components/ui/dot-background.js.map +1 -0
  143. package/dist/esm/components/ui/drawer.js +3 -3
  144. package/dist/esm/components/ui/drawer.js.map +1 -1
  145. package/dist/esm/components/ui/dropdown-menu.js +7 -7
  146. package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
  147. package/dist/esm/components/ui/fireworks-background.js +225 -0
  148. package/dist/esm/components/ui/fireworks-background.js.map +1 -0
  149. package/dist/esm/components/ui/flip-button.js +66 -0
  150. package/dist/esm/components/ui/flip-button.js.map +1 -0
  151. package/dist/esm/components/ui/form.js +2 -2
  152. package/dist/esm/components/ui/form.js.map +1 -1
  153. package/dist/esm/components/ui/gradient-background.js +26 -0
  154. package/dist/esm/components/ui/gradient-background.js.map +1 -0
  155. package/dist/esm/components/ui/gradient-text.js +49 -0
  156. package/dist/esm/components/ui/gradient-text.js.map +1 -0
  157. package/dist/esm/components/ui/highlight-text.js +40 -0
  158. package/dist/esm/components/ui/highlight-text.js.map +1 -0
  159. package/dist/esm/components/ui/hole-background.js +327 -0
  160. package/dist/esm/components/ui/hole-background.js.map +1 -0
  161. package/dist/esm/components/ui/hover-card.js +9 -6
  162. package/dist/esm/components/ui/hover-card.js.map +1 -1
  163. package/dist/esm/components/ui/input-otp.js +2 -3
  164. package/dist/esm/components/ui/input-otp.js.map +1 -1
  165. package/dist/esm/components/ui/input.js +1 -1
  166. package/dist/esm/components/ui/input.js.map +1 -1
  167. package/dist/esm/components/ui/label.js.map +1 -1
  168. package/dist/esm/components/ui/menubar.js +9 -9
  169. package/dist/esm/components/ui/menubar.js.map +1 -1
  170. package/dist/esm/components/ui/navigation-menu.js +5 -5
  171. package/dist/esm/components/ui/navigation-menu.js.map +1 -1
  172. package/dist/esm/components/ui/pagination.js.map +1 -1
  173. package/dist/esm/components/ui/popover.js +1 -1
  174. package/dist/esm/components/ui/popover.js.map +1 -1
  175. package/dist/esm/components/ui/progress.js.map +1 -1
  176. package/dist/esm/components/ui/radio-group.js +1 -1
  177. package/dist/esm/components/ui/radio-group.js.map +1 -1
  178. package/dist/esm/components/ui/resizable.js.map +1 -1
  179. package/dist/esm/components/ui/ripple-button.js +74 -0
  180. package/dist/esm/components/ui/ripple-button.js.map +1 -0
  181. package/dist/esm/components/ui/scratcher.js +145 -0
  182. package/dist/esm/components/ui/scratcher.js.map +1 -0
  183. package/dist/esm/components/ui/scroll-area.js +1 -1
  184. package/dist/esm/components/ui/scroll-area.js.map +1 -1
  185. package/dist/esm/components/ui/select.js +6 -5
  186. package/dist/esm/components/ui/select.js.map +1 -1
  187. package/dist/esm/components/ui/separator.js.map +1 -1
  188. package/dist/esm/components/ui/sheet.js +1 -1
  189. package/dist/esm/components/ui/sheet.js.map +1 -1
  190. package/dist/esm/components/ui/sidebar.js +14 -11
  191. package/dist/esm/components/ui/sidebar.js.map +1 -1
  192. package/dist/esm/components/ui/skeleton.js +2 -1
  193. package/dist/esm/components/ui/skeleton.js.map +1 -1
  194. package/dist/esm/components/ui/slider.js +2 -2
  195. package/dist/esm/components/ui/slider.js.map +1 -1
  196. package/dist/esm/components/ui/sonner.js +5 -7
  197. package/dist/esm/components/ui/sonner.js.map +1 -1
  198. package/dist/esm/components/ui/switch.js +2 -2
  199. package/dist/esm/components/ui/switch.js.map +1 -1
  200. package/dist/esm/components/ui/table.js +2 -2
  201. package/dist/esm/components/ui/table.js.map +1 -1
  202. package/dist/esm/components/ui/tabs.js +3 -3
  203. package/dist/esm/components/ui/tabs.js.map +1 -1
  204. package/dist/esm/components/ui/textarea.js +1 -1
  205. package/dist/esm/components/ui/textarea.js.map +1 -1
  206. package/dist/esm/components/ui/toggle-group.js +2 -2
  207. package/dist/esm/components/ui/toggle-group.js.map +1 -1
  208. package/dist/esm/components/ui/toggle.js +2 -2
  209. package/dist/esm/components/ui/toggle.js.map +1 -1
  210. package/dist/esm/components/ui/tooltip.js +1 -1
  211. package/dist/esm/components/ui/tooltip.js.map +1 -1
  212. package/dist/esm/index.css +1013 -258
  213. package/dist/esm/index.js +26 -1
  214. package/dist/index.css +1013 -258
  215. package/dist/index.js +26 -1
  216. package/dist/types/components/ui/background-beams.d.ts +4 -0
  217. package/dist/types/components/ui/bubble-background.d.ts +16 -0
  218. package/dist/types/components/ui/card.d.ts +2 -1
  219. package/dist/types/components/ui/counting-number.d.ts +15 -0
  220. package/dist/types/components/ui/dot-background.d.ts +57 -0
  221. package/dist/types/components/ui/fireworks-background.d.ts +24 -0
  222. package/dist/types/components/ui/flip-button.d.ts +13 -0
  223. package/dist/types/components/ui/form.d.ts +1 -1
  224. package/dist/types/components/ui/gradient-background.d.ts +7 -0
  225. package/dist/types/components/ui/gradient-text.d.ts +10 -0
  226. package/dist/types/components/ui/highlight-text.d.ts +11 -0
  227. package/dist/types/components/ui/hole-background.d.ts +9 -0
  228. package/dist/types/components/ui/ripple-button.d.ts +10 -0
  229. package/dist/types/components/ui/scratcher.d.ts +12 -0
  230. package/dist/types/components/ui/select.d.ts +3 -1
  231. package/dist/types/components/ui/sidebar.d.ts +5 -6
  232. package/dist/types/index.d.ts +13 -1
  233. package/package.json +536 -461
  234. package/readme.md +10 -6
  235. package/src/components/ui/accordion.tsx +3 -2
  236. package/src/components/ui/alert-dialog.tsx +160 -160
  237. package/src/components/ui/alert.tsx +3 -2
  238. package/src/components/ui/aspect-ratio.tsx +12 -12
  239. package/src/components/ui/avatar.tsx +53 -52
  240. package/src/components/ui/background-beams.tsx +142 -0
  241. package/src/components/ui/badge.tsx +48 -47
  242. package/src/components/ui/breadcrumb.tsx +117 -116
  243. package/src/components/ui/bubble-background.tsx +187 -0
  244. package/src/components/ui/button.tsx +61 -60
  245. package/src/components/ui/card.tsx +97 -79
  246. package/src/components/ui/carousel.tsx +241 -240
  247. package/src/components/ui/chart.tsx +353 -352
  248. package/src/components/ui/checkbox.tsx +32 -31
  249. package/src/components/ui/collapsible.tsx +34 -34
  250. package/src/components/ui/command.tsx +177 -176
  251. package/src/components/ui/context-menu.tsx +255 -254
  252. package/src/components/ui/counting-number.tsx +108 -0
  253. package/src/components/ui/dialog.tsx +3 -2
  254. package/src/components/ui/dot-background.tsx +158 -0
  255. package/src/components/ui/drawer.tsx +138 -137
  256. package/src/components/ui/dropdown-menu.tsx +260 -259
  257. package/src/components/ui/fireworks-background.tsx +378 -0
  258. package/src/components/ui/flip-button.tsx +110 -0
  259. package/src/components/ui/form.tsx +174 -173
  260. package/src/components/ui/gradient-background.tsx +43 -0
  261. package/src/components/ui/gradient-text.tsx +65 -0
  262. package/src/components/ui/highlight-text.tsx +71 -0
  263. package/src/components/ui/hole-background.tsx +361 -0
  264. package/src/components/ui/hover-card.tsx +44 -41
  265. package/src/components/ui/input-otp.tsx +77 -77
  266. package/src/components/ui/input.tsx +23 -22
  267. package/src/components/ui/label.tsx +24 -23
  268. package/src/components/ui/menubar.tsx +279 -278
  269. package/src/components/ui/navigation-menu.tsx +171 -170
  270. package/src/components/ui/pagination.tsx +129 -128
  271. package/src/components/ui/popover.tsx +48 -47
  272. package/src/components/ui/progress.tsx +31 -30
  273. package/src/components/ui/radio-group.tsx +45 -44
  274. package/src/components/ui/resizable.tsx +56 -55
  275. package/src/components/ui/ripple-button.tsx +111 -0
  276. package/src/components/ui/scratcher.tsx +171 -0
  277. package/src/components/ui/scroll-area.tsx +58 -57
  278. package/src/components/ui/select.tsx +191 -183
  279. package/src/components/ui/separator.tsx +28 -27
  280. package/src/components/ui/sheet.tsx +145 -144
  281. package/src/components/ui/sidebar.tsx +729 -725
  282. package/src/components/ui/skeleton.tsx +19 -17
  283. package/src/components/ui/slider.tsx +63 -62
  284. package/src/components/ui/sonner.tsx +8 -12
  285. package/src/components/ui/switch.tsx +31 -30
  286. package/src/components/ui/table.tsx +119 -118
  287. package/src/components/ui/tabs.tsx +66 -65
  288. package/src/components/ui/textarea.tsx +20 -19
  289. package/src/components/ui/toggle-group.tsx +73 -72
  290. package/src/components/ui/toggle.tsx +47 -46
  291. package/src/components/ui/tooltip.tsx +61 -60
  292. package/src/index.css +75 -42
  293. package/src/index.ts +385 -330
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\menubar.js","sources":["webpack://@arolariu/components/./src/components/ui/menubar.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\r\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction Menubar({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Root>) {\r\n return (\r\n <MenubarPrimitive.Root\r\n data-slot=\"menubar\"\r\n className={cn(\r\n \"bg-white flex h-9 items-center gap-1 rounded-md border border-neutral-200 p-1 shadow-2xs dark:bg-neutral-950 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarMenu({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\r\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\r\n}\r\n\r\nfunction MenubarGroup({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Group>) {\r\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\r\n}\r\n\r\nfunction MenubarPortal({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\r\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\r\n}\r\n\r\nfunction MenubarRadioGroup({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\r\n return (\r\n <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />\r\n );\r\n}\r\n\r\nfunction MenubarTrigger({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\r\n return (\r\n <MenubarPrimitive.Trigger\r\n data-slot=\"menubar-trigger\"\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex items-center rounded-xs px-2 py-1 text-sm font-medium outline-hidden select-none dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarContent({\r\n className,\r\n align = \"start\",\r\n alignOffset = -4,\r\n sideOffset = 8,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\r\n return (\r\n <MenubarPortal>\r\n <MenubarPrimitive.Content\r\n data-slot=\"menubar-content\"\r\n align={align}\r\n alignOffset={alignOffset}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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 min-w-[12rem] overflow-hidden rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </MenubarPortal>\r\n );\r\n}\r\n\r\nfunction MenubarItem({\r\n className,\r\n inset,\r\n variant = \"default\",\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\r\n inset?: boolean;\r\n variant?: \"default\" | \"destructive\";\r\n}) {\r\n return (\r\n <MenubarPrimitive.Item\r\n data-slot=\"menubar-item\"\r\n data-inset={inset}\r\n data-variant={variant}\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-neutral-50 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/40 data-[variant=destructive]:focus:text-neutral-50 [svg]:*:data-[variant=destructive]:text-destructive-foreground! [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-neutral-50 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/40 dark:data-[variant=destructive]:focus:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarCheckboxItem({\r\n className,\r\n children,\r\n checked,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\r\n return (\r\n <MenubarPrimitive.CheckboxItem\r\n data-slot=\"menubar-checkbox-item\"\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\r\n className\r\n )}\r\n checked={checked}\r\n {...props}\r\n >\r\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\r\n <MenubarPrimitive.ItemIndicator>\r\n <CheckIcon className=\"size-4\" />\r\n </MenubarPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </MenubarPrimitive.CheckboxItem>\r\n );\r\n}\r\n\r\nfunction MenubarRadioItem({\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\r\n return (\r\n <MenubarPrimitive.RadioItem\r\n data-slot=\"menubar-radio-item\"\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\r\n <MenubarPrimitive.ItemIndicator>\r\n <CircleIcon className=\"size-2 fill-current\" />\r\n </MenubarPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </MenubarPrimitive.RadioItem>\r\n );\r\n}\r\n\r\nfunction MenubarLabel({\r\n className,\r\n inset,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\r\n inset?: boolean;\r\n}) {\r\n return (\r\n <MenubarPrimitive.Label\r\n data-slot=\"menubar-label\"\r\n data-inset={inset}\r\n className={cn(\r\n \"px-2 py-1.5 text-sm font-medium data-inset:pl-8\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarSeparator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\r\n return (\r\n <MenubarPrimitive.Separator\r\n data-slot=\"menubar-separator\"\r\n className={cn(\r\n \"bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarShortcut({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) {\r\n return (\r\n <span\r\n data-slot=\"menubar-shortcut\"\r\n className={cn(\r\n \"text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction MenubarSub({\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\r\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\r\n}\r\n\r\nfunction MenubarSubTrigger({\r\n className,\r\n inset,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\r\n inset?: boolean;\r\n}) {\r\n return (\r\n <MenubarPrimitive.SubTrigger\r\n data-slot=\"menubar-sub-trigger\"\r\n data-inset={inset}\r\n className={cn(\r\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\r\n </MenubarPrimitive.SubTrigger>\r\n );\r\n}\r\n\r\nfunction MenubarSubContent({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\r\n return (\r\n <MenubarPrimitive.SubContent\r\n data-slot=\"menubar-sub-content\"\r\n className={cn(\r\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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 min-w-[8rem] overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n Menubar,\r\n MenubarPortal,\r\n MenubarMenu,\r\n MenubarTrigger,\r\n MenubarContent,\r\n MenubarGroup,\r\n MenubarSeparator,\r\n MenubarLabel,\r\n MenubarItem,\r\n MenubarShortcut,\r\n MenubarCheckboxItem,\r\n MenubarRadioGroup,\r\n MenubarRadioItem,\r\n MenubarSub,\r\n MenubarSubTrigger,\r\n MenubarSubContent,\r\n};\r\n"],"names":["Menubar","className","props","MenubarPrimitive","cn","MenubarMenu","MenubarGroup","MenubarPortal","MenubarRadioGroup","MenubarTrigger","MenubarContent","align","alignOffset","sideOffset","MenubarItem","inset","variant","MenubarCheckboxItem","children","checked","CheckIcon","MenubarRadioItem","CircleIcon","MenubarLabel","MenubarSeparator","MenubarShortcut","MenubarSub","MenubarSubTrigger","ChevronRightIcon","MenubarSubContent"],"mappings":"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"}
1
+ {"version":3,"file":"components\\ui\\menubar.js","sources":["webpack://@arolariu/components/./src/components/ui/menubar.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Menubar({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn(\n \"bg-white flex h-9 items-center gap-1 rounded-md border border-neutral-200 p-1 shadow-xs dark:bg-neutral-950 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarMenu({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\nfunction MenubarGroup({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\nfunction MenubarPortal({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\nfunction MenubarRadioGroup({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return (\n <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />\n );\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarContent({\n className,\n align = \"start\",\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-red-500 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/20 data-[variant=destructive]:focus:text-red-500 data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-red-900 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/20 dark:data-[variant=destructive]:focus:text-red-900 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn(\n \"bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\n \"text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSub({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};\n"],"names":["Menubar","className","props","MenubarPrimitive","cn","MenubarMenu","MenubarGroup","MenubarPortal","MenubarRadioGroup","MenubarTrigger","MenubarContent","align","alignOffset","sideOffset","MenubarItem","inset","variant","MenubarCheckboxItem","children","checked","CheckIcon","MenubarRadioItem","CircleIcon","MenubarLabel","MenubarSeparator","MenubarShortcut","MenubarSub","MenubarSubTrigger","ChevronRightIcon","MenubarSubContent"],"mappings":"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"}
@@ -31,7 +31,7 @@ function NavigationMenuItem({ className, ...props }) {
31
31
  ...props
32
32
  });
33
33
  }
34
- const navigationMenuTriggerStyle = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-neutral-100/50 data-[state=open]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[state=open]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20");
34
+ const navigationMenuTriggerStyle = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-neutral-100 data-[state=open]:text-neutral-900 data-[state=open]:focus:bg-neutral-100 data-[state=open]:bg-neutral-100/50 focus-visible:ring-neutral-950/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:hover:bg-neutral-800 dark:data-[state=open]:text-neutral-50 dark:data-[state=open]:focus:bg-neutral-800 dark:data-[state=open]:bg-neutral-800/50 dark:focus-visible:ring-neutral-300/50");
35
35
  function NavigationMenuTrigger({ className, children, ...props }) {
36
36
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Trigger, {
37
37
  "data-slot": "navigation-menu-trigger",
@@ -50,7 +50,7 @@ function NavigationMenuTrigger({ className, children, ...props }) {
50
50
  function NavigationMenuContent({ className, ...props }) {
51
51
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Content, {
52
52
  "data-slot": "navigation-menu-content",
53
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto", "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow-sm group-data-[viewport=false]/navigation-menu:duration-200 focus:data-[slot=navigation-menu-link]:**:ring-0 focus:data-[slot=navigation-menu-link]:**:outline-hidden", className),
53
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto", "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none", className),
54
54
  ...props
55
55
  });
56
56
  }
@@ -59,7 +59,7 @@ function NavigationMenuViewport({ className, ...props }) {
59
59
  className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("absolute top-full left-0 isolate z-50 flex justify-center"),
60
60
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Viewport, {
61
61
  "data-slot": "navigation-menu-viewport",
62
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow-sm md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
62
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
63
63
  ...props
64
64
  })
65
65
  });
@@ -67,14 +67,14 @@ function NavigationMenuViewport({ className, ...props }) {
67
67
  function NavigationMenuLink({ className, ...props }) {
68
68
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Link, {
69
69
  "data-slot": "navigation-menu-link",
70
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-xs p-2 text-sm transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20 dark:[&_svg:not([class*='text-'])]:text-neutral-400", className),
70
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[active=true]:focus:bg-neutral-100 data-[active=true]:hover:bg-neutral-100 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 focus-visible:ring-neutral-950/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:data-[active=true]:focus:bg-neutral-800 dark:data-[active=true]:hover:bg-neutral-800 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:focus-visible:ring-neutral-300/50 dark:[&_svg:not([class*='text-'])]:text-neutral-400", className),
71
71
  ...props
72
72
  });
73
73
  }
74
74
  function NavigationMenuIndicator({ className, ...props }) {
75
75
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_navigation_menu_25af01f6__.Indicator, {
76
76
  "data-slot": "navigation-menu-indicator",
77
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden", className),
77
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden", className),
78
78
  ...props,
79
79
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
80
80
  className: "bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800"
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\navigation-menu.js","sources":["webpack://@arolariu/components/./src/components/ui/navigation-menu.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\r\nimport { cva } from \"class-variance-authority\";\r\nimport { ChevronDownIcon } from \"lucide-react\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction NavigationMenu({\r\n className,\r\n children,\r\n viewport = true,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\r\n viewport?: boolean;\r\n}) {\r\n return (\r\n <NavigationMenuPrimitive.Root\r\n data-slot=\"navigation-menu\"\r\n data-viewport={viewport}\r\n className={cn(\r\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {viewport && <NavigationMenuViewport />}\r\n </NavigationMenuPrimitive.Root>\r\n );\r\n}\r\n\r\nfunction NavigationMenuList({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\r\n return (\r\n <NavigationMenuPrimitive.List\r\n data-slot=\"navigation-menu-list\"\r\n className={cn(\r\n \"group flex flex-1 list-none items-center justify-center gap-1\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction NavigationMenuItem({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\r\n return (\r\n <NavigationMenuPrimitive.Item\r\n data-slot=\"navigation-menu-item\"\r\n className={cn(\"relative\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nconst navigationMenuTriggerStyle = cva(\r\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-neutral-100/50 data-[state=open]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[state=open]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20\"\r\n);\r\n\r\nfunction NavigationMenuTrigger({\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\r\n return (\r\n <NavigationMenuPrimitive.Trigger\r\n data-slot=\"navigation-menu-trigger\"\r\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\r\n {...props}\r\n >\r\n {children}\r\n {\"\"}\r\n <ChevronDownIcon\r\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\r\n aria-hidden=\"true\"\r\n />\r\n </NavigationMenuPrimitive.Trigger>\r\n );\r\n}\r\n\r\nfunction NavigationMenuContent({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\r\n return (\r\n <NavigationMenuPrimitive.Content\r\n data-slot=\"navigation-menu-content\"\r\n className={cn(\r\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\r\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow-sm group-data-[viewport=false]/navigation-menu:duration-200 focus:data-[slot=navigation-menu-link]:**:ring-0 focus:data-[slot=navigation-menu-link]:**:outline-hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction NavigationMenuViewport({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\r\n return (\r\n <div\r\n className={cn(\r\n \"absolute top-full left-0 isolate z-50 flex justify-center\"\r\n )}\r\n >\r\n <NavigationMenuPrimitive.Viewport\r\n data-slot=\"navigation-menu-viewport\"\r\n className={cn(\r\n \"origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow-sm md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nfunction NavigationMenuLink({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\r\n return (\r\n <NavigationMenuPrimitive.Link\r\n data-slot=\"navigation-menu-link\"\r\n className={cn(\r\n \"hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-xs p-2 text-sm transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction NavigationMenuIndicator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\r\n return (\r\n <NavigationMenuPrimitive.Indicator\r\n data-slot=\"navigation-menu-indicator\"\r\n className={cn(\r\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div className=\"bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800\" />\r\n </NavigationMenuPrimitive.Indicator>\r\n );\r\n}\r\n\r\nexport {\r\n NavigationMenu,\r\n NavigationMenuList,\r\n NavigationMenuItem,\r\n NavigationMenuContent,\r\n NavigationMenuTrigger,\r\n NavigationMenuLink,\r\n NavigationMenuIndicator,\r\n NavigationMenuViewport,\r\n navigationMenuTriggerStyle,\r\n};\r\n"],"names":["NavigationMenu","className","children","viewport","props","NavigationMenuPrimitive","cn","NavigationMenuViewport","NavigationMenuList","NavigationMenuItem","navigationMenuTriggerStyle","cva","NavigationMenuTrigger","ChevronDownIcon","NavigationMenuContent","NavigationMenuLink","NavigationMenuIndicator"],"mappings":";;;;;;;AAQA,SAASA,eAAe,EACtBC,SAAS,EACTC,QAAQ,EACRC,WAAW,IAAI,EACf,GAAGC,OAGJ;IACC,OACE,WADF,GACE,iEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,iBAAeF;QACf,WAAWG,IAAAA,mDAAAA,EAAAA,EACT,oFACAL;QAED,GAAGG,KAAK;;YAERF;YACAC,YAAY,WAAZA,GAAY,gEAACI,wBAAAA,CAAAA;;;AAGpB;AAEA,SAASC,mBAAmB,EAC1BP,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,iEACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASK,mBAAmB,EAC1BR,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,YAAYL;QACzB,GAAGG,KAAK;;AAGf;AAEA,MAAMM,6BAA6BC,IAAAA,8DAAAA,GAAAA,EACjC;AAGF,SAASC,sBAAsB,EAC7BX,SAAS,EACTC,QAAQ,EACR,GAAGE,OAC0D;IAC7D,OACE,WADF,GACE,iEAACC,qEAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAGI,8BAA8B,SAAST;QACpD,GAAGG,KAAK;;YAERF;YACA;0BACD,gEAACW,kDAAAA,eAAeA,EAAAA;gBACd,WAAU;gBACV,eAAY;;;;AAIpB;AAEA,SAASC,sBAAsB,EAC7Bb,SAAS,EACT,GAAGG,OAC0D;IAC7D,OACE,WADF,GACE,gEAACC,qEAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,oWACA,kiCACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASG,uBAAuB,EAC9BN,SAAS,EACT,GAAGG,OAC2D;IAC9D,OACE,WADF,GACE,gEAAC;QACC,WAAWE,IAAAA,mDAAAA,EAAAA,EACT;kBAGF,8EAACD,qEAAAA,QAAgC;YAC/B,aAAU;YACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,oaACAL;YAED,GAAGG,KAAK;;;AAIjB;AAEA,SAASW,mBAAmB,EAC1Bd,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,uuBACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASY,wBAAwB,EAC/Bf,SAAS,EACT,GAAGG,OAC4D;IAC/D,OACE,WADF,GACE,gEAACC,qEAAAA,SAAiC;QAChC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,8LACAL;QAED,GAAGG,KAAK;kBAET,8EAAC;YAAI,WAAU;;;AAGrB"}
1
+ {"version":3,"file":"components\\ui\\navigation-menu.js","sources":["webpack://@arolariu/components/./src/components/ui/navigation-menu.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\n \"group flex flex-1 list-none items-center justify-center gap-1\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn(\"relative\", className)}\n {...props}\n />\n );\n}\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-neutral-100 data-[state=open]:text-neutral-900 data-[state=open]:focus:bg-neutral-100 data-[state=open]:bg-neutral-100/50 focus-visible:ring-neutral-950/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:hover:bg-neutral-800 dark:data-[state=open]:text-neutral-50 dark:data-[state=open]:focus:bg-neutral-800 dark:data-[state=open]:bg-neutral-800/50 dark:focus-visible:ring-neutral-300/50\"\n);\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}\n {\"\"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div\n className={cn(\n \"absolute top-full left-0 isolate z-50 flex justify-center\"\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n \"origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-neutral-100 data-[active=true]:hover:bg-neutral-100 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 focus-visible:ring-neutral-950/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:data-[active=true]:focus:bg-neutral-800 dark:data-[active=true]:hover:bg-neutral-800 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:focus-visible:ring-neutral-300/50 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n className\n )}\n {...props}\n >\n <div className=\"bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"],"names":["NavigationMenu","className","children","viewport","props","NavigationMenuPrimitive","cn","NavigationMenuViewport","NavigationMenuList","NavigationMenuItem","navigationMenuTriggerStyle","cva","NavigationMenuTrigger","ChevronDownIcon","NavigationMenuContent","NavigationMenuLink","NavigationMenuIndicator"],"mappings":";;;;;;;AASA,SAASA,eAAe,EACtBC,SAAS,EACTC,QAAQ,EACRC,WAAW,IAAI,EACf,GAAGC,OAGJ;IACC,OACE,WADF,GACE,iEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,iBAAeF;QACf,WAAWG,IAAAA,mDAAAA,EAAAA,EACT,oFACAL;QAED,GAAGG,KAAK;;YAERF;YACAC,YAAY,WAAZA,GAAY,gEAACI,wBAAAA,CAAAA;;;AAGpB;AAEA,SAASC,mBAAmB,EAC1BP,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,iEACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASK,mBAAmB,EAC1BR,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,YAAYL;QACzB,GAAGG,KAAK;;AAGf;AAEA,MAAMM,6BAA6BC,IAAAA,8DAAAA,GAAAA,EACjC;AAGF,SAASC,sBAAsB,EAC7BX,SAAS,EACTC,QAAQ,EACR,GAAGE,OAC0D;IAC7D,OACE,WADF,GACE,iEAACC,qEAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAGI,8BAA8B,SAAST;QACpD,GAAGG,KAAK;;YAERF;YACA;0BACD,gEAACW,kDAAAA,eAAeA,EAAAA;gBACd,WAAU;gBACV,eAAY;;;;AAIpB;AAEA,SAASC,sBAAsB,EAC7Bb,SAAS,EACT,GAAGG,OAC0D;IAC7D,OACE,WADF,GACE,gEAACC,qEAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,oWACA,6hCACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASG,uBAAuB,EAC9BN,SAAS,EACT,GAAGG,OAC2D;IAC9D,OACE,WADF,GACE,gEAAC;QACC,WAAWE,IAAAA,mDAAAA,EAAAA,EACT;kBAGF,8EAACD,qEAAAA,QAAgC;YAC/B,aAAU;YACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,iaACAL;YAED,GAAGG,KAAK;;;AAIjB;AAEA,SAASW,mBAAmB,EAC1Bd,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,gEAACC,qEAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,m1BACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASY,wBAAwB,EAC/Bf,SAAS,EACT,GAAGG,OAC4D;IAC/D,OACE,WADF,GACE,gEAACC,qEAAAA,SAAiC;QAChC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,gMACAL;QAED,GAAGG,KAAK;kBAET,8EAAC;YAAI,WAAU;;;AAGrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\pagination.js","sources":["webpack://@arolariu/components/./src/components/ui/pagination.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport {\r\n ChevronLeftIcon,\r\n ChevronRightIcon,\r\n MoreHorizontalIcon,\r\n} from \"lucide-react\";\r\nimport { cn } from \"./../../lib/utils\";\r\nimport { Button, buttonVariants } from \"./button\";\r\n\r\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\r\n return (\r\n <nav\r\n role=\"navigation\"\r\n aria-label=\"pagination\"\r\n data-slot=\"pagination\"\r\n className={cn(\"mx-auto flex w-full justify-center\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction PaginationContent({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"ul\">) {\r\n return (\r\n <ul\r\n data-slot=\"pagination-content\"\r\n className={cn(\"flex flex-row items-center gap-1\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\r\n return <li data-slot=\"pagination-item\" {...props} />;\r\n}\r\n\r\ntype PaginationLinkProps = {\r\n isActive?: boolean;\r\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\r\n React.ComponentProps<\"a\">;\r\n\r\nfunction PaginationLink({\r\n className,\r\n isActive,\r\n size = \"icon\",\r\n ...props\r\n}: PaginationLinkProps) {\r\n return (\r\n <a\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-slot=\"pagination-link\"\r\n data-active={isActive}\r\n className={cn(\r\n buttonVariants({\r\n variant: isActive ? \"outline\" : \"ghost\",\r\n size,\r\n }),\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction PaginationPrevious({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof PaginationLink>) {\r\n return (\r\n <PaginationLink\r\n aria-label=\"Go to previous page\"\r\n size=\"default\"\r\n className={cn(\"gap-1 px-2.5 sm:pl-2.5\", className)}\r\n {...props}\r\n >\r\n <ChevronLeftIcon />\r\n <span className=\"hidden sm:block\">Previous</span>\r\n </PaginationLink>\r\n );\r\n}\r\n\r\nfunction PaginationNext({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof PaginationLink>) {\r\n return (\r\n <PaginationLink\r\n aria-label=\"Go to next page\"\r\n size=\"default\"\r\n className={cn(\"gap-1 px-2.5 sm:pr-2.5\", className)}\r\n {...props}\r\n >\r\n <span className=\"hidden sm:block\">Next</span>\r\n <ChevronRightIcon />\r\n </PaginationLink>\r\n );\r\n}\r\n\r\nfunction PaginationEllipsis({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) {\r\n return (\r\n <span\r\n aria-hidden\r\n data-slot=\"pagination-ellipsis\"\r\n className={cn(\"flex size-9 items-center justify-center\", className)}\r\n {...props}\r\n >\r\n <MoreHorizontalIcon className=\"size-4\" />\r\n <span className=\"sr-only\">More pages</span>\r\n </span>\r\n );\r\n}\r\n\r\nexport {\r\n Pagination,\r\n PaginationContent,\r\n PaginationLink,\r\n PaginationItem,\r\n PaginationPrevious,\r\n PaginationNext,\r\n PaginationEllipsis,\r\n};\r\n"],"names":["Pagination","className","props","cn","PaginationContent","PaginationItem","PaginationLink","isActive","size","undefined","buttonVariants","PaginationPrevious","ChevronLeftIcon","PaginationNext","ChevronRightIcon","PaginationEllipsis","MoreHorizontalIcon"],"mappings":";;;;;;AAWA,SAASA,WAAW,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACtE,OACE,WADF,GACE,gEAAC;QACC,MAAK;QACL,cAAW;QACX,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,sCAAsCF;QACnD,GAAGC,KAAK;;AAGf;AAEA,SAASE,kBAAkB,EACzBH,SAAS,EACT,GAAGC,OACwB;IAC3B,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,oCAAoCF;QACjD,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EAAE,GAAGH,OAAmC;IAC9D,OAAO,WAAP,GAAO,gEAAC;QAAG,aAAU;QAAmB,GAAGA,KAAK;;AAClD;AAOA,SAASI,eAAe,EACtBL,SAAS,EACTM,QAAQ,EACRC,OAAO,MAAM,EACb,GAAGN,OACiB;IACpB,OACE,WADF,GACE,gEAAC;QACC,gBAAcK,WAAW,SAASE,KAAAA;QAClC,aAAU;QACV,eAAaF;QACb,WAAWJ,IAAAA,mDAAAA,EAAAA,EACTO,IAAAA,gDAAAA,cAAAA,EAAe;YACb,SAASH,WAAW,YAAY;YAChCC;QACF,IACAP;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASS,mBAAmB,EAC1BV,SAAS,EACT,GAAGC,OACyC;IAC5C,OACE,WADF,GACE,iEAACI,gBAAAA;QACC,cAAW;QACX,MAAK;QACL,WAAWH,IAAAA,mDAAAA,EAAAA,EAAG,0BAA0BF;QACvC,GAAGC,KAAK;;0BAET,gEAACU,kDAAAA,eAAeA,EAAAA,CAAAA;0BAChB,gEAAC;gBAAK,WAAU;0BAAkB;;;;AAGxC;AAEA,SAASC,eAAe,EACtBZ,SAAS,EACT,GAAGC,OACyC;IAC5C,OACE,WADF,GACE,iEAACI,gBAAAA;QACC,cAAW;QACX,MAAK;QACL,WAAWH,IAAAA,mDAAAA,EAAAA,EAAG,0BAA0BF;QACvC,GAAGC,KAAK;;0BAET,gEAAC;gBAAK,WAAU;0BAAkB;;0BAClC,gEAACY,kDAAAA,gBAAgBA,EAAAA,CAAAA;;;AAGvB;AAEA,SAASC,mBAAmB,EAC1Bd,SAAS,EACT,GAAGC,OAC0B;IAC7B,OACE,WADF,GACE,iEAAC;QACC,eAAW;QACX,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,2CAA2CF;QACxD,GAAGC,KAAK;;0BAET,gEAACc,kDAAAA,kBAAkBA,EAAAA;gBAAC,WAAU;;0BAC9B,gEAAC;gBAAK,WAAU;0BAAU;;;;AAGhC"}
1
+ {"version":3,"file":"components\\ui\\pagination.js","sources":["webpack://@arolariu/components/./src/components/ui/pagination.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n MoreHorizontalIcon,\n} from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button, buttonVariants } from \"@/components/ui/button\";\n\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return <li data-slot=\"pagination-item\" {...props} />;\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\n React.ComponentProps<\"a\">;\n\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) {\n return (\n <a\n aria-current={isActive ? \"page\" : undefined}\n data-slot=\"pagination-link\"\n data-active={isActive}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className\n )}\n {...props}\n />\n );\n}\n\nfunction PaginationPrevious({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n );\n}\n\nfunction PaginationNext({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pr-2.5\", className)}\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n );\n}\n\nfunction PaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontalIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n};\n"],"names":["Pagination","className","props","cn","PaginationContent","PaginationItem","PaginationLink","isActive","size","undefined","buttonVariants","PaginationPrevious","ChevronLeftIcon","PaginationNext","ChevronRightIcon","PaginationEllipsis","MoreHorizontalIcon"],"mappings":";;;;;;AAYA,SAASA,WAAW,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACtE,OACE,WADF,GACE,gEAAC;QACC,MAAK;QACL,cAAW;QACX,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,sCAAsCF;QACnD,GAAGC,KAAK;;AAGf;AAEA,SAASE,kBAAkB,EACzBH,SAAS,EACT,GAAGC,OACwB;IAC3B,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,oCAAoCF;QACjD,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EAAE,GAAGH,OAAmC;IAC9D,OAAO,WAAP,GAAO,gEAAC;QAAG,aAAU;QAAmB,GAAGA,KAAK;;AAClD;AAOA,SAASI,eAAe,EACtBL,SAAS,EACTM,QAAQ,EACRC,OAAO,MAAM,EACb,GAAGN,OACiB;IACpB,OACE,WADF,GACE,gEAAC;QACC,gBAAcK,WAAW,SAASE,KAAAA;QAClC,aAAU;QACV,eAAaF;QACb,WAAWJ,IAAAA,mDAAAA,EAAAA,EACTO,IAAAA,gDAAAA,cAAAA,EAAe;YACb,SAASH,WAAW,YAAY;YAChCC;QACF,IACAP;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASS,mBAAmB,EAC1BV,SAAS,EACT,GAAGC,OACyC;IAC5C,OACE,WADF,GACE,iEAACI,gBAAAA;QACC,cAAW;QACX,MAAK;QACL,WAAWH,IAAAA,mDAAAA,EAAAA,EAAG,0BAA0BF;QACvC,GAAGC,KAAK;;0BAET,gEAACU,kDAAAA,eAAeA,EAAAA,CAAAA;0BAChB,gEAAC;gBAAK,WAAU;0BAAkB;;;;AAGxC;AAEA,SAASC,eAAe,EACtBZ,SAAS,EACT,GAAGC,OACyC;IAC5C,OACE,WADF,GACE,iEAACI,gBAAAA;QACC,cAAW;QACX,MAAK;QACL,WAAWH,IAAAA,mDAAAA,EAAAA,EAAG,0BAA0BF;QACvC,GAAGC,KAAK;;0BAET,gEAAC;gBAAK,WAAU;0BAAkB;;0BAClC,gEAACY,kDAAAA,gBAAgBA,EAAAA,CAAAA;;;AAGvB;AAEA,SAASC,mBAAmB,EAC1Bd,SAAS,EACT,GAAGC,OAC0B;IAC7B,OACE,WADF,GACE,iEAAC;QACC,eAAW;QACX,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,2CAA2CF;QACxD,GAAGC,KAAK;;0BAET,gEAACc,kDAAAA,kBAAkBA,EAAAA;gBAAC,WAAU;;0BAC9B,gEAAC;gBAAK,WAAU;0BAAU;;;;AAGhC"}
@@ -21,7 +21,7 @@ function PopoverContent({ className, align = "center", sideOffset = 4, ...props
21
21
  "data-slot": "popover-content",
22
22
  align: align,
23
23
  sideOffset: sideOffset,
24
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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-72 rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
24
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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-72 origin-(--radix-popover-content-transform-origin) rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
25
25
  ...props
26
26
  })
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\popover.js","sources":["webpack://@arolariu/components/./src/components/ui/popover.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction Popover({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\r\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\r\n}\r\n\r\nfunction PopoverTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\r\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\r\n}\r\n\r\nfunction PopoverContent({\r\n className,\r\n align = \"center\",\r\n sideOffset = 4,\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\r\n return (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n data-slot=\"popover-content\"\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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-72 rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n );\r\n}\r\n\r\nfunction PopoverAnchor({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\r\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\r\n}\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\r\n"],"names":["Popover","props","PopoverPrimitive","PopoverTrigger","PopoverContent","className","align","sideOffset","cn","PopoverAnchor"],"mappings":";;;;;AAMA,SAASA,QAAQ,EACf,GAAGC,OACgD;IACnD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,IAAqB;QAAC,aAAU;QAAW,GAAGD,KAAK;;AAC7D;AAEA,SAASE,eAAe,EACtB,GAAGF,OACmD;IACtD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,OAAwB;QAAC,aAAU;QAAmB,GAAGD,KAAK;;AACxE;AAEA,SAASG,eAAe,EACtBC,SAAS,EACTC,QAAQ,QAAQ,EAChBC,aAAa,CAAC,EACd,GAAGN,OACmD;IACtD,OACE,WADF,GACE,gEAACC,6DAAAA,MAAuB;kBACtB,8EAACA,6DAAAA,OAAwB;YACvB,aAAU;YACV,OAAOI;YACP,YAAYC;YACZ,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,2fACAH;YAED,GAAGJ,KAAK;;;AAIjB;AAEA,SAASQ,cAAc,EACrB,GAAGR,OACkD;IACrD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,MAAuB;QAAC,aAAU;QAAkB,GAAGD,KAAK;;AACtE"}
1
+ {"version":3,"file":"components\\ui\\popover.js","sources":["webpack://@arolariu/components/./src/components/ui/popover.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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-72 origin-(--radix-popover-content-transform-origin) rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n"],"names":["Popover","props","PopoverPrimitive","PopoverTrigger","PopoverContent","className","align","sideOffset","cn","PopoverAnchor"],"mappings":";;;;;AAOA,SAASA,QAAQ,EACf,GAAGC,OACgD;IACnD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,IAAqB;QAAC,aAAU;QAAW,GAAGD,KAAK;;AAC7D;AAEA,SAASE,eAAe,EACtB,GAAGF,OACmD;IACtD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,OAAwB;QAAC,aAAU;QAAmB,GAAGD,KAAK;;AACxE;AAEA,SAASG,eAAe,EACtBC,SAAS,EACTC,QAAQ,QAAQ,EAChBC,aAAa,CAAC,EACd,GAAGN,OACmD;IACtD,OACE,WADF,GACE,gEAACC,6DAAAA,MAAuB;kBACtB,8EAACA,6DAAAA,OAAwB;YACvB,aAAU;YACV,OAAOI;YACP,YAAYC;YACZ,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,6iBACAH;YAED,GAAGJ,KAAK;;;AAIjB;AAEA,SAASQ,cAAc,EACrB,GAAGR,OACkD;IACrD,OAAO,WAAP,GAAO,gEAACC,6DAAAA,MAAuB;QAAC,aAAU;QAAkB,GAAGD,KAAK;;AACtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\progress.js","sources":["webpack://@arolariu/components/./src/components/ui/progress.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction Progress({\r\n className,\r\n value,\r\n ...props\r\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\r\n return (\r\n <ProgressPrimitive.Root\r\n data-slot=\"progress\"\r\n className={cn(\r\n \"bg-neutral-900/20 relative h-2 w-full overflow-hidden rounded-full dark:bg-neutral-50/20\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ProgressPrimitive.Indicator\r\n data-slot=\"progress-indicator\"\r\n className=\"bg-neutral-900 h-full w-full flex-1 transition-all dark:bg-neutral-50\"\r\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\r\n />\r\n </ProgressPrimitive.Root>\r\n );\r\n}\r\n\r\nexport { Progress };\r\n"],"names":["Progress","className","value","props","ProgressPrimitive","cn"],"mappings":";;;;;AAMA,SAASA,SAAS,EAChBC,SAAS,EACTC,KAAK,EACL,GAAGC,OACiD;IACpD,OACE,WADF,GACE,gEAACC,8DAAAA,IAAsB;QACrB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,4FACAJ;QAED,GAAGE,KAAK;kBAET,8EAACC,8DAAAA,SAA2B;YAC1B,aAAU;YACV,WAAU;YACV,OAAO;gBAAE,WAAW,CAAC,YAAY,EAAE,MAAOF,CAAAA,SAAS,GAAG,EAAE,CAAC;YAAC;;;AAIlE"}
1
+ {"version":3,"file":"components\\ui\\progress.js","sources":["webpack://@arolariu/components/./src/components/ui/progress.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n className={cn(\n \"bg-neutral-900/20 relative h-2 w-full overflow-hidden rounded-full dark:bg-neutral-50/20\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"bg-neutral-900 h-full w-full flex-1 transition-all dark:bg-neutral-50\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"names":["Progress","className","value","props","ProgressPrimitive","cn"],"mappings":";;;;;AAOA,SAASA,SAAS,EAChBC,SAAS,EACTC,KAAK,EACL,GAAGC,OACiD;IACpD,OACE,WADF,GACE,gEAACC,8DAAAA,IAAsB;QACrB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,4FACAJ;QAED,GAAGE,KAAK;kBAET,8EAACC,8DAAAA,SAA2B;YAC1B,aAAU;YACV,WAAU;YACV,OAAO;gBAAE,WAAW,CAAC,YAAY,EAAE,MAAOF,CAAAA,SAAS,GAAG,EAAE,CAAC;YAAC;;;AAIlE"}
@@ -14,7 +14,7 @@ function RadioGroup({ className, ...props }) {
14
14
  function RadioGroupItem({ className, ...props }) {
15
15
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_radio_group_e8f239af__.Item, {
16
16
  "data-slot": "radio-group-item",
17
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("border-neutral-200 text-neutral-900 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 aspect-square size-4 shrink-0 rounded-full border shadow-2xs transition-[color,box-shadow] outline-hidden focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:text-neutral-50 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", className),
17
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("border-neutral-200 text-neutral-900 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 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:text-neutral-50 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", className),
18
18
  ...props,
19
19
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_radio_group_e8f239af__.Indicator, {
20
20
  "data-slot": "radio-group-indicator",
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\radio-group.js","sources":["webpack://@arolariu/components/./src/components/ui/radio-group.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\r\nimport { CircleIcon } from \"lucide-react\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction RadioGroup({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\r\n return (\r\n <RadioGroupPrimitive.Root\r\n data-slot=\"radio-group\"\r\n className={cn(\"grid gap-3\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction RadioGroupItem({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\r\n return (\r\n <RadioGroupPrimitive.Item\r\n data-slot=\"radio-group-item\"\r\n className={cn(\r\n \"border-neutral-200 text-neutral-900 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 aspect-square size-4 shrink-0 rounded-full border shadow-2xs transition-[color,box-shadow] outline-hidden focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:text-neutral-50 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\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <RadioGroupPrimitive.Indicator\r\n data-slot=\"radio-group-indicator\"\r\n className=\"relative flex items-center justify-center\"\r\n >\r\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\r\n </RadioGroupPrimitive.Indicator>\r\n </RadioGroupPrimitive.Item>\r\n );\r\n}\r\n\r\nexport { RadioGroup, RadioGroupItem };\r\n"],"names":["RadioGroup","className","props","RadioGroupPrimitive","cn","RadioGroupItem","CircleIcon"],"mappings":";;;;;;AAOA,SAASA,WAAW,EAClBC,SAAS,EACT,GAAGC,OACmD;IACtD,OACE,WADF,GACE,gEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,cAAcH;QAC3B,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EACtBJ,SAAS,EACT,GAAGC,OACmD;IACtD,OACE,WADF,GACE,gEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,4lBACAH;QAED,GAAGC,KAAK;kBAET,8EAACC,iEAAAA,SAA6B;YAC5B,aAAU;YACV,WAAU;sBAEV,8EAACG,kDAAAA,UAAUA,EAAAA;gBAAC,WAAU;;;;AAI9B"}
1
+ {"version":3,"file":"components\\ui\\radio-group.js","sources":["webpack://@arolariu/components/./src/components/ui/radio-group.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-neutral-200 text-neutral-900 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 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:text-neutral-50 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\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"names":["RadioGroup","className","props","RadioGroupPrimitive","cn","RadioGroupItem","CircleIcon"],"mappings":";;;;;;AAQA,SAASA,WAAW,EAClBC,SAAS,EACT,GAAGC,OACmD;IACtD,OACE,WADF,GACE,gEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,cAAcH;QAC3B,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EACtBJ,SAAS,EACT,GAAGC,OACmD;IACtD,OACE,WADF,GACE,gEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,4oBACAH;QAED,GAAGC,KAAK;kBAET,8EAACC,iEAAAA,SAA6B;YAC5B,aAAU;YACV,WAAU;sBAEV,8EAACG,kDAAAA,UAAUA,EAAAA;gBAAC,WAAU;;;;AAI9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\resizable.js","sources":["webpack://@arolariu/components/./src/components/ui/resizable.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport { GripVerticalIcon } from \"lucide-react\";\r\nimport * as ResizablePrimitive from \"react-resizable-panels\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction ResizablePanelGroup({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\r\n return (\r\n <ResizablePrimitive.PanelGroup\r\n data-slot=\"resizable-panel-group\"\r\n className={cn(\r\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction ResizablePanel({\r\n ...props\r\n}: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\r\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\r\n}\r\n\r\nfunction ResizableHandle({\r\n withHandle,\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\r\n withHandle?: boolean;\r\n}) {\r\n return (\r\n <ResizablePrimitive.PanelResizeHandle\r\n data-slot=\"resizable-handle\"\r\n className={cn(\r\n \"bg-neutral-200 focus-visible:ring-neutral-950 relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90 dark:bg-neutral-800 dark:focus-visible:ring-neutral-300\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {withHandle && (\r\n <div className=\"bg-neutral-200 z-10 flex h-4 w-3 items-center justify-center rounded-xs border dark:bg-neutral-800\">\r\n <GripVerticalIcon className=\"size-2.5\" />\r\n </div>\r\n )}\r\n </ResizablePrimitive.PanelResizeHandle>\r\n );\r\n}\r\n\r\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle };\r\n"],"names":["ResizablePanelGroup","className","props","ResizablePrimitive","cn","ResizablePanel","ResizableHandle","withHandle","GripVerticalIcon"],"mappings":";;;;;;AAOA,SAASA,oBAAoB,EAC3BC,SAAS,EACT,GAAGC,OACwD;IAC3D,OACE,WADF,GACE,gEAACC,4DAAAA,UAA6B;QAC5B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,qEACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EACtB,GAAGH,OACmD;IACtD,OAAO,WAAP,GAAO,gEAACC,4DAAAA,KAAwB;QAAC,aAAU;QAAmB,GAAGD,KAAK;;AACxE;AAEA,SAASI,gBAAgB,EACvBC,UAAU,EACVN,SAAS,EACT,GAAGC,OAGJ;IACC,OACE,WADF,GACE,gEAACC,4DAAAA,iBAAoC;QACnC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,itBACAH;QAED,GAAGC,KAAK;kBAERK,cACC,WADDA,GACC,gEAAC;YAAI,WAAU;sBACb,8EAACC,kDAAAA,gBAAgBA,EAAAA;gBAAC,WAAU;;;;AAKtC"}
1
+ {"version":3,"file":"components\\ui\\resizable.js","sources":["webpack://@arolariu/components/./src/components/ui/resizable.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { GripVerticalIcon } from \"lucide-react\";\nimport * as ResizablePrimitive from \"react-resizable-panels\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\n return (\n <ResizablePrimitive.PanelGroup\n data-slot=\"resizable-panel-group\"\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ResizablePanel({\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean;\n}) {\n return (\n <ResizablePrimitive.PanelResizeHandle\n data-slot=\"resizable-handle\"\n className={cn(\n \"bg-neutral-200 focus-visible:ring-neutral-950 relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90 dark:bg-neutral-800 dark:focus-visible:ring-neutral-300\",\n className\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"bg-neutral-200 z-10 flex h-4 w-3 items-center justify-center rounded-xs border dark:bg-neutral-800\">\n <GripVerticalIcon className=\"size-2.5\" />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n );\n}\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle };\n"],"names":["ResizablePanelGroup","className","props","ResizablePrimitive","cn","ResizablePanel","ResizableHandle","withHandle","GripVerticalIcon"],"mappings":";;;;;;AAQA,SAASA,oBAAoB,EAC3BC,SAAS,EACT,GAAGC,OACwD;IAC3D,OACE,WADF,GACE,gEAACC,4DAAAA,UAA6B;QAC5B,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,qEACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASG,eAAe,EACtB,GAAGH,OACmD;IACtD,OAAO,WAAP,GAAO,gEAACC,4DAAAA,KAAwB;QAAC,aAAU;QAAmB,GAAGD,KAAK;;AACxE;AAEA,SAASI,gBAAgB,EACvBC,UAAU,EACVN,SAAS,EACT,GAAGC,OAGJ;IACC,OACE,WADF,GACE,gEAACC,4DAAAA,iBAAoC;QACnC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,itBACAH;QAED,GAAGC,KAAK;kBAERK,cACC,WADDA,GACC,gEAAC;YAAI,WAAU;sBACb,8EAACC,kDAAAA,gBAAgBA,EAAAA;gBAAC,WAAU;;;;AAKtC"}
@@ -0,0 +1,74 @@
1
+ "use client";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__ from "motion/react";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
6
+ const RippleButton = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forwardRef(({ children, onClick, className, rippleClassName, scale = 10, transition = {
7
+ duration: 0.6,
8
+ ease: "easeOut"
9
+ }, ...props }, ref)=>{
10
+ const [ripples, setRipples] = __WEBPACK_EXTERNAL_MODULE_react__.useState([]);
11
+ const buttonRef = __WEBPACK_EXTERNAL_MODULE_react__.useRef(null);
12
+ __WEBPACK_EXTERNAL_MODULE_react__.useImperativeHandle(ref, ()=>buttonRef.current);
13
+ const createRipple = __WEBPACK_EXTERNAL_MODULE_react__.useCallback((event)=>{
14
+ const button = buttonRef.current;
15
+ if (!button) return;
16
+ const rect = button.getBoundingClientRect();
17
+ const x = event.clientX - rect.left;
18
+ const y = event.clientY - rect.top;
19
+ const newRipple = {
20
+ id: Date.now(),
21
+ x,
22
+ y
23
+ };
24
+ setRipples((prev)=>[
25
+ ...prev,
26
+ newRipple
27
+ ]);
28
+ setTimeout(()=>{
29
+ setRipples((prev)=>prev.filter((r)=>r.id !== newRipple.id));
30
+ }, 600);
31
+ }, []);
32
+ const handleClick = __WEBPACK_EXTERNAL_MODULE_react__.useCallback((event)=>{
33
+ createRipple(event);
34
+ if (onClick) onClick(event);
35
+ }, [
36
+ createRipple,
37
+ onClick
38
+ ]);
39
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.button, {
40
+ ref: buttonRef,
41
+ onClick: handleClick,
42
+ whileTap: {
43
+ scale: 0.95
44
+ },
45
+ whileHover: {
46
+ scale: 1.05
47
+ },
48
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("relative h-10 px-4 py-2 text-sm font-medium text-primary-foreground overflow-hidden bg-primary cursor-pointer rounded-lg focus:outline-none", className),
49
+ ...props,
50
+ children: [
51
+ children,
52
+ ripples.map((ripple)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.span, {
53
+ initial: {
54
+ scale: 0,
55
+ opacity: 0.5
56
+ },
57
+ animate: {
58
+ scale,
59
+ opacity: 0
60
+ },
61
+ transition: transition,
62
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("absolute bg-primary-foreground rounded-full size-5 pointer-events-none", rippleClassName),
63
+ style: {
64
+ top: ripple.y - 10,
65
+ left: ripple.x - 10
66
+ }
67
+ }, ripple.id))
68
+ ]
69
+ });
70
+ });
71
+ RippleButton.displayName = "RippleButton";
72
+ export { RippleButton };
73
+
74
+ //# sourceMappingURL=ripple-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components\\ui\\ripple-button.js","sources":["webpack://@arolariu/components/./src/components/ui/ripple-button.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { type HTMLMotionProps, motion, type Transition } from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface Ripple {\n id: number;\n x: number;\n y: number;\n}\n\ninterface RippleButtonProps extends HTMLMotionProps<\"button\"> {\n children: React.ReactNode;\n rippleClassName?: string;\n scale?: number;\n transition?: Transition;\n}\n\nconst RippleButton = React.forwardRef<HTMLButtonElement, RippleButtonProps>(\n (\n {\n children,\n onClick,\n className,\n rippleClassName,\n scale = 10,\n transition = { duration: 0.6, ease: \"easeOut\" },\n ...props\n },\n ref\n ) => {\n const [ripples, setRipples] = React.useState<Ripple[]>([]);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n React.useImperativeHandle(\n ref,\n () => buttonRef.current as HTMLButtonElement\n );\n\n const createRipple = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n const button = buttonRef.current;\n if (!button) return;\n\n const rect = button.getBoundingClientRect();\n const x = event.clientX - rect.left;\n const y = event.clientY - rect.top;\n\n const newRipple: Ripple = {\n id: Date.now(),\n x,\n y,\n };\n\n setRipples((prev) => [...prev, newRipple]);\n\n setTimeout(() => {\n setRipples((prev) => prev.filter((r) => r.id !== newRipple.id));\n }, 600);\n },\n []\n );\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n createRipple(event);\n if (onClick) {\n onClick(event);\n }\n },\n [createRipple, onClick]\n );\n\n return (\n <motion.button\n ref={buttonRef}\n onClick={handleClick}\n whileTap={{ scale: 0.95 }}\n whileHover={{ scale: 1.05 }}\n className={cn(\n \"relative h-10 px-4 py-2 text-sm font-medium text-primary-foreground overflow-hidden bg-primary cursor-pointer rounded-lg focus:outline-none\",\n className\n )}\n {...props}\n >\n {children}\n {ripples.map((ripple) => (\n <motion.span\n key={ripple.id}\n initial={{ scale: 0, opacity: 0.5 }}\n animate={{ scale, opacity: 0 }}\n transition={transition}\n className={cn(\n \"absolute bg-primary-foreground rounded-full size-5 pointer-events-none\",\n rippleClassName\n )}\n style={{\n top: ripple.y - 10,\n left: ripple.x - 10,\n }}\n />\n ))}\n </motion.button>\n );\n }\n);\n\nRippleButton.displayName = \"RippleButton\";\n\nexport { RippleButton, type RippleButtonProps };\n"],"names":["RippleButton","React","children","onClick","className","rippleClassName","scale","transition","props","ref","ripples","setRipples","buttonRef","createRipple","event","button","rect","x","y","newRipple","Date","prev","setTimeout","r","handleClick","motion","cn","ripple"],"mappings":";;;;;AAoBA,MAAMA,eAAe,WAAfA,GAAeC,kCAAAA,UAAgB,CACnC,CACE,EACEC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,eAAe,EACfC,QAAQ,EAAE,EACVC,aAAa;IAAE,UAAU;IAAK,MAAM;AAAU,CAAC,EAC/C,GAAGC,OACJ,EACDC;IAEA,MAAM,CAACC,SAASC,WAAW,GAAGV,kCAAAA,QAAc,CAAW,EAAE;IACzD,MAAMW,YAAYX,kCAAAA,MAAY,CAAoB;IAClDA,kCAAAA,mBAAyB,CACvBQ,KACA,IAAMG,UAAU,OAAO;IAGzB,MAAMC,eAAeZ,kCAAAA,WAAiB,CACpC,CAACa;QACC,MAAMC,SAASH,UAAU,OAAO;QAChC,IAAI,CAACG,QAAQ;QAEb,MAAMC,OAAOD,OAAO,qBAAqB;QACzC,MAAME,IAAIH,MAAM,OAAO,GAAGE,KAAK,IAAI;QACnC,MAAME,IAAIJ,MAAM,OAAO,GAAGE,KAAK,GAAG;QAElC,MAAMG,YAAoB;YACxB,IAAIC,KAAK,GAAG;YACZH;YACAC;QACF;QAEAP,WAAW,CAACU,OAAS;mBAAIA;gBAAMF;aAAU;QAEzCG,WAAW;YACTX,WAAW,CAACU,OAASA,KAAK,MAAM,CAAC,CAACE,IAAMA,EAAE,EAAE,KAAKJ,UAAU,EAAE;QAC/D,GAAG;IACL,GACA,EAAE;IAGJ,MAAMK,cAAcvB,kCAAAA,WAAiB,CACnC,CAACa;QACCD,aAAaC;QACb,IAAIX,SACFA,QAAQW;IAEZ,GACA;QAACD;QAAcV;KAAQ;IAGzB,OACE,WADF,GACE,iEAACsB,kDAAAA,MAAAA,CAAAA,MAAa;QACZ,KAAKb;QACL,SAASY;QACT,UAAU;YAAE,OAAO;QAAK;QACxB,YAAY;YAAE,OAAO;QAAK;QAC1B,WAAWE,IAAAA,mDAAAA,EAAAA,EACT,+IACAtB;QAED,GAAGI,KAAK;;YAERN;YACAQ,QAAQ,GAAG,CAAC,CAACiB,SACZ,WADYA,GACZ,gEAACF,kDAAAA,MAAAA,CAAAA,IAAW;oBAEV,SAAS;wBAAE,OAAO;wBAAG,SAAS;oBAAI;oBAClC,SAAS;wBAAEnB;wBAAO,SAAS;oBAAE;oBAC7B,YAAYC;oBACZ,WAAWmB,IAAAA,mDAAAA,EAAAA,EACT,0EACArB;oBAEF,OAAO;wBACL,KAAKsB,OAAO,CAAC,GAAG;wBAChB,MAAMA,OAAO,CAAC,GAAG;oBACnB;mBAXKA,OAAO,EAAE;;;AAgBxB;AAGF3B,aAAa,WAAW,GAAG"}
@@ -0,0 +1,145 @@
1
+ "use client";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__ from "motion/react";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
6
+ const Scratcher = ({ width, height, minScratchPercentage = 50, onComplete, children, className, gradientColors = [
7
+ "#A97CF8",
8
+ "#F38CB8",
9
+ "#FDCC92"
10
+ ] })=>{
11
+ const canvasRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
12
+ const [isScratching, setIsScratching] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
13
+ const [isComplete, setIsComplete] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
14
+ const controls = (0, __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.useAnimation)();
15
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
16
+ const canvas = canvasRef.current;
17
+ const ctx = canvas?.getContext("2d");
18
+ if (canvas && ctx) {
19
+ ctx.fillStyle = "#ccc";
20
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
21
+ const gradient = ctx.createLinearGradient(0, 0, canvas.width, canvas.height);
22
+ gradient.addColorStop(0, gradientColors[0]);
23
+ gradient.addColorStop(0.5, gradientColors[1]);
24
+ gradient.addColorStop(1, gradientColors[2]);
25
+ ctx.fillStyle = gradient;
26
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
27
+ }
28
+ }, [
29
+ gradientColors
30
+ ]);
31
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
32
+ const handleDocumentMouseMove = (event)=>{
33
+ if (!isScratching) return;
34
+ scratch(event.clientX, event.clientY);
35
+ };
36
+ const handleDocumentTouchMove = (event)=>{
37
+ if (!isScratching) return;
38
+ const touch = event.touches[0];
39
+ scratch(touch.clientX, touch.clientY);
40
+ };
41
+ const handleDocumentMouseUp = ()=>{
42
+ setIsScratching(false);
43
+ checkCompletion();
44
+ };
45
+ const handleDocumentTouchEnd = ()=>{
46
+ setIsScratching(false);
47
+ checkCompletion();
48
+ };
49
+ document.addEventListener("mousedown", handleDocumentMouseMove);
50
+ document.addEventListener("mousemove", handleDocumentMouseMove);
51
+ document.addEventListener("touchstart", handleDocumentTouchMove);
52
+ document.addEventListener("touchmove", handleDocumentTouchMove);
53
+ document.addEventListener("mouseup", handleDocumentMouseUp);
54
+ document.addEventListener("touchend", handleDocumentTouchEnd);
55
+ document.addEventListener("touchcancel", handleDocumentTouchEnd);
56
+ return ()=>{
57
+ document.removeEventListener("mousedown", handleDocumentMouseMove);
58
+ document.removeEventListener("mousemove", handleDocumentMouseMove);
59
+ document.removeEventListener("touchstart", handleDocumentTouchMove);
60
+ document.removeEventListener("touchmove", handleDocumentTouchMove);
61
+ document.removeEventListener("mouseup", handleDocumentMouseUp);
62
+ document.removeEventListener("touchend", handleDocumentTouchEnd);
63
+ document.removeEventListener("touchcancel", handleDocumentTouchEnd);
64
+ };
65
+ }, [
66
+ isScratching
67
+ ]);
68
+ const handleMouseDown = ()=>setIsScratching(true);
69
+ const handleTouchStart = ()=>setIsScratching(true);
70
+ const scratch = (clientX, clientY)=>{
71
+ const canvas = canvasRef.current;
72
+ const ctx = canvas?.getContext("2d");
73
+ if (canvas && ctx) {
74
+ const rect = canvas.getBoundingClientRect();
75
+ const x = clientX - rect.left + 16;
76
+ const y = clientY - rect.top + 16;
77
+ ctx.globalCompositeOperation = "destination-out";
78
+ ctx.beginPath();
79
+ ctx.arc(x, y, 30, 0, 2 * Math.PI);
80
+ ctx.fill();
81
+ }
82
+ };
83
+ const startAnimation = async ()=>{
84
+ await controls.start({
85
+ scale: [
86
+ 1,
87
+ 1.5,
88
+ 1
89
+ ],
90
+ rotate: [
91
+ 0,
92
+ 10,
93
+ -10,
94
+ 10,
95
+ -10,
96
+ 0
97
+ ],
98
+ transition: {
99
+ duration: 0.5
100
+ }
101
+ });
102
+ if (onComplete) onComplete();
103
+ };
104
+ const checkCompletion = ()=>{
105
+ if (isComplete) return;
106
+ const canvas = canvasRef.current;
107
+ const ctx = canvas?.getContext("2d");
108
+ if (canvas && ctx) {
109
+ const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
110
+ const pixels = imageData.data;
111
+ const totalPixels = pixels.length / 4;
112
+ let clearPixels = 0;
113
+ for(let i = 3; i < pixels.length; i += 4)if (0 === pixels[i]) clearPixels++;
114
+ const percentage = clearPixels / totalPixels * 100;
115
+ if (percentage >= minScratchPercentage) {
116
+ setIsComplete(true);
117
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
118
+ startAnimation();
119
+ }
120
+ }
121
+ };
122
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
123
+ className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("relative select-none", className),
124
+ style: {
125
+ width,
126
+ height,
127
+ cursor: "url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNSIgc3R5bGU9ImZpbGw6I2ZmZjtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MXB4OyIgLz4KPC9zdmc+'), auto"
128
+ },
129
+ animate: controls,
130
+ children: [
131
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("canvas", {
132
+ ref: canvasRef,
133
+ width: width,
134
+ height: height,
135
+ className: "absolute left-0 top-0",
136
+ onMouseDown: handleMouseDown,
137
+ onTouchStart: handleTouchStart
138
+ }),
139
+ children
140
+ ]
141
+ });
142
+ };
143
+ export { Scratcher };
144
+
145
+ //# sourceMappingURL=scratcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components\\ui\\scratcher.js","sources":["webpack://@arolariu/components/./src/components/ui/scratcher.tsx"],"sourcesContent":["\n\nimport { cn } from \"@/lib/utils\";\nimport { motion, useAnimation } from \"motion/react\";\nimport React, { useEffect, useRef, useState } from \"react\";\n\ninterface ScratcherProps {\n children: React.ReactNode;\n width: number;\n height: number;\n minScratchPercentage?: number;\n className?: string;\n onComplete?: () => void;\n gradientColors?: [string, string, string];\n}\n\nexport const Scratcher: React.FC<ScratcherProps> = ({\n width,\n height,\n minScratchPercentage = 50,\n onComplete,\n children,\n className,\n gradientColors = [\"#A97CF8\", \"#F38CB8\", \"#FDCC92\"],\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const [isScratching, setIsScratching] = useState(false);\n const [isComplete, setIsComplete] = useState(false);\n\n const controls = useAnimation();\n\n useEffect(() => {\n const canvas = canvasRef.current;\n const ctx = canvas?.getContext(\"2d\");\n if (canvas && ctx) {\n ctx.fillStyle = \"#ccc\";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n const gradient = ctx.createLinearGradient(\n 0,\n 0,\n canvas.width,\n canvas.height\n );\n gradient.addColorStop(0, gradientColors[0]);\n gradient.addColorStop(0.5, gradientColors[1]);\n gradient.addColorStop(1, gradientColors[2]);\n ctx.fillStyle = gradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n }, [gradientColors]);\n\n useEffect(() => {\n const handleDocumentMouseMove = (event: MouseEvent) => {\n if (!isScratching) return;\n scratch(event.clientX, event.clientY);\n };\n\n const handleDocumentTouchMove = (event: TouchEvent) => {\n if (!isScratching) return;\n const touch = event.touches[0];\n scratch(touch.clientX, touch.clientY);\n };\n\n const handleDocumentMouseUp = () => {\n setIsScratching(false);\n checkCompletion();\n };\n\n const handleDocumentTouchEnd = () => {\n setIsScratching(false);\n checkCompletion();\n };\n\n document.addEventListener(\"mousedown\", handleDocumentMouseMove);\n document.addEventListener(\"mousemove\", handleDocumentMouseMove);\n document.addEventListener(\"touchstart\", handleDocumentTouchMove);\n document.addEventListener(\"touchmove\", handleDocumentTouchMove);\n document.addEventListener(\"mouseup\", handleDocumentMouseUp);\n document.addEventListener(\"touchend\", handleDocumentTouchEnd);\n document.addEventListener(\"touchcancel\", handleDocumentTouchEnd);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleDocumentMouseMove);\n document.removeEventListener(\"mousemove\", handleDocumentMouseMove);\n document.removeEventListener(\"touchstart\", handleDocumentTouchMove);\n document.removeEventListener(\"touchmove\", handleDocumentTouchMove);\n document.removeEventListener(\"mouseup\", handleDocumentMouseUp);\n document.removeEventListener(\"touchend\", handleDocumentTouchEnd);\n document.removeEventListener(\"touchcancel\", handleDocumentTouchEnd);\n };\n }, [isScratching]);\n\n const handleMouseDown = () => setIsScratching(true);\n\n const handleTouchStart = () => setIsScratching(true);\n\n const scratch = (clientX: number, clientY: number) => {\n const canvas = canvasRef.current;\n const ctx = canvas?.getContext(\"2d\");\n if (canvas && ctx) {\n const rect = canvas.getBoundingClientRect();\n const x = clientX - rect.left + 16;\n const y = clientY - rect.top + 16;\n ctx.globalCompositeOperation = \"destination-out\";\n ctx.beginPath();\n ctx.arc(x, y, 30, 0, Math.PI * 2);\n ctx.fill();\n }\n };\n\n const startAnimation = async () => {\n await controls.start({\n scale: [1, 1.5, 1],\n rotate: [0, 10, -10, 10, -10, 0],\n transition: { duration: 0.5 },\n });\n\n // Call onComplete after animation finishes\n if (onComplete) {\n onComplete();\n }\n };\n\n const checkCompletion = () => {\n if (isComplete) return;\n\n const canvas = canvasRef.current;\n const ctx = canvas?.getContext(\"2d\");\n if (canvas && ctx) {\n const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);\n const pixels = imageData.data;\n const totalPixels = pixels.length / 4;\n let clearPixels = 0;\n\n for (let i = 3; i < pixels.length; i += 4) {\n if (pixels[i] === 0) clearPixels++;\n }\n\n const percentage = (clearPixels / totalPixels) * 100;\n\n if (percentage >= minScratchPercentage) {\n setIsComplete(true);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n startAnimation();\n }\n }\n };\n\n return (\n <motion.div\n className={cn(\"relative select-none\", className)}\n style={{\n width,\n height,\n cursor:\n \"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNSIgc3R5bGU9ImZpbGw6I2ZmZjtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MXB4OyIgLz4KPC9zdmc+'), auto\",\n }}\n animate={controls}\n >\n <canvas\n ref={canvasRef}\n width={width}\n height={height}\n className=\"absolute left-0 top-0\"\n onMouseDown={handleMouseDown}\n onTouchStart={handleTouchStart}\n ></canvas>\n {children}\n </motion.div>\n );\n};\n"],"names":["Scratcher","width","height","minScratchPercentage","onComplete","children","className","gradientColors","canvasRef","useRef","isScratching","setIsScratching","useState","isComplete","setIsComplete","controls","useAnimation","useEffect","canvas","ctx","gradient","handleDocumentMouseMove","event","scratch","handleDocumentTouchMove","touch","handleDocumentMouseUp","checkCompletion","handleDocumentTouchEnd","document","handleMouseDown","handleTouchStart","clientX","clientY","rect","x","y","Math","startAnimation","imageData","pixels","totalPixels","clearPixels","i","percentage","motion","cn"],"mappings":"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"}
@@ -11,7 +11,7 @@ function ScrollArea({ className, children, ...props }) {
11
11
  children: [
12
12
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_scroll_area_93228e9e__.Viewport, {
13
13
  "data-slot": "scroll-area-viewport",
14
- className: "ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20",
14
+ className: "focus-visible:ring-neutral-950/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 dark:focus-visible:ring-neutral-300/50",
15
15
  children: children
16
16
  }),
17
17
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ScrollBar, {}),
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\scroll-area.js","sources":["webpack://@arolariu/components/./src/components/ui/scroll-area.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction ScrollArea({\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\r\n return (\r\n <ScrollAreaPrimitive.Root\r\n data-slot=\"scroll-area\"\r\n className={cn(\"relative\", className)}\r\n {...props}\r\n >\r\n <ScrollAreaPrimitive.Viewport\r\n data-slot=\"scroll-area-viewport\"\r\n className=\"ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20\"\r\n >\r\n {children}\r\n </ScrollAreaPrimitive.Viewport>\r\n <ScrollBar />\r\n <ScrollAreaPrimitive.Corner />\r\n </ScrollAreaPrimitive.Root>\r\n );\r\n}\r\n\r\nfunction ScrollBar({\r\n className,\r\n orientation = \"vertical\",\r\n ...props\r\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\r\n return (\r\n <ScrollAreaPrimitive.ScrollAreaScrollbar\r\n data-slot=\"scroll-area-scrollbar\"\r\n orientation={orientation}\r\n className={cn(\r\n \"flex touch-none p-px transition-colors select-none\",\r\n orientation === \"vertical\" &&\r\n \"h-full w-2.5 border-l border-l-transparent\",\r\n orientation === \"horizontal\" &&\r\n \"h-2.5 flex-col border-t border-t-transparent\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ScrollAreaPrimitive.ScrollAreaThumb\r\n data-slot=\"scroll-area-thumb\"\r\n className=\"bg-neutral-200 relative flex-1 rounded-full dark:bg-neutral-800\"\r\n />\r\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\r\n );\r\n}\r\n\r\nexport { ScrollArea, ScrollBar };\r\n"],"names":["ScrollArea","className","children","props","ScrollAreaPrimitive","cn","ScrollBar","orientation"],"mappings":";;;;;AAMA,SAASA,WAAW,EAClBC,SAAS,EACTC,QAAQ,EACR,GAAGC,OACmD;IACtD,OACE,WADF,GACE,iEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,YAAYJ;QACzB,GAAGE,KAAK;;0BAET,gEAACC,iEAAAA,QAA4B;gBAC3B,aAAU;gBACV,WAAU;0BAETF;;0BAEH,gEAACI,WAAAA,CAAAA;0BACD,gEAACF,iEAAAA,MAA0B;;;AAGjC;AAEA,SAASE,UAAU,EACjBL,SAAS,EACTM,cAAc,UAAU,EACxB,GAAGJ,OACkE;IACrE,OACE,WADF,GACE,gEAACC,iEAAAA,mBAAuC;QACtC,aAAU;QACV,aAAaG;QACb,WAAWF,IAAAA,mDAAAA,EAAAA,EACT,sDACAE,eAAAA,eACE,8CACFA,iBAAAA,eACE,gDACFN;QAED,GAAGE,KAAK;kBAET,8EAACC,iEAAAA,eAAmC;YAClC,aAAU;YACV,WAAU;;;AAIlB"}
1
+ {"version":3,"file":"components\\ui\\scroll-area.js","sources":["webpack://@arolariu/components/./src/components/ui/scroll-area.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"focus-visible:ring-neutral-950/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 dark:focus-visible:ring-neutral-300/50\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-neutral-200 relative flex-1 rounded-full dark:bg-neutral-800\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["ScrollArea","className","children","props","ScrollAreaPrimitive","cn","ScrollBar","orientation"],"mappings":";;;;;AAOA,SAASA,WAAW,EAClBC,SAAS,EACTC,QAAQ,EACR,GAAGC,OACmD;IACtD,OACE,WADF,GACE,iEAACC,iEAAAA,IAAwB;QACvB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,YAAYJ;QACzB,GAAGE,KAAK;;0BAET,gEAACC,iEAAAA,QAA4B;gBAC3B,aAAU;gBACV,WAAU;0BAETF;;0BAEH,gEAACI,WAAAA,CAAAA;0BACD,gEAACF,iEAAAA,MAA0B;;;AAGjC;AAEA,SAASE,UAAU,EACjBL,SAAS,EACTM,cAAc,UAAU,EACxB,GAAGJ,OACkE;IACrE,OACE,WADF,GACE,gEAACC,iEAAAA,mBAAuC;QACtC,aAAU;QACV,aAAaG;QACb,WAAWF,IAAAA,mDAAAA,EAAAA,EACT,sDACAE,eAAAA,eACE,8CACFA,iBAAAA,eACE,gDACFN;QAED,GAAGE,KAAK;kBAET,8EAACC,iEAAAA,eAAmC;YAClC,aAAU;YACV,WAAU;;;AAIlB"}