@nuvia/components 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/README.md +96 -0
  2. package/dist/hooks/use-mobile.cjs +44 -0
  3. package/dist/hooks/use-mobile.cjs.map +1 -0
  4. package/dist/hooks/use-mobile.js +22 -0
  5. package/dist/hooks/use-mobile.js.map +1 -0
  6. package/dist/hooks/use-toast.cjs +146 -0
  7. package/dist/hooks/use-toast.cjs.map +1 -0
  8. package/dist/hooks/use-toast.js +122 -0
  9. package/dist/hooks/use-toast.js.map +1 -0
  10. package/dist/index.cjs +4117 -0
  11. package/dist/index.cjs.map +1 -0
  12. package/dist/index.js +3800 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/lib/fonts.cjs +15 -0
  15. package/dist/lib/fonts.cjs.map +1 -0
  16. package/dist/lib/fonts.js +13 -0
  17. package/dist/lib/fonts.js.map +1 -0
  18. package/dist/lib/utils.cjs +18 -0
  19. package/dist/lib/utils.cjs.map +1 -0
  20. package/dist/lib/utils.js +14 -0
  21. package/dist/lib/utils.js.map +1 -0
  22. package/dist/providers/theme.cjs +24 -0
  23. package/dist/providers/theme.cjs.map +1 -0
  24. package/dist/providers/theme.js +22 -0
  25. package/dist/providers/theme.js.map +1 -0
  26. package/dist/ui/accordion.cjs +75 -0
  27. package/dist/ui/accordion.cjs.map +1 -0
  28. package/dist/ui/accordion.js +49 -0
  29. package/dist/ui/accordion.js.map +1 -0
  30. package/dist/ui/alert-dialog.cjs +189 -0
  31. package/dist/ui/alert-dialog.cjs.map +1 -0
  32. package/dist/ui/alert-dialog.js +156 -0
  33. package/dist/ui/alert-dialog.js.map +1 -0
  34. package/dist/ui/alert.cjs +81 -0
  35. package/dist/ui/alert.cjs.map +1 -0
  36. package/dist/ui/alert.js +57 -0
  37. package/dist/ui/alert.js.map +1 -0
  38. package/dist/ui/aspect-ratio.cjs +29 -0
  39. package/dist/ui/aspect-ratio.cjs.map +1 -0
  40. package/dist/ui/aspect-ratio.js +7 -0
  41. package/dist/ui/aspect-ratio.js.map +1 -0
  42. package/dist/ui/auto-complete.cjs +284 -0
  43. package/dist/ui/auto-complete.cjs.map +1 -0
  44. package/dist/ui/auto-complete.js +262 -0
  45. package/dist/ui/auto-complete.js.map +1 -0
  46. package/dist/ui/avatar.cjs +70 -0
  47. package/dist/ui/avatar.cjs.map +1 -0
  48. package/dist/ui/avatar.js +45 -0
  49. package/dist/ui/avatar.js.map +1 -0
  50. package/dist/ui/badge.cjs +34 -0
  51. package/dist/ui/badge.cjs.map +1 -0
  52. package/dist/ui/badge.js +31 -0
  53. package/dist/ui/badge.js.map +1 -0
  54. package/dist/ui/breadcrumb.cjs +120 -0
  55. package/dist/ui/breadcrumb.cjs.map +1 -0
  56. package/dist/ui/breadcrumb.js +92 -0
  57. package/dist/ui/breadcrumb.js.map +1 -0
  58. package/dist/ui/button.cjs +80 -0
  59. package/dist/ui/button.cjs.map +1 -0
  60. package/dist/ui/button.js +57 -0
  61. package/dist/ui/button.js.map +1 -0
  62. package/dist/ui/calendar.cjs +135 -0
  63. package/dist/ui/calendar.cjs.map +1 -0
  64. package/dist/ui/calendar.js +113 -0
  65. package/dist/ui/calendar.js.map +1 -0
  66. package/dist/ui/card.cjs +89 -0
  67. package/dist/ui/card.cjs.map +1 -0
  68. package/dist/ui/card.js +62 -0
  69. package/dist/ui/card.js.map +1 -0
  70. package/dist/ui/carousel.cjs +269 -0
  71. package/dist/ui/carousel.cjs.map +1 -0
  72. package/dist/ui/carousel.js +240 -0
  73. package/dist/ui/carousel.js.map +1 -0
  74. package/dist/ui/chart.cjs +267 -0
  75. package/dist/ui/chart.cjs.map +1 -0
  76. package/dist/ui/chart.js +239 -0
  77. package/dist/ui/chart.js.map +1 -0
  78. package/dist/ui/checkbox.cjs +55 -0
  79. package/dist/ui/checkbox.cjs.map +1 -0
  80. package/dist/ui/checkbox.js +32 -0
  81. package/dist/ui/checkbox.js.map +1 -0
  82. package/dist/ui/chip.cjs +79 -0
  83. package/dist/ui/chip.cjs.map +1 -0
  84. package/dist/ui/chip.js +55 -0
  85. package/dist/ui/chip.js.map +1 -0
  86. package/dist/ui/collapsible.cjs +33 -0
  87. package/dist/ui/collapsible.cjs.map +1 -0
  88. package/dist/ui/collapsible.js +9 -0
  89. package/dist/ui/collapsible.js.map +1 -0
  90. package/dist/ui/combobox.cjs +254 -0
  91. package/dist/ui/combobox.cjs.map +1 -0
  92. package/dist/ui/combobox.js +232 -0
  93. package/dist/ui/combobox.js.map +1 -0
  94. package/dist/ui/command.cjs +199 -0
  95. package/dist/ui/command.cjs.map +1 -0
  96. package/dist/ui/command.js +168 -0
  97. package/dist/ui/command.js.map +1 -0
  98. package/dist/ui/context-menu.cjs +181 -0
  99. package/dist/ui/context-menu.cjs.map +1 -0
  100. package/dist/ui/context-menu.js +144 -0
  101. package/dist/ui/context-menu.js.map +1 -0
  102. package/dist/ui/dialog.cjs +132 -0
  103. package/dist/ui/dialog.cjs.map +1 -0
  104. package/dist/ui/dialog.js +100 -0
  105. package/dist/ui/dialog.js.map +1 -0
  106. package/dist/ui/drawer.cjs +128 -0
  107. package/dist/ui/drawer.cjs.map +1 -0
  108. package/dist/ui/drawer.js +97 -0
  109. package/dist/ui/drawer.js.map +1 -0
  110. package/dist/ui/dropdown-menu.cjs +194 -0
  111. package/dist/ui/dropdown-menu.cjs.map +1 -0
  112. package/dist/ui/dropdown-menu.js +157 -0
  113. package/dist/ui/dropdown-menu.js.map +1 -0
  114. package/dist/ui/form.cjs +179 -0
  115. package/dist/ui/form.cjs.map +1 -0
  116. package/dist/ui/form.js +149 -0
  117. package/dist/ui/form.js.map +1 -0
  118. package/dist/ui/hover-card.cjs +53 -0
  119. package/dist/ui/hover-card.cjs.map +1 -0
  120. package/dist/ui/hover-card.js +28 -0
  121. package/dist/ui/hover-card.js.map +1 -0
  122. package/dist/ui/input-otp.cjs +76 -0
  123. package/dist/ui/input-otp.cjs.map +1 -0
  124. package/dist/ui/input-otp.js +51 -0
  125. package/dist/ui/input-otp.js.map +1 -0
  126. package/dist/ui/input.cjs +51 -0
  127. package/dist/ui/input.cjs.map +1 -0
  128. package/dist/ui/input.js +29 -0
  129. package/dist/ui/input.js.map +1 -0
  130. package/dist/ui/label.cjs +55 -0
  131. package/dist/ui/label.cjs.map +1 -0
  132. package/dist/ui/label.js +32 -0
  133. package/dist/ui/label.js.map +1 -0
  134. package/dist/ui/lottie-animation.cjs +85 -0
  135. package/dist/ui/lottie-animation.cjs.map +1 -0
  136. package/dist/ui/lottie-animation.js +79 -0
  137. package/dist/ui/lottie-animation.js.map +1 -0
  138. package/dist/ui/menubar.cjs +210 -0
  139. package/dist/ui/menubar.cjs.map +1 -0
  140. package/dist/ui/menubar.js +172 -0
  141. package/dist/ui/menubar.js.map +1 -0
  142. package/dist/ui/multi-combobox.cjs +319 -0
  143. package/dist/ui/multi-combobox.cjs.map +1 -0
  144. package/dist/ui/multi-combobox.js +297 -0
  145. package/dist/ui/multi-combobox.js.map +1 -0
  146. package/dist/ui/navigation-menu.cjs +136 -0
  147. package/dist/ui/navigation-menu.cjs.map +1 -0
  148. package/dist/ui/navigation-menu.js +105 -0
  149. package/dist/ui/navigation-menu.js.map +1 -0
  150. package/dist/ui/pagination.cjs +172 -0
  151. package/dist/ui/pagination.cjs.map +1 -0
  152. package/dist/ui/pagination.js +144 -0
  153. package/dist/ui/pagination.js.map +1 -0
  154. package/dist/ui/popover.cjs +55 -0
  155. package/dist/ui/popover.cjs.map +1 -0
  156. package/dist/ui/popover.js +29 -0
  157. package/dist/ui/popover.js.map +1 -0
  158. package/dist/ui/progress.cjs +54 -0
  159. package/dist/ui/progress.cjs.map +1 -0
  160. package/dist/ui/progress.js +31 -0
  161. package/dist/ui/progress.js.map +1 -0
  162. package/dist/ui/radio-group.cjs +62 -0
  163. package/dist/ui/radio-group.cjs.map +1 -0
  164. package/dist/ui/radio-group.js +38 -0
  165. package/dist/ui/radio-group.js.map +1 -0
  166. package/dist/ui/resizable.cjs +65 -0
  167. package/dist/ui/resizable.cjs.map +1 -0
  168. package/dist/ui/resizable.js +41 -0
  169. package/dist/ui/resizable.js.map +1 -0
  170. package/dist/ui/scroll-area.cjs +66 -0
  171. package/dist/ui/scroll-area.cjs.map +1 -0
  172. package/dist/ui/scroll-area.js +42 -0
  173. package/dist/ui/scroll-area.js.map +1 -0
  174. package/dist/ui/select.cjs +152 -0
  175. package/dist/ui/select.cjs.map +1 -0
  176. package/dist/ui/select.js +120 -0
  177. package/dist/ui/select.js.map +1 -0
  178. package/dist/ui/separator.cjs +52 -0
  179. package/dist/ui/separator.cjs.map +1 -0
  180. package/dist/ui/separator.js +29 -0
  181. package/dist/ui/separator.js.map +1 -0
  182. package/dist/ui/sheet.cjs +143 -0
  183. package/dist/ui/sheet.cjs.map +1 -0
  184. package/dist/ui/sheet.js +111 -0
  185. package/dist/ui/sheet.js.map +1 -0
  186. package/dist/ui/sidebar.cjs +816 -0
  187. package/dist/ui/sidebar.cjs.map +1 -0
  188. package/dist/ui/sidebar.js +768 -0
  189. package/dist/ui/sidebar.js.map +1 -0
  190. package/dist/ui/skeleton.cjs +25 -0
  191. package/dist/ui/skeleton.cjs.map +1 -0
  192. package/dist/ui/skeleton.js +23 -0
  193. package/dist/ui/skeleton.js.map +1 -0
  194. package/dist/ui/slider.cjs +51 -0
  195. package/dist/ui/slider.cjs.map +1 -0
  196. package/dist/ui/slider.js +28 -0
  197. package/dist/ui/slider.js.map +1 -0
  198. package/dist/ui/sonner.cjs +46 -0
  199. package/dist/ui/sonner.cjs.map +1 -0
  200. package/dist/ui/sonner.js +41 -0
  201. package/dist/ui/sonner.js.map +1 -0
  202. package/dist/ui/spinner.cjs +83 -0
  203. package/dist/ui/spinner.cjs.map +1 -0
  204. package/dist/ui/spinner.js +81 -0
  205. package/dist/ui/spinner.js.map +1 -0
  206. package/dist/ui/switch.cjs +67 -0
  207. package/dist/ui/switch.cjs.map +1 -0
  208. package/dist/ui/switch.js +44 -0
  209. package/dist/ui/switch.js.map +1 -0
  210. package/dist/ui/table.cjs +118 -0
  211. package/dist/ui/table.cjs.map +1 -0
  212. package/dist/ui/table.js +89 -0
  213. package/dist/ui/table.js.map +1 -0
  214. package/dist/ui/tabs.cjs +79 -0
  215. package/dist/ui/tabs.cjs.map +1 -0
  216. package/dist/ui/tabs.js +53 -0
  217. package/dist/ui/tabs.js.map +1 -0
  218. package/dist/ui/textarea.cjs +48 -0
  219. package/dist/ui/textarea.cjs.map +1 -0
  220. package/dist/ui/textarea.js +26 -0
  221. package/dist/ui/textarea.js.map +1 -0
  222. package/dist/ui/toast.cjs +125 -0
  223. package/dist/ui/toast.cjs.map +1 -0
  224. package/dist/ui/toast.js +96 -0
  225. package/dist/ui/toast.js.map +1 -0
  226. package/dist/ui/toaster.cjs +251 -0
  227. package/dist/ui/toaster.cjs.map +1 -0
  228. package/dist/ui/toaster.js +228 -0
  229. package/dist/ui/toaster.js.map +1 -0
  230. package/dist/ui/toggle-group.cjs +101 -0
  231. package/dist/ui/toggle-group.cjs.map +1 -0
  232. package/dist/ui/toggle-group.js +76 -0
  233. package/dist/ui/toggle-group.js.map +1 -0
  234. package/dist/ui/toggle.cjs +66 -0
  235. package/dist/ui/toggle.cjs.map +1 -0
  236. package/dist/ui/toggle.js +42 -0
  237. package/dist/ui/toggle.js.map +1 -0
  238. package/dist/ui/tooltip.cjs +54 -0
  239. package/dist/ui/tooltip.cjs.map +1 -0
  240. package/dist/ui/tooltip.js +28 -0
  241. package/dist/ui/tooltip.js.map +1 -0
  242. package/package.json +116 -0
  243. package/src/styles/globals.css +529 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/tooltip.tsx"],"names":["twMerge","clsx","TooltipPrimitive","React","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAM,KAAK,CAAA,GAAI,MAAA,KAAiCA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;ACE3E,IAAM,eAAA,GAAmCC,2BAAA,CAAA;AAEzC,IAAM,OAAA,GAA2BA,2BAAA,CAAA;AAEjC,IAAM,cAAA,GAAkCA,2BAAA,CAAA;AAExC,IAAM,cAAA,GAAuBC,gBAAA,CAAA,UAAA,CAG3B,CAAC,EAAE,SAAA,EAAW,UAAA,GAAa,CAAA,EAAG,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC1CC,cAAA,CAAkBF,oCAAjB,EACC,QAAA,kBAAAE,cAAA;AAAA,EAAkBF,2BAAA,CAAA,OAAA;AAAA,EAAjB;AAAA,IACC,GAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,6YAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CAAA,EACF,CACD;AACD,cAAA,CAAe,cAA+BA,2BAAA,CAAA,OAAA,CAAQ,WAAA","file":"tooltip.cjs","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"../lib/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-xl shadow-md bg-background border border-border px-3 py-1.5 text-xs text-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"]}
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
+ import { clsx } from 'clsx';
4
+ import 'sonner';
5
+ import { twMerge } from 'tailwind-merge';
6
+ import { jsx } from 'react/jsx-runtime';
7
+
8
+ var cn = (...inputs) => twMerge(clsx(inputs));
9
+ var TooltipProvider = TooltipPrimitive.Provider;
10
+ var Tooltip = TooltipPrimitive.Root;
11
+ var TooltipTrigger = TooltipPrimitive.Trigger;
12
+ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
13
+ TooltipPrimitive.Content,
14
+ {
15
+ ref,
16
+ sideOffset,
17
+ className: cn(
18
+ "z-50 overflow-hidden rounded-xl shadow-md bg-background border border-border px-3 py-1.5 text-xs text-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
19
+ className
20
+ ),
21
+ ...props
22
+ }
23
+ ) }));
24
+ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
25
+
26
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
27
+ //# sourceMappingURL=tooltip.js.map
28
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/tooltip.tsx"],"names":[],"mappings":";;;;;;;AAKO,IAAM,KAAK,CAAA,GAAI,MAAA,KAAiC,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;ACE3E,IAAM,eAAA,GAAmC,gBAAA,CAAA;AAEzC,IAAM,OAAA,GAA2B,gBAAA,CAAA;AAEjC,IAAM,cAAA,GAAkC,gBAAA,CAAA;AAExC,IAAM,cAAA,GAAuB,KAAA,CAAA,UAAA,CAG3B,CAAC,EAAE,SAAA,EAAW,UAAA,GAAa,CAAA,EAAG,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC1C,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,GAAA;AAAA,EAAkB,gBAAA,CAAA,OAAA;AAAA,EAAjB;AAAA,IACC,GAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,6YAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CAAA,EACF,CACD;AACD,cAAA,CAAe,cAA+B,gBAAA,CAAA,OAAA,CAAQ,WAAA","file":"tooltip.js","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"../lib/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-xl shadow-md bg-background border border-border px-3 py-1.5 text-xs text-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"]}
package/package.json ADDED
@@ -0,0 +1,116 @@
1
+ {
2
+ "name": "@nuvia/components",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/index.cjs",
12
+ "types": "./dist/index.d.ts"
13
+ },
14
+ "./ui/*": {
15
+ "import": "./dist/ui/*.js",
16
+ "require": "./dist/ui/*.cjs",
17
+ "types": "./dist/ui/*.d.ts"
18
+ },
19
+ "./hooks/*": {
20
+ "import": "./dist/hooks/*.js",
21
+ "require": "./dist/hooks/*.cjs",
22
+ "types": "./dist/hooks/*.d.ts"
23
+ },
24
+ "./lib/*": {
25
+ "import": "./dist/lib/*.js",
26
+ "require": "./dist/lib/*.cjs",
27
+ "types": "./dist/lib/*.d.ts"
28
+ },
29
+ "./providers/*": {
30
+ "import": "./dist/providers/*.js",
31
+ "require": "./dist/providers/*.cjs",
32
+ "types": "./dist/providers/*.d.ts"
33
+ },
34
+ "./styles/globals.css": "./src/styles/globals.css"
35
+ },
36
+ "files": [
37
+ "dist",
38
+ "src/styles",
39
+ "README.md"
40
+ ],
41
+ "sideEffects": [
42
+ "**/*.css"
43
+ ],
44
+ "dependencies": {
45
+ "@hookform/resolvers": "^3.10.0",
46
+ "@phosphor-icons/react": "^2.1.7",
47
+ "@radix-ui/react-accordion": "^1.2.2",
48
+ "@radix-ui/react-alert-dialog": "^1.1.4",
49
+ "@radix-ui/react-aspect-ratio": "^1.1.1",
50
+ "@radix-ui/react-avatar": "^1.1.2",
51
+ "@radix-ui/react-checkbox": "^1.1.3",
52
+ "@radix-ui/react-collapsible": "^1.1.2",
53
+ "@radix-ui/react-context": "^1.1.1",
54
+ "@radix-ui/react-context-menu": "^2.2.4",
55
+ "@radix-ui/react-dialog": "^1.1.4",
56
+ "@radix-ui/react-dropdown-menu": "^2.1.4",
57
+ "@radix-ui/react-hover-card": "^1.1.4",
58
+ "@radix-ui/react-icons": "^1.3.2",
59
+ "@radix-ui/react-label": "^2.1.1",
60
+ "@radix-ui/react-menubar": "^1.1.4",
61
+ "@radix-ui/react-navigation-menu": "^1.2.3",
62
+ "@radix-ui/react-popover": "^1.1.4",
63
+ "@radix-ui/react-progress": "^1.1.1",
64
+ "@radix-ui/react-radio-group": "^1.2.2",
65
+ "@radix-ui/react-scroll-area": "^1.2.2",
66
+ "@radix-ui/react-select": "^2.1.4",
67
+ "@radix-ui/react-separator": "^1.1.1",
68
+ "@radix-ui/react-slider": "^1.2.2",
69
+ "@radix-ui/react-slot": "^1.1.1",
70
+ "@radix-ui/react-switch": "^1.1.2",
71
+ "@radix-ui/react-tabs": "^1.1.2",
72
+ "@radix-ui/react-toast": "^1.2.4",
73
+ "@radix-ui/react-toggle": "^1.1.1",
74
+ "@radix-ui/react-toggle-group": "^1.1.1",
75
+ "@radix-ui/react-tooltip": "^1.1.6",
76
+ "class-variance-authority": "^0.7.1",
77
+ "clsx": "^2.1.1",
78
+ "cmdk": "^1.0.4",
79
+ "date-fns": "^4.1.0",
80
+ "embla-carousel-react": "^8.5.2",
81
+ "input-otp": "^1.4.2",
82
+ "next-themes": "^0.4.4",
83
+ "react-day-picker": "^8.10.1",
84
+ "react-hook-form": "^7.54.2",
85
+ "react-resizable-panels": "^2.1.7",
86
+ "recharts": "^2.15.0",
87
+ "sonner": "^1.7.2",
88
+ "tailwind-merge": "^2.6.0",
89
+ "vaul": "^1.1.2",
90
+ "zod": "^3.24.1"
91
+ },
92
+ "devDependencies": {
93
+ "@types/node": "^22.10.7",
94
+ "@types/react": "^19.0.7",
95
+ "@types/react-dom": "^19.0.3",
96
+ "autoprefixer": "^10.4.20",
97
+ "postcss": "^8.5.1",
98
+ "tailwindcss": "^3.4.17",
99
+ "tsup": "^8.3.5",
100
+ "typescript": "^5.7.3"
101
+ },
102
+ "peerDependencies": {
103
+ "react": "^18.0.0 || ^19.0.0",
104
+ "react-dom": "^18.0.0 || ^19.0.0"
105
+ },
106
+ "publishConfig": {
107
+ "access": "public",
108
+ "registry": "https://registry.npmjs.org/"
109
+ },
110
+ "scripts": {
111
+ "build": "tsup",
112
+ "dev": "tsup --watch",
113
+ "typecheck": "tsc --noEmit",
114
+ "clean": "rm -rf dist node_modules"
115
+ }
116
+ }
@@ -0,0 +1,529 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ * {
6
+ font-family: var(--font-plus-jakarta-sans);
7
+ overscroll-behavior-x: none;
8
+ }
9
+
10
+ @layer base {
11
+ :root,
12
+ .dark {
13
+ /*==== Nuvia Brand Colors ====*/
14
+ /* Zafiro */
15
+ --color-zafiro-100: 233 100% 98%;
16
+ --color-zafiro-200: 228 75% 89%;
17
+ --color-zafiro-300: 228 71% 80%;
18
+ --color-zafiro-400: 228 71% 71%;
19
+ --color-zafiro-500: 228 45% 55%;
20
+ --color-zafiro-600: 228 48% 40%;
21
+ --color-zafiro-700: 228 76% 24%;
22
+ --color-zafiro-800: 227 44% 13%;
23
+
24
+ /* Madrugada */
25
+ --color-madrugada-100: 235 100% 96%;
26
+ --color-madrugada-200: 236 71% 89%;
27
+ --color-madrugada-300: 236 64% 83%;
28
+ --color-madrugada-400: 235 58% 78%;
29
+ --color-madrugada-500: 235 41% 64%;
30
+ --color-madrugada-600: 235 34% 49%;
31
+ --color-madrugada-700: 235 51% 36%;
32
+ --color-madrugada-800: 235 51% 23%;
33
+
34
+ /* Nimbus */
35
+ --color-nimbus-200: 221 66% 94%;
36
+ --color-nimbus-300: 220 55% 91%;
37
+ --color-nimbus-400: 220 46% 88%;
38
+ --color-nimbus-500: 220 35% 80%;
39
+ --color-nimbus-600: 220 29% 71%;
40
+
41
+ /* Indigo */
42
+ --color-indigo-100: 217 100% 90%;
43
+ --color-indigo-200: 218 98% 76%;
44
+ --color-indigo-300: 218 99% 63%;
45
+ --color-indigo-400: 218 98% 50%;
46
+ --color-indigo-500: 217 98% 41%;
47
+ --color-indigo-600: 218 99% 32%;
48
+ --color-indigo-700: 218 100% 22%;
49
+ --color-indigo-800: 218 100% 12%;
50
+
51
+ /* Lumen */
52
+ --color-lumen-100: 152 81% 92%;
53
+ --color-lumen-200: 153 80% 76%;
54
+ --color-lumen-300: 153 81% 61%;
55
+ --color-lumen-400: 153 100% 45%;
56
+ --color-lumen-500: 153 99% 35%;
57
+ --color-lumen-600: 153 98% 24%;
58
+ --color-lumen-700: 154 100% 13%;
59
+ --color-lumen-800: 155 100% 6%;
60
+
61
+ /* Lilas */
62
+ --color-lilas-100: 295 59% 88%;
63
+ --color-lilas-200: 295 58% 79%;
64
+ --color-lilas-300: 295 59% 70%;
65
+ --color-lilas-400: 295 59% 61%;
66
+ --color-lilas-500: 295 37% 47%;
67
+ --color-lilas-600: 295 37% 33%;
68
+ --color-lilas-700: 295 38% 18%;
69
+ --color-lilas-800: 295 38% 18%;
70
+
71
+ /* Magenta */
72
+ --color-magenta-100: 337 83% 93%;
73
+ --color-magenta-200: 337 82% 80%;
74
+ --color-magenta-300: 337 83% 67%;
75
+ --color-magenta-400: 337 84% 55%;
76
+ --color-magenta-500: 337 70% 42%;
77
+ --color-magenta-600: 337 70% 29%;
78
+ --color-magenta-700: 337 69% 16%;
79
+ --color-magenta-800: 337 69% 16%;
80
+
81
+ /* Magma */
82
+ --color-magma-100: 22 100% 93%;
83
+ --color-magma-200: 21 100% 79%;
84
+ --color-magma-300: 22 100% 64%;
85
+ --color-magma-400: 22 100% 50%;
86
+ --color-magma-500: 22 100% 38%;
87
+ --color-magma-600: 22 100% 27%;
88
+ --color-magma-700: 22 100% 15%;
89
+ --color-magma-800: 22 100% 6%;
90
+
91
+ /* Off Black */
92
+ --color-off-black-400: 82% 76% 0% 85%;
93
+
94
+ /*==== Support Colors ====*/
95
+
96
+ /* Light */
97
+ --color-light-100: 0 0% 100%;
98
+ --color-light-200: 0 0% 98%;
99
+ --color-light-300: 240 5% 96%;
100
+ --color-light-400: 240 6% 90%;
101
+ --color-light-500: 240 5% 84%;
102
+ --color-light-600: 0 0% 68%;
103
+ --color-light-700: 240 5% 65%;
104
+
105
+ /* Dark */
106
+ --color-dark-100: 240 4% 46%;
107
+ --color-dark-200: 240 4% 39%;
108
+ --color-dark-300: 240 4% 32%;
109
+ --color-dark-400: 240 4% 25%;
110
+ --color-dark-500: 240 4% 18%;
111
+ --color-dark-600: 240 5% 11%;
112
+ --color-dark-700: 240 10% 4%;
113
+
114
+ /* Error */
115
+ --color-error-100: 0 100% 97%;
116
+ --color-error-200: 0 45% 78%;
117
+ --color-error-300: 0 100% 84%;
118
+ --color-error-500: 0 84% 60%;
119
+ --color-error-700: 0 28% 28%;
120
+ }
121
+
122
+ :root {
123
+ /*==== Interface Colors - LIGHT ====*/
124
+ --background: var(--color-light-100);
125
+ --background-default-light: var(--color-light-100);
126
+ --background-default-medium: var(--color-light-200);
127
+ --background-default-heavy: var(--color-light-300);
128
+ --background-default-accent: var(--color-light-400);
129
+ --background-primary-light: var(--color-zafiro-100);
130
+ --background-primary-medium: var(--color-zafiro-200);
131
+ --background-primary-heavy: var(--color-zafiro-300);
132
+ --background-secondary-light: var(--color-madrugada-100);
133
+ --background-secondary-medium: var(--color-madrugada-200);
134
+ --background-secondary-heavy: var(--color-madrugada-300);
135
+ --background-accent-light: var(--color-indigo-100);
136
+ --background-accent-medium: var(--color-indigo-200);
137
+ --background-accent-heavy: var(--color-indigo-300);
138
+ --background-accent-primary: var(--color-zafiro-400);
139
+ --background-accent-secondary: var(--color-madrugada-400);
140
+
141
+ --foreground: var(--color-dark-700);
142
+ --foreground-default-light: var(--color-light-300);
143
+ --foreground-default-xlight: var(--color-light-600);
144
+ --foreground-default-heavy: var(--color-dark-700);
145
+ --foreground-default-medium: var(--color-dark-500);
146
+ --foreground-primary-light: var(--color-zafiro-400);
147
+ --foreground-primary-heavy: var(--color-zafiro-600);
148
+ --foreground-primary-medium: var(--color-zafiro-500);
149
+ --foreground-secondary-light: var(--color-madrugada-500);
150
+ --foreground-secondary-heavy: var(--color-madrugada-700);
151
+ --foreground-secondary-medium: var(--color-madrugada-600);
152
+ --foreground-accent-light: var(--color-indigo-400);
153
+ --foreground-accent-heavy: var(--color-indigo-600);
154
+ --foreground-accent-medium: var(--color-indigo-500);
155
+
156
+ --card: var(--color-light-100);
157
+ --card-foreground: var(--color-dark-700);
158
+
159
+ --popover: var(--color-light-100);
160
+ --popover-foreground: 240 8% 9%;
161
+
162
+ --primary: var(--color-zafiro-500);
163
+ --primary-foreground: 218 100% 98%;
164
+
165
+ --secondary: var(--color-madrugada-100);
166
+ --secondary-foreground: var(--color-dark-600);
167
+ --secondary-card: var(--color-light-100);
168
+
169
+ --muted: var(--color-light-300);
170
+ --muted-foreground: var(--color-dark-100);
171
+
172
+ --accent: var(--color-light-300);
173
+ --accent-foreground: var(--color-dark-600);
174
+
175
+ --destructive: 0 84% 60%;
176
+ --destructive-foreground: var(--color-light-200);
177
+
178
+ --success: var(--color-lumen-100);
179
+ --success-foreground: var(--color-lumen-500);
180
+ --success-outline: var(--color-lumen-500);
181
+
182
+ --warning: var(--color-magma-100);
183
+ --warning-foreground: var(--color-magma-500);
184
+ --warning-outline: var(--color-magma-500);
185
+
186
+ --danger: var(--color-error-100);
187
+ --danger-foreground: var(--color-error-500);
188
+ --danger-outline: var(--color-error-500);
189
+
190
+ --border: var(--color-light-400);
191
+ --border-default-light: var(--color-light-300);
192
+ --border-default-medium: var(--color-light-400);
193
+ --border-default-heavy: var(--color-light-500);
194
+ --border-primary-light: var(--color-zafiro-200);
195
+ --border-primary-medium: var(--color-zafiro-300);
196
+ --border-primary-heavy: var(--color-zafiro-400);
197
+ --border-accent-light: var(--color-indigo-200);
198
+ --border-accent-medium: var(--color-indigo-300);
199
+ --border-accent-heavy: var(--color-indigo-400);
200
+
201
+ --border-medium: var(--color-light-600);
202
+ --input: var(--color-madrugada-200);
203
+ --ring: var(--color-dark-600);
204
+ --radius: 0.5rem;
205
+
206
+ --chart-1: 12 76% 61%;
207
+ --chart-2: 173 58% 39%;
208
+ --chart-3: 197 37% 24%;
209
+ --chart-4: 43 74% 66%;
210
+ --chart-5: 27 87% 67%;
211
+
212
+ --sidebar-background: var(--color-light-200);
213
+ --sidebar-foreground: 240 5.3% 26.1%;
214
+ --sidebar-primary: 240 5.9% 10%;
215
+ --sidebar-primary-foreground: var(--color-light-200);
216
+ --sidebar-accent: 240 4.8% 95.9%;
217
+ --sidebar-accent-foreground: 240 5.9% 10%;
218
+ --sidebar-border: 220 13% 91%;
219
+ --sidebar-ring: 217.2 91.2% 59.8%;
220
+
221
+ --text-default-primary: var(--color-dark-700);
222
+ --text-default-secondary: var(--color-dark-100);
223
+ --text-brand-primary: var(--color-zafiro-600);
224
+ --text-brand-secondary: var(--color-madrugada-500);
225
+ --text-links: var(--color-indigo-400);
226
+ --text-disabled: var(--color-light-600);
227
+ --text-default-inverted: var(--color-light-200);
228
+ --text-general-light: var(--color-light-100);
229
+ --text-general-dark: var(--color-dark-700);
230
+ }
231
+
232
+ .dark {
233
+ /*==== Interface Colors - DARK ====*/
234
+ --background: var(--color-dark-700);
235
+ --background-default-light: var(--color-dark-700);
236
+ --background-default-medium: var(--color-dark-600);
237
+ --background-default-heavy: var(--color-dark-500);
238
+ --background-default-accent: var(--color-dark-400);
239
+ --background-primary-light: var(--color-zafiro-900);
240
+ --background-primary-medium: var(--color-zafiro-800);
241
+ --background-primary-heavy: var(--color-zafiro-700);
242
+ --background-secondary-light: var(--color-madrugada-800);
243
+ --background-secondary-medium: var(--color-madrugada-700);
244
+ --background-secondary-heavy: var(--color-madrugada-600);
245
+ --background-accent-light: var(--color-indigo-600);
246
+ --background-accent-medium: var(--color-indigo-500);
247
+ --background-accent-heavy: var(--color-indigo-400);
248
+ --background-accent-primary: var(--color-zafiro-400);
249
+ --background-accent-secondary: var(--color-madrugada-400);
250
+
251
+ --foreground: var(--color-light-200);
252
+ --foreground-default-light: var(--color-light-500);
253
+ --foreground-default-xlight: var(--color-light-900);
254
+ --foreground-default-heavy: var(--color-dark-100);
255
+ --foreground-default-medium: var(--color-dark-300);
256
+ --foreground-primary-light: var(--color-zafiro-500);
257
+ --foreground-primary-heavy: var(--color-zafiro-300);
258
+ --foreground-primary-medium: var(--color-zafiro-400);
259
+ --foreground-secondary-light: var(--color-madrugada-300);
260
+ --foreground-secondary-heavy: var(--color-madrugada-100);
261
+ --foreground-secondary-medium: var(--color-madrugada-200);
262
+ --foreground-accent-light: var(--color-indigo-300);
263
+ --foreground-accent-heavy: var(--color-indigo-100);
264
+ --foreground-accent-medium: var(--color-indigo-200);
265
+
266
+ --card: var(--color-dark-700);
267
+ --card-foreground: var(--color-light-200);
268
+
269
+ --popover: var(--color-dark-500);
270
+ --popover-foreground: var(--color-light-200);
271
+
272
+ --primary: var(--color-zafiro-500);
273
+ --primary-foreground: 230 43% 5%;
274
+
275
+ --secondary: var(--color-madrugada-500);
276
+ --secondary-foreground: var(--color-light-200);
277
+ --secondary-card: 224 31% 7%;
278
+
279
+ --muted: var(--color-dark-500);
280
+ --muted-foreground: var(--color-light-700);
281
+
282
+ --accent: var(--color-dark-500);
283
+ --accent-foreground: var(--color-light-200);
284
+
285
+ --success: var(--color-lumen-800);
286
+ --success-foreground: var(--color-lumen-500);
287
+ --success-outline: var(--color-lumen-600);
288
+
289
+ --warning: var(--color-magma-800);
290
+ --warning-foreground: var(--color-magma-200);
291
+ --warning-outline: var(--color-magma-200);
292
+
293
+ --danger: var(--color-error-700);
294
+ --danger-foreground: var(--color-error-200);
295
+ --danger-outline: var(--color-error-200);
296
+
297
+ --border: var(--color-dark-500);
298
+ --border-default-light: var(--color-dark-500);
299
+ --border-default-medium: var(--color-dark-400);
300
+ --border-default-heavy: var(--color-dark-300);
301
+ --border-primary-light: var(--color-zafiro-700);
302
+ --border-primary-medium: var(--color-zafiro-700);
303
+ --border-primary-heavy: var(--color-zafiro-600);
304
+ --border-accent-light: var(--color-indigo-600);
305
+ --border-accent-medium: var(--color-indigo-500);
306
+ --border-accent-heavy: var(--color-indigo-400);
307
+
308
+ --border-medium: var(--color-dark-400);
309
+ --input: 238 30% 20%;
310
+ --ring: var(--color-light-500);
311
+ --radius: 0.5rem;
312
+
313
+ --chart-1: 220 70% 50%;
314
+ --chart-2: 160 60% 45%;
315
+ --chart-3: 30 80% 55%;
316
+ --chart-4: 280 65% 60%;
317
+ --chart-5: 340 75% 55%;
318
+
319
+ --sidebar-background: 240 5.9% 10%;
320
+ --sidebar-foreground: 240 4.8% 95.9%;
321
+ --sidebar-primary: 224.3 76.3% 48%;
322
+ --sidebar-primary-foreground: var(--color-light-100);
323
+ --sidebar-accent: 240 3.7% 15.9%;
324
+ --sidebar-accent-foreground: 240 4.8% 95.9%;
325
+ --sidebar-border: 240 3.7% 15.9%;
326
+ --sidebar-ring: 217.2 91.2% 59.8%;
327
+
328
+ --text-default-primary: var(--color-light-100);
329
+ --text-default-secondary: var(--color-light-600);
330
+ --text-brand-primary: var(--color-zafiro-200);
331
+ --text-brand-secondary: var(--color-madrugada-400);
332
+ --text-links: var(--color-indigo-300);
333
+ --text-disabled: var(--color-dark-200);
334
+ --text-default-inverted: var(--color-dark-700);
335
+ --text-general-light: var(--color-light-100);
336
+ --text-general-dark: var(--color-dark-800);
337
+ }
338
+ }
339
+
340
+ /* This layer is added by shadcn/ui */
341
+ @layer base {
342
+ * {
343
+ @apply border-border;
344
+ }
345
+ body {
346
+ @apply bg-background text-foreground;
347
+ }
348
+ }
349
+
350
+ /* This layer is by next-forge */
351
+ @layer base {
352
+ * {
353
+ @apply min-w-0;
354
+ }
355
+ html {
356
+ text-rendering: optimizelegibility;
357
+ }
358
+ body {
359
+ @apply min-h-[100dvh];
360
+ }
361
+ }
362
+
363
+ .spin-bg-animation {
364
+ background-size: 150% 150%;
365
+ animation: spin-bg 20s ease infinite;
366
+ background-origin: center;
367
+ }
368
+
369
+ .slide-up {
370
+ animation: slide-up 0.5s ease-in-out forwards;
371
+ }
372
+
373
+ @keyframes slide-up {
374
+ from {
375
+ transform: translateY(100%);
376
+ opacity: 0;
377
+ }
378
+ to {
379
+ transform: translateY(0);
380
+ opacity: 1;
381
+ }
382
+ }
383
+
384
+ @keyframes spin-bg {
385
+ 0% {
386
+ background-position: 0% 0%;
387
+ }
388
+ 25% {
389
+ background-position: 100% 0%;
390
+ }
391
+ 50% {
392
+ background-position: 100% 100%;
393
+ }
394
+ 75% {
395
+ background-position: 0% 100%;
396
+ }
397
+ 100% {
398
+ background-position: 0% 0%;
399
+ }
400
+ }
401
+
402
+ @layer utilities {
403
+ .flex-center {
404
+ @apply flex items-center justify-center;
405
+ }
406
+
407
+ .flex-center-col {
408
+ @apply flex flex-col items-center justify-center;
409
+ }
410
+
411
+ .flex-center-row {
412
+ @apply flex flex-row items-center justify-center;
413
+ }
414
+
415
+ .token-font-heading-1 {
416
+ @apply scroll-m-20 text-4xl leading-[46px] font-extrabold tracking-tight;
417
+ }
418
+
419
+ .token-font-heading-2 {
420
+ @apply scroll-m-20 pb-2 text-3xl font-semibold tracking-tight first:mt-0;
421
+ }
422
+
423
+ .token-font-heading-3 {
424
+ @apply scroll-m-20 text-2xl font-semibold tracking-tight;
425
+ }
426
+
427
+ .token-font-heading-4 {
428
+ @apply scroll-m-20 text-xl font-semibold tracking-tight;
429
+ }
430
+
431
+ .token-font-paragraph {
432
+ @apply leading-7 [&:not(:first-child)]:mt-6;
433
+ }
434
+
435
+ .token-font-blockquote {
436
+ @apply mt-6 border-l-2 pl-6 italic;
437
+ }
438
+
439
+ .token-font-inline-code {
440
+ @apply relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold;
441
+ }
442
+
443
+ .token-font-lead {
444
+ @apply text-base font-bold;
445
+ }
446
+
447
+ .token-font-large {
448
+ @apply text-lg font-semibold;
449
+ }
450
+
451
+ .token-font-medium {
452
+ @apply text-base leading-normal;
453
+ }
454
+
455
+ .token-font-small {
456
+ @apply text-sm;
457
+ }
458
+
459
+ .token-font-small-title {
460
+ @apply text-sm leading-[0.875rem] font-medium;
461
+ }
462
+
463
+ .token-font-extra-small-title {
464
+ @apply text-xs font-semibold;
465
+ }
466
+
467
+ .token-font-extra-small {
468
+ @apply text-xs;
469
+ }
470
+
471
+ .token-font-minimum {
472
+ @apply text-[0.5625rem];
473
+ }
474
+
475
+ .token-font-subtle {
476
+ @apply text-sm leading-tight;
477
+ }
478
+
479
+ .token-font-muted {
480
+ @apply text-sm text-muted-foreground;
481
+ }
482
+
483
+ /* Gradients */
484
+ .nuvia-gradient-1 {
485
+ @apply bg-gradient-to-r from-nuvia-indigo-400 to-nuvia-lilas-400;
486
+ }
487
+
488
+ .nuvia-gradient-2 {
489
+ @apply bg-gradient-to-r from-nuvia-magenta-400 to-nuvia-magma-400;
490
+ }
491
+
492
+ .marketing-gradient {
493
+ @apply bg-gradient-to-r from-nuvia-magenta-400 to-nuvia-magma-400;
494
+ }
495
+
496
+ .fade-in-gradient-to-t {
497
+ @apply bg-gradient-to-t from-transparent to-background;
498
+ }
499
+
500
+ .fade-in-gradient-to-b {
501
+ @apply bg-gradient-to-b from-transparent to-background;
502
+ }
503
+
504
+ .fade-in-gradient-to-r {
505
+ @apply bg-gradient-to-r from-transparent to-background;
506
+ }
507
+
508
+ .fade-in-gradient-to-l {
509
+ @apply bg-gradient-to-l from-transparent to-background;
510
+ }
511
+ }
512
+
513
+ /*Icon Gradient*/
514
+ .icon-gradient {
515
+ /* 1. Set the background image to your gradient */
516
+ background-image: linear-gradient(to right, #e72c83, #a742c6); /* */
517
+ /* Optional: Adjust size and other properties */
518
+ font-size: 40px;
519
+ }
520
+
521
+ /* Apply text gradient only for non-SVG elements to avoid transparent SVG icons */
522
+ .icon-gradient:not(svg) {
523
+ /* 2. Clip the background to the text shape */
524
+ -webkit-background-clip: text;
525
+ background-clip: text;
526
+ /* 3. Make the actual text color transparent so the gradient shows through */
527
+ -webkit-text-fill-color: transparent;
528
+ color: transparent; /* */
529
+ }