@schukai/monster 4.88.0 → 4.89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
 
4
4
 
5
+ ## [4.89.0] - 2026-01-11
6
+
7
+ ### Add Features
8
+
9
+ - Enhance root node retrieval for linked forms
10
+
11
+
12
+
5
13
  ## [4.88.0] - 2026-01-11
6
14
 
7
15
  ### Add Features
package/package.json CHANGED
@@ -1 +1 @@
1
- {"author":"Volker Schukai","dependencies":{"@floating-ui/dom":"^1.7.4","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.88.0"}
1
+ {"author":"Volker Schukai","dependencies":{"@floating-ui/dom":"^1.7.4","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.89.0"}
@@ -399,12 +399,22 @@ function flushLinkedForms() {
399
399
  }
400
400
 
401
401
  const roots = new Set();
402
- const root = this.getRootNode?.();
403
- if (root && typeof root.querySelectorAll === "function") {
404
- roots.add(root);
402
+ let current = this;
403
+ while (current) {
404
+ const root = current.getRootNode?.();
405
+ if (root && typeof root.querySelectorAll === "function") {
406
+ roots.add(root);
407
+ }
408
+
409
+ if (root instanceof ShadowRoot) {
410
+ current = root.host;
411
+ } else {
412
+ break;
413
+ }
405
414
  }
415
+
406
416
  const doc = getDocument();
407
- if (doc && (!root || root !== doc)) {
417
+ if (doc) {
408
418
  roots.add(doc);
409
419
  }
410
420