From d3b0db88af71513114268e9188cbc20fca80e846 Mon Sep 17 00:00:00 2001 From: konnorrogers Date: Wed, 11 Sep 2024 18:11:47 -0400 Subject: [PATCH] fix morphing --- src/internal/webawesome-element.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/internal/webawesome-element.ts b/src/internal/webawesome-element.ts index 3a7699132..99fcbae69 100644 --- a/src/internal/webawesome-element.ts +++ b/src/internal/webawesome-element.ts @@ -16,8 +16,9 @@ export default class WebAwesomeElement extends LitElement { constructor () { super() - // queueMicrotask(() => { - ;(this.constructor as typeof WebAwesomeElement).elementProperties.forEach((obj, prop) => { + // queueMicrotask so that we wait until any subclasses finish their constructors and *then* we record the initial properties. + queueMicrotask(() => { + (this.constructor as typeof WebAwesomeElement).elementProperties.forEach((obj, prop) => { // @ts-expect-error Leave me alone. // eslint-disable-next-line if (obj.reflect && this[prop] != null) { @@ -25,7 +26,7 @@ export default class WebAwesomeElement extends LitElement { this.constructorProperties.set(prop, this[prop]) } }) - // }) + }) } willUpdate (changedProperties: PropertyValues) { super.willUpdate(changedProperties)