{"version":3,"file":"HTMLTextRenderData.mjs","sources":["../../../src/scene/text-html/HTMLTextRenderData.ts"],"sourcesContent":["/* eslint-disable no-restricted-globals */\nimport { DOMAdapter } from '../../environment/adapter';\nimport { type ImageLike } from '../../environment/ImageLike';\n\nimport type { CanvasAndContext } from '../../rendering/renderers/shared/texture/CanvasPool';\n\n/** @internal */\nconst nssvg = 'http://www.w3.org/2000/svg';\n/** @internal */\nconst nsxhtml = 'http://www.w3.org/1999/xhtml';\n\n/** @internal */\nexport class HTMLTextRenderData\n{\n    public svgRoot = document.createElementNS(nssvg, 'svg');\n    public foreignObject = document.createElementNS(nssvg, 'foreignObject');\n    public domElement = document.createElementNS(nsxhtml, 'div');\n    public styleElement = document.createElementNS(nsxhtml, 'style');\n    public image: ImageLike;\n    public canvasAndContext?: CanvasAndContext;\n\n    constructor()\n    {\n        const { foreignObject, svgRoot, styleElement, domElement } = this;\n        // Arbitrary max size\n\n        foreignObject.setAttribute('width', '10000');\n        foreignObject.setAttribute('height', '10000');\n        foreignObject.style.overflow = 'hidden';\n\n        svgRoot.appendChild(foreignObject);\n\n        foreignObject.appendChild(styleElement);\n        foreignObject.appendChild(domElement);\n\n        this.image = DOMAdapter.get().createImage();\n    }\n\n    public destroy(): void\n    {\n        this.svgRoot.remove();\n        this.foreignObject.remove();\n        this.styleElement.remove();\n        this.domElement.remove();\n        this.image.src = '';\n        this.image.remove();\n\n        this.svgRoot = null;\n        this.foreignObject = null;\n        this.styleElement = null;\n        this.domElement = null;\n        this.image = null;\n        this.canvasAndContext = null;\n    }\n}\n"],"names":[],"mappings":";;;AAOA,MAAM,KAAA,GAAQ,4BAAA;AAEd,MAAM,OAAA,GAAU,8BAAA;AAGT,MAAM,kBAAA,CACb;AAAA,EAQI,WAAA,GACA;AARA,IAAA,IAAA,CAAO,OAAA,GAAU,QAAA,CAAS,eAAA,CAAgB,KAAA,EAAO,KAAK,CAAA;AACtD,IAAA,IAAA,CAAO,aAAA,GAAgB,QAAA,CAAS,eAAA,CAAgB,KAAA,EAAO,eAAe,CAAA;AACtE,IAAA,IAAA,CAAO,UAAA,GAAa,QAAA,CAAS,eAAA,CAAgB,OAAA,EAAS,KAAK,CAAA;AAC3D,IAAA,IAAA,CAAO,YAAA,GAAe,QAAA,CAAS,eAAA,CAAgB,OAAA,EAAS,OAAO,CAAA;AAM3D,IAAA,MAAM,EAAE,aAAA,EAAe,OAAA,EAAS,YAAA,EAAc,YAAW,GAAI,IAAA;AAG7D,IAAA,aAAA,CAAc,YAAA,CAAa,SAAS,OAAO,CAAA;AAC3C,IAAA,aAAA,CAAc,YAAA,CAAa,UAAU,OAAO,CAAA;AAC5C,IAAA,aAAA,CAAc,MAAM,QAAA,GAAW,QAAA;AAE/B,IAAA,OAAA,CAAQ,YAAY,aAAa,CAAA;AAEjC,IAAA,aAAA,CAAc,YAAY,YAAY,CAAA;AACtC,IAAA,aAAA,CAAc,YAAY,UAAU,CAAA;AAEpC,IAAA,IAAA,CAAK,KAAA,GAAQ,UAAA,CAAW,GAAA,EAAI,CAAE,WAAA,EAAY;AAAA,EAC9C;AAAA,EAEO,OAAA,GACP;AACI,IAAA,IAAA,CAAK,QAAQ,MAAA,EAAO;AACpB,IAAA,IAAA,CAAK,cAAc,MAAA,EAAO;AAC1B,IAAA,IAAA,CAAK,aAAa,MAAA,EAAO;AACzB,IAAA,IAAA,CAAK,WAAW,MAAA,EAAO;AACvB,IAAA,IAAA,CAAK,MAAM,GAAA,GAAM,EAAA;AACjB,IAAA,IAAA,CAAK,MAAM,MAAA,EAAO;AAElB,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AACf,IAAA,IAAA,CAAK,aAAA,GAAgB,IAAA;AACrB,IAAA,IAAA,CAAK,YAAA,GAAe,IAAA;AACpB,IAAA,IAAA,CAAK,UAAA,GAAa,IAAA;AAClB,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AACb,IAAA,IAAA,CAAK,gBAAA,GAAmB,IAAA;AAAA,EAC5B;AACJ;;;;"}