@vaadin/component-base
Advanced tools
Comparing version 24.6.0-rc1 to 24.7.0-alpha1
{ | ||
"name": "@vaadin/component-base", | ||
"version": "24.6.0-rc1", | ||
"version": "24.7.0-alpha1", | ||
"publishConfig": { | ||
@@ -41,7 +41,7 @@ "access": "public" | ||
"devDependencies": { | ||
"@vaadin/chai-plugins": "24.6.0-rc1", | ||
"@vaadin/chai-plugins": "24.7.0-alpha1", | ||
"@vaadin/testing-helpers": "^1.0.0", | ||
"sinon": "^18.0.0" | ||
}, | ||
"gitHead": "d62ba309e3286777ad3ea7e015d50a2c4976bb42" | ||
"gitHead": "04be941c9a7b659871c97f31b9cc3ffd7528087b" | ||
} |
@@ -16,3 +16,3 @@ /** | ||
export function defineCustomElement(CustomElement, version = '24.6.0-rc1') { | ||
export function defineCustomElement(CustomElement, version = '24.7.0-alpha1') { | ||
Object.defineProperty(CustomElement, 'version', { | ||
@@ -19,0 +19,0 @@ get() { |
@@ -198,3 +198,24 @@ /** | ||
constructor() { | ||
super(); | ||
this.__hasPolylitMixin = true; | ||
} | ||
/** @protected */ | ||
connectedCallback() { | ||
super.connectedCallback(); | ||
// Components like `vaadin-overlay` are teleported to the body element when opened. | ||
// If their opened state is set as an attribute, the teleportation happens immediately | ||
// after they are connected to the DOM. This means they will be outside the scope of | ||
// querySelectorAll in the parent component's `firstUpdated()`. To ensure their reference | ||
// is still registered in the $ map, we propagate the reference here. | ||
const parentHost = this.getRootNode().host; | ||
if (parentHost && parentHost.__hasPolylitMixin && this.id) { | ||
parentHost.$ ||= {}; | ||
parentHost.$[this.id] = this; | ||
} | ||
} | ||
/** @protected */ | ||
firstUpdated() { | ||
@@ -207,4 +228,6 @@ super.firstUpdated(); | ||
this.renderRoot.querySelectorAll('[id]').forEach((node) => { | ||
this.$[node.id] = node; | ||
[...Object.values(this.$), this.renderRoot].forEach((node) => { | ||
node.querySelectorAll('[id]').forEach((node) => { | ||
this.$[node.id] = node; | ||
}); | ||
}); | ||
@@ -225,2 +248,6 @@ } | ||
if (this.constructor.__complexObservers) { | ||
this.__runComplexObservers(props, this.constructor.__complexObservers); | ||
} | ||
if (this.__dynamicPropertyObservers) { | ||
@@ -230,6 +257,2 @@ this.__runDynamicObservers(props, this.__dynamicPropertyObservers); | ||
if (this.constructor.__complexObservers) { | ||
this.__runComplexObservers(props, this.constructor.__complexObservers); | ||
} | ||
if (this.__dynamicMethodObservers) { | ||
@@ -236,0 +259,0 @@ this.__runComplexObservers(props, this.__dynamicMethodObservers); |
221465
6528