Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@antv/g-plugin-html-renderer

Package Overview
Dependencies
Maintainers
70
Versions
243
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@antv/g-plugin-html-renderer - npm Package Compare versions

Comparing version
2.1.27
to
2.2.0
+14
-10
dist/index.esm.js
/*!
* @antv/g-plugin-html-renderer
* @description A G plugin for rendering HTML
* @version 2.1.27
* @date 7/30/2025, 1:35:48 PM
* @version 2.2.0
* @date 10/13/2025, 7:02:08 AM
* @author AntVis

@@ -80,10 +80,14 @@ * @docs https://g.antv.antgroup.com/

var handleBoundsChanged = function handleBoundsChanged(e) {
var object = e.target;
var nodes = object.nodeName === Shape.FRAGMENT ? object.childNodes : [object];
nodes.forEach(function (node) {
if (node.nodeName === Shape.HTML) {
var $el = _this.getOrCreateEl(node);
setTransform(node, $el);
}
});
var records = e.detail;
for (var i = 0; i < records.length; i++) {
var record = records[i];
var object = record.target;
var nodes = object.nodeName === Shape.FRAGMENT ? object.childNodes : [object];
nodes.forEach(function (node) {
if (node.nodeName === Shape.HTML) {
var $el = _this.getOrCreateEl(node);
setTransform(node, $el);
}
});
}
};

@@ -90,0 +94,0 @@ var handleCanvasResize = function handleCanvasResize() {

@@ -1,1 +0,1 @@

{"version":3,"file":"index.esm.js","sources":["../src/HTMLRenderingPlugin.ts","../src/index.ts"],"sourcesContent":["import {\n DisplayObject,\n FederatedEvent,\n GlobalRuntime,\n HTML,\n ICamera,\n MutationEvent,\n RenderingPlugin,\n RenderingPluginContext,\n CanvasEvent,\n RenderReason,\n isCSSRGB,\n ElementEvent,\n isPattern,\n Shape,\n} from '@antv/g-lite';\nimport { isNil, isNumber, isString } from '@antv/util';\nimport type { mat4, vec3 } from 'gl-matrix';\n\nconst CANVAS_CAMERA_ID = 'g-canvas-camera';\n\nexport class HTMLRenderingPlugin implements RenderingPlugin {\n static tag = 'HTMLRendering';\n\n private context: RenderingPluginContext;\n\n /**\n * wrapper for camera\n */\n private $camera: HTMLDivElement;\n\n private displayObjectHTMLElementMap = new WeakMap<\n DisplayObject,\n HTMLElement\n >();\n\n /**\n * ! The reason for adding `offset` is that the `transform-origin` coordinate system of DOM is the local coordinate system of the element, while the `transform-origin` coordinate system of canvas drawing is the local coordinate system of the element's parent element. At the same time, the `transform` attribute value of the DOM element does not include `transform-origin`.\n */\n private joinTransformMatrix(matrix: mat4, offset: vec3 = [0, 0, 0]) {\n return `matrix(${[\n matrix[0],\n matrix[1],\n matrix[4],\n matrix[5],\n matrix[12] + offset[0],\n matrix[13] + offset[1],\n ].join(',')})`;\n }\n\n apply(context: RenderingPluginContext, runtime: GlobalRuntime) {\n const { camera, renderingContext, renderingService } = context;\n this.context = context;\n const canvas = renderingContext.root.ownerDocument.defaultView;\n const { nativeHTMLMap } = canvas.context.eventService;\n\n const setTransform = (object: HTML, $el: HTMLElement) => {\n $el.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n };\n\n const handleMounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n if (!this.$camera) {\n this.$camera = this.createCamera(camera);\n }\n\n // create DOM element\n const $el = this.getOrCreateEl(object);\n this.$camera.appendChild($el);\n\n Object.keys(object.attributes).forEach((name) => {\n this.updateAttribute(name, object);\n });\n\n setTransform(object, $el);\n\n nativeHTMLMap.set($el, object);\n }\n };\n\n const handleUnmounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML && this.$camera) {\n const $el = this.getOrCreateEl(object);\n if ($el) {\n $el.remove();\n nativeHTMLMap.delete($el);\n }\n }\n };\n\n const handleAttributeChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n const { attrName } = e;\n this.updateAttribute(attrName, object);\n }\n };\n\n const handleBoundsChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n const nodes =\n object.nodeName === Shape.FRAGMENT ? object.childNodes : [object];\n\n nodes.forEach((node: HTML) => {\n if (node.nodeName === Shape.HTML) {\n const $el = this.getOrCreateEl(node);\n setTransform(node, $el);\n }\n });\n };\n\n const handleCanvasResize = () => {\n if (this.$camera) {\n const { width, height } = this.context.config;\n this.$camera.parentElement.style.width = `${width || 0}px`;\n this.$camera.parentElement.style.height = `${height || 0}px`;\n }\n };\n\n renderingService.hooks.init.tap(HTMLRenderingPlugin.tag, () => {\n canvas.addEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.addEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.addEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.addEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.addEventListener(ElementEvent.BOUNDS_CHANGED, handleBoundsChanged);\n });\n\n renderingService.hooks.endFrame.tap(HTMLRenderingPlugin.tag, () => {\n if (\n this.$camera &&\n renderingContext.renderReasons.has(RenderReason.CAMERA_CHANGED)\n ) {\n this.$camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n }\n });\n\n renderingService.hooks.destroy.tap(HTMLRenderingPlugin.tag, () => {\n // remove camera\n if (this.$camera) {\n this.$camera.remove();\n }\n\n canvas.removeEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.removeEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.removeEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.removeEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.removeEventListener(\n ElementEvent.BOUNDS_CHANGED,\n handleBoundsChanged,\n );\n });\n }\n\n private createCamera(camera: ICamera) {\n const { document: doc, width, height } = this.context.config;\n const $canvas =\n this.context.contextService.getDomElement() as unknown as HTMLElement;\n const $container = $canvas.parentNode;\n if ($container) {\n const cameraId = CANVAS_CAMERA_ID;\n let $existedCamera = $container.querySelector<HTMLDivElement>(\n `#${cameraId}`,\n );\n if (!$existedCamera) {\n // fix @see https://github.com/antvis/G/issues/1702\n const $cameraContainer = (doc || document).createElement('div');\n // HTML elements should not overflow with canvas @see https://github.com/antvis/G/issues/1163\n $cameraContainer.style.overflow = 'hidden';\n $cameraContainer.style.pointerEvents = 'none';\n $cameraContainer.style.position = 'absolute';\n $cameraContainer.style.left = `0px`;\n $cameraContainer.style.top = `0px`;\n $cameraContainer.style.width = `${width || 0}px`;\n $cameraContainer.style.height = `${height || 0}px`;\n\n const $camera = (doc || document).createElement('div');\n $existedCamera = $camera;\n $camera.id = cameraId;\n // use absolute position\n $camera.style.position = 'absolute';\n // account for DOM element's offset @see https://github.com/antvis/G/issues/1150\n $camera.style.left = `${$canvas.offsetLeft || 0}px`;\n $camera.style.top = `${$canvas.offsetTop || 0}px`;\n $camera.style.transformOrigin = 'left top';\n $camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n $camera.style.pointerEvents = 'none';\n $camera.style.width = `100%`;\n $camera.style.height = `100%`;\n\n $cameraContainer.appendChild($camera);\n $container.appendChild($cameraContainer);\n }\n\n return $existedCamera;\n }\n return null;\n }\n\n private getOrCreateEl(object: DisplayObject) {\n const { document: doc } = this.context.config;\n let $existedElement: HTMLElement | null =\n this.displayObjectHTMLElementMap.get(object);\n\n if (!$existedElement) {\n $existedElement = (doc || document).createElement('div');\n object.parsedStyle.$el = $existedElement;\n this.displayObjectHTMLElementMap.set(object, $existedElement);\n if (object.id) {\n $existedElement.id = object.id;\n }\n if (object.name) {\n $existedElement.setAttribute('name', object.name);\n }\n if (object.className) {\n $existedElement.className = object.className;\n }\n\n // use absolute position\n $existedElement.style.position = 'absolute';\n // @see https://github.com/antvis/G/issues/1150\n $existedElement.style['will-change'] = 'transform';\n $existedElement.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n }\n\n return $existedElement;\n }\n\n private updateAttribute(name: string, object: HTML) {\n const $el = this.getOrCreateEl(object);\n switch (name) {\n case 'innerHTML':\n const { innerHTML } = object.parsedStyle;\n if (isString(innerHTML)) {\n $el.innerHTML = innerHTML;\n } else {\n $el.innerHTML = '';\n $el.appendChild(innerHTML);\n }\n break;\n case 'x':\n $el.style.left = `${object.parsedStyle.x}px`;\n break;\n case 'y':\n $el.style.top = `${object.parsedStyle.y}px`;\n break;\n case 'transformOrigin':\n const { transformOrigin } = object.parsedStyle;\n $el.style['transform-origin'] = `${transformOrigin[0].buildCSSText(\n null,\n null,\n '',\n )} ${transformOrigin[1].buildCSSText(null, null, '')}`;\n break;\n case 'width':\n const { width } = object.parsedStyle;\n $el.style.width = isNumber(width)\n ? `${width}px`\n : (width as string).toString();\n break;\n case 'height':\n const { height } = object.parsedStyle;\n $el.style.height = isNumber(height)\n ? `${height}px`\n : (height as string).toString();\n break;\n case 'zIndex':\n const { zIndex } = object.parsedStyle;\n $el.style['z-index'] = `${zIndex}`;\n break;\n case 'visibility':\n const { visibility } = object.parsedStyle;\n $el.style.visibility = visibility;\n break;\n case 'pointerEvents':\n const { pointerEvents = 'auto' } = object.parsedStyle;\n $el.style.pointerEvents = pointerEvents;\n break;\n case 'opacity':\n const { opacity } = object.parsedStyle;\n $el.style.opacity = `${opacity}`;\n break;\n case 'fill':\n const { fill } = object.parsedStyle;\n let color = '';\n if (isCSSRGB(fill)) {\n if (fill.isNone) {\n color = 'transparent';\n } else {\n color = object.getAttribute('fill') as string;\n }\n } else if (Array.isArray(fill)) {\n color = object.getAttribute('fill') as string;\n } else if (isPattern(fill)) {\n // TODO: pattern, use background?\n }\n $el.style.background = color;\n break;\n case 'stroke':\n const { stroke } = object.parsedStyle;\n let borderColor = '';\n if (isCSSRGB(stroke)) {\n if (stroke.isNone) {\n borderColor = 'transparent';\n } else {\n borderColor = object.getAttribute('stroke') as string;\n }\n } else if (Array.isArray(stroke)) {\n borderColor = object.getAttribute('stroke') as string;\n } else if (isPattern(stroke)) {\n // TODO: pattern, use background?\n }\n\n $el.style['border-color'] = borderColor;\n $el.style['border-style'] = 'solid';\n break;\n case 'lineWidth':\n const { lineWidth } = object.parsedStyle;\n $el.style['border-width'] = `${lineWidth || 0}px`;\n break;\n case 'lineDash':\n $el.style['border-style'] = 'dashed';\n break;\n case 'filter':\n const { filter } = object.style;\n $el.style.filter = filter;\n break;\n default:\n if (!isNil(object.style[name]) && object.style[name] !== '') {\n $el.style[name] = object.style[name];\n }\n }\n }\n}\n","import { AbstractRendererPlugin } from '@antv/g-lite';\nimport { HTMLRenderingPlugin } from './HTMLRenderingPlugin';\n\nexport class Plugin extends AbstractRendererPlugin {\n name = 'html-renderer';\n init(): void {\n this.addRenderingPlugin(new HTMLRenderingPlugin());\n }\n destroy(): void {\n this.removeAllRenderingPlugins();\n }\n}\n"],"names":["CANVAS_CAMERA_ID","HTMLRenderingPlugin","_classCallCheck","displayObjectHTMLElementMap","WeakMap","_createClass","key","value","joinTransformMatrix","matrix","offset","arguments","length","undefined","concat","join","apply","context","runtime","_this","camera","renderingContext","renderingService","canvas","root","ownerDocument","defaultView","nativeHTMLMap","eventService","setTransform","object","$el","style","transform","getWorldTransform","getOrigin","handleMounted","e","target","nodeName","Shape","HTML","$camera","createCamera","getOrCreateEl","appendChild","Object","keys","attributes","forEach","name","updateAttribute","set","handleUnmounted","remove","handleAttributeChanged","attrName","handleBoundsChanged","nodes","FRAGMENT","childNodes","node","handleCanvasResize","_this$context$config","config","width","height","parentElement","hooks","init","tap","tag","addEventListener","CanvasEvent","RESIZE","ElementEvent","MOUNTED","UNMOUNTED","ATTR_MODIFIED","BOUNDS_CHANGED","endFrame","renderReasons","has","RenderReason","CAMERA_CHANGED","getOrthoMatrix","destroy","removeEventListener","_this$context$config2","doc","document","$canvas","contextService","getDomElement","$container","parentNode","cameraId","$existedCamera","querySelector","$cameraContainer","createElement","overflow","pointerEvents","position","left","top","id","offsetLeft","offsetTop","transformOrigin","$existedElement","get","parsedStyle","setAttribute","className","innerHTML","isString","x","y","buildCSSText","isNumber","toString","zIndex","visibility","_object$parsedStyle$p","opacity","fill","color","isCSSRGB","isNone","getAttribute","Array","isArray","isPattern","background","stroke","borderColor","lineWidth","filter","isNil","Plugin","_AbstractRendererPlug","_len","args","_key","_callSuper","_inherits","addRenderingPlugin","removeAllRenderingPlugins","AbstractRendererPlugin"],"mappings":"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"}
{"version":3,"file":"index.esm.js","sources":["../src/HTMLRenderingPlugin.ts","../src/index.ts"],"sourcesContent":["import {\n DisplayObject,\n FederatedEvent,\n CustomEvent,\n GlobalRuntime,\n HTML,\n ICamera,\n MutationEvent,\n MutationRecord,\n RenderingPlugin,\n RenderingPluginContext,\n CanvasEvent,\n RenderReason,\n isCSSRGB,\n ElementEvent,\n isPattern,\n Shape,\n} from '@antv/g-lite';\nimport { isNil, isNumber, isString } from '@antv/util';\nimport type { mat4, vec3 } from 'gl-matrix';\n\nconst CANVAS_CAMERA_ID = 'g-canvas-camera';\n\nexport class HTMLRenderingPlugin implements RenderingPlugin {\n static tag = 'HTMLRendering';\n\n private context: RenderingPluginContext;\n\n /**\n * wrapper for camera\n */\n private $camera: HTMLDivElement;\n\n private displayObjectHTMLElementMap = new WeakMap<\n DisplayObject,\n HTMLElement\n >();\n\n /**\n * ! The reason for adding `offset` is that the `transform-origin` coordinate system of DOM is the local coordinate system of the element, while the `transform-origin` coordinate system of canvas drawing is the local coordinate system of the element's parent element. At the same time, the `transform` attribute value of the DOM element does not include `transform-origin`.\n */\n private joinTransformMatrix(matrix: mat4, offset: vec3 = [0, 0, 0]) {\n return `matrix(${[\n matrix[0],\n matrix[1],\n matrix[4],\n matrix[5],\n matrix[12] + offset[0],\n matrix[13] + offset[1],\n ].join(',')})`;\n }\n\n apply(context: RenderingPluginContext, runtime: GlobalRuntime) {\n const { camera, renderingContext, renderingService } = context;\n this.context = context;\n const canvas = renderingContext.root.ownerDocument.defaultView;\n const { nativeHTMLMap } = canvas.context.eventService;\n\n const setTransform = (object: HTML, $el: HTMLElement) => {\n $el.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n };\n\n const handleMounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n if (!this.$camera) {\n this.$camera = this.createCamera(camera);\n }\n\n // create DOM element\n const $el = this.getOrCreateEl(object);\n this.$camera.appendChild($el);\n\n Object.keys(object.attributes).forEach((name) => {\n this.updateAttribute(name, object);\n });\n\n setTransform(object, $el);\n\n nativeHTMLMap.set($el, object);\n }\n };\n\n const handleUnmounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML && this.$camera) {\n const $el = this.getOrCreateEl(object);\n if ($el) {\n $el.remove();\n nativeHTMLMap.delete($el);\n }\n }\n };\n\n const handleAttributeChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n const { attrName } = e;\n this.updateAttribute(attrName, object);\n }\n };\n\n const handleBoundsChanged = (\n e: CustomEvent<{ detail: MutationRecord[] }>,\n ) => {\n const records = e.detail;\n for (let i = 0; i < records.length; i++) {\n const record = records[i];\n const object = record.target as DisplayObject;\n const nodes =\n object.nodeName === Shape.FRAGMENT ? object.childNodes : [object];\n\n nodes.forEach((node: DisplayObject) => {\n if (node.nodeName === Shape.HTML) {\n const $el = this.getOrCreateEl(node);\n setTransform(node as HTML, $el);\n }\n });\n }\n };\n\n const handleCanvasResize = () => {\n if (this.$camera) {\n const { width, height } = this.context.config;\n this.$camera.parentElement.style.width = `${width || 0}px`;\n this.$camera.parentElement.style.height = `${height || 0}px`;\n }\n };\n\n renderingService.hooks.init.tap(HTMLRenderingPlugin.tag, () => {\n canvas.addEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.addEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.addEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.addEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.addEventListener(ElementEvent.BOUNDS_CHANGED, handleBoundsChanged);\n });\n\n renderingService.hooks.endFrame.tap(HTMLRenderingPlugin.tag, () => {\n if (\n this.$camera &&\n renderingContext.renderReasons.has(RenderReason.CAMERA_CHANGED)\n ) {\n this.$camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n }\n });\n\n renderingService.hooks.destroy.tap(HTMLRenderingPlugin.tag, () => {\n // remove camera\n if (this.$camera) {\n this.$camera.remove();\n }\n\n canvas.removeEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.removeEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.removeEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.removeEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.removeEventListener(\n ElementEvent.BOUNDS_CHANGED,\n handleBoundsChanged,\n );\n });\n }\n\n private createCamera(camera: ICamera) {\n const { document: doc, width, height } = this.context.config;\n const $canvas =\n this.context.contextService.getDomElement() as unknown as HTMLElement;\n const $container = $canvas.parentNode;\n if ($container) {\n const cameraId = CANVAS_CAMERA_ID;\n let $existedCamera = $container.querySelector<HTMLDivElement>(\n `#${cameraId}`,\n );\n if (!$existedCamera) {\n // fix @see https://github.com/antvis/G/issues/1702\n const $cameraContainer = (doc || document).createElement('div');\n // HTML elements should not overflow with canvas @see https://github.com/antvis/G/issues/1163\n $cameraContainer.style.overflow = 'hidden';\n $cameraContainer.style.pointerEvents = 'none';\n $cameraContainer.style.position = 'absolute';\n $cameraContainer.style.left = `0px`;\n $cameraContainer.style.top = `0px`;\n $cameraContainer.style.width = `${width || 0}px`;\n $cameraContainer.style.height = `${height || 0}px`;\n\n const $camera = (doc || document).createElement('div');\n $existedCamera = $camera;\n $camera.id = cameraId;\n // use absolute position\n $camera.style.position = 'absolute';\n // account for DOM element's offset @see https://github.com/antvis/G/issues/1150\n $camera.style.left = `${$canvas.offsetLeft || 0}px`;\n $camera.style.top = `${$canvas.offsetTop || 0}px`;\n $camera.style.transformOrigin = 'left top';\n $camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n $camera.style.pointerEvents = 'none';\n $camera.style.width = `100%`;\n $camera.style.height = `100%`;\n\n $cameraContainer.appendChild($camera);\n $container.appendChild($cameraContainer);\n }\n\n return $existedCamera;\n }\n return null;\n }\n\n private getOrCreateEl(object: DisplayObject) {\n const { document: doc } = this.context.config;\n let $existedElement: HTMLElement | null =\n this.displayObjectHTMLElementMap.get(object);\n\n if (!$existedElement) {\n $existedElement = (doc || document).createElement('div');\n object.parsedStyle.$el = $existedElement;\n this.displayObjectHTMLElementMap.set(object, $existedElement);\n if (object.id) {\n $existedElement.id = object.id;\n }\n if (object.name) {\n $existedElement.setAttribute('name', object.name);\n }\n if (object.className) {\n $existedElement.className = object.className;\n }\n\n // use absolute position\n $existedElement.style.position = 'absolute';\n // @see https://github.com/antvis/G/issues/1150\n $existedElement.style['will-change'] = 'transform';\n $existedElement.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n }\n\n return $existedElement;\n }\n\n private updateAttribute(name: string, object: HTML) {\n const $el = this.getOrCreateEl(object);\n switch (name) {\n case 'innerHTML':\n const { innerHTML } = object.parsedStyle;\n if (isString(innerHTML)) {\n $el.innerHTML = innerHTML;\n } else {\n $el.innerHTML = '';\n $el.appendChild(innerHTML);\n }\n break;\n case 'x':\n $el.style.left = `${object.parsedStyle.x}px`;\n break;\n case 'y':\n $el.style.top = `${object.parsedStyle.y}px`;\n break;\n case 'transformOrigin':\n const { transformOrigin } = object.parsedStyle;\n $el.style['transform-origin'] = `${transformOrigin[0].buildCSSText(\n null,\n null,\n '',\n )} ${transformOrigin[1].buildCSSText(null, null, '')}`;\n break;\n case 'width':\n const { width } = object.parsedStyle;\n $el.style.width = isNumber(width)\n ? `${width}px`\n : (width as string).toString();\n break;\n case 'height':\n const { height } = object.parsedStyle;\n $el.style.height = isNumber(height)\n ? `${height}px`\n : (height as string).toString();\n break;\n case 'zIndex':\n const { zIndex } = object.parsedStyle;\n $el.style['z-index'] = `${zIndex}`;\n break;\n case 'visibility':\n const { visibility } = object.parsedStyle;\n $el.style.visibility = visibility;\n break;\n case 'pointerEvents':\n const { pointerEvents = 'auto' } = object.parsedStyle;\n $el.style.pointerEvents = pointerEvents;\n break;\n case 'opacity':\n const { opacity } = object.parsedStyle;\n $el.style.opacity = `${opacity}`;\n break;\n case 'fill':\n const { fill } = object.parsedStyle;\n let color = '';\n if (isCSSRGB(fill)) {\n if (fill.isNone) {\n color = 'transparent';\n } else {\n color = object.getAttribute('fill') as string;\n }\n } else if (Array.isArray(fill)) {\n color = object.getAttribute('fill') as string;\n } else if (isPattern(fill)) {\n // TODO: pattern, use background?\n }\n $el.style.background = color;\n break;\n case 'stroke':\n const { stroke } = object.parsedStyle;\n let borderColor = '';\n if (isCSSRGB(stroke)) {\n if (stroke.isNone) {\n borderColor = 'transparent';\n } else {\n borderColor = object.getAttribute('stroke') as string;\n }\n } else if (Array.isArray(stroke)) {\n borderColor = object.getAttribute('stroke') as string;\n } else if (isPattern(stroke)) {\n // TODO: pattern, use background?\n }\n\n $el.style['border-color'] = borderColor;\n $el.style['border-style'] = 'solid';\n break;\n case 'lineWidth':\n const { lineWidth } = object.parsedStyle;\n $el.style['border-width'] = `${lineWidth || 0}px`;\n break;\n case 'lineDash':\n $el.style['border-style'] = 'dashed';\n break;\n case 'filter':\n const { filter } = object.style;\n $el.style.filter = filter;\n break;\n default:\n if (!isNil(object.style[name]) && object.style[name] !== '') {\n $el.style[name] = object.style[name];\n }\n }\n }\n}\n","import { AbstractRendererPlugin } from '@antv/g-lite';\nimport { HTMLRenderingPlugin } from './HTMLRenderingPlugin';\n\nexport class Plugin extends AbstractRendererPlugin {\n name = 'html-renderer';\n init(): void {\n this.addRenderingPlugin(new HTMLRenderingPlugin());\n }\n destroy(): void {\n this.removeAllRenderingPlugins();\n }\n}\n"],"names":["CANVAS_CAMERA_ID","HTMLRenderingPlugin","_classCallCheck","displayObjectHTMLElementMap","WeakMap","_createClass","key","value","joinTransformMatrix","matrix","offset","arguments","length","undefined","concat","join","apply","context","runtime","_this","camera","renderingContext","renderingService","canvas","root","ownerDocument","defaultView","nativeHTMLMap","eventService","setTransform","object","$el","style","transform","getWorldTransform","getOrigin","handleMounted","e","target","nodeName","Shape","HTML","$camera","createCamera","getOrCreateEl","appendChild","Object","keys","attributes","forEach","name","updateAttribute","set","handleUnmounted","remove","handleAttributeChanged","attrName","handleBoundsChanged","records","detail","i","record","nodes","FRAGMENT","childNodes","node","handleCanvasResize","_this$context$config","config","width","height","parentElement","hooks","init","tap","tag","addEventListener","CanvasEvent","RESIZE","ElementEvent","MOUNTED","UNMOUNTED","ATTR_MODIFIED","BOUNDS_CHANGED","endFrame","renderReasons","has","RenderReason","CAMERA_CHANGED","getOrthoMatrix","destroy","removeEventListener","_this$context$config2","doc","document","$canvas","contextService","getDomElement","$container","parentNode","cameraId","$existedCamera","querySelector","$cameraContainer","createElement","overflow","pointerEvents","position","left","top","id","offsetLeft","offsetTop","transformOrigin","$existedElement","get","parsedStyle","setAttribute","className","innerHTML","isString","x","y","buildCSSText","isNumber","toString","zIndex","visibility","_object$parsedStyle$p","opacity","fill","color","isCSSRGB","isNone","getAttribute","Array","isArray","isPattern","background","stroke","borderColor","lineWidth","filter","isNil","Plugin","_AbstractRendererPlug","_len","args","_key","_callSuper","_inherits","addRenderingPlugin","removeAllRenderingPlugins","AbstractRendererPlugin"],"mappings":"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"}
/*!
* @antv/g-plugin-html-renderer
* @description A G plugin for rendering HTML
* @version 2.1.27
* @date 7/30/2025, 1:35:48 PM
* @version 2.2.0
* @date 10/13/2025, 7:02:08 AM
* @author AntVis

@@ -82,10 +82,14 @@ * @docs https://g.antv.antgroup.com/

var handleBoundsChanged = function handleBoundsChanged(e) {
var object = e.target;
var nodes = object.nodeName === gLite.Shape.FRAGMENT ? object.childNodes : [object];
nodes.forEach(function (node) {
if (node.nodeName === gLite.Shape.HTML) {
var $el = _this.getOrCreateEl(node);
setTransform(node, $el);
}
});
var records = e.detail;
for (var i = 0; i < records.length; i++) {
var record = records[i];
var object = record.target;
var nodes = object.nodeName === gLite.Shape.FRAGMENT ? object.childNodes : [object];
nodes.forEach(function (node) {
if (node.nodeName === gLite.Shape.HTML) {
var $el = _this.getOrCreateEl(node);
setTransform(node, $el);
}
});
}
};

@@ -92,0 +96,0 @@ var handleCanvasResize = function handleCanvasResize() {

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["../src/HTMLRenderingPlugin.ts","../src/index.ts"],"sourcesContent":["import {\n DisplayObject,\n FederatedEvent,\n GlobalRuntime,\n HTML,\n ICamera,\n MutationEvent,\n RenderingPlugin,\n RenderingPluginContext,\n CanvasEvent,\n RenderReason,\n isCSSRGB,\n ElementEvent,\n isPattern,\n Shape,\n} from '@antv/g-lite';\nimport { isNil, isNumber, isString } from '@antv/util';\nimport type { mat4, vec3 } from 'gl-matrix';\n\nconst CANVAS_CAMERA_ID = 'g-canvas-camera';\n\nexport class HTMLRenderingPlugin implements RenderingPlugin {\n static tag = 'HTMLRendering';\n\n private context: RenderingPluginContext;\n\n /**\n * wrapper for camera\n */\n private $camera: HTMLDivElement;\n\n private displayObjectHTMLElementMap = new WeakMap<\n DisplayObject,\n HTMLElement\n >();\n\n /**\n * ! The reason for adding `offset` is that the `transform-origin` coordinate system of DOM is the local coordinate system of the element, while the `transform-origin` coordinate system of canvas drawing is the local coordinate system of the element's parent element. At the same time, the `transform` attribute value of the DOM element does not include `transform-origin`.\n */\n private joinTransformMatrix(matrix: mat4, offset: vec3 = [0, 0, 0]) {\n return `matrix(${[\n matrix[0],\n matrix[1],\n matrix[4],\n matrix[5],\n matrix[12] + offset[0],\n matrix[13] + offset[1],\n ].join(',')})`;\n }\n\n apply(context: RenderingPluginContext, runtime: GlobalRuntime) {\n const { camera, renderingContext, renderingService } = context;\n this.context = context;\n const canvas = renderingContext.root.ownerDocument.defaultView;\n const { nativeHTMLMap } = canvas.context.eventService;\n\n const setTransform = (object: HTML, $el: HTMLElement) => {\n $el.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n };\n\n const handleMounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n if (!this.$camera) {\n this.$camera = this.createCamera(camera);\n }\n\n // create DOM element\n const $el = this.getOrCreateEl(object);\n this.$camera.appendChild($el);\n\n Object.keys(object.attributes).forEach((name) => {\n this.updateAttribute(name, object);\n });\n\n setTransform(object, $el);\n\n nativeHTMLMap.set($el, object);\n }\n };\n\n const handleUnmounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML && this.$camera) {\n const $el = this.getOrCreateEl(object);\n if ($el) {\n $el.remove();\n nativeHTMLMap.delete($el);\n }\n }\n };\n\n const handleAttributeChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n const { attrName } = e;\n this.updateAttribute(attrName, object);\n }\n };\n\n const handleBoundsChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n const nodes =\n object.nodeName === Shape.FRAGMENT ? object.childNodes : [object];\n\n nodes.forEach((node: HTML) => {\n if (node.nodeName === Shape.HTML) {\n const $el = this.getOrCreateEl(node);\n setTransform(node, $el);\n }\n });\n };\n\n const handleCanvasResize = () => {\n if (this.$camera) {\n const { width, height } = this.context.config;\n this.$camera.parentElement.style.width = `${width || 0}px`;\n this.$camera.parentElement.style.height = `${height || 0}px`;\n }\n };\n\n renderingService.hooks.init.tap(HTMLRenderingPlugin.tag, () => {\n canvas.addEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.addEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.addEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.addEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.addEventListener(ElementEvent.BOUNDS_CHANGED, handleBoundsChanged);\n });\n\n renderingService.hooks.endFrame.tap(HTMLRenderingPlugin.tag, () => {\n if (\n this.$camera &&\n renderingContext.renderReasons.has(RenderReason.CAMERA_CHANGED)\n ) {\n this.$camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n }\n });\n\n renderingService.hooks.destroy.tap(HTMLRenderingPlugin.tag, () => {\n // remove camera\n if (this.$camera) {\n this.$camera.remove();\n }\n\n canvas.removeEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.removeEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.removeEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.removeEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.removeEventListener(\n ElementEvent.BOUNDS_CHANGED,\n handleBoundsChanged,\n );\n });\n }\n\n private createCamera(camera: ICamera) {\n const { document: doc, width, height } = this.context.config;\n const $canvas =\n this.context.contextService.getDomElement() as unknown as HTMLElement;\n const $container = $canvas.parentNode;\n if ($container) {\n const cameraId = CANVAS_CAMERA_ID;\n let $existedCamera = $container.querySelector<HTMLDivElement>(\n `#${cameraId}`,\n );\n if (!$existedCamera) {\n // fix @see https://github.com/antvis/G/issues/1702\n const $cameraContainer = (doc || document).createElement('div');\n // HTML elements should not overflow with canvas @see https://github.com/antvis/G/issues/1163\n $cameraContainer.style.overflow = 'hidden';\n $cameraContainer.style.pointerEvents = 'none';\n $cameraContainer.style.position = 'absolute';\n $cameraContainer.style.left = `0px`;\n $cameraContainer.style.top = `0px`;\n $cameraContainer.style.width = `${width || 0}px`;\n $cameraContainer.style.height = `${height || 0}px`;\n\n const $camera = (doc || document).createElement('div');\n $existedCamera = $camera;\n $camera.id = cameraId;\n // use absolute position\n $camera.style.position = 'absolute';\n // account for DOM element's offset @see https://github.com/antvis/G/issues/1150\n $camera.style.left = `${$canvas.offsetLeft || 0}px`;\n $camera.style.top = `${$canvas.offsetTop || 0}px`;\n $camera.style.transformOrigin = 'left top';\n $camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n $camera.style.pointerEvents = 'none';\n $camera.style.width = `100%`;\n $camera.style.height = `100%`;\n\n $cameraContainer.appendChild($camera);\n $container.appendChild($cameraContainer);\n }\n\n return $existedCamera;\n }\n return null;\n }\n\n private getOrCreateEl(object: DisplayObject) {\n const { document: doc } = this.context.config;\n let $existedElement: HTMLElement | null =\n this.displayObjectHTMLElementMap.get(object);\n\n if (!$existedElement) {\n $existedElement = (doc || document).createElement('div');\n object.parsedStyle.$el = $existedElement;\n this.displayObjectHTMLElementMap.set(object, $existedElement);\n if (object.id) {\n $existedElement.id = object.id;\n }\n if (object.name) {\n $existedElement.setAttribute('name', object.name);\n }\n if (object.className) {\n $existedElement.className = object.className;\n }\n\n // use absolute position\n $existedElement.style.position = 'absolute';\n // @see https://github.com/antvis/G/issues/1150\n $existedElement.style['will-change'] = 'transform';\n $existedElement.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n }\n\n return $existedElement;\n }\n\n private updateAttribute(name: string, object: HTML) {\n const $el = this.getOrCreateEl(object);\n switch (name) {\n case 'innerHTML':\n const { innerHTML } = object.parsedStyle;\n if (isString(innerHTML)) {\n $el.innerHTML = innerHTML;\n } else {\n $el.innerHTML = '';\n $el.appendChild(innerHTML);\n }\n break;\n case 'x':\n $el.style.left = `${object.parsedStyle.x}px`;\n break;\n case 'y':\n $el.style.top = `${object.parsedStyle.y}px`;\n break;\n case 'transformOrigin':\n const { transformOrigin } = object.parsedStyle;\n $el.style['transform-origin'] = `${transformOrigin[0].buildCSSText(\n null,\n null,\n '',\n )} ${transformOrigin[1].buildCSSText(null, null, '')}`;\n break;\n case 'width':\n const { width } = object.parsedStyle;\n $el.style.width = isNumber(width)\n ? `${width}px`\n : (width as string).toString();\n break;\n case 'height':\n const { height } = object.parsedStyle;\n $el.style.height = isNumber(height)\n ? `${height}px`\n : (height as string).toString();\n break;\n case 'zIndex':\n const { zIndex } = object.parsedStyle;\n $el.style['z-index'] = `${zIndex}`;\n break;\n case 'visibility':\n const { visibility } = object.parsedStyle;\n $el.style.visibility = visibility;\n break;\n case 'pointerEvents':\n const { pointerEvents = 'auto' } = object.parsedStyle;\n $el.style.pointerEvents = pointerEvents;\n break;\n case 'opacity':\n const { opacity } = object.parsedStyle;\n $el.style.opacity = `${opacity}`;\n break;\n case 'fill':\n const { fill } = object.parsedStyle;\n let color = '';\n if (isCSSRGB(fill)) {\n if (fill.isNone) {\n color = 'transparent';\n } else {\n color = object.getAttribute('fill') as string;\n }\n } else if (Array.isArray(fill)) {\n color = object.getAttribute('fill') as string;\n } else if (isPattern(fill)) {\n // TODO: pattern, use background?\n }\n $el.style.background = color;\n break;\n case 'stroke':\n const { stroke } = object.parsedStyle;\n let borderColor = '';\n if (isCSSRGB(stroke)) {\n if (stroke.isNone) {\n borderColor = 'transparent';\n } else {\n borderColor = object.getAttribute('stroke') as string;\n }\n } else if (Array.isArray(stroke)) {\n borderColor = object.getAttribute('stroke') as string;\n } else if (isPattern(stroke)) {\n // TODO: pattern, use background?\n }\n\n $el.style['border-color'] = borderColor;\n $el.style['border-style'] = 'solid';\n break;\n case 'lineWidth':\n const { lineWidth } = object.parsedStyle;\n $el.style['border-width'] = `${lineWidth || 0}px`;\n break;\n case 'lineDash':\n $el.style['border-style'] = 'dashed';\n break;\n case 'filter':\n const { filter } = object.style;\n $el.style.filter = filter;\n break;\n default:\n if (!isNil(object.style[name]) && object.style[name] !== '') {\n $el.style[name] = object.style[name];\n }\n }\n }\n}\n","import { AbstractRendererPlugin } from '@antv/g-lite';\nimport { HTMLRenderingPlugin } from './HTMLRenderingPlugin';\n\nexport class Plugin extends AbstractRendererPlugin {\n name = 'html-renderer';\n init(): void {\n this.addRenderingPlugin(new HTMLRenderingPlugin());\n }\n destroy(): void {\n this.removeAllRenderingPlugins();\n }\n}\n"],"names":["CANVAS_CAMERA_ID","HTMLRenderingPlugin","_classCallCheck","displayObjectHTMLElementMap","WeakMap","_createClass","key","value","joinTransformMatrix","matrix","offset","arguments","length","undefined","concat","join","apply","context","runtime","_this","camera","renderingContext","renderingService","canvas","root","ownerDocument","defaultView","nativeHTMLMap","eventService","setTransform","object","$el","style","transform","getWorldTransform","getOrigin","handleMounted","e","target","nodeName","Shape","HTML","$camera","createCamera","getOrCreateEl","appendChild","Object","keys","attributes","forEach","name","updateAttribute","set","handleUnmounted","remove","handleAttributeChanged","attrName","handleBoundsChanged","nodes","FRAGMENT","childNodes","node","handleCanvasResize","_this$context$config","config","width","height","parentElement","hooks","init","tap","tag","addEventListener","CanvasEvent","RESIZE","ElementEvent","MOUNTED","UNMOUNTED","ATTR_MODIFIED","BOUNDS_CHANGED","endFrame","renderReasons","has","RenderReason","CAMERA_CHANGED","getOrthoMatrix","destroy","removeEventListener","_this$context$config2","doc","document","$canvas","contextService","getDomElement","$container","parentNode","cameraId","$existedCamera","querySelector","$cameraContainer","createElement","overflow","pointerEvents","position","left","top","id","offsetLeft","offsetTop","transformOrigin","$existedElement","get","parsedStyle","setAttribute","className","innerHTML","isString","x","y","buildCSSText","isNumber","toString","zIndex","visibility","_object$parsedStyle$p","opacity","fill","color","isCSSRGB","isNone","getAttribute","Array","isArray","isPattern","background","stroke","borderColor","lineWidth","filter","isNil","Plugin","_AbstractRendererPlug","_len","args","_key","_callSuper","_inherits","addRenderingPlugin","removeAllRenderingPlugins","AbstractRendererPlugin"],"mappings":"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"}
{"version":3,"file":"index.js","sources":["../src/HTMLRenderingPlugin.ts","../src/index.ts"],"sourcesContent":["import {\n DisplayObject,\n FederatedEvent,\n CustomEvent,\n GlobalRuntime,\n HTML,\n ICamera,\n MutationEvent,\n MutationRecord,\n RenderingPlugin,\n RenderingPluginContext,\n CanvasEvent,\n RenderReason,\n isCSSRGB,\n ElementEvent,\n isPattern,\n Shape,\n} from '@antv/g-lite';\nimport { isNil, isNumber, isString } from '@antv/util';\nimport type { mat4, vec3 } from 'gl-matrix';\n\nconst CANVAS_CAMERA_ID = 'g-canvas-camera';\n\nexport class HTMLRenderingPlugin implements RenderingPlugin {\n static tag = 'HTMLRendering';\n\n private context: RenderingPluginContext;\n\n /**\n * wrapper for camera\n */\n private $camera: HTMLDivElement;\n\n private displayObjectHTMLElementMap = new WeakMap<\n DisplayObject,\n HTMLElement\n >();\n\n /**\n * ! The reason for adding `offset` is that the `transform-origin` coordinate system of DOM is the local coordinate system of the element, while the `transform-origin` coordinate system of canvas drawing is the local coordinate system of the element's parent element. At the same time, the `transform` attribute value of the DOM element does not include `transform-origin`.\n */\n private joinTransformMatrix(matrix: mat4, offset: vec3 = [0, 0, 0]) {\n return `matrix(${[\n matrix[0],\n matrix[1],\n matrix[4],\n matrix[5],\n matrix[12] + offset[0],\n matrix[13] + offset[1],\n ].join(',')})`;\n }\n\n apply(context: RenderingPluginContext, runtime: GlobalRuntime) {\n const { camera, renderingContext, renderingService } = context;\n this.context = context;\n const canvas = renderingContext.root.ownerDocument.defaultView;\n const { nativeHTMLMap } = canvas.context.eventService;\n\n const setTransform = (object: HTML, $el: HTMLElement) => {\n $el.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n };\n\n const handleMounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n if (!this.$camera) {\n this.$camera = this.createCamera(camera);\n }\n\n // create DOM element\n const $el = this.getOrCreateEl(object);\n this.$camera.appendChild($el);\n\n Object.keys(object.attributes).forEach((name) => {\n this.updateAttribute(name, object);\n });\n\n setTransform(object, $el);\n\n nativeHTMLMap.set($el, object);\n }\n };\n\n const handleUnmounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML && this.$camera) {\n const $el = this.getOrCreateEl(object);\n if ($el) {\n $el.remove();\n nativeHTMLMap.delete($el);\n }\n }\n };\n\n const handleAttributeChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n const { attrName } = e;\n this.updateAttribute(attrName, object);\n }\n };\n\n const handleBoundsChanged = (\n e: CustomEvent<{ detail: MutationRecord[] }>,\n ) => {\n const records = e.detail;\n for (let i = 0; i < records.length; i++) {\n const record = records[i];\n const object = record.target as DisplayObject;\n const nodes =\n object.nodeName === Shape.FRAGMENT ? object.childNodes : [object];\n\n nodes.forEach((node: DisplayObject) => {\n if (node.nodeName === Shape.HTML) {\n const $el = this.getOrCreateEl(node);\n setTransform(node as HTML, $el);\n }\n });\n }\n };\n\n const handleCanvasResize = () => {\n if (this.$camera) {\n const { width, height } = this.context.config;\n this.$camera.parentElement.style.width = `${width || 0}px`;\n this.$camera.parentElement.style.height = `${height || 0}px`;\n }\n };\n\n renderingService.hooks.init.tap(HTMLRenderingPlugin.tag, () => {\n canvas.addEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.addEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.addEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.addEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.addEventListener(ElementEvent.BOUNDS_CHANGED, handleBoundsChanged);\n });\n\n renderingService.hooks.endFrame.tap(HTMLRenderingPlugin.tag, () => {\n if (\n this.$camera &&\n renderingContext.renderReasons.has(RenderReason.CAMERA_CHANGED)\n ) {\n this.$camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n }\n });\n\n renderingService.hooks.destroy.tap(HTMLRenderingPlugin.tag, () => {\n // remove camera\n if (this.$camera) {\n this.$camera.remove();\n }\n\n canvas.removeEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.removeEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.removeEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.removeEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.removeEventListener(\n ElementEvent.BOUNDS_CHANGED,\n handleBoundsChanged,\n );\n });\n }\n\n private createCamera(camera: ICamera) {\n const { document: doc, width, height } = this.context.config;\n const $canvas =\n this.context.contextService.getDomElement() as unknown as HTMLElement;\n const $container = $canvas.parentNode;\n if ($container) {\n const cameraId = CANVAS_CAMERA_ID;\n let $existedCamera = $container.querySelector<HTMLDivElement>(\n `#${cameraId}`,\n );\n if (!$existedCamera) {\n // fix @see https://github.com/antvis/G/issues/1702\n const $cameraContainer = (doc || document).createElement('div');\n // HTML elements should not overflow with canvas @see https://github.com/antvis/G/issues/1163\n $cameraContainer.style.overflow = 'hidden';\n $cameraContainer.style.pointerEvents = 'none';\n $cameraContainer.style.position = 'absolute';\n $cameraContainer.style.left = `0px`;\n $cameraContainer.style.top = `0px`;\n $cameraContainer.style.width = `${width || 0}px`;\n $cameraContainer.style.height = `${height || 0}px`;\n\n const $camera = (doc || document).createElement('div');\n $existedCamera = $camera;\n $camera.id = cameraId;\n // use absolute position\n $camera.style.position = 'absolute';\n // account for DOM element's offset @see https://github.com/antvis/G/issues/1150\n $camera.style.left = `${$canvas.offsetLeft || 0}px`;\n $camera.style.top = `${$canvas.offsetTop || 0}px`;\n $camera.style.transformOrigin = 'left top';\n $camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n $camera.style.pointerEvents = 'none';\n $camera.style.width = `100%`;\n $camera.style.height = `100%`;\n\n $cameraContainer.appendChild($camera);\n $container.appendChild($cameraContainer);\n }\n\n return $existedCamera;\n }\n return null;\n }\n\n private getOrCreateEl(object: DisplayObject) {\n const { document: doc } = this.context.config;\n let $existedElement: HTMLElement | null =\n this.displayObjectHTMLElementMap.get(object);\n\n if (!$existedElement) {\n $existedElement = (doc || document).createElement('div');\n object.parsedStyle.$el = $existedElement;\n this.displayObjectHTMLElementMap.set(object, $existedElement);\n if (object.id) {\n $existedElement.id = object.id;\n }\n if (object.name) {\n $existedElement.setAttribute('name', object.name);\n }\n if (object.className) {\n $existedElement.className = object.className;\n }\n\n // use absolute position\n $existedElement.style.position = 'absolute';\n // @see https://github.com/antvis/G/issues/1150\n $existedElement.style['will-change'] = 'transform';\n $existedElement.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n }\n\n return $existedElement;\n }\n\n private updateAttribute(name: string, object: HTML) {\n const $el = this.getOrCreateEl(object);\n switch (name) {\n case 'innerHTML':\n const { innerHTML } = object.parsedStyle;\n if (isString(innerHTML)) {\n $el.innerHTML = innerHTML;\n } else {\n $el.innerHTML = '';\n $el.appendChild(innerHTML);\n }\n break;\n case 'x':\n $el.style.left = `${object.parsedStyle.x}px`;\n break;\n case 'y':\n $el.style.top = `${object.parsedStyle.y}px`;\n break;\n case 'transformOrigin':\n const { transformOrigin } = object.parsedStyle;\n $el.style['transform-origin'] = `${transformOrigin[0].buildCSSText(\n null,\n null,\n '',\n )} ${transformOrigin[1].buildCSSText(null, null, '')}`;\n break;\n case 'width':\n const { width } = object.parsedStyle;\n $el.style.width = isNumber(width)\n ? `${width}px`\n : (width as string).toString();\n break;\n case 'height':\n const { height } = object.parsedStyle;\n $el.style.height = isNumber(height)\n ? `${height}px`\n : (height as string).toString();\n break;\n case 'zIndex':\n const { zIndex } = object.parsedStyle;\n $el.style['z-index'] = `${zIndex}`;\n break;\n case 'visibility':\n const { visibility } = object.parsedStyle;\n $el.style.visibility = visibility;\n break;\n case 'pointerEvents':\n const { pointerEvents = 'auto' } = object.parsedStyle;\n $el.style.pointerEvents = pointerEvents;\n break;\n case 'opacity':\n const { opacity } = object.parsedStyle;\n $el.style.opacity = `${opacity}`;\n break;\n case 'fill':\n const { fill } = object.parsedStyle;\n let color = '';\n if (isCSSRGB(fill)) {\n if (fill.isNone) {\n color = 'transparent';\n } else {\n color = object.getAttribute('fill') as string;\n }\n } else if (Array.isArray(fill)) {\n color = object.getAttribute('fill') as string;\n } else if (isPattern(fill)) {\n // TODO: pattern, use background?\n }\n $el.style.background = color;\n break;\n case 'stroke':\n const { stroke } = object.parsedStyle;\n let borderColor = '';\n if (isCSSRGB(stroke)) {\n if (stroke.isNone) {\n borderColor = 'transparent';\n } else {\n borderColor = object.getAttribute('stroke') as string;\n }\n } else if (Array.isArray(stroke)) {\n borderColor = object.getAttribute('stroke') as string;\n } else if (isPattern(stroke)) {\n // TODO: pattern, use background?\n }\n\n $el.style['border-color'] = borderColor;\n $el.style['border-style'] = 'solid';\n break;\n case 'lineWidth':\n const { lineWidth } = object.parsedStyle;\n $el.style['border-width'] = `${lineWidth || 0}px`;\n break;\n case 'lineDash':\n $el.style['border-style'] = 'dashed';\n break;\n case 'filter':\n const { filter } = object.style;\n $el.style.filter = filter;\n break;\n default:\n if (!isNil(object.style[name]) && object.style[name] !== '') {\n $el.style[name] = object.style[name];\n }\n }\n }\n}\n","import { AbstractRendererPlugin } from '@antv/g-lite';\nimport { HTMLRenderingPlugin } from './HTMLRenderingPlugin';\n\nexport class Plugin extends AbstractRendererPlugin {\n name = 'html-renderer';\n init(): void {\n this.addRenderingPlugin(new HTMLRenderingPlugin());\n }\n destroy(): void {\n this.removeAllRenderingPlugins();\n }\n}\n"],"names":["CANVAS_CAMERA_ID","HTMLRenderingPlugin","_classCallCheck","displayObjectHTMLElementMap","WeakMap","_createClass","key","value","joinTransformMatrix","matrix","offset","arguments","length","undefined","concat","join","apply","context","runtime","_this","camera","renderingContext","renderingService","canvas","root","ownerDocument","defaultView","nativeHTMLMap","eventService","setTransform","object","$el","style","transform","getWorldTransform","getOrigin","handleMounted","e","target","nodeName","Shape","HTML","$camera","createCamera","getOrCreateEl","appendChild","Object","keys","attributes","forEach","name","updateAttribute","set","handleUnmounted","remove","handleAttributeChanged","attrName","handleBoundsChanged","records","detail","i","record","nodes","FRAGMENT","childNodes","node","handleCanvasResize","_this$context$config","config","width","height","parentElement","hooks","init","tap","tag","addEventListener","CanvasEvent","RESIZE","ElementEvent","MOUNTED","UNMOUNTED","ATTR_MODIFIED","BOUNDS_CHANGED","endFrame","renderReasons","has","RenderReason","CAMERA_CHANGED","getOrthoMatrix","destroy","removeEventListener","_this$context$config2","doc","document","$canvas","contextService","getDomElement","$container","parentNode","cameraId","$existedCamera","querySelector","$cameraContainer","createElement","overflow","pointerEvents","position","left","top","id","offsetLeft","offsetTop","transformOrigin","$existedElement","get","parsedStyle","setAttribute","className","innerHTML","isString","x","y","buildCSSText","isNumber","toString","zIndex","visibility","_object$parsedStyle$p","opacity","fill","color","isCSSRGB","isNone","getAttribute","Array","isArray","isPattern","background","stroke","borderColor","lineWidth","filter","isNil","Plugin","_AbstractRendererPlug","_len","args","_key","_callSuper","_inherits","addRenderingPlugin","removeAllRenderingPlugins","AbstractRendererPlugin"],"mappings":"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"}
/*!
* @antv/g-plugin-html-renderer
* @description A G plugin for rendering HTML
* @version 2.1.27
* @date 7/30/2025, 1:35:48 PM
* @version 2.2.0
* @date 10/13/2025, 7:02:08 AM
* @author AntVis
* @docs https://g.antv.antgroup.com/
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@antv/g-lite")):"function"==typeof define&&define.amd?define(["exports","@antv/g-lite"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).G=e.G||{},e.G.HTMLRenderer={}),e.window.G)}(this,function(e,t){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function a(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}function o(e,t){for(var r=0;t.length>r;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}function i(e,t,r){return t&&o(e.prototype,t),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(l=function(){return!!e})()}function c(e,t){if(t&&("object"==n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}function f(e){return"number"==typeof e}var y=function(){function e(){r(this,e),this.displayObjectHTMLElementMap=new WeakMap}return i(e,[{key:"joinTransformMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return"matrix(".concat([e[0],e[1],e[4],e[5],e[12]+t[0],e[13]+t[1]].join(","),")")}},{key:"apply",value:function(r,n){var a=this,o=r.camera,i=r.renderingContext,s=r.renderingService;this.context=r;var l=i.root.ownerDocument.defaultView,c=l.context.eventService.nativeHTMLMap,u=function(e,t){t.style.transform=a.joinTransformMatrix(e.getWorldTransform(),e.getOrigin())},f=function(e){var r=e.target;if(r.nodeName===t.Shape.HTML){a.$camera||(a.$camera=a.createCamera(o));var n=a.getOrCreateEl(r);a.$camera.appendChild(n),Object.keys(r.attributes).forEach(function(e){a.updateAttribute(e,r)}),u(r,n),c.set(n,r)}},y=function(e){var r=e.target;if(r.nodeName===t.Shape.HTML&&a.$camera){var n=a.getOrCreateEl(r);n&&(n.remove(),c.delete(n))}},d=function(e){var r=e.target;r.nodeName===t.Shape.HTML&&a.updateAttribute(e.attrName,r)},p=function(e){var r=e.target;(r.nodeName===t.Shape.FRAGMENT?r.childNodes:[r]).forEach(function(e){if(e.nodeName===t.Shape.HTML){var r=a.getOrCreateEl(e);u(e,r)}})},v=function(){if(a.$camera){var e=a.context.config,t=e.height;a.$camera.parentElement.style.width="".concat(e.width||0,"px"),a.$camera.parentElement.style.height="".concat(t||0,"px")}};s.hooks.init.tap(e.tag,function(){l.addEventListener(t.CanvasEvent.RESIZE,v),l.addEventListener(t.ElementEvent.MOUNTED,f),l.addEventListener(t.ElementEvent.UNMOUNTED,y),l.addEventListener(t.ElementEvent.ATTR_MODIFIED,d),l.addEventListener(t.ElementEvent.BOUNDS_CHANGED,p)}),s.hooks.endFrame.tap(e.tag,function(){a.$camera&&i.renderReasons.has(t.RenderReason.CAMERA_CHANGED)&&(a.$camera.style.transform=a.joinTransformMatrix(o.getOrthoMatrix()))}),s.hooks.destroy.tap(e.tag,function(){a.$camera&&a.$camera.remove(),l.removeEventListener(t.CanvasEvent.RESIZE,v),l.removeEventListener(t.ElementEvent.MOUNTED,f),l.removeEventListener(t.ElementEvent.UNMOUNTED,y),l.removeEventListener(t.ElementEvent.ATTR_MODIFIED,d),l.removeEventListener(t.ElementEvent.BOUNDS_CHANGED,p)})}},{key:"createCamera",value:function(e){var t=this.context.config,r=t.document,n=t.width,a=t.height,o=this.context.contextService.getDomElement(),i=o.parentNode;if(i){var s="g-canvas-camera",l=i.querySelector("#".concat(s));if(!l){var c=(r||document).createElement("div");c.style.overflow="hidden",c.style.pointerEvents="none",c.style.position="absolute",c.style.left="0px",c.style.top="0px",c.style.width="".concat(n||0,"px"),c.style.height="".concat(a||0,"px");var u=(r||document).createElement("div");l=u,u.id=s,u.style.position="absolute",u.style.left="".concat(o.offsetLeft||0,"px"),u.style.top="".concat(o.offsetTop||0,"px"),u.style.transformOrigin="left top",u.style.transform=this.joinTransformMatrix(e.getOrthoMatrix()),u.style.pointerEvents="none",u.style.width="100%",u.style.height="100%",c.appendChild(u),i.appendChild(c)}return l}return null}},{key:"getOrCreateEl",value:function(e){var t=this.context.config.document,r=this.displayObjectHTMLElementMap.get(e);return r||(r=(t||document).createElement("div"),e.parsedStyle.$el=r,this.displayObjectHTMLElementMap.set(e,r),e.id&&(r.id=e.id),e.name&&r.setAttribute("name",e.name),e.className&&(r.className=e.className),r.style.position="absolute",r.style["will-change"]="transform",r.style.transform=this.joinTransformMatrix(e.getWorldTransform(),e.getOrigin())),r}},{key:"updateAttribute",value:function(e,r){var n=this.getOrCreateEl(r);switch(e){case"innerHTML":var a=r.parsedStyle.innerHTML;"string"==typeof a?n.innerHTML=a:(n.innerHTML="",n.appendChild(a));break;case"x":n.style.left="".concat(r.parsedStyle.x,"px");break;case"y":n.style.top="".concat(r.parsedStyle.y,"px");break;case"transformOrigin":var o=r.parsedStyle.transformOrigin;n.style["transform-origin"]="".concat(o[0].buildCSSText(null,null,"")," ").concat(o[1].buildCSSText(null,null,""));break;case"width":var i=r.parsedStyle.width;n.style.width=f(i)?"".concat(i,"px"):""+i;break;case"height":var s=r.parsedStyle.height;n.style.height=f(s)?"".concat(s,"px"):""+s;break;case"zIndex":n.style["z-index"]="".concat(r.parsedStyle.zIndex);break;case"visibility":n.style.visibility=r.parsedStyle.visibility;break;case"pointerEvents":var l=r.parsedStyle.pointerEvents;n.style.pointerEvents=void 0===l?"auto":l;break;case"opacity":n.style.opacity="".concat(r.parsedStyle.opacity);break;case"fill":var c=r.parsedStyle.fill,u="";t.isCSSRGB(c)?u=c.isNone?"transparent":r.getAttribute("fill"):Array.isArray(c)?u=r.getAttribute("fill"):t.isPattern(c),n.style.background=u;break;case"stroke":var y=r.parsedStyle.stroke,d="";t.isCSSRGB(y)?d=y.isNone?"transparent":r.getAttribute("stroke"):Array.isArray(y)?d=r.getAttribute("stroke"):t.isPattern(y),n.style["border-color"]=d,n.style["border-style"]="solid";break;case"lineWidth":n.style["border-width"]="".concat(r.parsedStyle.lineWidth||0,"px");break;case"lineDash":n.style["border-style"]="dashed";break;case"filter":n.style.filter=r.style.filter;break;default:(function(e){return null==e})(r.style[e])||""===r.style[e]||(n.style[e]=r.style[e])}}}])}();y.tag="HTMLRendering";var d=function(e){function t(){var e,n,a,o;r(this,t);for(var i=arguments.length,u=Array(i),f=0;i>f;f++)u[f]=arguments[f];return n=this,a=t,o=[].concat(u),a=s(a),(e=c(n,l()?Reflect.construct(a,o||[],s(n).constructor):a.apply(n,o))).name="html-renderer",e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(t,e),i(t,[{key:"init",value:function(){this.addRenderingPlugin(new y)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(t.AbstractRendererPlugin);e.Plugin=d});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@antv/g-lite")):"function"==typeof define&&define.amd?define(["exports","@antv/g-lite"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).G=e.G||{},e.G.HTMLRenderer={}),e.window.G)}(this,function(e,t){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function a(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}function o(e,t){for(var r=0;t.length>r;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}function i(e,t,r){return t&&o(e.prototype,t),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(l=function(){return!!e})()}function c(e,t){if(t&&("object"==n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}function f(e){return"number"==typeof e}var y=function(){function e(){r(this,e),this.displayObjectHTMLElementMap=new WeakMap}return i(e,[{key:"joinTransformMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];return"matrix(".concat([e[0],e[1],e[4],e[5],e[12]+t[0],e[13]+t[1]].join(","),")")}},{key:"apply",value:function(r,n){var a=this,o=r.camera,i=r.renderingContext,s=r.renderingService;this.context=r;var l=i.root.ownerDocument.defaultView,c=l.context.eventService.nativeHTMLMap,u=function(e,t){t.style.transform=a.joinTransformMatrix(e.getWorldTransform(),e.getOrigin())},f=function(e){var r=e.target;if(r.nodeName===t.Shape.HTML){a.$camera||(a.$camera=a.createCamera(o));var n=a.getOrCreateEl(r);a.$camera.appendChild(n),Object.keys(r.attributes).forEach(function(e){a.updateAttribute(e,r)}),u(r,n),c.set(n,r)}},y=function(e){var r=e.target;if(r.nodeName===t.Shape.HTML&&a.$camera){var n=a.getOrCreateEl(r);n&&(n.remove(),c.delete(n))}},d=function(e){var r=e.target;r.nodeName===t.Shape.HTML&&a.updateAttribute(e.attrName,r)},p=function(e){for(var r=e.detail,n=0;r.length>n;n++){var o=r[n].target;(o.nodeName===t.Shape.FRAGMENT?o.childNodes:[o]).forEach(function(e){if(e.nodeName===t.Shape.HTML){var r=a.getOrCreateEl(e);u(e,r)}})}},v=function(){if(a.$camera){var e=a.context.config,t=e.height;a.$camera.parentElement.style.width="".concat(e.width||0,"px"),a.$camera.parentElement.style.height="".concat(t||0,"px")}};s.hooks.init.tap(e.tag,function(){l.addEventListener(t.CanvasEvent.RESIZE,v),l.addEventListener(t.ElementEvent.MOUNTED,f),l.addEventListener(t.ElementEvent.UNMOUNTED,y),l.addEventListener(t.ElementEvent.ATTR_MODIFIED,d),l.addEventListener(t.ElementEvent.BOUNDS_CHANGED,p)}),s.hooks.endFrame.tap(e.tag,function(){a.$camera&&i.renderReasons.has(t.RenderReason.CAMERA_CHANGED)&&(a.$camera.style.transform=a.joinTransformMatrix(o.getOrthoMatrix()))}),s.hooks.destroy.tap(e.tag,function(){a.$camera&&a.$camera.remove(),l.removeEventListener(t.CanvasEvent.RESIZE,v),l.removeEventListener(t.ElementEvent.MOUNTED,f),l.removeEventListener(t.ElementEvent.UNMOUNTED,y),l.removeEventListener(t.ElementEvent.ATTR_MODIFIED,d),l.removeEventListener(t.ElementEvent.BOUNDS_CHANGED,p)})}},{key:"createCamera",value:function(e){var t=this.context.config,r=t.document,n=t.width,a=t.height,o=this.context.contextService.getDomElement(),i=o.parentNode;if(i){var s="g-canvas-camera",l=i.querySelector("#".concat(s));if(!l){var c=(r||document).createElement("div");c.style.overflow="hidden",c.style.pointerEvents="none",c.style.position="absolute",c.style.left="0px",c.style.top="0px",c.style.width="".concat(n||0,"px"),c.style.height="".concat(a||0,"px");var u=(r||document).createElement("div");l=u,u.id=s,u.style.position="absolute",u.style.left="".concat(o.offsetLeft||0,"px"),u.style.top="".concat(o.offsetTop||0,"px"),u.style.transformOrigin="left top",u.style.transform=this.joinTransformMatrix(e.getOrthoMatrix()),u.style.pointerEvents="none",u.style.width="100%",u.style.height="100%",c.appendChild(u),i.appendChild(c)}return l}return null}},{key:"getOrCreateEl",value:function(e){var t=this.context.config.document,r=this.displayObjectHTMLElementMap.get(e);return r||(r=(t||document).createElement("div"),e.parsedStyle.$el=r,this.displayObjectHTMLElementMap.set(e,r),e.id&&(r.id=e.id),e.name&&r.setAttribute("name",e.name),e.className&&(r.className=e.className),r.style.position="absolute",r.style["will-change"]="transform",r.style.transform=this.joinTransformMatrix(e.getWorldTransform(),e.getOrigin())),r}},{key:"updateAttribute",value:function(e,r){var n=this.getOrCreateEl(r);switch(e){case"innerHTML":var a=r.parsedStyle.innerHTML;"string"==typeof a?n.innerHTML=a:(n.innerHTML="",n.appendChild(a));break;case"x":n.style.left="".concat(r.parsedStyle.x,"px");break;case"y":n.style.top="".concat(r.parsedStyle.y,"px");break;case"transformOrigin":var o=r.parsedStyle.transformOrigin;n.style["transform-origin"]="".concat(o[0].buildCSSText(null,null,"")," ").concat(o[1].buildCSSText(null,null,""));break;case"width":var i=r.parsedStyle.width;n.style.width=f(i)?"".concat(i,"px"):""+i;break;case"height":var s=r.parsedStyle.height;n.style.height=f(s)?"".concat(s,"px"):""+s;break;case"zIndex":n.style["z-index"]="".concat(r.parsedStyle.zIndex);break;case"visibility":n.style.visibility=r.parsedStyle.visibility;break;case"pointerEvents":var l=r.parsedStyle.pointerEvents;n.style.pointerEvents=void 0===l?"auto":l;break;case"opacity":n.style.opacity="".concat(r.parsedStyle.opacity);break;case"fill":var c=r.parsedStyle.fill,u="";t.isCSSRGB(c)?u=c.isNone?"transparent":r.getAttribute("fill"):Array.isArray(c)?u=r.getAttribute("fill"):t.isPattern(c),n.style.background=u;break;case"stroke":var y=r.parsedStyle.stroke,d="";t.isCSSRGB(y)?d=y.isNone?"transparent":r.getAttribute("stroke"):Array.isArray(y)?d=r.getAttribute("stroke"):t.isPattern(y),n.style["border-color"]=d,n.style["border-style"]="solid";break;case"lineWidth":n.style["border-width"]="".concat(r.parsedStyle.lineWidth||0,"px");break;case"lineDash":n.style["border-style"]="dashed";break;case"filter":n.style.filter=r.style.filter;break;default:(function(e){return null==e})(r.style[e])||""===r.style[e]||(n.style[e]=r.style[e])}}}])}();y.tag="HTMLRendering";var d=function(e){function t(){var e,n,a,o;r(this,t);for(var i=arguments.length,u=Array(i),f=0;i>f;f++)u[f]=arguments[f];return n=this,a=t,o=[].concat(u),a=s(a),(e=c(n,l()?Reflect.construct(a,o||[],s(n).constructor):a.apply(n,o))).name="html-renderer",e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(t,e),i(t,[{key:"init",value:function(){this.addRenderingPlugin(new y)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(t.AbstractRendererPlugin);e.Plugin=d});
//# sourceMappingURL=index.umd.min.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.umd.min.js","sources":["../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../node_modules/.pnpm/@antv+util@3.3.11/node_modules/@antv/util/esm/lodash/is-number.js","../src/HTMLRenderingPlugin.ts","../../../node_modules/.pnpm/@antv+util@3.3.11/node_modules/@antv/util/esm/lodash/is-string.js","../../../node_modules/.pnpm/@antv+util@3.3.11/node_modules/@antv/util/esm/lodash/is-nil.js","../src/index.ts","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/callSuper.js","../../../node_modules/.pnpm/@babel+runtime@7.28.2/node_modules/@babel/runtime/helpers/esm/inherits.js"],"sourcesContent":["function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","/**\n * 判断值是否为数字\n * @return 是否为数字\n */\nexport default function isNumber(value) {\n return typeof value === 'number';\n}\n//# sourceMappingURL=is-number.js.map","import {\n DisplayObject,\n FederatedEvent,\n GlobalRuntime,\n HTML,\n ICamera,\n MutationEvent,\n RenderingPlugin,\n RenderingPluginContext,\n CanvasEvent,\n RenderReason,\n isCSSRGB,\n ElementEvent,\n isPattern,\n Shape,\n} from '@antv/g-lite';\nimport { isNil, isNumber, isString } from '@antv/util';\nimport type { mat4, vec3 } from 'gl-matrix';\n\nconst CANVAS_CAMERA_ID = 'g-canvas-camera';\n\nexport class HTMLRenderingPlugin implements RenderingPlugin {\n static tag = 'HTMLRendering';\n\n private context: RenderingPluginContext;\n\n /**\n * wrapper for camera\n */\n private $camera: HTMLDivElement;\n\n private displayObjectHTMLElementMap = new WeakMap<\n DisplayObject,\n HTMLElement\n >();\n\n /**\n * ! The reason for adding `offset` is that the `transform-origin` coordinate system of DOM is the local coordinate system of the element, while the `transform-origin` coordinate system of canvas drawing is the local coordinate system of the element's parent element. At the same time, the `transform` attribute value of the DOM element does not include `transform-origin`.\n */\n private joinTransformMatrix(matrix: mat4, offset: vec3 = [0, 0, 0]) {\n return `matrix(${[\n matrix[0],\n matrix[1],\n matrix[4],\n matrix[5],\n matrix[12] + offset[0],\n matrix[13] + offset[1],\n ].join(',')})`;\n }\n\n apply(context: RenderingPluginContext, runtime: GlobalRuntime) {\n const { camera, renderingContext, renderingService } = context;\n this.context = context;\n const canvas = renderingContext.root.ownerDocument.defaultView;\n const { nativeHTMLMap } = canvas.context.eventService;\n\n const setTransform = (object: HTML, $el: HTMLElement) => {\n $el.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n };\n\n const handleMounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n if (!this.$camera) {\n this.$camera = this.createCamera(camera);\n }\n\n // create DOM element\n const $el = this.getOrCreateEl(object);\n this.$camera.appendChild($el);\n\n Object.keys(object.attributes).forEach((name) => {\n this.updateAttribute(name, object);\n });\n\n setTransform(object, $el);\n\n nativeHTMLMap.set($el, object);\n }\n };\n\n const handleUnmounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML && this.$camera) {\n const $el = this.getOrCreateEl(object);\n if ($el) {\n $el.remove();\n nativeHTMLMap.delete($el);\n }\n }\n };\n\n const handleAttributeChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n const { attrName } = e;\n this.updateAttribute(attrName, object);\n }\n };\n\n const handleBoundsChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n const nodes =\n object.nodeName === Shape.FRAGMENT ? object.childNodes : [object];\n\n nodes.forEach((node: HTML) => {\n if (node.nodeName === Shape.HTML) {\n const $el = this.getOrCreateEl(node);\n setTransform(node, $el);\n }\n });\n };\n\n const handleCanvasResize = () => {\n if (this.$camera) {\n const { width, height } = this.context.config;\n this.$camera.parentElement.style.width = `${width || 0}px`;\n this.$camera.parentElement.style.height = `${height || 0}px`;\n }\n };\n\n renderingService.hooks.init.tap(HTMLRenderingPlugin.tag, () => {\n canvas.addEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.addEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.addEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.addEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.addEventListener(ElementEvent.BOUNDS_CHANGED, handleBoundsChanged);\n });\n\n renderingService.hooks.endFrame.tap(HTMLRenderingPlugin.tag, () => {\n if (\n this.$camera &&\n renderingContext.renderReasons.has(RenderReason.CAMERA_CHANGED)\n ) {\n this.$camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n }\n });\n\n renderingService.hooks.destroy.tap(HTMLRenderingPlugin.tag, () => {\n // remove camera\n if (this.$camera) {\n this.$camera.remove();\n }\n\n canvas.removeEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.removeEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.removeEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.removeEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.removeEventListener(\n ElementEvent.BOUNDS_CHANGED,\n handleBoundsChanged,\n );\n });\n }\n\n private createCamera(camera: ICamera) {\n const { document: doc, width, height } = this.context.config;\n const $canvas =\n this.context.contextService.getDomElement() as unknown as HTMLElement;\n const $container = $canvas.parentNode;\n if ($container) {\n const cameraId = CANVAS_CAMERA_ID;\n let $existedCamera = $container.querySelector<HTMLDivElement>(\n `#${cameraId}`,\n );\n if (!$existedCamera) {\n // fix @see https://github.com/antvis/G/issues/1702\n const $cameraContainer = (doc || document).createElement('div');\n // HTML elements should not overflow with canvas @see https://github.com/antvis/G/issues/1163\n $cameraContainer.style.overflow = 'hidden';\n $cameraContainer.style.pointerEvents = 'none';\n $cameraContainer.style.position = 'absolute';\n $cameraContainer.style.left = `0px`;\n $cameraContainer.style.top = `0px`;\n $cameraContainer.style.width = `${width || 0}px`;\n $cameraContainer.style.height = `${height || 0}px`;\n\n const $camera = (doc || document).createElement('div');\n $existedCamera = $camera;\n $camera.id = cameraId;\n // use absolute position\n $camera.style.position = 'absolute';\n // account for DOM element's offset @see https://github.com/antvis/G/issues/1150\n $camera.style.left = `${$canvas.offsetLeft || 0}px`;\n $camera.style.top = `${$canvas.offsetTop || 0}px`;\n $camera.style.transformOrigin = 'left top';\n $camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n $camera.style.pointerEvents = 'none';\n $camera.style.width = `100%`;\n $camera.style.height = `100%`;\n\n $cameraContainer.appendChild($camera);\n $container.appendChild($cameraContainer);\n }\n\n return $existedCamera;\n }\n return null;\n }\n\n private getOrCreateEl(object: DisplayObject) {\n const { document: doc } = this.context.config;\n let $existedElement: HTMLElement | null =\n this.displayObjectHTMLElementMap.get(object);\n\n if (!$existedElement) {\n $existedElement = (doc || document).createElement('div');\n object.parsedStyle.$el = $existedElement;\n this.displayObjectHTMLElementMap.set(object, $existedElement);\n if (object.id) {\n $existedElement.id = object.id;\n }\n if (object.name) {\n $existedElement.setAttribute('name', object.name);\n }\n if (object.className) {\n $existedElement.className = object.className;\n }\n\n // use absolute position\n $existedElement.style.position = 'absolute';\n // @see https://github.com/antvis/G/issues/1150\n $existedElement.style['will-change'] = 'transform';\n $existedElement.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n }\n\n return $existedElement;\n }\n\n private updateAttribute(name: string, object: HTML) {\n const $el = this.getOrCreateEl(object);\n switch (name) {\n case 'innerHTML':\n const { innerHTML } = object.parsedStyle;\n if (isString(innerHTML)) {\n $el.innerHTML = innerHTML;\n } else {\n $el.innerHTML = '';\n $el.appendChild(innerHTML);\n }\n break;\n case 'x':\n $el.style.left = `${object.parsedStyle.x}px`;\n break;\n case 'y':\n $el.style.top = `${object.parsedStyle.y}px`;\n break;\n case 'transformOrigin':\n const { transformOrigin } = object.parsedStyle;\n $el.style['transform-origin'] = `${transformOrigin[0].buildCSSText(\n null,\n null,\n '',\n )} ${transformOrigin[1].buildCSSText(null, null, '')}`;\n break;\n case 'width':\n const { width } = object.parsedStyle;\n $el.style.width = isNumber(width)\n ? `${width}px`\n : (width as string).toString();\n break;\n case 'height':\n const { height } = object.parsedStyle;\n $el.style.height = isNumber(height)\n ? `${height}px`\n : (height as string).toString();\n break;\n case 'zIndex':\n const { zIndex } = object.parsedStyle;\n $el.style['z-index'] = `${zIndex}`;\n break;\n case 'visibility':\n const { visibility } = object.parsedStyle;\n $el.style.visibility = visibility;\n break;\n case 'pointerEvents':\n const { pointerEvents = 'auto' } = object.parsedStyle;\n $el.style.pointerEvents = pointerEvents;\n break;\n case 'opacity':\n const { opacity } = object.parsedStyle;\n $el.style.opacity = `${opacity}`;\n break;\n case 'fill':\n const { fill } = object.parsedStyle;\n let color = '';\n if (isCSSRGB(fill)) {\n if (fill.isNone) {\n color = 'transparent';\n } else {\n color = object.getAttribute('fill') as string;\n }\n } else if (Array.isArray(fill)) {\n color = object.getAttribute('fill') as string;\n } else if (isPattern(fill)) {\n // TODO: pattern, use background?\n }\n $el.style.background = color;\n break;\n case 'stroke':\n const { stroke } = object.parsedStyle;\n let borderColor = '';\n if (isCSSRGB(stroke)) {\n if (stroke.isNone) {\n borderColor = 'transparent';\n } else {\n borderColor = object.getAttribute('stroke') as string;\n }\n } else if (Array.isArray(stroke)) {\n borderColor = object.getAttribute('stroke') as string;\n } else if (isPattern(stroke)) {\n // TODO: pattern, use background?\n }\n\n $el.style['border-color'] = borderColor;\n $el.style['border-style'] = 'solid';\n break;\n case 'lineWidth':\n const { lineWidth } = object.parsedStyle;\n $el.style['border-width'] = `${lineWidth || 0}px`;\n break;\n case 'lineDash':\n $el.style['border-style'] = 'dashed';\n break;\n case 'filter':\n const { filter } = object.style;\n $el.style.filter = filter;\n break;\n default:\n if (!isNil(object.style[name]) && object.style[name] !== '') {\n $el.style[name] = object.style[name];\n }\n }\n }\n}\n","/**\n * 判断值是否为字符串\n * @return 是否为字符串\n */\nexport default function isString(value) {\n return typeof value === 'string';\n}\n//# sourceMappingURL=is-string.js.map","/**\n * 判断值是否为 null 或 undefined\n * @return 是否为 null 或 undefined\n */\nexport default function isNil(value) {\n return value === null || value === undefined;\n}\n//# sourceMappingURL=is-nil.js.map","import { AbstractRendererPlugin } from '@antv/g-lite';\nimport { HTMLRenderingPlugin } from './HTMLRenderingPlugin';\n\nexport class Plugin extends AbstractRendererPlugin {\n name = 'html-renderer';\n init(): void {\n this.addRenderingPlugin(new HTMLRenderingPlugin());\n }\n destroy(): void {\n this.removeAllRenderingPlugins();\n }\n}\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _callSuper(t, o, e) {\n return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nexport { _callSuper as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };"],"names":["_classCallCheck","a","n","TypeError","_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","t","i","r","e","toPrimitive","call","String","Number","_defineProperties","length","enumerable","configurable","writable","Object","defineProperty","key","_createClass","_getPrototypeOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_possibleConstructorReturn","ReferenceError","assertThisInitialized","_setPrototypeOf","isNumber","value","HTMLRenderingPlugin","this","displayObjectHTMLElementMap","WeakMap","matrix","offset","arguments","undefined","concat","join","context","runtime","_this","camera","renderingContext","renderingService","canvas","root","ownerDocument","defaultView","nativeHTMLMap","eventService","setTransform","object","$el","style","transform","joinTransformMatrix","getWorldTransform","getOrigin","handleMounted","target","nodeName","Shape","HTML","$camera","createCamera","getOrCreateEl","appendChild","keys","attributes","forEach","name","updateAttribute","set","handleUnmounted","remove","handleAttributeChanged","attrName","handleBoundsChanged","FRAGMENT","childNodes","node","handleCanvasResize","_this$context$config","config","height","parentElement","width","hooks","init","tap","tag","addEventListener","CanvasEvent","RESIZE","ElementEvent","MOUNTED","UNMOUNTED","ATTR_MODIFIED","BOUNDS_CHANGED","endFrame","renderReasons","has","RenderReason","CAMERA_CHANGED","getOrthoMatrix","destroy","removeEventListener","_this$context$config2","doc","document","$canvas","contextService","getDomElement","$container","parentNode","cameraId","$existedCamera","querySelector","$cameraContainer","createElement","overflow","pointerEvents","position","left","top","id","offsetLeft","offsetTop","transformOrigin","$existedElement","get","parsedStyle","setAttribute","className","innerHTML","x","y","buildCSSText","zIndex","visibility","_object$parsedStyle$p","opacity","fill","color","isCSSRGB","isNone","getAttribute","Array","isArray","isPattern","background","stroke","borderColor","lineWidth","filter","isNil","Plugin","_AbstractRendererPlug","_len","args","_key","possibleConstructorReturn","isNativeReflectConstruct","apply","create","_inherits","addRenderingPlugin","removeAllRenderingPlugins","AbstractRendererPlugin"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,12,13,15,16]}
{"version":3,"file":"index.umd.min.js","sources":["../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../node_modules/.pnpm/@antv+util@3.3.11/node_modules/@antv/util/esm/lodash/is-number.js","../src/HTMLRenderingPlugin.ts","../../../node_modules/.pnpm/@antv+util@3.3.11/node_modules/@antv/util/esm/lodash/is-string.js","../../../node_modules/.pnpm/@antv+util@3.3.11/node_modules/@antv/util/esm/lodash/is-nil.js","../src/index.ts","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/callSuper.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/inherits.js"],"sourcesContent":["function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","/**\n * 判断值是否为数字\n * @return 是否为数字\n */\nexport default function isNumber(value) {\n return typeof value === 'number';\n}\n//# sourceMappingURL=is-number.js.map","import {\n DisplayObject,\n FederatedEvent,\n CustomEvent,\n GlobalRuntime,\n HTML,\n ICamera,\n MutationEvent,\n MutationRecord,\n RenderingPlugin,\n RenderingPluginContext,\n CanvasEvent,\n RenderReason,\n isCSSRGB,\n ElementEvent,\n isPattern,\n Shape,\n} from '@antv/g-lite';\nimport { isNil, isNumber, isString } from '@antv/util';\nimport type { mat4, vec3 } from 'gl-matrix';\n\nconst CANVAS_CAMERA_ID = 'g-canvas-camera';\n\nexport class HTMLRenderingPlugin implements RenderingPlugin {\n static tag = 'HTMLRendering';\n\n private context: RenderingPluginContext;\n\n /**\n * wrapper for camera\n */\n private $camera: HTMLDivElement;\n\n private displayObjectHTMLElementMap = new WeakMap<\n DisplayObject,\n HTMLElement\n >();\n\n /**\n * ! The reason for adding `offset` is that the `transform-origin` coordinate system of DOM is the local coordinate system of the element, while the `transform-origin` coordinate system of canvas drawing is the local coordinate system of the element's parent element. At the same time, the `transform` attribute value of the DOM element does not include `transform-origin`.\n */\n private joinTransformMatrix(matrix: mat4, offset: vec3 = [0, 0, 0]) {\n return `matrix(${[\n matrix[0],\n matrix[1],\n matrix[4],\n matrix[5],\n matrix[12] + offset[0],\n matrix[13] + offset[1],\n ].join(',')})`;\n }\n\n apply(context: RenderingPluginContext, runtime: GlobalRuntime) {\n const { camera, renderingContext, renderingService } = context;\n this.context = context;\n const canvas = renderingContext.root.ownerDocument.defaultView;\n const { nativeHTMLMap } = canvas.context.eventService;\n\n const setTransform = (object: HTML, $el: HTMLElement) => {\n $el.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n };\n\n const handleMounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n if (!this.$camera) {\n this.$camera = this.createCamera(camera);\n }\n\n // create DOM element\n const $el = this.getOrCreateEl(object);\n this.$camera.appendChild($el);\n\n Object.keys(object.attributes).forEach((name) => {\n this.updateAttribute(name, object);\n });\n\n setTransform(object, $el);\n\n nativeHTMLMap.set($el, object);\n }\n };\n\n const handleUnmounted = (e: FederatedEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML && this.$camera) {\n const $el = this.getOrCreateEl(object);\n if ($el) {\n $el.remove();\n nativeHTMLMap.delete($el);\n }\n }\n };\n\n const handleAttributeChanged = (e: MutationEvent) => {\n const object = e.target as HTML;\n if (object.nodeName === Shape.HTML) {\n const { attrName } = e;\n this.updateAttribute(attrName, object);\n }\n };\n\n const handleBoundsChanged = (\n e: CustomEvent<{ detail: MutationRecord[] }>,\n ) => {\n const records = e.detail;\n for (let i = 0; i < records.length; i++) {\n const record = records[i];\n const object = record.target as DisplayObject;\n const nodes =\n object.nodeName === Shape.FRAGMENT ? object.childNodes : [object];\n\n nodes.forEach((node: DisplayObject) => {\n if (node.nodeName === Shape.HTML) {\n const $el = this.getOrCreateEl(node);\n setTransform(node as HTML, $el);\n }\n });\n }\n };\n\n const handleCanvasResize = () => {\n if (this.$camera) {\n const { width, height } = this.context.config;\n this.$camera.parentElement.style.width = `${width || 0}px`;\n this.$camera.parentElement.style.height = `${height || 0}px`;\n }\n };\n\n renderingService.hooks.init.tap(HTMLRenderingPlugin.tag, () => {\n canvas.addEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.addEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.addEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.addEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.addEventListener(ElementEvent.BOUNDS_CHANGED, handleBoundsChanged);\n });\n\n renderingService.hooks.endFrame.tap(HTMLRenderingPlugin.tag, () => {\n if (\n this.$camera &&\n renderingContext.renderReasons.has(RenderReason.CAMERA_CHANGED)\n ) {\n this.$camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n }\n });\n\n renderingService.hooks.destroy.tap(HTMLRenderingPlugin.tag, () => {\n // remove camera\n if (this.$camera) {\n this.$camera.remove();\n }\n\n canvas.removeEventListener(CanvasEvent.RESIZE, handleCanvasResize);\n canvas.removeEventListener(ElementEvent.MOUNTED, handleMounted);\n canvas.removeEventListener(ElementEvent.UNMOUNTED, handleUnmounted);\n canvas.removeEventListener(\n ElementEvent.ATTR_MODIFIED,\n handleAttributeChanged,\n );\n canvas.removeEventListener(\n ElementEvent.BOUNDS_CHANGED,\n handleBoundsChanged,\n );\n });\n }\n\n private createCamera(camera: ICamera) {\n const { document: doc, width, height } = this.context.config;\n const $canvas =\n this.context.contextService.getDomElement() as unknown as HTMLElement;\n const $container = $canvas.parentNode;\n if ($container) {\n const cameraId = CANVAS_CAMERA_ID;\n let $existedCamera = $container.querySelector<HTMLDivElement>(\n `#${cameraId}`,\n );\n if (!$existedCamera) {\n // fix @see https://github.com/antvis/G/issues/1702\n const $cameraContainer = (doc || document).createElement('div');\n // HTML elements should not overflow with canvas @see https://github.com/antvis/G/issues/1163\n $cameraContainer.style.overflow = 'hidden';\n $cameraContainer.style.pointerEvents = 'none';\n $cameraContainer.style.position = 'absolute';\n $cameraContainer.style.left = `0px`;\n $cameraContainer.style.top = `0px`;\n $cameraContainer.style.width = `${width || 0}px`;\n $cameraContainer.style.height = `${height || 0}px`;\n\n const $camera = (doc || document).createElement('div');\n $existedCamera = $camera;\n $camera.id = cameraId;\n // use absolute position\n $camera.style.position = 'absolute';\n // account for DOM element's offset @see https://github.com/antvis/G/issues/1150\n $camera.style.left = `${$canvas.offsetLeft || 0}px`;\n $camera.style.top = `${$canvas.offsetTop || 0}px`;\n $camera.style.transformOrigin = 'left top';\n $camera.style.transform = this.joinTransformMatrix(\n camera.getOrthoMatrix(),\n );\n $camera.style.pointerEvents = 'none';\n $camera.style.width = `100%`;\n $camera.style.height = `100%`;\n\n $cameraContainer.appendChild($camera);\n $container.appendChild($cameraContainer);\n }\n\n return $existedCamera;\n }\n return null;\n }\n\n private getOrCreateEl(object: DisplayObject) {\n const { document: doc } = this.context.config;\n let $existedElement: HTMLElement | null =\n this.displayObjectHTMLElementMap.get(object);\n\n if (!$existedElement) {\n $existedElement = (doc || document).createElement('div');\n object.parsedStyle.$el = $existedElement;\n this.displayObjectHTMLElementMap.set(object, $existedElement);\n if (object.id) {\n $existedElement.id = object.id;\n }\n if (object.name) {\n $existedElement.setAttribute('name', object.name);\n }\n if (object.className) {\n $existedElement.className = object.className;\n }\n\n // use absolute position\n $existedElement.style.position = 'absolute';\n // @see https://github.com/antvis/G/issues/1150\n $existedElement.style['will-change'] = 'transform';\n $existedElement.style.transform = this.joinTransformMatrix(\n object.getWorldTransform(),\n object.getOrigin(),\n );\n }\n\n return $existedElement;\n }\n\n private updateAttribute(name: string, object: HTML) {\n const $el = this.getOrCreateEl(object);\n switch (name) {\n case 'innerHTML':\n const { innerHTML } = object.parsedStyle;\n if (isString(innerHTML)) {\n $el.innerHTML = innerHTML;\n } else {\n $el.innerHTML = '';\n $el.appendChild(innerHTML);\n }\n break;\n case 'x':\n $el.style.left = `${object.parsedStyle.x}px`;\n break;\n case 'y':\n $el.style.top = `${object.parsedStyle.y}px`;\n break;\n case 'transformOrigin':\n const { transformOrigin } = object.parsedStyle;\n $el.style['transform-origin'] = `${transformOrigin[0].buildCSSText(\n null,\n null,\n '',\n )} ${transformOrigin[1].buildCSSText(null, null, '')}`;\n break;\n case 'width':\n const { width } = object.parsedStyle;\n $el.style.width = isNumber(width)\n ? `${width}px`\n : (width as string).toString();\n break;\n case 'height':\n const { height } = object.parsedStyle;\n $el.style.height = isNumber(height)\n ? `${height}px`\n : (height as string).toString();\n break;\n case 'zIndex':\n const { zIndex } = object.parsedStyle;\n $el.style['z-index'] = `${zIndex}`;\n break;\n case 'visibility':\n const { visibility } = object.parsedStyle;\n $el.style.visibility = visibility;\n break;\n case 'pointerEvents':\n const { pointerEvents = 'auto' } = object.parsedStyle;\n $el.style.pointerEvents = pointerEvents;\n break;\n case 'opacity':\n const { opacity } = object.parsedStyle;\n $el.style.opacity = `${opacity}`;\n break;\n case 'fill':\n const { fill } = object.parsedStyle;\n let color = '';\n if (isCSSRGB(fill)) {\n if (fill.isNone) {\n color = 'transparent';\n } else {\n color = object.getAttribute('fill') as string;\n }\n } else if (Array.isArray(fill)) {\n color = object.getAttribute('fill') as string;\n } else if (isPattern(fill)) {\n // TODO: pattern, use background?\n }\n $el.style.background = color;\n break;\n case 'stroke':\n const { stroke } = object.parsedStyle;\n let borderColor = '';\n if (isCSSRGB(stroke)) {\n if (stroke.isNone) {\n borderColor = 'transparent';\n } else {\n borderColor = object.getAttribute('stroke') as string;\n }\n } else if (Array.isArray(stroke)) {\n borderColor = object.getAttribute('stroke') as string;\n } else if (isPattern(stroke)) {\n // TODO: pattern, use background?\n }\n\n $el.style['border-color'] = borderColor;\n $el.style['border-style'] = 'solid';\n break;\n case 'lineWidth':\n const { lineWidth } = object.parsedStyle;\n $el.style['border-width'] = `${lineWidth || 0}px`;\n break;\n case 'lineDash':\n $el.style['border-style'] = 'dashed';\n break;\n case 'filter':\n const { filter } = object.style;\n $el.style.filter = filter;\n break;\n default:\n if (!isNil(object.style[name]) && object.style[name] !== '') {\n $el.style[name] = object.style[name];\n }\n }\n }\n}\n","/**\n * 判断值是否为字符串\n * @return 是否为字符串\n */\nexport default function isString(value) {\n return typeof value === 'string';\n}\n//# sourceMappingURL=is-string.js.map","/**\n * 判断值是否为 null 或 undefined\n * @return 是否为 null 或 undefined\n */\nexport default function isNil(value) {\n return value === null || value === undefined;\n}\n//# sourceMappingURL=is-nil.js.map","import { AbstractRendererPlugin } from '@antv/g-lite';\nimport { HTMLRenderingPlugin } from './HTMLRenderingPlugin';\n\nexport class Plugin extends AbstractRendererPlugin {\n name = 'html-renderer';\n init(): void {\n this.addRenderingPlugin(new HTMLRenderingPlugin());\n }\n destroy(): void {\n this.removeAllRenderingPlugins();\n }\n}\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _callSuper(t, o, e) {\n return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nexport { _callSuper as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };"],"names":["_classCallCheck","a","n","TypeError","_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","t","i","r","e","toPrimitive","call","String","Number","_defineProperties","length","enumerable","configurable","writable","Object","defineProperty","key","_createClass","_getPrototypeOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_possibleConstructorReturn","ReferenceError","assertThisInitialized","_setPrototypeOf","isNumber","value","HTMLRenderingPlugin","this","displayObjectHTMLElementMap","WeakMap","matrix","offset","arguments","undefined","concat","join","context","runtime","_this","camera","renderingContext","renderingService","canvas","root","ownerDocument","defaultView","nativeHTMLMap","eventService","setTransform","object","$el","style","transform","joinTransformMatrix","getWorldTransform","getOrigin","handleMounted","target","nodeName","Shape","HTML","$camera","createCamera","getOrCreateEl","appendChild","keys","attributes","forEach","name","updateAttribute","set","handleUnmounted","remove","handleAttributeChanged","attrName","handleBoundsChanged","records","detail","FRAGMENT","childNodes","node","handleCanvasResize","_this$context$config","config","height","parentElement","width","hooks","init","tap","tag","addEventListener","CanvasEvent","RESIZE","ElementEvent","MOUNTED","UNMOUNTED","ATTR_MODIFIED","BOUNDS_CHANGED","endFrame","renderReasons","has","RenderReason","CAMERA_CHANGED","getOrthoMatrix","destroy","removeEventListener","_this$context$config2","doc","document","$canvas","contextService","getDomElement","$container","parentNode","cameraId","$existedCamera","querySelector","$cameraContainer","createElement","overflow","pointerEvents","position","left","top","id","offsetLeft","offsetTop","transformOrigin","$existedElement","get","parsedStyle","setAttribute","className","innerHTML","x","y","buildCSSText","zIndex","visibility","_object$parsedStyle$p","opacity","fill","color","isCSSRGB","isNone","getAttribute","Array","isArray","isPattern","background","stroke","borderColor","lineWidth","filter","isNil","Plugin","_AbstractRendererPlug","_len","args","_key","possibleConstructorReturn","isNativeReflectConstruct","apply","create","_inherits","addRenderingPlugin","removeAllRenderingPlugins","AbstractRendererPlugin"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,12,13,15,16]}
{
"name": "@antv/g-plugin-html-renderer",
"version": "2.1.27",
"version": "2.2.0",
"description": "A G plugin for rendering HTML",

@@ -40,3 +40,3 @@ "keywords": [

"tslib": "^2.5.3",
"@antv/g-lite": "2.3.2"
"@antv/g-lite": "2.4.0"
},

@@ -43,0 +43,0 @@ "publishConfig": {

@@ -1,1 +0,1 @@

{"version":3,"file":"HTMLRenderingPlugin.d.ts","sourceRoot":"","sources":["../src/HTMLRenderingPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAIb,eAAe,EACf,sBAAsB,EAOvB,MAAM,cAAc,CAAC;AAMtB,qBAAa,mBAAoB,YAAW,eAAe;IACzD,MAAM,CAAC,GAAG,SAAmB;IAE7B,OAAO,CAAC,OAAO,CAAyB;IAExC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,2BAA2B,CAG/B;IAEJ;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,aAAa;IAoH7D,OAAO,CAAC,YAAY;IA+CpB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,eAAe;CAyGxB"}
{"version":3,"file":"HTMLRenderingPlugin.d.ts","sourceRoot":"","sources":["../src/HTMLRenderingPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EAKb,eAAe,EACf,sBAAsB,EAOvB,MAAM,cAAc,CAAC;AAMtB,qBAAa,mBAAoB,YAAW,eAAe;IACzD,MAAM,CAAC,GAAG,SAAmB;IAE7B,OAAO,CAAC,OAAO,CAAyB;IAExC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,2BAA2B,CAG/B;IAEJ;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,aAAa;IA0H7D,OAAO,CAAC,YAAY;IA+CpB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,eAAe;CAyGxB"}