{"version":3,"file":"index.mjs","names":["createElement"],"sources":["../../src/FontLoader/index.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useEffect, useRef } from 'react';\n\nconst createElement = (url: string) => {\n  const element = document.createElement('link');\n  element.rel = 'stylesheet';\n  element.href = url;\n  return element;\n};\n\nexport interface FontLoaderProps {\n  url: string;\n}\n\nconst FontLoader = memo<FontLoaderProps>(({ url }) => {\n  const elementRef = useRef<HTMLLinkElement | null>(null);\n\n  useEffect(() => {\n    // Create and append element\n    const element = createElement(url);\n    document.head.append(element);\n    elementRef.current = element;\n\n    // Optional: Add error handling\n    const handleError = () => console.error(`Failed to load font from ${url}`);\n    element.addEventListener('error', handleError);\n\n    // Cleanup function to remove element when component unmounts\n    // or when url changes\n    return () => {\n      element.removeEventListener('error', handleError);\n      element.remove();\n      elementRef.current = null;\n    };\n  }, [url]);\n\n  return null;\n});\n\nFontLoader.displayName = 'FontLoader';\n\nexport default FontLoader;\n"],"mappings":";;;AAIA,MAAMA,mBAAiB,QAAgB;CACrC,MAAM,UAAU,SAAS,cAAc,MAAM;CAC7C,QAAQ,MAAM;CACd,QAAQ,OAAO;CACf,OAAO;AACT;AAMA,MAAM,aAAa,MAAuB,EAAE,UAAU;CACpD,MAAM,aAAa,OAA+B,IAAI;CAEtD,gBAAgB;EAEd,MAAM,UAAUA,gBAAc,GAAG;EACjC,SAAS,KAAK,OAAO,OAAO;EAC5B,WAAW,UAAU;EAGrB,MAAM,oBAAoB,QAAQ,MAAM,4BAA4B,KAAK;EACzE,QAAQ,iBAAiB,SAAS,WAAW;EAI7C,aAAa;GACX,QAAQ,oBAAoB,SAAS,WAAW;GAChD,QAAQ,OAAO;GACf,WAAW,UAAU;EACvB;CACF,GAAG,CAAC,GAAG,CAAC;CAER,OAAO;AACT,CAAC;AAED,WAAW,cAAc"}