{"version":3,"file":"FloatingCursorWebComponent-EgvlANOv.cjs","sources":["../../lib/vowel/components/web-components/FloatingCursorWebComponent.tsx"],"sourcesContent":["/**\n * @fileoverview FloatingCursor Web Component Wrapper\n * \n * Exports the FloatingCursorComponent as a web component using r2wc.\n * Registers as <vowel-floating-cursor> custom element.\n * \n * @module @vowel.to/client/components/web-components\n * @author vowel.to\n * @license Proprietary\n */\n\nimport { FloatingCursorComponent } from \"../FloatingCursorComponent\";\n\nlet FloatingCursorWebComponent: CustomElementConstructor | undefined;\n\nasync function getFloatingCursorWebComponent(): Promise<CustomElementConstructor> {\n  if (!FloatingCursorWebComponent) {\n    const { default: r2wc } = await import(\"@r2wc/react-to-web-component\");\n    FloatingCursorWebComponent = r2wc(FloatingCursorComponent, {\n      props: {\n        x: \"number\",\n        y: \"number\",\n        text: \"string\",\n        isIdle: \"boolean\",\n        visible: \"boolean\",\n        cursorColor: \"string\",\n        cursorSize: \"number\",\n        badgeBackground: \"string\",\n        badgeTextColor: \"string\",\n        enableTyping: \"boolean\",\n        typingSpeed: \"number\",\n        enableBounce: \"boolean\",\n        transitionDuration: \"number\",\n        zIndex: \"number\",\n      },\n    });\n  }\n  return FloatingCursorWebComponent;\n}\n\nexport function registerFloatingCursorWebComponent() {\n  if (typeof window === \"undefined\" || !window.customElements) {\n    console.warn(\n      \"⚠️ [FloatingCursorWebComponent] Window or customElements not available\"\n    );\n    return;\n  }\n\n  if (!window.customElements.get(\"vowel-floating-cursor\")) {\n    console.log(\"🎯 [FloatingCursorWebComponent] Registering custom element...\");\n    getFloatingCursorWebComponent().then((wc) => {\n      window.customElements.define(\"vowel-floating-cursor\", wc);\n      console.log(\"✅ [FloatingCursorWebComponent] Custom element registered\");\n    });\n  } else {\n    console.log(\"⏭️ [FloatingCursorWebComponent] Already registered\");\n  }\n}\n\nif (typeof window !== \"undefined\" && document.readyState !== \"loading\") {\n  registerFloatingCursorWebComponent();\n} else if (typeof window !== \"undefined\") {\n  document.addEventListener(\"DOMContentLoaded\", registerFloatingCursorWebComponent);\n}\n"],"names":["FloatingCursorComponent"],"mappings":";;;;;;AAaA,IAAI,0BAAA;AAEJ,eAAe,6BAAA,GAAmE;AAChF,EAAA,IAAI,CAAC,0BAAA,EAA4B;AAC/B,IAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAK,GAAI,MAAM,OAAO,8BAA8B,CAAA;AACrE,IAAA,0BAAA,GAA6B,KAAKA,+CAAA,EAAyB;AAAA,MACzD,KAAA,EAAO;AAAA,QACL,CAAA,EAAG,QAAA;AAAA,QACH,CAAA,EAAG,QAAA;AAAA,QACH,IAAA,EAAM,QAAA;AAAA,QACN,MAAA,EAAQ,SAAA;AAAA,QACR,OAAA,EAAS,SAAA;AAAA,QACT,WAAA,EAAa,QAAA;AAAA,QACb,UAAA,EAAY,QAAA;AAAA,QACZ,eAAA,EAAiB,QAAA;AAAA,QACjB,cAAA,EAAgB,QAAA;AAAA,QAChB,YAAA,EAAc,SAAA;AAAA,QACd,WAAA,EAAa,QAAA;AAAA,QACb,YAAA,EAAc,SAAA;AAAA,QACd,kBAAA,EAAoB,QAAA;AAAA,QACpB,MAAA,EAAQ;AAAA;AACV,KACD,CAAA;AAAA,EACH;AACA,EAAA,OAAO,0BAAA;AACT;AAEO,SAAS,kCAAA,GAAqC;AACnD,EAAA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,CAAC,OAAO,cAAA,EAAgB;AAC3D,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AACA,IAAA;AAAA,EACF;AAEA,EAAA,IAAI,CAAC,MAAA,CAAO,cAAA,CAAe,GAAA,CAAI,uBAAuB,CAAA,EAAG;AACvD,IAAA,OAAA,CAAQ,IAAI,+DAA+D,CAAA;AAC3E,IAAA,6BAAA,EAA8B,CAAE,IAAA,CAAK,CAAC,EAAA,KAAO;AAC3C,MAAA,MAAA,CAAO,cAAA,CAAe,MAAA,CAAO,uBAAA,EAAyB,EAAE,CAAA;AACxD,MAAA,OAAA,CAAQ,IAAI,0DAA0D,CAAA;AAAA,IACxE,CAAC,CAAA;AAAA,EACH,CAAA,MAAO;AACL,IAAA,OAAA,CAAQ,IAAI,oDAAoD,CAAA;AAAA,EAClE;AACF;AAEA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,QAAA,CAAS,eAAe,SAAA,EAAW;AACtE,EAAA,kCAAA,EAAmC;AACrC,CAAA,MAAA,IAAW,OAAO,WAAW,WAAA,EAAa;AACxC,EAAA,QAAA,CAAS,gBAAA,CAAiB,oBAAoB,kCAAkC,CAAA;AAClF;;;;"}