From f962f9d884c3b7d443ee61b77298f0d3997411b0 Mon Sep 17 00:00:00 2001 From: "Michael S. Scherotter" Date: Sun, 4 May 2025 23:55:18 -0700 Subject: [PATCH] Fixed issue where foreignObject contents styles were getting removed on object moving (#1053) --- packages/svgcanvas/core/event.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/svgcanvas/core/event.js b/packages/svgcanvas/core/event.js index 068c6386..692e89ff 100644 --- a/packages/svgcanvas/core/event.js +++ b/packages/svgcanvas/core/event.js @@ -662,9 +662,18 @@ const mouseUpEvent = (evt) => { const elem = selectedElements[0] if (elem) { elem.removeAttribute('style') - walkTree(elem, (el) => { - el.removeAttribute('style') - }) + + // we don't remove the style elements for contents of foreignObjects + // because that is a valid way to style them + if (elem.localName === 'foreignObject') { + walkTree(elem, (el) => { + el.style.removeProperty('pointer-events') + }) + } else { + walkTree(elem, (el) => { + el.removeAttribute('style') + }) + } } } return