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.
- package/dist/avatar/index.js +2 -0
- package/dist/avatar/index.js.map +1 -0
- package/dist/avatar/index.mjs +2 -0
- package/dist/avatar/index.mjs.map +1 -0
- package/dist/badge/index.js +2 -0
- package/dist/badge/index.js.map +1 -0
- package/dist/badge/index.mjs +2 -0
- package/dist/badge/index.mjs.map +1 -0
- package/dist/count-up/index.js +2 -0
- package/dist/count-up/index.js.map +1 -0
- package/dist/count-up/index.mjs +2 -0
- package/dist/count-up/index.mjs.map +1 -0
- package/dist/dynamic-text/index.js +2 -0
- package/dist/dynamic-text/index.js.map +1 -0
- package/dist/dynamic-text/index.mjs +2 -0
- package/dist/dynamic-text/index.mjs.map +1 -0
- package/dist/fuzzy-text/index.js +2 -0
- package/dist/fuzzy-text/index.js.map +1 -0
- package/dist/fuzzy-text/index.mjs +2 -0
- package/dist/fuzzy-text/index.mjs.map +1 -0
- package/dist/gradient-button/index.js +2 -0
- package/dist/gradient-button/index.js.map +1 -0
- package/dist/gradient-button/index.mjs +2 -0
- package/dist/gradient-button/index.mjs.map +1 -0
- package/dist/hold-button/index.js +2 -0
- package/dist/hold-button/index.js.map +1 -0
- package/dist/hold-button/index.mjs +2 -0
- package/dist/hold-button/index.mjs.map +1 -0
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -1
- package/dist/index.mjs.map +1 -1
- package/dist/liquid-button/index.js +2 -0
- package/dist/liquid-button/index.js.map +1 -0
- package/dist/liquid-button/index.mjs +2 -0
- package/dist/liquid-button/index.mjs.map +1 -0
- package/dist/liquid-text/index.js +2 -0
- package/dist/liquid-text/index.js.map +1 -0
- package/dist/liquid-text/index.mjs +2 -0
- package/dist/liquid-text/index.mjs.map +1 -0
- package/dist/loading-bar/index.js +2 -0
- package/dist/loading-bar/index.js.map +1 -0
- package/dist/loading-bar/index.mjs +2 -0
- package/dist/loading-bar/index.mjs.map +1 -0
- package/dist/loading-bounce/index.js +2 -0
- package/dist/loading-bounce/index.js.map +1 -0
- package/dist/loading-bounce/index.mjs +2 -0
- package/dist/loading-bounce/index.mjs.map +1 -0
- package/dist/loading-pulse/index.js +2 -0
- package/dist/loading-pulse/index.js.map +1 -0
- package/dist/loading-pulse/index.mjs +2 -0
- package/dist/loading-pulse/index.mjs.map +1 -0
- package/dist/magnetic-text/index.js +2 -0
- package/dist/magnetic-text/index.js.map +1 -0
- package/dist/magnetic-text/index.mjs +2 -0
- package/dist/magnetic-text/index.mjs.map +1 -0
- package/dist/matrix-text/index.js +2 -0
- package/dist/matrix-text/index.js.map +1 -0
- package/dist/matrix-text/index.mjs +2 -0
- package/dist/matrix-text/index.mjs.map +1 -0
- package/dist/neon-button/index.js +2 -0
- package/dist/neon-button/index.js.map +1 -0
- package/dist/neon-button/index.mjs +2 -0
- package/dist/neon-button/index.mjs.map +1 -0
- package/dist/progress/index.js +2 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/progress/index.mjs +2 -0
- package/dist/progress/index.mjs.map +1 -0
- package/dist/rainbow-text/index.js +7 -0
- package/dist/rainbow-text/index.js.map +1 -0
- package/dist/rainbow-text/index.mjs +7 -0
- package/dist/rainbow-text/index.mjs.map +1 -0
- package/dist/rotating-text/index.js +2 -0
- package/dist/rotating-text/index.js.map +1 -0
- package/dist/rotating-text/index.mjs +2 -0
- package/dist/rotating-text/index.mjs.map +1 -0
- package/dist/scrambled-text/index.js +2 -0
- package/dist/scrambled-text/index.js.map +1 -0
- package/dist/scrambled-text/index.mjs +2 -0
- package/dist/scrambled-text/index.mjs.map +1 -0
- package/dist/shiny-text/index.js +7 -0
- package/dist/shiny-text/index.js.map +1 -0
- package/dist/shiny-text/index.mjs +7 -0
- package/dist/shiny-text/index.mjs.map +1 -0
- package/dist/skeleton/index.js +2 -0
- package/dist/skeleton/index.js.map +1 -0
- package/dist/skeleton/index.mjs +2 -0
- package/dist/skeleton/index.mjs.map +1 -0
- package/dist/slide-button/index.js +2 -0
- package/dist/slide-button/index.js.map +1 -0
- package/dist/slide-button/index.mjs +2 -0
- package/dist/slide-button/index.mjs.map +1 -0
- package/dist/stagger-text/index.js +2 -0
- package/dist/stagger-text/index.js.map +1 -0
- package/dist/stagger-text/index.mjs +2 -0
- package/dist/stagger-text/index.mjs.map +1 -0
- package/dist/switch/index.js +2 -0
- package/dist/switch/index.js.map +1 -0
- package/dist/switch/index.mjs +2 -0
- package/dist/switch/index.mjs.map +1 -0
- package/dist/swoosh-text/index.js +2 -0
- package/dist/swoosh-text/index.js.map +1 -0
- package/dist/swoosh-text/index.mjs +2 -0
- package/dist/swoosh-text/index.mjs.map +1 -0
- package/dist/threed-button/index.js +2 -0
- package/dist/threed-button/index.js.map +1 -0
- package/dist/threed-button/index.mjs +2 -0
- package/dist/threed-button/index.mjs.map +1 -0
- package/dist/tooltip/index.js +2 -0
- package/dist/tooltip/index.js.map +1 -0
- package/dist/tooltip/index.mjs +2 -0
- package/dist/tooltip/index.mjs.map +1 -0
- 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.
|
|
4
|
-
"description": "
|
|
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": [
|