{"version":3,"sources":["../src/index.tsx","#style-inject:#style-inject","../src/css/borderBeam.css"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { BorderBeamProps } from \"../types/types\";\nimport \"./css/borderBeam.css\";\n\nexport const BorderBeam: React.FC<BorderBeamProps> = ({\n  className,\n  size = 200,\n  duration = 15,\n  anchor = 90,\n  borderWidth = 1.5,\n  colorFrom = \"#ffaa40\",\n  colorTo = \"#9c40ff\",\n  delay = 0,\n}) => {\n  return (\n    <div\n      style={\n        {\n          \"--size\": `${size}px`,\n          \"--duration\": `${duration}s`,\n          \"--anchor\": `${anchor}%`,\n          \"--border-width\": `${borderWidth}px`,\n          \"--color-from\": colorFrom,\n          \"--color-to\": colorTo,\n          \"--delay\": `-${delay}s`,\n        } as React.CSSProperties\n      }\n      className={`borderBeam ${className || \"\"}`}\n    />\n  );\n};\n","\n          export default function styleInject(css, { insertAt } = {}) {\n            if (!css || typeof document === 'undefined') return\n          \n            const head = document.head || document.getElementsByTagName('head')[0]\n            const style = document.createElement('style')\n            style.type = 'text/css'\n          \n            if (insertAt === 'top') {\n              if (head.firstChild) {\n                head.insertBefore(style, head.firstChild)\n              } else {\n                head.appendChild(style)\n              }\n            } else {\n              head.appendChild(style)\n            }\n          \n            if (style.styleSheet) {\n              style.styleSheet.cssText = css\n            } else {\n              style.appendChild(document.createTextNode(css))\n            }\n          }\n          ","import styleInject from '#style-inject';styleInject(\".borderBeam {\\n  position: absolute;\\n  inset: 0;\\n  pointer-events: none;\\n  border: calc(var(--border-width, 1.5px)) solid transparent;\\n  border-radius: inherit;\\n  -webkit-mask-clip: padding-box, border-box !important;\\n  mask-clip: padding-box, border-box !important;\\n  -webkit-mask-composite: source-in, xor !important;\\n  mask-composite: intersect !important;\\n  -webkit-mask: linear-gradient(transparent, transparent), linear-gradient(white, white);\\n  mask: linear-gradient(transparent, transparent), linear-gradient(white, white);\\n  will-change: auto;\\n}\\n.borderBeam::after {\\n  content: \\\"\\\";\\n  position: absolute;\\n  width: calc(var(--size, 200px));\\n  height: min(calc(var(--size, 200px)), 50%);\\n  background:\\n    linear-gradient(\\n      to left,\\n      var(--color-from, #ffaa40),\\n      var(--color-to, #9c40ff),\\n      transparent);\\n  offset-anchor: calc(var(--anchor, 90)) 50%;\\n  offset-path: rect(0 auto auto 0 round calc(var(--size)));\\n  animation: border-beam calc(var(--duration, 15s)) infinite linear;\\n  animation-delay: calc(var(--delay, 0s));\\n  will-change: auto;\\n}\\n@keyframes border-beam {\\n  100% {\\n    offset-distance: 100%;\\n  }\\n}\\n\")"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCyB,SAAR,YAA6B,KAAK,EAAE,SAAS,IAAI,CAAC,GAAG;AAC1D,MAAI,CAAC,OAAO,OAAO,aAAa,YAAa;AAE7C,QAAM,OAAO,SAAS,QAAQ,SAAS,qBAAqB,MAAM,EAAE,CAAC;AACrE,QAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,QAAM,OAAO;AAEb,MAAI,aAAa,OAAO;AACtB,QAAI,KAAK,YAAY;AACnB,WAAK,aAAa,OAAO,KAAK,UAAU;AAAA,IAC1C,OAAO;AACL,WAAK,YAAY,KAAK;AAAA,IACxB;AAAA,EACF,OAAO;AACL,SAAK,YAAY,KAAK;AAAA,EACxB;AAEA,MAAI,MAAM,YAAY;AACpB,UAAM,WAAW,UAAU;AAAA,EAC7B,OAAO;AACL,UAAM,YAAY,SAAS,eAAe,GAAG,CAAC;AAAA,EAChD;AACF;;;ACvB8B,YAAY,upCAAypC;;;AFgBzsC;AAXG,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA,OAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA,EACT,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AACV,MAAM;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OACE;AAAA,QACE,UAAU,GAAG,IAAI;AAAA,QACjB,cAAc,GAAG,QAAQ;AAAA,QACzB,YAAY,GAAG,MAAM;AAAA,QACrB,kBAAkB,GAAG,WAAW;AAAA,QAChC,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,WAAW,IAAI,KAAK;AAAA,MACtB;AAAA,MAEF,WAAW,cAAc,aAAa,EAAE;AAAA;AAAA,EAC1C;AAEJ;","names":[]}