vmware-archive / clarity

Clarity is a scalable, accessible, customizable, open source design system built with web components. Works with any JavaScript framework, built for enterprises, and designed to be inclusive.
http://clarity.design
MIT License
6.43k stars 763 forks source link

fix(core): property initialization #6593

Closed coryrylan closed 2 years ago

coryrylan commented 2 years ago

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

What is the current behavior?

Some custom elements fail to instantiate due to a property being set to early in its life cycle. If a native built in property is set that reflects its attribute before the element has been added to the DOM it can throw an exception in some browsers.

See references

What is the new behavior?

This moves the property to be set in the connectedCallback to prevent the exception. Unfortunately I could not find a great way to test this since this is a life cycle issue controlled by the browser. This will need to be backported to v5

Does this PR introduce a breaking change?

Other information