bynana-ui 1.0.0 → 1.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 (113) hide show
  1. package/dist/avatar/index.js +2 -0
  2. package/dist/avatar/index.js.map +1 -0
  3. package/dist/avatar/index.mjs +2 -0
  4. package/dist/avatar/index.mjs.map +1 -0
  5. package/dist/badge/index.js +2 -0
  6. package/dist/badge/index.js.map +1 -0
  7. package/dist/badge/index.mjs +2 -0
  8. package/dist/badge/index.mjs.map +1 -0
  9. package/dist/count-up/index.js +2 -0
  10. package/dist/count-up/index.js.map +1 -0
  11. package/dist/count-up/index.mjs +2 -0
  12. package/dist/count-up/index.mjs.map +1 -0
  13. package/dist/dynamic-text/index.js +2 -0
  14. package/dist/dynamic-text/index.js.map +1 -0
  15. package/dist/dynamic-text/index.mjs +2 -0
  16. package/dist/dynamic-text/index.mjs.map +1 -0
  17. package/dist/fuzzy-text/index.js +2 -0
  18. package/dist/fuzzy-text/index.js.map +1 -0
  19. package/dist/fuzzy-text/index.mjs +2 -0
  20. package/dist/fuzzy-text/index.mjs.map +1 -0
  21. package/dist/gradient-button/index.js +2 -0
  22. package/dist/gradient-button/index.js.map +1 -0
  23. package/dist/gradient-button/index.mjs +2 -0
  24. package/dist/gradient-button/index.mjs.map +1 -0
  25. package/dist/hold-button/index.js +2 -0
  26. package/dist/hold-button/index.js.map +1 -0
  27. package/dist/hold-button/index.mjs +2 -0
  28. package/dist/hold-button/index.mjs.map +1 -0
  29. package/dist/index.js +11 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/index.mjs +11 -1
  32. package/dist/index.mjs.map +1 -1
  33. package/dist/liquid-button/index.js +2 -0
  34. package/dist/liquid-button/index.js.map +1 -0
  35. package/dist/liquid-button/index.mjs +2 -0
  36. package/dist/liquid-button/index.mjs.map +1 -0
  37. package/dist/liquid-text/index.js +2 -0
  38. package/dist/liquid-text/index.js.map +1 -0
  39. package/dist/liquid-text/index.mjs +2 -0
  40. package/dist/liquid-text/index.mjs.map +1 -0
  41. package/dist/loading-bar/index.js +2 -0
  42. package/dist/loading-bar/index.js.map +1 -0
  43. package/dist/loading-bar/index.mjs +2 -0
  44. package/dist/loading-bar/index.mjs.map +1 -0
  45. package/dist/loading-bounce/index.js +2 -0
  46. package/dist/loading-bounce/index.js.map +1 -0
  47. package/dist/loading-bounce/index.mjs +2 -0
  48. package/dist/loading-bounce/index.mjs.map +1 -0
  49. package/dist/loading-pulse/index.js +2 -0
  50. package/dist/loading-pulse/index.js.map +1 -0
  51. package/dist/loading-pulse/index.mjs +2 -0
  52. package/dist/loading-pulse/index.mjs.map +1 -0
  53. package/dist/magnetic-text/index.js +2 -0
  54. package/dist/magnetic-text/index.js.map +1 -0
  55. package/dist/magnetic-text/index.mjs +2 -0
  56. package/dist/magnetic-text/index.mjs.map +1 -0
  57. package/dist/matrix-text/index.js +2 -0
  58. package/dist/matrix-text/index.js.map +1 -0
  59. package/dist/matrix-text/index.mjs +2 -0
  60. package/dist/matrix-text/index.mjs.map +1 -0
  61. package/dist/neon-button/index.js +2 -0
  62. package/dist/neon-button/index.js.map +1 -0
  63. package/dist/neon-button/index.mjs +2 -0
  64. package/dist/neon-button/index.mjs.map +1 -0
  65. package/dist/progress/index.js +2 -0
  66. package/dist/progress/index.js.map +1 -0
  67. package/dist/progress/index.mjs +2 -0
  68. package/dist/progress/index.mjs.map +1 -0
  69. package/dist/rainbow-text/index.js +7 -0
  70. package/dist/rainbow-text/index.js.map +1 -0
  71. package/dist/rainbow-text/index.mjs +7 -0
  72. package/dist/rainbow-text/index.mjs.map +1 -0
  73. package/dist/rotating-text/index.js +2 -0
  74. package/dist/rotating-text/index.js.map +1 -0
  75. package/dist/rotating-text/index.mjs +2 -0
  76. package/dist/rotating-text/index.mjs.map +1 -0
  77. package/dist/scrambled-text/index.js +2 -0
  78. package/dist/scrambled-text/index.js.map +1 -0
  79. package/dist/scrambled-text/index.mjs +2 -0
  80. package/dist/scrambled-text/index.mjs.map +1 -0
  81. package/dist/shiny-text/index.js +7 -0
  82. package/dist/shiny-text/index.js.map +1 -0
  83. package/dist/shiny-text/index.mjs +7 -0
  84. package/dist/shiny-text/index.mjs.map +1 -0
  85. package/dist/skeleton/index.js +2 -0
  86. package/dist/skeleton/index.js.map +1 -0
  87. package/dist/skeleton/index.mjs +2 -0
  88. package/dist/skeleton/index.mjs.map +1 -0
  89. package/dist/slide-button/index.js +2 -0
  90. package/dist/slide-button/index.js.map +1 -0
  91. package/dist/slide-button/index.mjs +2 -0
  92. package/dist/slide-button/index.mjs.map +1 -0
  93. package/dist/stagger-text/index.js +2 -0
  94. package/dist/stagger-text/index.js.map +1 -0
  95. package/dist/stagger-text/index.mjs +2 -0
  96. package/dist/stagger-text/index.mjs.map +1 -0
  97. package/dist/switch/index.js +2 -0
  98. package/dist/switch/index.js.map +1 -0
  99. package/dist/switch/index.mjs +2 -0
  100. package/dist/switch/index.mjs.map +1 -0
  101. package/dist/swoosh-text/index.js +2 -0
  102. package/dist/swoosh-text/index.js.map +1 -0
  103. package/dist/swoosh-text/index.mjs +2 -0
  104. package/dist/swoosh-text/index.mjs.map +1 -0
  105. package/dist/threed-button/index.js +2 -0
  106. package/dist/threed-button/index.js.map +1 -0
  107. package/dist/threed-button/index.mjs +2 -0
  108. package/dist/threed-button/index.mjs.map +1 -0
  109. package/dist/tooltip/index.js +2 -0
  110. package/dist/tooltip/index.js.map +1 -0
  111. package/dist/tooltip/index.mjs +2 -0
  112. package/dist/tooltip/index.mjs.map +1 -0
  113. package/package.json +137 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/threed-button/index.tsx"],"names":["cn","inputs","twMerge","clsx","variants","sizes","ThreeDButton","children","className","variant","size","props","colors","jsx","motion","threed_button_default"],"mappings":"oIAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,CAAM,CAAC,CAC7B,CCKA,IAAMG,CAAAA,CAAW,CACf,QAAS,CACP,EAAA,CAAI,aAAA,CACJ,MAAA,CAAQ,iBAAA,CACR,KAAA,CAAO,mBACT,CAAA,CACA,SAAA,CAAW,CACT,EAAA,CAAI,aAAA,CACJ,MAAA,CAAQ,iBAAA,CACR,KAAA,CAAO,mBACT,EACA,MAAA,CAAQ,CACN,EAAA,CAAI,YAAA,CACJ,MAAA,CAAQ,gBAAA,CACR,KAAA,CAAO,kBACT,CACF,CAAA,CAEMC,CAAAA,CAAQ,CACZ,EAAA,CAAI,mBAAA,CACJ,EAAA,CAAI,qBAAA,CACJ,GAAI,mBACN,CAAA,CAEO,SAASC,CAAAA,CAAa,CAC3B,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,SAAA,CACV,IAAA,CAAAC,CAAAA,CAAO,IAAA,CACP,GAAGC,CACL,CAAA,CAAsB,CACpB,IAAMC,CAAAA,CAASR,CAAAA,CAASK,CAAO,CAAA,CAE/B,OACEI,GAAAA,CAACC,MAAAA,CAAO,MAAA,CAAP,CACC,SAAA,CAAWd,CAAAA,CACT,8CAAA,CACA,oBAAA,CACAY,EAAO,EAAA,CACPA,CAAAA,CAAO,MAAA,CACPA,CAAAA,CAAO,KAAA,CACPP,CAAAA,CAAMK,CAAI,CAAA,CACVF,CACF,CAAA,CACA,UAAA,CAAY,CAAE,CAAA,CAAG,EAAG,CAAA,CACpB,QAAA,CAAU,CAAE,CAAA,CAAG,CAAA,CAAG,SAAA,CAAW,WAAY,CAAA,CACzC,UAAA,CAAY,CAAE,QAAA,CAAU,EAAI,CAAA,CAC3B,GAAGG,CAAAA,CAEH,QAAA,CAAAJ,CAAAA,CACH,CAEJ,KAEOQ,CAAAA,CAAQT","file":"index.mjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","\"use client\";\r\n\r\nimport { motion } from \"framer-motion\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\ninterface ThreeDButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n variant?: \"primary\" | \"secondary\" | \"danger\";\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n}\r\n\r\nconst variants = {\r\n primary: {\r\n bg: \"bg-blue-500\",\r\n shadow: \"shadow-blue-700\",\r\n hover: \"hover:bg-blue-600\",\r\n },\r\n secondary: {\r\n bg: \"bg-zinc-700\",\r\n shadow: \"shadow-zinc-900\",\r\n hover: \"hover:bg-zinc-800\",\r\n },\r\n danger: {\r\n bg: \"bg-red-500\",\r\n shadow: \"shadow-red-700\",\r\n hover: \"hover:bg-red-600\",\r\n },\r\n};\r\n\r\nconst sizes = {\r\n sm: \"px-4 py-2 text-sm\",\r\n md: \"px-6 py-3 text-base\",\r\n lg: \"px-8 py-4 text-lg\",\r\n};\r\n\r\nexport function ThreeDButton({\r\n children,\r\n className,\r\n variant = \"primary\",\r\n size = \"md\",\r\n ...props\r\n}: ThreeDButtonProps) {\r\n const colors = variants[variant];\r\n\r\n return (\r\n <motion.button\r\n className={cn(\r\n \"relative rounded-lg font-semibold text-white\",\r\n \"shadow-[0_6px_0_0]\",\r\n colors.bg,\r\n colors.shadow,\r\n colors.hover,\r\n sizes[size],\r\n className\r\n )}\r\n whileHover={{ y: -2 }}\r\n whileTap={{ y: 4, boxShadow: \"0 2px 0 0\" }}\r\n transition={{ duration: 0.1 }}\r\n {...props}\r\n >\r\n {children}\r\n </motion.button>\r\n );\r\n}\r\n\r\nexport default ThreeDButton;\r\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var react=require('react'),framerMotion=require('framer-motion'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function o(...i){return tailwindMerge.twMerge(clsx.clsx(i))}function x({children:i,content:l,position:t="top",className:r}){let[s,a]=react.useState(false),m={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"},e={top:{initial:{opacity:0,y:5},animate:{opacity:1,y:0}},bottom:{initial:{opacity:0,y:-5},animate:{opacity:1,y:0}},left:{initial:{opacity:0,x:5},animate:{opacity:1,x:0}},right:{initial:{opacity:0,x:-5},animate:{opacity:1,x:0}}};return jsxRuntime.jsxs("div",{className:"relative inline-block",onMouseEnter:()=>a(true),onMouseLeave:()=>a(false),children:[i,jsxRuntime.jsx(framerMotion.AnimatePresence,{children:s&&jsxRuntime.jsx(framerMotion.motion.div,{className:o("absolute z-50 px-2 py-1 text-sm text-white bg-zinc-900 dark:bg-zinc-100 dark:text-zinc-900 rounded whitespace-nowrap",m[t],r),initial:e[t].initial,animate:e[t].animate,exit:e[t].initial,transition:{duration:.15},children:l})})]})}var N=x;exports.Tooltip=x;exports.default=N;//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/tooltip/index.tsx"],"names":["cn","inputs","twMerge","clsx","Tooltip","children","content","position","className","isVisible","setIsVisible","useState","positions","animations","jsxs","jsx","AnimatePresence","motion","tooltip_default"],"mappings":"4OAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,qBAAAA,CAAQC,UAAKF,CAAM,CAAC,CAC7B,CCQO,SAASG,EAAQ,CACtB,QAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,SAAAC,CAAAA,CAAW,KAAA,CACX,SAAA,CAAAC,CACF,CAAA,CAAiB,CACf,GAAM,CAACC,CAAAA,CAAWC,CAAY,CAAA,CAAIC,cAAAA,CAAS,KAAK,CAAA,CAE1CC,CAAAA,CAAY,CAChB,GAAA,CAAK,4CAAA,CACL,OAAQ,yCAAA,CACR,IAAA,CAAM,2CACN,KAAA,CAAO,yCACT,EAEMC,CAAAA,CAAa,CACjB,GAAA,CAAK,CAAE,OAAA,CAAS,CAAE,QAAS,CAAA,CAAG,CAAA,CAAG,CAAE,CAAA,CAAG,OAAA,CAAS,CAAE,OAAA,CAAS,CAAA,CAAG,CAAA,CAAG,CAAE,CAAE,CAAA,CACpE,OAAQ,CAAE,OAAA,CAAS,CAAE,OAAA,CAAS,CAAA,CAAG,EAAG,EAAG,CAAA,CAAG,OAAA,CAAS,CAAE,OAAA,CAAS,CAAA,CAAG,EAAG,CAAE,CAAE,EACxE,IAAA,CAAM,CAAE,QAAS,CAAE,OAAA,CAAS,EAAG,CAAA,CAAG,CAAE,EAAG,OAAA,CAAS,CAAE,QAAS,CAAA,CAAG,CAAA,CAAG,CAAE,CAAE,CAAA,CACrE,KAAA,CAAO,CAAE,OAAA,CAAS,CAAE,QAAS,CAAA,CAAG,CAAA,CAAG,EAAG,CAAA,CAAG,OAAA,CAAS,CAAE,OAAA,CAAS,CAAA,CAAG,CAAA,CAAG,CAAE,CAAE,CACzE,EAEA,OACEC,eAAAA,CAAC,OACC,SAAA,CAAU,uBAAA,CACV,aAAc,IAAMJ,CAAAA,CAAa,IAAI,CAAA,CACrC,YAAA,CAAc,IAAMA,EAAa,KAAK,CAAA,CAErC,UAAAL,CAAAA,CACDU,cAAAA,CAACC,6BAAA,CACE,QAAA,CAAAP,GACCM,cAAAA,CAACE,mBAAAA,CAAO,IAAP,CACC,SAAA,CAAWjB,EACT,sHAAA,CACAY,CAAAA,CAAUL,CAAQ,CAAA,CAClBC,CACF,CAAA,CACA,OAAA,CAASK,CAAAA,CAAWN,CAAQ,EAAE,OAAA,CAC9B,OAAA,CAASM,EAAWN,CAAQ,CAAA,CAAE,QAC9B,IAAA,CAAMM,CAAAA,CAAWN,CAAQ,CAAA,CAAE,OAAA,CAC3B,UAAA,CAAY,CAAE,QAAA,CAAU,GAAK,EAE5B,QAAA,CAAAD,CAAAA,CACH,EAEJ,CAAA,CAAA,CACF,CAEJ,CAEA,IAAOY,CAAAA,CAAQd","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","\"use client\";\r\n\r\nimport { useState } from \"react\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\ninterface TooltipProps {\r\n children: React.ReactNode;\r\n content: string;\r\n position?: \"top\" | \"bottom\" | \"left\" | \"right\";\r\n className?: string;\r\n}\r\n\r\nexport function Tooltip({ \r\n children, \r\n content, \r\n position = \"top\",\r\n className \r\n}: TooltipProps) {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const positions = {\r\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\r\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\r\n left: \"right-full top-1/2 -translate-y-1/2 mr-2\",\r\n right: \"left-full top-1/2 -translate-y-1/2 ml-2\",\r\n };\r\n\r\n const animations = {\r\n top: { initial: { opacity: 0, y: 5 }, animate: { opacity: 1, y: 0 } },\r\n bottom: { initial: { opacity: 0, y: -5 }, animate: { opacity: 1, y: 0 } },\r\n left: { initial: { opacity: 0, x: 5 }, animate: { opacity: 1, x: 0 } },\r\n right: { initial: { opacity: 0, x: -5 }, animate: { opacity: 1, x: 0 } },\r\n };\r\n\r\n return (\r\n <div\r\n className=\"relative inline-block\"\r\n onMouseEnter={() => setIsVisible(true)}\r\n onMouseLeave={() => setIsVisible(false)}\r\n >\r\n {children}\r\n <AnimatePresence>\r\n {isVisible && (\r\n <motion.div\r\n className={cn(\r\n \"absolute z-50 px-2 py-1 text-sm text-white bg-zinc-900 dark:bg-zinc-100 dark:text-zinc-900 rounded whitespace-nowrap\",\r\n positions[position],\r\n className\r\n )}\r\n initial={animations[position].initial}\r\n animate={animations[position].animate}\r\n exit={animations[position].initial}\r\n transition={{ duration: 0.15 }}\r\n >\r\n {content}\r\n </motion.div>\r\n )}\r\n </AnimatePresence>\r\n </div>\r\n );\r\n}\r\n\r\nexport default Tooltip;\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {useState}from'react';import {AnimatePresence,motion}from'framer-motion';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsxs,jsx}from'react/jsx-runtime';function o(...i){return twMerge(clsx(i))}function x({children:i,content:l,position:t="top",className:r}){let[s,a]=useState(false),m={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"},e={top:{initial:{opacity:0,y:5},animate:{opacity:1,y:0}},bottom:{initial:{opacity:0,y:-5},animate:{opacity:1,y:0}},left:{initial:{opacity:0,x:5},animate:{opacity:1,x:0}},right:{initial:{opacity:0,x:-5},animate:{opacity:1,x:0}}};return jsxs("div",{className:"relative inline-block",onMouseEnter:()=>a(true),onMouseLeave:()=>a(false),children:[i,jsx(AnimatePresence,{children:s&&jsx(motion.div,{className:o("absolute z-50 px-2 py-1 text-sm text-white bg-zinc-900 dark:bg-zinc-100 dark:text-zinc-900 rounded whitespace-nowrap",m[t],r),initial:e[t].initial,animate:e[t].animate,exit:e[t].initial,transition:{duration:.15},children:l})})]})}var N=x;export{x as Tooltip,N as default};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/tooltip/index.tsx"],"names":["cn","inputs","twMerge","clsx","Tooltip","children","content","position","className","isVisible","setIsVisible","useState","positions","animations","jsxs","jsx","AnimatePresence","motion","tooltip_default"],"mappings":"sLAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,KAAKF,CAAM,CAAC,CAC7B,CCQO,SAASG,EAAQ,CACtB,QAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,SAAAC,CAAAA,CAAW,KAAA,CACX,SAAA,CAAAC,CACF,CAAA,CAAiB,CACf,GAAM,CAACC,CAAAA,CAAWC,CAAY,CAAA,CAAIC,QAAAA,CAAS,KAAK,CAAA,CAE1CC,CAAAA,CAAY,CAChB,GAAA,CAAK,4CAAA,CACL,OAAQ,yCAAA,CACR,IAAA,CAAM,2CACN,KAAA,CAAO,yCACT,EAEMC,CAAAA,CAAa,CACjB,GAAA,CAAK,CAAE,OAAA,CAAS,CAAE,QAAS,CAAA,CAAG,CAAA,CAAG,CAAE,CAAA,CAAG,OAAA,CAAS,CAAE,OAAA,CAAS,CAAA,CAAG,CAAA,CAAG,CAAE,CAAE,CAAA,CACpE,OAAQ,CAAE,OAAA,CAAS,CAAE,OAAA,CAAS,CAAA,CAAG,EAAG,EAAG,CAAA,CAAG,OAAA,CAAS,CAAE,OAAA,CAAS,CAAA,CAAG,EAAG,CAAE,CAAE,EACxE,IAAA,CAAM,CAAE,QAAS,CAAE,OAAA,CAAS,EAAG,CAAA,CAAG,CAAE,EAAG,OAAA,CAAS,CAAE,QAAS,CAAA,CAAG,CAAA,CAAG,CAAE,CAAE,CAAA,CACrE,KAAA,CAAO,CAAE,OAAA,CAAS,CAAE,QAAS,CAAA,CAAG,CAAA,CAAG,EAAG,CAAA,CAAG,OAAA,CAAS,CAAE,OAAA,CAAS,CAAA,CAAG,CAAA,CAAG,CAAE,CAAE,CACzE,EAEA,OACEC,IAAAA,CAAC,OACC,SAAA,CAAU,uBAAA,CACV,aAAc,IAAMJ,CAAAA,CAAa,IAAI,CAAA,CACrC,YAAA,CAAc,IAAMA,EAAa,KAAK,CAAA,CAErC,UAAAL,CAAAA,CACDU,GAAAA,CAACC,gBAAA,CACE,QAAA,CAAAP,GACCM,GAAAA,CAACE,MAAAA,CAAO,IAAP,CACC,SAAA,CAAWjB,EACT,sHAAA,CACAY,CAAAA,CAAUL,CAAQ,CAAA,CAClBC,CACF,CAAA,CACA,OAAA,CAASK,CAAAA,CAAWN,CAAQ,EAAE,OAAA,CAC9B,OAAA,CAASM,EAAWN,CAAQ,CAAA,CAAE,QAC9B,IAAA,CAAMM,CAAAA,CAAWN,CAAQ,CAAA,CAAE,OAAA,CAC3B,UAAA,CAAY,CAAE,QAAA,CAAU,GAAK,EAE5B,QAAA,CAAAD,CAAAA,CACH,EAEJ,CAAA,CAAA,CACF,CAEJ,CAEA,IAAOY,CAAAA,CAAQd","file":"index.mjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","\"use client\";\r\n\r\nimport { useState } from \"react\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\ninterface TooltipProps {\r\n children: React.ReactNode;\r\n content: string;\r\n position?: \"top\" | \"bottom\" | \"left\" | \"right\";\r\n className?: string;\r\n}\r\n\r\nexport function Tooltip({ \r\n children, \r\n content, \r\n position = \"top\",\r\n className \r\n}: TooltipProps) {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const positions = {\r\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\r\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\r\n left: \"right-full top-1/2 -translate-y-1/2 mr-2\",\r\n right: \"left-full top-1/2 -translate-y-1/2 ml-2\",\r\n };\r\n\r\n const animations = {\r\n top: { initial: { opacity: 0, y: 5 }, animate: { opacity: 1, y: 0 } },\r\n bottom: { initial: { opacity: 0, y: -5 }, animate: { opacity: 1, y: 0 } },\r\n left: { initial: { opacity: 0, x: 5 }, animate: { opacity: 1, x: 0 } },\r\n right: { initial: { opacity: 0, x: -5 }, animate: { opacity: 1, x: 0 } },\r\n };\r\n\r\n return (\r\n <div\r\n className=\"relative inline-block\"\r\n onMouseEnter={() => setIsVisible(true)}\r\n onMouseLeave={() => setIsVisible(false)}\r\n >\r\n {children}\r\n <AnimatePresence>\r\n {isVisible && (\r\n <motion.div\r\n className={cn(\r\n \"absolute z-50 px-2 py-1 text-sm text-white bg-zinc-900 dark:bg-zinc-100 dark:text-zinc-900 rounded whitespace-nowrap\",\r\n positions[position],\r\n className\r\n )}\r\n initial={animations[position].initial}\r\n animate={animations[position].animate}\r\n exit={animations[position].initial}\r\n transition={{ duration: 0.15 }}\r\n >\r\n {content}\r\n </motion.div>\r\n )}\r\n </AnimatePresence>\r\n </div>\r\n );\r\n}\r\n\r\nexport default Tooltip;\r\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bynana-ui",
3
- "version": "1.0.0",
4
- "description": "200+ Beautiful React UI components built with Tailwind CSS and Framer Motion",
3
+ "version": "1.1.0",
4
+ "description": "50+ Beautiful React UI components built with Tailwind CSS and Framer Motion",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",
@@ -41,6 +41,36 @@
41
41
  "require": "./dist/pulse-button/index.js",
42
42
  "types": "./dist/pulse-button/index.d.ts"
43
43
  },
44
+ "./neon-button": {
45
+ "import": "./dist/neon-button/index.mjs",
46
+ "require": "./dist/neon-button/index.js",
47
+ "types": "./dist/neon-button/index.d.ts"
48
+ },
49
+ "./liquid-button": {
50
+ "import": "./dist/liquid-button/index.mjs",
51
+ "require": "./dist/liquid-button/index.js",
52
+ "types": "./dist/liquid-button/index.d.ts"
53
+ },
54
+ "./slide-button": {
55
+ "import": "./dist/slide-button/index.mjs",
56
+ "require": "./dist/slide-button/index.js",
57
+ "types": "./dist/slide-button/index.d.ts"
58
+ },
59
+ "./gradient-button": {
60
+ "import": "./dist/gradient-button/index.mjs",
61
+ "require": "./dist/gradient-button/index.js",
62
+ "types": "./dist/gradient-button/index.d.ts"
63
+ },
64
+ "./hold-button": {
65
+ "import": "./dist/hold-button/index.mjs",
66
+ "require": "./dist/hold-button/index.js",
67
+ "types": "./dist/hold-button/index.d.ts"
68
+ },
69
+ "./threed-button": {
70
+ "import": "./dist/threed-button/index.mjs",
71
+ "require": "./dist/threed-button/index.js",
72
+ "types": "./dist/threed-button/index.d.ts"
73
+ },
44
74
  "./gradient-text": {
45
75
  "import": "./dist/gradient-text/index.mjs",
46
76
  "require": "./dist/gradient-text/index.js",
@@ -81,6 +111,66 @@
81
111
  "require": "./dist/flip-text/index.js",
82
112
  "types": "./dist/flip-text/index.d.ts"
83
113
  },
114
+ "./shiny-text": {
115
+ "import": "./dist/shiny-text/index.mjs",
116
+ "require": "./dist/shiny-text/index.js",
117
+ "types": "./dist/shiny-text/index.d.ts"
118
+ },
119
+ "./fuzzy-text": {
120
+ "import": "./dist/fuzzy-text/index.mjs",
121
+ "require": "./dist/fuzzy-text/index.js",
122
+ "types": "./dist/fuzzy-text/index.d.ts"
123
+ },
124
+ "./matrix-text": {
125
+ "import": "./dist/matrix-text/index.mjs",
126
+ "require": "./dist/matrix-text/index.js",
127
+ "types": "./dist/matrix-text/index.d.ts"
128
+ },
129
+ "./liquid-text": {
130
+ "import": "./dist/liquid-text/index.mjs",
131
+ "require": "./dist/liquid-text/index.js",
132
+ "types": "./dist/liquid-text/index.d.ts"
133
+ },
134
+ "./swoosh-text": {
135
+ "import": "./dist/swoosh-text/index.mjs",
136
+ "require": "./dist/swoosh-text/index.js",
137
+ "types": "./dist/swoosh-text/index.d.ts"
138
+ },
139
+ "./scrambled-text": {
140
+ "import": "./dist/scrambled-text/index.mjs",
141
+ "require": "./dist/scrambled-text/index.js",
142
+ "types": "./dist/scrambled-text/index.d.ts"
143
+ },
144
+ "./magnetic-text": {
145
+ "import": "./dist/magnetic-text/index.mjs",
146
+ "require": "./dist/magnetic-text/index.js",
147
+ "types": "./dist/magnetic-text/index.d.ts"
148
+ },
149
+ "./dynamic-text": {
150
+ "import": "./dist/dynamic-text/index.mjs",
151
+ "require": "./dist/dynamic-text/index.js",
152
+ "types": "./dist/dynamic-text/index.d.ts"
153
+ },
154
+ "./rotating-text": {
155
+ "import": "./dist/rotating-text/index.mjs",
156
+ "require": "./dist/rotating-text/index.js",
157
+ "types": "./dist/rotating-text/index.d.ts"
158
+ },
159
+ "./stagger-text": {
160
+ "import": "./dist/stagger-text/index.mjs",
161
+ "require": "./dist/stagger-text/index.js",
162
+ "types": "./dist/stagger-text/index.d.ts"
163
+ },
164
+ "./rainbow-text": {
165
+ "import": "./dist/rainbow-text/index.mjs",
166
+ "require": "./dist/rainbow-text/index.js",
167
+ "types": "./dist/rainbow-text/index.d.ts"
168
+ },
169
+ "./count-up": {
170
+ "import": "./dist/count-up/index.mjs",
171
+ "require": "./dist/count-up/index.js",
172
+ "types": "./dist/count-up/index.d.ts"
173
+ },
84
174
  "./glass-card": {
85
175
  "import": "./dist/glass-card/index.mjs",
86
176
  "require": "./dist/glass-card/index.js",
@@ -106,11 +196,56 @@
106
196
  "require": "./dist/loading-spinner/index.js",
107
197
  "types": "./dist/loading-spinner/index.d.ts"
108
198
  },
199
+ "./loading-bar": {
200
+ "import": "./dist/loading-bar/index.mjs",
201
+ "require": "./dist/loading-bar/index.js",
202
+ "types": "./dist/loading-bar/index.d.ts"
203
+ },
204
+ "./loading-pulse": {
205
+ "import": "./dist/loading-pulse/index.mjs",
206
+ "require": "./dist/loading-pulse/index.js",
207
+ "types": "./dist/loading-pulse/index.d.ts"
208
+ },
209
+ "./loading-bounce": {
210
+ "import": "./dist/loading-bounce/index.mjs",
211
+ "require": "./dist/loading-bounce/index.js",
212
+ "types": "./dist/loading-bounce/index.d.ts"
213
+ },
109
214
  "./animated-list": {
110
215
  "import": "./dist/animated-list/index.mjs",
111
216
  "require": "./dist/animated-list/index.js",
112
217
  "types": "./dist/animated-list/index.d.ts"
113
218
  },
219
+ "./skeleton": {
220
+ "import": "./dist/skeleton/index.mjs",
221
+ "require": "./dist/skeleton/index.js",
222
+ "types": "./dist/skeleton/index.d.ts"
223
+ },
224
+ "./tooltip": {
225
+ "import": "./dist/tooltip/index.mjs",
226
+ "require": "./dist/tooltip/index.js",
227
+ "types": "./dist/tooltip/index.d.ts"
228
+ },
229
+ "./badge": {
230
+ "import": "./dist/badge/index.mjs",
231
+ "require": "./dist/badge/index.js",
232
+ "types": "./dist/badge/index.d.ts"
233
+ },
234
+ "./avatar": {
235
+ "import": "./dist/avatar/index.mjs",
236
+ "require": "./dist/avatar/index.js",
237
+ "types": "./dist/avatar/index.d.ts"
238
+ },
239
+ "./progress": {
240
+ "import": "./dist/progress/index.mjs",
241
+ "require": "./dist/progress/index.js",
242
+ "types": "./dist/progress/index.d.ts"
243
+ },
244
+ "./switch": {
245
+ "import": "./dist/switch/index.mjs",
246
+ "require": "./dist/switch/index.js",
247
+ "types": "./dist/switch/index.d.ts"
248
+ },
114
249
  "./styles.css": "./dist/styles.css"
115
250
  },
116
251
  "files": [