diff --git a/source/components/content/copy.mjs b/source/components/content/copy.mjs index 6ee6bc6327ee09ae1e7cb5d99129d7641b07181e..0f522cf64352f2234daaaab08247b4f573ed6f5e 100644 --- a/source/components/content/copy.mjs +++ b/source/components/content/copy.mjs @@ -267,7 +267,20 @@ function attachResizeObserver() { }); }); - this[resizeObserverSymbol].observe(this.parentElement); + requestAnimationFrame(() => { + + let parent = this.parentNode; + while(!(parent instanceof HTMLElement) && parent !== null) { + parent = parent.parentNode; + } + + if (parent instanceof HTMLElement) { + this[resizeObserverSymbol].observe(parent); + } + + + }); + } /** diff --git a/source/components/datatable/filter/date-range.mjs b/source/components/datatable/filter/date-range.mjs index 31142149420540555bc5776d4c12d53c405f05d8..d18921d456b7a1df5db5429467f7437e5d1649ec 100644 --- a/source/components/datatable/filter/date-range.mjs +++ b/source/components/datatable/filter/date-range.mjs @@ -689,7 +689,18 @@ function attachResizeObserver() { }); }); - this[resizeObserverSymbol].observe(this.parentElement); + requestAnimationFrame(() => { + + let parent = this.parentNode; + while(!(parent instanceof HTMLElement) && parent !== null) { + parent = parent.parentNode; + } + + if (parent instanceof HTMLElement) { + this[resizeObserverSymbol].observe(parent); + } + }); + } function disconnectResizeObserver() { diff --git a/source/components/form/button-bar.mjs b/source/components/form/button-bar.mjs index 1ff6671bd0e44fdaaa360a54573d38af20df8548..ee78be148027a3d3fd1032321bd4499387e06039 100644 --- a/source/components/form/button-bar.mjs +++ b/source/components/form/button-bar.mjs @@ -567,8 +567,21 @@ function updateResizeObserverObservation() { this[resizeObserverSymbol].observe(node); }); - if (this.parentElement === null) return; - this[resizeObserverSymbol].observe(this.parentElement); + requestAnimationFrame(() => { + + let parent = this.parentNode; + while(!(parent instanceof HTMLElement) && parent !== null) { + parent = parent.parentNode; + } + + if (parent instanceof HTMLElement) { + this[resizeObserverSymbol].observe(parent); + } + + + }); + + } /** diff --git a/source/components/form/popper-button.mjs b/source/components/form/popper-button.mjs index 05a38566a9a73518c875acd134e3bc7683918d3d..52d8f8979d7b1bdd773d618bf2f7032655fb7bba 100644 --- a/source/components/form/popper-button.mjs +++ b/source/components/form/popper-button.mjs @@ -345,7 +345,20 @@ function attachResizeObserver() { }); }); - this[resizeObserverSymbol].observe(this.parentElement); + requestAnimationFrame(() => { + + let parent = this.parentNode; + while(!(parent instanceof HTMLElement) && parent !== null) { + parent = parent.parentNode; + } + + if (parent instanceof HTMLElement) { + this[resizeObserverSymbol].observe(parent); + } + + + }); + } function disconnectResizeObserver() { diff --git a/source/components/form/select.mjs b/source/components/form/select.mjs index c77c1f5393f8250c7ad174f413705fc16b29fedd..4473fdac0ede813fd7f7944e882de35e89e8909d 100644 --- a/source/components/form/select.mjs +++ b/source/components/form/select.mjs @@ -1097,7 +1097,20 @@ function attachResizeObserver() { }); }); - this[resizeObserverSymbol].observe(this.parentElement); + requestAnimationFrame(() => { + + let parent = this.parentNode; + while(!(parent instanceof HTMLElement) && parent !== null) { + parent = parent.parentNode; + } + + if (parent instanceof HTMLElement) { + this[resizeObserverSymbol].observe(parent); + } + + + }); + } /** diff --git a/source/components/layout/popper.mjs b/source/components/layout/popper.mjs index 657c77adf3bd56900e7c7071d8e24c93d6fe4652..e90b41b26b4ea6586227d883a4e34c327a3a2749 100644 --- a/source/components/layout/popper.mjs +++ b/source/components/layout/popper.mjs @@ -357,7 +357,20 @@ function attachResizeObserver() { }); }); - this[resizeObserverSymbol].observe(this.parentElement); + requestAnimationFrame(() => { + + let parent = this.parentNode; + while(!(parent instanceof HTMLElement) && parent !== null) { + parent = parent.parentNode; + } + + if (parent instanceof HTMLElement) { + this[resizeObserverSymbol].observe(parent); + } + + + }); + } function disconnectResizeObserver() {