Node or ShadowRoot into which element DOM should be rendered. Defaults to an open shadowRoot.
Returns a Promise that resolves when the element has completed updating.
The Promise value is a boolean that is true
if the element completed the
update without triggering another update. The Promise result is false
if
a property was set inside updated()
. This getter can be implemented to
await additional state. For example, it is sometimes useful to await a
rendered element before fulfilling this Promise. To do this, first await
super.updateComplete
then any subsequent state.
The Promise returns a boolean that indicates if the update resolved without triggering another update.
Returns a list of attributes corresponding to the registered properties.
Synchronizes property values when attributes change.
Uses ShadyCSS to keep element DOM updated.
Returns the node into which the element should render and by default
creates and returns an open shadowRoot. Implement to customize where the
element's DOM is rendered. For example, to render into the element's
childNodes, return this
.
Returns a node into which to render.
Allows for super.disconnectedCallback()
in extensions while
reserving the possibility of making non-breaking feature additions
when disconnecting at some point in the future.
Invoked when the element is first updated. Implement to perform one time work on the element after update.
Setting properties inside this method will trigger the element to update again after this update cycle completes.
Performs element initialization. By default this calls createRenderRoot
to create the element renderRoot
node and captures any pre-set values for
registered properties.
Performs an element update.
You can override this method to change the timing of updates. For instance, to schedule updates to occur just before the next frame:
protected async performUpdate(): Promise<unknown> {
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
super.performUpdate();
}
Requests an update which is processed asynchronously. This should
be called when an element should update based on some state not triggered
by setting a property. In this case, pass no arguments. It should also be
called when manually implementing a property setter. In this case, pass the
property name
and oldValue
to ensure that any configured property
options are honored. Returns the updateComplete
Promise which is resolved
when the update completes.
(optional) name of requesting property
(optional) old value of requesting property
A Promise that is resolved when the update completes.
Controls whether or not update
should be called when the element requests
an update. By default, this method always returns true
, but this can be
customized to control when to update.
Updates the element. This method reflects property values to attributes.
It can be overridden to render and keep updated DOM in the element's
renderRoot
. Setting properties inside this method will not trigger
another update.
Invoked whenever the element is updated. Implement to perform post-updating tasks via DOM APIs, for example, focusing an element.
Setting properties inside this method will trigger the element to update again after this update cycle completes.
Creates a property accessor on the element prototype if one does not exist.
The property setter calls the property's hasChanged
property option
or uses a strict identity check to determine whether or not to request
an update.
Generated using TypeDoc
Base element class which manages element properties and attributes. When properties change, the
update
method is asynchronously called. This method should be supplied by subclassers to render updates as desired.