bynana-ui 1.3.0 → 1.5.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 (129) hide show
  1. package/dist/animated-circular-progress/index.js +2 -0
  2. package/dist/animated-circular-progress/index.js.map +1 -0
  3. package/dist/animated-circular-progress/index.mjs +2 -0
  4. package/dist/animated-circular-progress/index.mjs.map +1 -0
  5. package/dist/ascii-text/index.js +3 -0
  6. package/dist/ascii-text/index.js.map +1 -0
  7. package/dist/ascii-text/index.mjs +3 -0
  8. package/dist/ascii-text/index.mjs.map +1 -0
  9. package/dist/blur-fade/index.js +2 -0
  10. package/dist/blur-fade/index.js.map +1 -0
  11. package/dist/blur-fade/index.mjs +2 -0
  12. package/dist/blur-fade/index.mjs.map +1 -0
  13. package/dist/click-spark/index.js +2 -0
  14. package/dist/click-spark/index.js.map +1 -0
  15. package/dist/click-spark/index.mjs +2 -0
  16. package/dist/click-spark/index.mjs.map +1 -0
  17. package/dist/contribution-graph/index.js +2 -0
  18. package/dist/contribution-graph/index.js.map +1 -0
  19. package/dist/contribution-graph/index.mjs +2 -0
  20. package/dist/contribution-graph/index.mjs.map +1 -0
  21. package/dist/elastic-slider/index.js +2 -0
  22. package/dist/elastic-slider/index.js.map +1 -0
  23. package/dist/elastic-slider/index.mjs +2 -0
  24. package/dist/elastic-slider/index.mjs.map +1 -0
  25. package/dist/falling-text/index.js +2 -0
  26. package/dist/falling-text/index.js.map +1 -0
  27. package/dist/falling-text/index.mjs +2 -0
  28. package/dist/falling-text/index.mjs.map +1 -0
  29. package/dist/float-effect/index.js +2 -0
  30. package/dist/float-effect/index.js.map +1 -0
  31. package/dist/float-effect/index.mjs +2 -0
  32. package/dist/float-effect/index.mjs.map +1 -0
  33. package/dist/glow-effect/index.js +2 -0
  34. package/dist/glow-effect/index.js.map +1 -0
  35. package/dist/glow-effect/index.mjs +2 -0
  36. package/dist/glow-effect/index.mjs.map +1 -0
  37. package/dist/hamburger-3d/index.js +2 -0
  38. package/dist/hamburger-3d/index.js.map +1 -0
  39. package/dist/hamburger-3d/index.mjs +2 -0
  40. package/dist/hamburger-3d/index.mjs.map +1 -0
  41. package/dist/hamburger-basic/index.js +2 -0
  42. package/dist/hamburger-basic/index.js.map +1 -0
  43. package/dist/hamburger-basic/index.mjs +2 -0
  44. package/dist/hamburger-basic/index.mjs.map +1 -0
  45. package/dist/hamburger-elastic/index.js +2 -0
  46. package/dist/hamburger-elastic/index.js.map +1 -0
  47. package/dist/hamburger-elastic/index.mjs +2 -0
  48. package/dist/hamburger-elastic/index.mjs.map +1 -0
  49. package/dist/hamburger-morph/index.js +2 -0
  50. package/dist/hamburger-morph/index.js.map +1 -0
  51. package/dist/hamburger-morph/index.mjs +2 -0
  52. package/dist/hamburger-morph/index.mjs.map +1 -0
  53. package/dist/hamburger-spin/index.js +2 -0
  54. package/dist/hamburger-spin/index.js.map +1 -0
  55. package/dist/hamburger-spin/index.mjs +2 -0
  56. package/dist/hamburger-spin/index.mjs.map +1 -0
  57. package/dist/hamburger-spring/index.js +2 -0
  58. package/dist/hamburger-spring/index.js.map +1 -0
  59. package/dist/hamburger-spring/index.mjs +2 -0
  60. package/dist/hamburger-spring/index.mjs.map +1 -0
  61. package/dist/hamburger-stagger/index.js +2 -0
  62. package/dist/hamburger-stagger/index.js.map +1 -0
  63. package/dist/hamburger-stagger/index.mjs +2 -0
  64. package/dist/hamburger-stagger/index.mjs.map +1 -0
  65. package/dist/hamburger-wave/index.js +2 -0
  66. package/dist/hamburger-wave/index.js.map +1 -0
  67. package/dist/hamburger-wave/index.mjs +2 -0
  68. package/dist/hamburger-wave/index.mjs.map +1 -0
  69. package/dist/index.js +21 -9
  70. package/dist/index.js.map +1 -1
  71. package/dist/index.mjs +21 -9
  72. package/dist/index.mjs.map +1 -1
  73. package/dist/infinite-scroll/index.js +11 -0
  74. package/dist/infinite-scroll/index.js.map +1 -0
  75. package/dist/infinite-scroll/index.mjs +11 -0
  76. package/dist/infinite-scroll/index.mjs.map +1 -0
  77. package/dist/input-otp/index.js +2 -0
  78. package/dist/input-otp/index.js.map +1 -0
  79. package/dist/input-otp/index.mjs +2 -0
  80. package/dist/input-otp/index.mjs.map +1 -0
  81. package/dist/loader/index.js +2 -0
  82. package/dist/loader/index.js.map +1 -0
  83. package/dist/loader/index.mjs +2 -0
  84. package/dist/loader/index.mjs.map +1 -0
  85. package/dist/loading-invert/index.js +4 -0
  86. package/dist/loading-invert/index.js.map +1 -0
  87. package/dist/loading-invert/index.mjs +4 -0
  88. package/dist/loading-invert/index.mjs.map +1 -0
  89. package/dist/multi-step-loader/index.js +2 -0
  90. package/dist/multi-step-loader/index.js.map +1 -0
  91. package/dist/multi-step-loader/index.mjs +2 -0
  92. package/dist/multi-step-loader/index.mjs.map +1 -0
  93. package/dist/pixel-card/index.js +2 -0
  94. package/dist/pixel-card/index.js.map +1 -0
  95. package/dist/pixel-card/index.mjs +2 -0
  96. package/dist/pixel-card/index.mjs.map +1 -0
  97. package/dist/scroll-velocity/index.js +2 -0
  98. package/dist/scroll-velocity/index.js.map +1 -0
  99. package/dist/scroll-velocity/index.mjs +2 -0
  100. package/dist/scroll-velocity/index.mjs.map +1 -0
  101. package/dist/shimmer-effect/index.js +2 -0
  102. package/dist/shimmer-effect/index.js.map +1 -0
  103. package/dist/shimmer-effect/index.mjs +2 -0
  104. package/dist/shimmer-effect/index.mjs.map +1 -0
  105. package/dist/smooth-cursor/index.js +2 -0
  106. package/dist/smooth-cursor/index.js.map +1 -0
  107. package/dist/smooth-cursor/index.mjs +2 -0
  108. package/dist/smooth-cursor/index.mjs.map +1 -0
  109. package/dist/social-button/index.js +2 -0
  110. package/dist/social-button/index.js.map +1 -0
  111. package/dist/social-button/index.mjs +2 -0
  112. package/dist/social-button/index.mjs.map +1 -0
  113. package/dist/text-cursor/index.js +2 -0
  114. package/dist/text-cursor/index.js.map +1 -0
  115. package/dist/text-cursor/index.mjs +2 -0
  116. package/dist/text-cursor/index.mjs.map +1 -0
  117. package/dist/theme-toggler/index.js +2 -0
  118. package/dist/theme-toggler/index.js.map +1 -0
  119. package/dist/theme-toggler/index.mjs +2 -0
  120. package/dist/theme-toggler/index.mjs.map +1 -0
  121. package/dist/tilted-card/index.js +2 -0
  122. package/dist/tilted-card/index.js.map +1 -0
  123. package/dist/tilted-card/index.mjs +2 -0
  124. package/dist/tilted-card/index.mjs.map +1 -0
  125. package/dist/v0-button/index.js +2 -0
  126. package/dist/v0-button/index.js.map +1 -0
  127. package/dist/v0-button/index.mjs +2 -0
  128. package/dist/v0-button/index.mjs.map +1 -0
  129. package/package.json +33 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hamburger-morph/index.tsx"],"names":["cn","classes","HamburgerMorph","className","onChange","isOpen","setIsOpen","useState","jsxs","newState","jsx","motion","hamburger_morph_default"],"mappings":"yGAKA,SAASA,CAAAA,CAAAA,GAAMC,EAAyC,CACtD,OAAOA,CAAAA,CAAQ,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CACzC,CAOO,SAASC,CAAAA,CAAe,CAAE,SAAA,CAAAC,EAAW,QAAA,CAAAC,CAAS,CAAA,CAAwB,CAC3E,GAAM,CAACC,CAAAA,CAAQC,CAAS,CAAA,CAAIC,SAAS,KAAK,CAAA,CAQ1C,OACEC,IAAAA,CAAC,UACC,OAAA,CARiB,IAAM,CACzB,IAAMC,EAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,EAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAKI,UAAWT,CAAAA,CACT,kGAAA,CACAG,CACF,CAAA,CACA,aAAW,aAAA,CAEX,QAAA,CAAA,CAAAO,GAAAA,CAACC,MAAAA,CAAO,IAAP,CACC,SAAA,CAAU,8DAAA,CACV,OAAA,CAASN,EAAS,CAAE,MAAA,CAAQ,CAAE,CAAA,CAAI,CAAE,MAAA,CAAQ,CAAE,CAAA,CAC9C,UAAA,CAAY,CAAE,QAAA,CAAU,EAAA,CAAK,IAAA,CAAM,QAAA,CAAU,UAAW,GAAA,CAAK,OAAA,CAAS,EAAG,CAAA,CAC3E,EACAK,GAAAA,CAACC,MAAAA,CAAO,GAAA,CAAP,CACC,UAAU,8DAAA,CACV,OAAA,CAASN,CAAAA,CAAS,CAAE,OAAQ,GAAI,CAAA,CAAI,CAAE,MAAA,CAAQ,CAAE,CAAA,CAChD,UAAA,CAAY,CAAE,QAAA,CAAU,GAAK,IAAA,CAAM,QAAA,CAAU,SAAA,CAAW,GAAA,CAAK,QAAS,EAAG,CAAA,CAC3E,CAAA,CACAK,GAAAA,CAACC,OAAO,GAAA,CAAP,CACC,SAAA,CAAU,8DAAA,CACV,QAASN,CAAAA,CAAS,CAAE,MAAA,CAAQ,CAAE,EAAI,CAAE,MAAA,CAAQ,CAAE,CAAA,CAC9C,WAAY,CAAE,QAAA,CAAU,EAAA,CAAK,KAAA,CAAO,IAAM,IAAA,CAAM,QAAA,CAAU,SAAA,CAAW,GAAA,CAAK,QAAS,EAAG,CAAA,CACxF,GACF,CAEJ,KAEOO,CAAAA,CAAQV","file":"index.mjs","sourcesContent":["\"use client\";\r\n\r\nimport { useState } from \"react\";\r\nimport { motion } from \"framer-motion\";\r\n\r\nfunction cn(...classes: (string | undefined | false)[]) {\r\n return classes.filter(Boolean).join(\" \");\r\n}\r\n\r\ninterface HamburgerMorphProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerMorph({ className, onChange }: HamburgerMorphProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <button\r\n onClick={handleToggle}\r\n className={cn(\r\n \"relative w-12 h-12 bg-transparent cursor-pointer flex flex-col items-center justify-center gap-2\",\r\n className\r\n )}\r\n aria-label=\"Toggle menu\"\r\n >\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { scaleX: 0 } : { scaleX: 1 }}\r\n transition={{ duration: 0.3, type: \"spring\", stiffness: 400, damping: 30 }}\r\n />\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { scaleX: 1.2 } : { scaleX: 1 }}\r\n transition={{ duration: 0.4, type: \"spring\", stiffness: 200, damping: 20 }}\r\n />\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { scaleX: 0 } : { scaleX: 1 }}\r\n transition={{ duration: 0.3, delay: 0.05, type: \"spring\", stiffness: 400, damping: 30 }}\r\n />\r\n </button>\r\n );\r\n}\r\n\r\nexport default HamburgerMorph;\r\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var react=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function a(...t){return tailwindMerge.twMerge(clsx.clsx(t))}function u({className:t,onChange:l}){let[e,o]=react.useState(false),s=()=>{let r=!e;o(r),l?.(r);};return jsxRuntime.jsxs("div",{className:a("inline-block",t),children:[jsxRuntime.jsx("input",{type:"checkbox",id:"checkbox-spin",className:"hidden",checked:e,onChange:s}),jsxRuntime.jsxs("label",{htmlFor:"checkbox-spin",className:a("relative w-10 h-10 cursor-pointer flex flex-col items-center justify-center gap-2.5 transition-all duration-500",e&&"rotate-180"),children:[jsxRuntime.jsx("div",{className:a("w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center",e&&"scale-x-[0.6] translate-y-[1px]")}),jsxRuntime.jsx("div",{className:a("w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center",e&&"rotate-90 scale-x-[1.2]")}),jsxRuntime.jsx("div",{className:a("w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center",e&&"scale-x-[0.6] -translate-y-[1px]")})]})]})}var x=u;exports.HamburgerSpin=u;exports.default=x;//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/hamburger-spin/index.tsx"],"names":["cn","inputs","twMerge","clsx","HamburgerSpin","className","onChange","isOpen","setIsOpen","useState","handleToggle","newState","jsxs","jsx","hamburger_spin_default"],"mappings":"sMAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,qBAAAA,CAAQC,SAAAA,CAAKF,CAAM,CAAC,CAC7B,CCKO,SAASG,CAAAA,CAAc,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAS,CAAA,CAAuB,CACzE,GAAM,CAACC,CAAAA,CAAQC,CAAS,CAAA,CAAIC,cAAAA,CAAS,KAAK,CAAA,CAEpCC,CAAAA,CAAe,IAAM,CACzB,IAAMC,CAAAA,CAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,CAAA,CAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAEA,OACEC,eAAAA,CAAC,KAAA,CAAA,CAAI,UAAWZ,CAAAA,CAAG,cAAA,CAAgBK,CAAS,CAAA,CAC1C,QAAA,CAAA,CAAAQ,cAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,UAAA,CACL,EAAA,CAAG,eAAA,CACH,SAAA,CAAU,QAAA,CACV,OAAA,CAASN,CAAAA,CACT,QAAA,CAAUG,CAAAA,CACZ,CAAA,CACAE,eAAAA,CAAC,OAAA,CAAA,CACC,OAAA,CAAQ,eAAA,CACR,SAAA,CAAWZ,CAAAA,CACT,iHAAA,CACAO,CAAAA,EAAU,YACZ,CAAA,CAEA,QAAA,CAAA,CAAAM,cAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWb,CAAAA,CACT,wFAAA,CACAO,CAAAA,EAAU,iCACZ,CAAA,CACF,CAAA,CACAM,cAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWb,CAAAA,CACT,wFAAA,CACAO,CAAAA,EAAU,yBACZ,CAAA,CACF,CAAA,CACAM,cAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWb,CAAAA,CACT,wFAAA,CACAO,CAAAA,EAAU,kCACZ,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAEA,IAAOO,CAAAA,CAAQV","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 { cn } from \"../utils/cn\";\r\n\r\ninterface HamburgerSpinProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerSpin({ className, onChange }: HamburgerSpinProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <div className={cn(\"inline-block\", className)}>\r\n <input\r\n type=\"checkbox\"\r\n id=\"checkbox-spin\"\r\n className=\"hidden\"\r\n checked={isOpen}\r\n onChange={handleToggle}\r\n />\r\n <label\r\n htmlFor=\"checkbox-spin\"\r\n className={cn(\r\n \"relative w-10 h-10 cursor-pointer flex flex-col items-center justify-center gap-2.5 transition-all duration-500\",\r\n isOpen && \"rotate-180\"\r\n )}\r\n >\r\n <div\r\n className={cn(\r\n \"w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center\",\r\n isOpen && \"scale-x-[0.6] translate-y-[1px]\"\r\n )}\r\n />\r\n <div\r\n className={cn(\r\n \"w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center\",\r\n isOpen && \"rotate-90 scale-x-[1.2]\"\r\n )}\r\n />\r\n <div\r\n className={cn(\r\n \"w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center\",\r\n isOpen && \"scale-x-[0.6] -translate-y-[1px]\"\r\n )}\r\n />\r\n </label>\r\n </div>\r\n );\r\n}\r\n\r\nexport default HamburgerSpin;\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {useState}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsxs,jsx}from'react/jsx-runtime';function a(...t){return twMerge(clsx(t))}function u({className:t,onChange:l}){let[e,o]=useState(false),s=()=>{let r=!e;o(r),l?.(r);};return jsxs("div",{className:a("inline-block",t),children:[jsx("input",{type:"checkbox",id:"checkbox-spin",className:"hidden",checked:e,onChange:s}),jsxs("label",{htmlFor:"checkbox-spin",className:a("relative w-10 h-10 cursor-pointer flex flex-col items-center justify-center gap-2.5 transition-all duration-500",e&&"rotate-180"),children:[jsx("div",{className:a("w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center",e&&"scale-x-[0.6] translate-y-[1px]")}),jsx("div",{className:a("w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center",e&&"rotate-90 scale-x-[1.2]")}),jsx("div",{className:a("w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center",e&&"scale-x-[0.6] -translate-y-[1px]")})]})]})}var x=u;export{u as HamburgerSpin,x as default};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/hamburger-spin/index.tsx"],"names":["cn","inputs","twMerge","clsx","HamburgerSpin","className","onChange","isOpen","setIsOpen","useState","handleToggle","newState","jsxs","jsx","hamburger_spin_default"],"mappings":"mIAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,CAAM,CAAC,CAC7B,CCKO,SAASG,CAAAA,CAAc,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAS,CAAA,CAAuB,CACzE,GAAM,CAACC,CAAAA,CAAQC,CAAS,CAAA,CAAIC,QAAAA,CAAS,KAAK,CAAA,CAEpCC,CAAAA,CAAe,IAAM,CACzB,IAAMC,CAAAA,CAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,CAAA,CAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAEA,OACEC,IAAAA,CAAC,KAAA,CAAA,CAAI,UAAWZ,CAAAA,CAAG,cAAA,CAAgBK,CAAS,CAAA,CAC1C,QAAA,CAAA,CAAAQ,GAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,UAAA,CACL,EAAA,CAAG,eAAA,CACH,SAAA,CAAU,QAAA,CACV,OAAA,CAASN,CAAAA,CACT,QAAA,CAAUG,CAAAA,CACZ,CAAA,CACAE,IAAAA,CAAC,OAAA,CAAA,CACC,OAAA,CAAQ,eAAA,CACR,SAAA,CAAWZ,CAAAA,CACT,iHAAA,CACAO,CAAAA,EAAU,YACZ,CAAA,CAEA,QAAA,CAAA,CAAAM,GAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWb,CAAAA,CACT,wFAAA,CACAO,CAAAA,EAAU,iCACZ,CAAA,CACF,CAAA,CACAM,GAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWb,CAAAA,CACT,wFAAA,CACAO,CAAAA,EAAU,yBACZ,CAAA,CACF,CAAA,CACAM,GAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWb,CAAAA,CACT,wFAAA,CACAO,CAAAA,EAAU,kCACZ,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAEA,IAAOO,CAAAA,CAAQV","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 { cn } from \"../utils/cn\";\r\n\r\ninterface HamburgerSpinProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerSpin({ className, onChange }: HamburgerSpinProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <div className={cn(\"inline-block\", className)}>\r\n <input\r\n type=\"checkbox\"\r\n id=\"checkbox-spin\"\r\n className=\"hidden\"\r\n checked={isOpen}\r\n onChange={handleToggle}\r\n />\r\n <label\r\n htmlFor=\"checkbox-spin\"\r\n className={cn(\r\n \"relative w-10 h-10 cursor-pointer flex flex-col items-center justify-center gap-2.5 transition-all duration-500\",\r\n isOpen && \"rotate-180\"\r\n )}\r\n >\r\n <div\r\n className={cn(\r\n \"w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center\",\r\n isOpen && \"scale-x-[0.6] translate-y-[1px]\"\r\n )}\r\n />\r\n <div\r\n className={cn(\r\n \"w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center\",\r\n isOpen && \"rotate-90 scale-x-[1.2]\"\r\n )}\r\n />\r\n <div\r\n className={cn(\r\n \"w-full h-1 bg-black dark:bg-white rounded-md transition-all duration-500 origin-center\",\r\n isOpen && \"scale-x-[0.6] -translate-y-[1px]\"\r\n )}\r\n />\r\n </label>\r\n </div>\r\n );\r\n}\r\n\r\nexport default HamburgerSpin;\r\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var react=require('react'),framerMotion=require('framer-motion'),jsxRuntime=require('react/jsx-runtime');function l(...n){return n.filter(Boolean).join(" ")}function g({className:n,onChange:r}){let[e,o]=react.useState(false);return jsxRuntime.jsxs("button",{onClick:()=>{let i=!e;o(i),r?.(i);},className:l("relative w-12 h-12 bg-transparent cursor-pointer flex flex-col items-center justify-center gap-2 p-2",n),"aria-label":"Toggle menu",children:[jsxRuntime.jsx(framerMotion.motion.div,{className:"w-full h-1 bg-black dark:bg-white rounded-full origin-center",animate:e?{y:-12,rotation:90,scaleX:.8}:{y:0,rotation:0,scaleX:1},transition:{duration:.5,type:"spring",stiffness:200,damping:15}}),jsxRuntime.jsx(framerMotion.motion.div,{className:"w-full h-1 bg-black dark:bg-white rounded-full origin-center",animate:e?{rotation:90,scaleX:.8}:{rotation:0,scaleX:1},transition:{duration:.5,type:"spring",stiffness:200,damping:15}}),jsxRuntime.jsx(framerMotion.motion.div,{className:"w-full h-1 bg-black dark:bg-white rounded-full origin-center",animate:e?{y:12,rotation:90,scaleX:.8}:{y:0,rotation:0,scaleX:1},transition:{duration:.5,type:"spring",stiffness:200,damping:15}})]})}var d=g;exports.HamburgerSpring=g;exports.default=d;//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hamburger-spring/index.tsx"],"names":["cn","classes","HamburgerSpring","className","onChange","isOpen","setIsOpen","useState","jsxs","newState","jsx","motion","hamburger_spring_default"],"mappings":"+KAKA,SAASA,KAAMC,CAAAA,CAAyC,CACtD,OAAOA,CAAAA,CAAQ,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CACzC,CAOO,SAASC,CAAAA,CAAgB,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAS,EAAyB,CAC7E,GAAM,CAACC,CAAAA,CAAQC,CAAS,EAAIC,cAAAA,CAAS,KAAK,CAAA,CAQ1C,OACEC,gBAAC,QAAA,CAAA,CACC,OAAA,CARiB,IAAM,CACzB,IAAMC,EAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,EAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAKI,SAAA,CAAWT,EACT,sGAAA,CACAG,CACF,CAAA,CACA,YAAA,CAAW,cAEX,QAAA,CAAA,CAAAO,cAAAA,CAACC,oBAAO,GAAA,CAAP,CACC,UAAU,8DAAA,CACV,OAAA,CAASN,EAAS,CAAE,CAAA,CAAG,IAAK,QAAA,CAAU,EAAA,CAAI,OAAQ,EAAI,CAAA,CAAI,CAAE,CAAA,CAAG,CAAA,CAAG,QAAA,CAAU,CAAA,CAAG,OAAQ,CAAE,CAAA,CACzF,WAAY,CAAE,QAAA,CAAU,GAAK,IAAA,CAAM,QAAA,CAAU,SAAA,CAAW,GAAA,CAAK,QAAS,EAAG,CAAA,CAC3E,EACAK,cAAAA,CAACC,mBAAAA,CAAO,IAAP,CACC,SAAA,CAAU,8DAAA,CACV,OAAA,CAASN,EAAS,CAAE,QAAA,CAAU,GAAI,MAAA,CAAQ,EAAI,EAAI,CAAE,QAAA,CAAU,EAAG,MAAA,CAAQ,CAAE,EAC3E,UAAA,CAAY,CAAE,SAAU,EAAA,CAAK,IAAA,CAAM,SAAU,SAAA,CAAW,GAAA,CAAK,OAAA,CAAS,EAAG,EAC3E,CAAA,CACAK,cAAAA,CAACC,oBAAO,GAAA,CAAP,CACC,UAAU,8DAAA,CACV,OAAA,CAASN,CAAAA,CAAS,CAAE,EAAG,EAAA,CAAI,QAAA,CAAU,GAAI,MAAA,CAAQ,EAAI,EAAI,CAAE,CAAA,CAAG,CAAA,CAAG,QAAA,CAAU,EAAG,MAAA,CAAQ,CAAE,EACxF,UAAA,CAAY,CAAE,SAAU,EAAA,CAAK,IAAA,CAAM,SAAU,SAAA,CAAW,GAAA,CAAK,QAAS,EAAG,CAAA,CAC3E,GACF,CAEJ,KAEOO,CAAAA,CAAQV","file":"index.js","sourcesContent":["\"use client\";\r\n\r\nimport { useState } from \"react\";\r\nimport { motion } from \"framer-motion\";\r\n\r\nfunction cn(...classes: (string | undefined | false)[]) {\r\n return classes.filter(Boolean).join(\" \");\r\n}\r\n\r\ninterface HamburgerSpringProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerSpring({ className, onChange }: HamburgerSpringProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <button\r\n onClick={handleToggle}\r\n className={cn(\r\n \"relative w-12 h-12 bg-transparent cursor-pointer flex flex-col items-center justify-center gap-2 p-2\",\r\n className\r\n )}\r\n aria-label=\"Toggle menu\"\r\n >\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { y: -12, rotation: 90, scaleX: 0.8 } : { y: 0, rotation: 0, scaleX: 1 }}\r\n transition={{ duration: 0.5, type: \"spring\", stiffness: 200, damping: 15 }}\r\n />\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { rotation: 90, scaleX: 0.8 } : { rotation: 0, scaleX: 1 }}\r\n transition={{ duration: 0.5, type: \"spring\", stiffness: 200, damping: 15 }}\r\n />\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { y: 12, rotation: 90, scaleX: 0.8 } : { y: 0, rotation: 0, scaleX: 1 }}\r\n transition={{ duration: 0.5, type: \"spring\", stiffness: 200, damping: 15 }}\r\n />\r\n </button>\r\n );\r\n}\r\n\r\nexport default HamburgerSpring;\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {useState}from'react';import {motion}from'framer-motion';import {jsxs,jsx}from'react/jsx-runtime';function l(...n){return n.filter(Boolean).join(" ")}function g({className:n,onChange:r}){let[e,o]=useState(false);return jsxs("button",{onClick:()=>{let i=!e;o(i),r?.(i);},className:l("relative w-12 h-12 bg-transparent cursor-pointer flex flex-col items-center justify-center gap-2 p-2",n),"aria-label":"Toggle menu",children:[jsx(motion.div,{className:"w-full h-1 bg-black dark:bg-white rounded-full origin-center",animate:e?{y:-12,rotation:90,scaleX:.8}:{y:0,rotation:0,scaleX:1},transition:{duration:.5,type:"spring",stiffness:200,damping:15}}),jsx(motion.div,{className:"w-full h-1 bg-black dark:bg-white rounded-full origin-center",animate:e?{rotation:90,scaleX:.8}:{rotation:0,scaleX:1},transition:{duration:.5,type:"spring",stiffness:200,damping:15}}),jsx(motion.div,{className:"w-full h-1 bg-black dark:bg-white rounded-full origin-center",animate:e?{y:12,rotation:90,scaleX:.8}:{y:0,rotation:0,scaleX:1},transition:{duration:.5,type:"spring",stiffness:200,damping:15}})]})}var d=g;export{g as HamburgerSpring,d as default};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hamburger-spring/index.tsx"],"names":["cn","classes","HamburgerSpring","className","onChange","isOpen","setIsOpen","useState","jsxs","newState","jsx","motion","hamburger_spring_default"],"mappings":"yGAKA,SAASA,KAAMC,CAAAA,CAAyC,CACtD,OAAOA,CAAAA,CAAQ,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CACzC,CAOO,SAASC,CAAAA,CAAgB,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAS,EAAyB,CAC7E,GAAM,CAACC,CAAAA,CAAQC,CAAS,EAAIC,QAAAA,CAAS,KAAK,CAAA,CAQ1C,OACEC,KAAC,QAAA,CAAA,CACC,OAAA,CARiB,IAAM,CACzB,IAAMC,EAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,EAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAKI,SAAA,CAAWT,EACT,sGAAA,CACAG,CACF,CAAA,CACA,YAAA,CAAW,cAEX,QAAA,CAAA,CAAAO,GAAAA,CAACC,OAAO,GAAA,CAAP,CACC,UAAU,8DAAA,CACV,OAAA,CAASN,EAAS,CAAE,CAAA,CAAG,IAAK,QAAA,CAAU,EAAA,CAAI,OAAQ,EAAI,CAAA,CAAI,CAAE,CAAA,CAAG,CAAA,CAAG,QAAA,CAAU,CAAA,CAAG,OAAQ,CAAE,CAAA,CACzF,WAAY,CAAE,QAAA,CAAU,GAAK,IAAA,CAAM,QAAA,CAAU,SAAA,CAAW,GAAA,CAAK,QAAS,EAAG,CAAA,CAC3E,EACAK,GAAAA,CAACC,MAAAA,CAAO,IAAP,CACC,SAAA,CAAU,8DAAA,CACV,OAAA,CAASN,EAAS,CAAE,QAAA,CAAU,GAAI,MAAA,CAAQ,EAAI,EAAI,CAAE,QAAA,CAAU,EAAG,MAAA,CAAQ,CAAE,EAC3E,UAAA,CAAY,CAAE,SAAU,EAAA,CAAK,IAAA,CAAM,SAAU,SAAA,CAAW,GAAA,CAAK,OAAA,CAAS,EAAG,EAC3E,CAAA,CACAK,GAAAA,CAACC,OAAO,GAAA,CAAP,CACC,UAAU,8DAAA,CACV,OAAA,CAASN,CAAAA,CAAS,CAAE,EAAG,EAAA,CAAI,QAAA,CAAU,GAAI,MAAA,CAAQ,EAAI,EAAI,CAAE,CAAA,CAAG,CAAA,CAAG,QAAA,CAAU,EAAG,MAAA,CAAQ,CAAE,EACxF,UAAA,CAAY,CAAE,SAAU,EAAA,CAAK,IAAA,CAAM,SAAU,SAAA,CAAW,GAAA,CAAK,QAAS,EAAG,CAAA,CAC3E,GACF,CAEJ,KAEOO,CAAAA,CAAQV","file":"index.mjs","sourcesContent":["\"use client\";\r\n\r\nimport { useState } from \"react\";\r\nimport { motion } from \"framer-motion\";\r\n\r\nfunction cn(...classes: (string | undefined | false)[]) {\r\n return classes.filter(Boolean).join(\" \");\r\n}\r\n\r\ninterface HamburgerSpringProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerSpring({ className, onChange }: HamburgerSpringProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <button\r\n onClick={handleToggle}\r\n className={cn(\r\n \"relative w-12 h-12 bg-transparent cursor-pointer flex flex-col items-center justify-center gap-2 p-2\",\r\n className\r\n )}\r\n aria-label=\"Toggle menu\"\r\n >\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { y: -12, rotation: 90, scaleX: 0.8 } : { y: 0, rotation: 0, scaleX: 1 }}\r\n transition={{ duration: 0.5, type: \"spring\", stiffness: 200, damping: 15 }}\r\n />\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { rotation: 90, scaleX: 0.8 } : { rotation: 0, scaleX: 1 }}\r\n transition={{ duration: 0.5, type: \"spring\", stiffness: 200, damping: 15 }}\r\n />\r\n <motion.div\r\n className=\"w-full h-1 bg-black dark:bg-white rounded-full origin-center\"\r\n animate={isOpen ? { y: 12, rotation: 90, scaleX: 0.8 } : { y: 0, rotation: 0, scaleX: 1 }}\r\n transition={{ duration: 0.5, type: \"spring\", stiffness: 200, damping: 15 }}\r\n />\r\n </button>\r\n );\r\n}\r\n\r\nexport default HamburgerSpring;\r\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var react=require('react'),jsxRuntime=require('react/jsx-runtime');function r(...t){return t.filter(Boolean).join(" ")}function g({className:t,onChange:o}){let[e,n]=react.useState(false),s=()=>{let l=!e;n(l),o?.(l);};return jsxRuntime.jsxs("label",{className:r("w-12 h-8 cursor-pointer relative block",t),htmlFor:"burger-stagger",children:[jsxRuntime.jsx("input",{type:"checkbox",id:"burger-stagger",className:"hidden w-full h-full",checked:e,onChange:s}),jsxRuntime.jsx("span",{className:r("block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out","top-0 right-0 origin-right",e&&"w-1/2 top-1/2 -translate-y-[30%] rotate-[40deg]")}),jsxRuntime.jsx("span",{className:r("block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out","top-1/2 -translate-y-1/2")}),jsxRuntime.jsx("span",{className:r("block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out","top-full right-0 origin-right -translate-y-full",e&&"w-1/2 top-1/2 -translate-y-[70%] -rotate-[40deg]")})]})}var u=g;exports.HamburgerStagger=g;exports.default=u;//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hamburger-stagger/index.tsx"],"names":["cn","classes","HamburgerStagger","className","onChange","isOpen","setIsOpen","useState","handleToggle","newState","jsxs","jsx","hamburger_stagger_default"],"mappings":"yIAIA,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAyC,CACtD,OAAOA,CAAAA,CAAQ,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CACzC,CAOO,SAASC,CAAAA,CAAiB,CAAE,SAAA,CAAAC,EAAW,QAAA,CAAAC,CAAS,CAAA,CAA0B,CAC/E,GAAM,CAACC,EAAQC,CAAS,CAAA,CAAIC,cAAAA,CAAS,KAAK,CAAA,CAEpCC,CAAAA,CAAe,IAAM,CACzB,IAAMC,CAAAA,CAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,CAAA,CAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAEA,OACEC,gBAAC,OAAA,CAAA,CACC,SAAA,CAAWV,CAAAA,CACT,wCAAA,CACAG,CACF,CAAA,CACA,QAAQ,gBAAA,CAER,QAAA,CAAA,CAAAQ,cAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,UAAA,CACL,GAAG,gBAAA,CACH,SAAA,CAAU,sBAAA,CACV,OAAA,CAASN,CAAAA,CACT,QAAA,CAAUG,EACZ,CAAA,CACAG,cAAAA,CAAC,MAAA,CAAA,CACC,SAAA,CAAWX,CAAAA,CACT,6IAAA,CACA,6BACAK,CAAAA,EAAU,iDACZ,CAAA,CACF,CAAA,CACAM,cAAAA,CAAC,MAAA,CAAA,CACC,UAAWX,CAAAA,CACT,6IAAA,CACA,0BACF,CAAA,CACF,CAAA,CACAW,cAAAA,CAAC,QACC,SAAA,CAAWX,CAAAA,CACT,6IAAA,CACA,iDAAA,CACAK,CAAAA,EAAU,kDACZ,EACF,CAAA,CAAA,CACF,CAEJ,CAEA,IAAOO,CAAAA,CAAQV","file":"index.js","sourcesContent":["\"use client\";\r\n\r\nimport { useState } from \"react\";\r\n\r\nfunction cn(...classes: (string | undefined | false)[]) {\r\n return classes.filter(Boolean).join(\" \");\r\n}\r\n\r\ninterface HamburgerStaggerProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerStagger({ className, onChange }: HamburgerStaggerProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <label\r\n className={cn(\r\n \"w-12 h-8 cursor-pointer relative block\",\r\n className\r\n )}\r\n htmlFor=\"burger-stagger\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n id=\"burger-stagger\"\r\n className=\"hidden w-full h-full\"\r\n checked={isOpen}\r\n onChange={handleToggle}\r\n />\r\n <span\r\n className={cn(\r\n \"block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out\",\r\n \"top-0 right-0 origin-right\",\r\n isOpen && \"w-1/2 top-1/2 -translate-y-[30%] rotate-[40deg]\"\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n \"block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out\",\r\n \"top-1/2 -translate-y-1/2\"\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n \"block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out\",\r\n \"top-full right-0 origin-right -translate-y-full\",\r\n isOpen && \"w-1/2 top-1/2 -translate-y-[70%] -rotate-[40deg]\"\r\n )}\r\n />\r\n </label>\r\n );\r\n}\r\n\r\nexport default HamburgerStagger;\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {useState}from'react';import {jsxs,jsx}from'react/jsx-runtime';function r(...t){return t.filter(Boolean).join(" ")}function g({className:t,onChange:o}){let[e,n]=useState(false),s=()=>{let l=!e;n(l),o?.(l);};return jsxs("label",{className:r("w-12 h-8 cursor-pointer relative block",t),htmlFor:"burger-stagger",children:[jsx("input",{type:"checkbox",id:"burger-stagger",className:"hidden w-full h-full",checked:e,onChange:s}),jsx("span",{className:r("block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out","top-0 right-0 origin-right",e&&"w-1/2 top-1/2 -translate-y-[30%] rotate-[40deg]")}),jsx("span",{className:r("block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out","top-1/2 -translate-y-1/2")}),jsx("span",{className:r("block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out","top-full right-0 origin-right -translate-y-full",e&&"w-1/2 top-1/2 -translate-y-[70%] -rotate-[40deg]")})]})}var u=g;export{g as HamburgerStagger,u as default};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hamburger-stagger/index.tsx"],"names":["cn","classes","HamburgerStagger","className","onChange","isOpen","setIsOpen","useState","handleToggle","newState","jsxs","jsx","hamburger_stagger_default"],"mappings":"sEAIA,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAyC,CACtD,OAAOA,CAAAA,CAAQ,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CACzC,CAOO,SAASC,CAAAA,CAAiB,CAAE,SAAA,CAAAC,EAAW,QAAA,CAAAC,CAAS,CAAA,CAA0B,CAC/E,GAAM,CAACC,EAAQC,CAAS,CAAA,CAAIC,QAAAA,CAAS,KAAK,CAAA,CAEpCC,CAAAA,CAAe,IAAM,CACzB,IAAMC,CAAAA,CAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,CAAA,CAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAEA,OACEC,KAAC,OAAA,CAAA,CACC,SAAA,CAAWV,CAAAA,CACT,wCAAA,CACAG,CACF,CAAA,CACA,QAAQ,gBAAA,CAER,QAAA,CAAA,CAAAQ,GAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,UAAA,CACL,GAAG,gBAAA,CACH,SAAA,CAAU,sBAAA,CACV,OAAA,CAASN,CAAAA,CACT,QAAA,CAAUG,EACZ,CAAA,CACAG,GAAAA,CAAC,MAAA,CAAA,CACC,SAAA,CAAWX,CAAAA,CACT,6IAAA,CACA,6BACAK,CAAAA,EAAU,iDACZ,CAAA,CACF,CAAA,CACAM,GAAAA,CAAC,MAAA,CAAA,CACC,UAAWX,CAAAA,CACT,6IAAA,CACA,0BACF,CAAA,CACF,CAAA,CACAW,GAAAA,CAAC,QACC,SAAA,CAAWX,CAAAA,CACT,6IAAA,CACA,iDAAA,CACAK,CAAAA,EAAU,kDACZ,EACF,CAAA,CAAA,CACF,CAEJ,CAEA,IAAOO,CAAAA,CAAQV","file":"index.mjs","sourcesContent":["\"use client\";\r\n\r\nimport { useState } from \"react\";\r\n\r\nfunction cn(...classes: (string | undefined | false)[]) {\r\n return classes.filter(Boolean).join(\" \");\r\n}\r\n\r\ninterface HamburgerStaggerProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerStagger({ className, onChange }: HamburgerStaggerProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <label\r\n className={cn(\r\n \"w-12 h-8 cursor-pointer relative block\",\r\n className\r\n )}\r\n htmlFor=\"burger-stagger\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n id=\"burger-stagger\"\r\n className=\"hidden w-full h-full\"\r\n checked={isOpen}\r\n onChange={handleToggle}\r\n />\r\n <span\r\n className={cn(\r\n \"block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out\",\r\n \"top-0 right-0 origin-right\",\r\n isOpen && \"w-1/2 top-1/2 -translate-y-[30%] rotate-[40deg]\"\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n \"block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out\",\r\n \"top-1/2 -translate-y-1/2\"\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n \"block absolute w-full rounded-lg border-[3px] border-black dark:border-white bg-black dark:bg-white transition-all duration-150 ease-in-out\",\r\n \"top-full right-0 origin-right -translate-y-full\",\r\n isOpen && \"w-1/2 top-1/2 -translate-y-[70%] -rotate-[40deg]\"\r\n )}\r\n />\r\n </label>\r\n );\r\n}\r\n\r\nexport default HamburgerStagger;\r\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var react=require('react'),jsxRuntime=require('react/jsx-runtime');function t(...n){return n.filter(Boolean).join(" ")}function i({className:n,onChange:o}){let[e,s]=react.useState(false);return jsxRuntime.jsx("button",{onClick:()=>{let l=!e;s(l),o?.(l);},className:t("relative w-12 h-12 bg-transparent cursor-pointer flex items-center justify-center",n),"aria-label":"Toggle menu",children:jsxRuntime.jsxs("div",{className:"relative w-8 h-8",children:[jsxRuntime.jsx("span",{className:t("absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out",e?"top-0 left-0":"top-0 left-1/2 -translate-x-1/2 w-8 h-0.5 rounded-full")}),jsxRuntime.jsx("span",{className:t("absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out delay-75",e?"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2":"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-0.5 rounded-full")}),jsxRuntime.jsx("span",{className:t("absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out delay-150",e?"bottom-0 right-0":"bottom-0 left-1/2 -translate-x-1/2 w-8 h-0.5 rounded-full")})]})})}var c=i;exports.HamburgerWave=i;exports.default=c;//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hamburger-wave/index.tsx"],"names":["cn","classes","HamburgerWave","className","onChange","isOpen","setIsOpen","useState","jsx","newState","jsxs","hamburger_wave_default"],"mappings":"yIAIA,SAASA,CAAAA,CAAAA,GAAMC,EAAyC,CACtD,OAAOA,EAAQ,MAAA,CAAO,OAAO,EAAE,IAAA,CAAK,GAAG,CACzC,CAOO,SAASC,CAAAA,CAAc,CAAE,SAAA,CAAAC,CAAAA,CAAW,SAAAC,CAAS,CAAA,CAAuB,CACzE,GAAM,CAACC,CAAAA,CAAQC,CAAS,CAAA,CAAIC,cAAAA,CAAS,KAAK,CAAA,CAQ1C,OACEC,cAAAA,CAAC,QAAA,CAAA,CACC,OAAA,CARiB,IAAM,CACzB,IAAMC,CAAAA,CAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,EAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAKI,SAAA,CAAWT,EACT,mFAAA,CACAG,CACF,CAAA,CACA,YAAA,CAAW,aAAA,CAEX,QAAA,CAAAO,gBAAC,KAAA,CAAA,CAAI,SAAA,CAAU,kBAAA,CACb,QAAA,CAAA,CAAAF,cAAAA,CAAC,MAAA,CAAA,CACC,UAAWR,CAAAA,CACT,yFAAA,CACAK,CAAAA,CACI,cAAA,CACA,wDACN,CAAA,CACF,EACAG,cAAAA,CAAC,MAAA,CAAA,CACC,UAAWR,CAAAA,CACT,kGAAA,CACAK,EACI,oDAAA,CACA,2EACN,CAAA,CACF,CAAA,CACAG,cAAAA,CAAC,MAAA,CAAA,CACC,UAAWR,CAAAA,CACT,mGAAA,CACAK,CAAAA,CACI,kBAAA,CACA,2DACN,CAAA,CACF,GACF,CAAA,CACF,CAEJ,CAEA,IAAOM,CAAAA,CAAQT","file":"index.js","sourcesContent":["\"use client\";\r\n\r\nimport { useState } from \"react\";\r\n\r\nfunction cn(...classes: (string | undefined | false)[]) {\r\n return classes.filter(Boolean).join(\" \");\r\n}\r\n\r\ninterface HamburgerWaveProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerWave({ className, onChange }: HamburgerWaveProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <button\r\n onClick={handleToggle}\r\n className={cn(\r\n \"relative w-12 h-12 bg-transparent cursor-pointer flex items-center justify-center\",\r\n className\r\n )}\r\n aria-label=\"Toggle menu\"\r\n >\r\n <div className=\"relative w-8 h-8\">\r\n <span\r\n className={cn(\r\n \"absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out\",\r\n isOpen \r\n ? \"top-0 left-0\" \r\n : \"top-0 left-1/2 -translate-x-1/2 w-8 h-0.5 rounded-full\"\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n \"absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out delay-75\",\r\n isOpen \r\n ? \"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\" \r\n : \"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-0.5 rounded-full\"\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n \"absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out delay-150\",\r\n isOpen \r\n ? \"bottom-0 right-0\" \r\n : \"bottom-0 left-1/2 -translate-x-1/2 w-8 h-0.5 rounded-full\"\r\n )}\r\n />\r\n </div>\r\n </button>\r\n );\r\n}\r\n\r\nexport default HamburgerWave;\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {useState}from'react';import {jsx,jsxs}from'react/jsx-runtime';function t(...n){return n.filter(Boolean).join(" ")}function i({className:n,onChange:o}){let[e,s]=useState(false);return jsx("button",{onClick:()=>{let l=!e;s(l),o?.(l);},className:t("relative w-12 h-12 bg-transparent cursor-pointer flex items-center justify-center",n),"aria-label":"Toggle menu",children:jsxs("div",{className:"relative w-8 h-8",children:[jsx("span",{className:t("absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out",e?"top-0 left-0":"top-0 left-1/2 -translate-x-1/2 w-8 h-0.5 rounded-full")}),jsx("span",{className:t("absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out delay-75",e?"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2":"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-0.5 rounded-full")}),jsx("span",{className:t("absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out delay-150",e?"bottom-0 right-0":"bottom-0 left-1/2 -translate-x-1/2 w-8 h-0.5 rounded-full")})]})})}var c=i;export{i as HamburgerWave,c as default};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hamburger-wave/index.tsx"],"names":["cn","classes","HamburgerWave","className","onChange","isOpen","setIsOpen","useState","jsx","newState","jsxs","hamburger_wave_default"],"mappings":"sEAIA,SAASA,CAAAA,CAAAA,GAAMC,EAAyC,CACtD,OAAOA,EAAQ,MAAA,CAAO,OAAO,EAAE,IAAA,CAAK,GAAG,CACzC,CAOO,SAASC,CAAAA,CAAc,CAAE,SAAA,CAAAC,CAAAA,CAAW,SAAAC,CAAS,CAAA,CAAuB,CACzE,GAAM,CAACC,CAAAA,CAAQC,CAAS,CAAA,CAAIC,QAAAA,CAAS,KAAK,CAAA,CAQ1C,OACEC,GAAAA,CAAC,QAAA,CAAA,CACC,OAAA,CARiB,IAAM,CACzB,IAAMC,CAAAA,CAAW,CAACJ,CAAAA,CAClBC,CAAAA,CAAUG,CAAQ,EAClBL,CAAAA,GAAWK,CAAQ,EACrB,CAAA,CAKI,SAAA,CAAWT,EACT,mFAAA,CACAG,CACF,CAAA,CACA,YAAA,CAAW,aAAA,CAEX,QAAA,CAAAO,KAAC,KAAA,CAAA,CAAI,SAAA,CAAU,kBAAA,CACb,QAAA,CAAA,CAAAF,GAAAA,CAAC,MAAA,CAAA,CACC,UAAWR,CAAAA,CACT,yFAAA,CACAK,CAAAA,CACI,cAAA,CACA,wDACN,CAAA,CACF,EACAG,GAAAA,CAAC,MAAA,CAAA,CACC,UAAWR,CAAAA,CACT,kGAAA,CACAK,EACI,oDAAA,CACA,2EACN,CAAA,CACF,CAAA,CACAG,GAAAA,CAAC,MAAA,CAAA,CACC,UAAWR,CAAAA,CACT,mGAAA,CACAK,CAAAA,CACI,kBAAA,CACA,2DACN,CAAA,CACF,GACF,CAAA,CACF,CAEJ,CAEA,IAAOM,CAAAA,CAAQT","file":"index.mjs","sourcesContent":["\"use client\";\r\n\r\nimport { useState } from \"react\";\r\n\r\nfunction cn(...classes: (string | undefined | false)[]) {\r\n return classes.filter(Boolean).join(\" \");\r\n}\r\n\r\ninterface HamburgerWaveProps {\r\n className?: string;\r\n onChange?: (isOpen: boolean) => void;\r\n}\r\n\r\nexport function HamburgerWave({ className, onChange }: HamburgerWaveProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleToggle = () => {\r\n const newState = !isOpen;\r\n setIsOpen(newState);\r\n onChange?.(newState);\r\n };\r\n\r\n return (\r\n <button\r\n onClick={handleToggle}\r\n className={cn(\r\n \"relative w-12 h-12 bg-transparent cursor-pointer flex items-center justify-center\",\r\n className\r\n )}\r\n aria-label=\"Toggle menu\"\r\n >\r\n <div className=\"relative w-8 h-8\">\r\n <span\r\n className={cn(\r\n \"absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out\",\r\n isOpen \r\n ? \"top-0 left-0\" \r\n : \"top-0 left-1/2 -translate-x-1/2 w-8 h-0.5 rounded-full\"\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n \"absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out delay-75\",\r\n isOpen \r\n ? \"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\" \r\n : \"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-0.5 rounded-full\"\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n \"absolute w-2 h-2 bg-black dark:bg-white rounded-sm transition-all duration-300 ease-out delay-150\",\r\n isOpen \r\n ? \"bottom-0 right-0\" \r\n : \"bottom-0 left-1/2 -translate-x-1/2 w-8 h-0.5 rounded-full\"\r\n )}\r\n />\r\n </div>\r\n </button>\r\n );\r\n}\r\n\r\nexport default HamburgerWave;\r\n"]}