diff --git a/.idea/misc.xml b/.idea/misc.xml
index 5c3f8d1..1342930 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -6,9 +6,4 @@
-
-
-
\ No newline at end of file
diff --git a/package.json b/package.json
index ff39161..a534dc5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@enbock/ts-jsx",
- "version": "0.1.0-dev17",
+ "version": "0.1.0-dev18",
"description": "An simple JSX rendering based on ShadowDOMv1.",
"license": "MIT",
"author": "Endre Bock ",
diff --git a/src/ShadowRenderer.ts b/src/ShadowRenderer.ts
index 5b0bda1..7fb25e3 100644
--- a/src/ShadowRenderer.ts
+++ b/src/ShadowRenderer.ts
@@ -65,11 +65,16 @@ export default class ShadowRenderer {
for (const key of Object.keys(result.props)) {
const isOnDashStyle: boolean = key.substring(0, 3) == 'on-';
if (isOnDashStyle || key.match(/^on[A-Z]/) !== null) {
- const eventName:string = key.substring(isOnDashStyle ? 3 : 2).toLowerCase();
+ const eventName: string = key.substring(isOnDashStyle ? 3 : 2).toLowerCase();
(domNode as any)['on' + eventName] = result.props[key];
} else
domNode.setAttribute(key, result.props[key]);
}
+ for (let ai: number = 0; ai < domNode.attributes.length; ai++) {
+ const key: string = domNode.attributes.item(ai)!.name;
+ if (Object.hasOwn(result.props, key)) continue;
+ domNode.attributes.removeNamedItem(key);
+ }
}
private static iterateLevel(results: ShadowDomElement | ShadowDomElement[], root: HTMLElement | ShadowRoot): void {