ReadonlyaccessReadonlyassignedReadonlyATTRIBUTE_ReadonlyattributesReadonlyattributeReadonlybaseURIReturns node's node document's document base URL.
ReadonlyCDATA_node is a CDATASection node.
ReadonlychildReadonlychildReturns the children.
ReadonlychildrenReturns the child elements.
ReadonlyclassAllows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.
Returns the value of element's class content attribute. Can be set to change it.
ReadonlyclientReadonlyclientReadonlyclientReadonlyclientReadonlyCOMMENT_node is a Comment node.
ReadonlycurrentCSSZoomReadonlydatasetThe direction of the element.
ReadonlyDOCUMENT_node is a DocumentFragment node.
ReadonlyDOCUMENT_node is a document.
ReadonlyDOCUMENT_Set when other is a descendant of node.
ReadonlyDOCUMENT_Set when other is an ancestor of node.
ReadonlyDOCUMENT_Set when node and other are not in the same tree.
ReadonlyDOCUMENT_Set when other is following node.
ReadonlyDOCUMENT_ReadonlyDOCUMENT_Set when other is preceding node.
ReadonlyDOCUMENT_node is a doctype.
ReadonlyELEMENT_node is an element.
ReadonlyENTITY_ReadonlyENTITY_ReadonlyfirstReturns the first child.
ReadonlyfirstReturns the first child that is an element, and null otherwise.
Returns the value of element's id content attribute. Can be set to change it.
ReadonlyisReturns true if node is connected and false otherwise.
ReadonlyisThe language of the element.
ReadonlylastReturns the last child.
ReadonlylastReturns the last child that is an element, and null otherwise.
Use the UmbLocalizeController to localize your element.
ReadonlylocalReturns the local name.
ReadonlynamespaceURIReturns the namespace.
ReadonlynextReturns the first following sibling that is an element, and null otherwise.
ReadonlynextReturns the next sibling.
ReadonlynodeReturns a string appropriate for the type of node.
ReadonlynodeReturns the type of node.
OptionalnonceReadonlyNOTATION_ReadonlyoffsetReadonlyoffsetReadonlyoffsetReadonlyoffsetReadonlyoffsetFires when the user aborts the download.
Fires when the object loses the input focus.
Occurs when playback is possible, but would require further buffering.
Fires when the contents of the object or selection have changed.
Fires when the user clicks the left mouse button on the object
Fires when the user clicks the right mouse button in the client area, opening the context menu.
Fires when the user double-clicks the object.
Fires on the source object continuously during a drag operation.
Fires on the source object when the user releases the mouse at the close of a drag operation.
Fires on the target element when the user drags the object to a valid drop target.
Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.
Fires on the target element continuously while the user drags the object over a valid drop target.
Fires on the source object when the user starts to drag a text selection or selected object.
Occurs when the duration attribute is updated.
Occurs when the media element is reset to its initial state.
Occurs when the end of playback is reached.
Fires when an error occurs during object loading.
Fires when the object receives focus.
Fires when the user presses a key.
Fires when the user presses an alphanumeric key.
Fires when the user releases a key.
Fires immediately after the browser loads the object.
Occurs when media data is loaded at the current playback position.
Occurs when the duration and dimensions of the media have been determined.
Occurs when Internet Explorer begins looking for media data.
Fires when the user clicks the object with either mouse button.
Fires when the user moves the mouse over the object.
Fires when the user moves the mouse pointer outside the boundaries of the object.
Fires when the user moves the mouse pointer into the object.
Fires when the user releases a mouse button while the mouse is over the object.
Occurs when playback is paused.
Occurs when the play method is requested.
Occurs when the audio or video has started playing.
Occurs to indicate progress while downloading media data.
Occurs when the playback rate is increased or decreased.
Fires when the user resets a form.
Fires when the user repositions the scroll box in the scroll bar on the object.
Occurs when the seek operation ends.
Occurs when the current playback position is moved.
Fires when the current selection changes.
Occurs when the download has stopped.
Occurs if the load operation has been intentionally halted.
Occurs to indicate the current playback position.
OptionalontouchcancelOptionalontouchendOptionalontouchmoveOptionalontouchstartOccurs when the volume is changed, or playback is muted or unmuted.
Occurs when playback stops because the next frame of a video resource is not available.
ReadonlyownerReturns the node document. Returns null for documents.
ReadonlyparentReturns the parent element.
ReadonlyparentReturns the parent.
ReadonlypartOptionalpmReadonlyprefixReturns the namespace prefix.
ReadonlypreviousReturns the first preceding sibling that is an element, and null otherwise.
ReadonlypreviousReturns the previous sibling.
ReadonlyPROCESSING_node is a ProcessingInstruction node.
ReadonlyscrollReadonlyscrollReadonlyshadowReturns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.
Returns the value of element's slot content attribute. Can be set to change it.
ReadonlystyleReadonlytagReturns the HTML-uppercased qualified name.
ReadonlyTEXT_node is a Text node.
Static_$litStatic Optional_initializersStatic[metadata]Protected StaticfinalizedMarks class as having been finalized, which includes creating properties
from static properties, but does not include all properties created
from decorators.
Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Creates a shadow root for element and returns it.
Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Returns a copy of node. If deep is true, the copy also includes the node's descendants.
Optionaldeep: booleanReturns a bitmask indicating the position of other relative to node.
Callback method called when context is resolved.
Reference to the created Context Consumer Controller instance
Returns true if other is an inclusive descendant of node, and false otherwise.
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise.
Returns the qualified names of all element's attributes. Can contain duplicates.
Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise.
A Promise with the reference to the Context Api Instance
Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.
Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise.
Returns true if element has an attribute whose namespace is namespace and local name is localName.
Returns true if element has attributes, and false otherwise.
Returns whether node has children.
Returns whether node and otherNode have the same properties.
Returns true if matching selectors against element's root yields element, and false otherwise.
Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.
An Observable to observe from.
Optionalcallback: ObserverCallback<SpecificT>Callback method called when data is changed.
OptionalcontrollerAlias: null | UmbControllerAliasDefine an explicit controller alias. If not defined then one will be generated based on the callback function. If null is parsed no controller alias will be given.
Reference to the created Observer Controller instance.
Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
The API instance to be exposed.
Reference to the created Context Provider Controller instance
Removes node.
Removes element's first attribute whose qualified name is qualifiedName.
Removes element's attribute whose namespace is namespace and local name is localName.
Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Displays element fullscreen and resolves promise when done.
When supplied, options's navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to "show", navigation simplicity is preferred over screen space, and if set to "hide", more screen space is preferred. User agents are always free to honor user preference over the application's. The default value "auto" indicates no application preference.
Optionaloptions: FullscreenOptionsSets the value of element's first attribute whose qualified name is qualifiedName to value.
If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.
Returns true if qualifiedName is now present, and false otherwise.
Optionalforce: booleanStaticaddAdds an initializer function to the class that is called during instance construction.
This is useful for code that runs against a ReactiveElement
subclass, such as a decorator, that needs to do work for each
instance, such as setting up a ReactiveController.
const myDecorator = (target: typeof ReactiveElement, key: string) => {
target.addInitializer((instance: ReactiveElement) => {
// This is run during construction of the element
new MyController(instance);
});
}
Decorating a field will then cause each instance to run an initializer that adds a controller:
class MyElement extends LitElement {
@myDecorator foo;
}
Initializers are stored per-constructor. Adding an initializer to a subclass does not add it to a superclass. Since initializers are run in constructors, initializers will run in order of the class hierarchy, starting with superclasses and progressing to the instance's class.
Protected StaticfinalizeFinishes setting up the class so that it's ready to be registered as a custom element and instantiated.
This method is called by the ReactiveElement.observedAttributes getter. If you override the observedAttributes getter, you must either call super.observedAttributes to trigger finalization, or call finalize() yourself.
StaticobservedSynchronizes property values when attributes change.
Specifically, when an attribute is set, the corresponding property is set.
You should rarely need to implement this callback. If this method is
overridden, super.attributeChangedCallback(name, _old, value) must be
called.
See using the lifecycle callbacks
on MDN for more information about the attributeChangedCallback.
Registers a ReactiveController to participate in the element's reactive
update cycle. The element automatically calls into any registered
controllers during its lifecycle callbacks.
If the element is connected when addController() is called, the
controller's hostConnected() callback will be immediately called.
Removes a ReactiveController from the element.
Static OptionaldisableDisable the given warning category for this class.
This method only exists in development builds, so it should be accessed with a guard like:
// Disable for all ReactiveElement subclasses
ReactiveElement.disableWarning?.('migration');
// Disable for only MyElement and subclasses
MyElement.disableWarning?.('migration');
Static OptionalenabledRead or set all the enabled warning categories for this class.
This property is only used in development builds.
Static OptionalenableEnable the given warning category for this class.
This method only exists in development builds, so it should be accessed with a guard like:
// Enable for all ReactiveElement subclasses
ReactiveElement.enableWarning?.('migration');
// Enable for only MyElement and subclasses
MyElement.enableWarning?.('migration');
StaticelementMemoized list of all element properties, including any superclass properties. Created lazily on user subclasses when finalizing the class.
StaticpropertiesUser-supplied object that maps property names to PropertyDeclaration
objects containing options for configuring reactive properties. When
a reactive property is set the element will update and render.
By default properties are public fields, and as such, they should be considered as primarily settable by element users, either via attribute or the property itself.
Generally, properties that are changed by the element should be private or
protected fields and should use the state: true option. Properties
marked as state do not reflect from the corresponding attribute
However, sometimes element code does need to set a public property. This
should typically only be done in response to user interaction, and an event
should be fired informing the user; for example, a checkbox sets its
checked property when clicked and fires a changed event. Mutating
public properties should typically not be done for non-primitive (object or
array) properties. In other cases when an element needs to manage state, a
private property set with the state: true option should be used. When
needed, state properties can be initialized via public properties to
facilitate complex interactions.
StaticcreateCreates a property accessor on the element prototype if one does not exist
and stores a PropertyDeclaration for the property with the
given options. 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.
This method may be overridden to customize properties; however,
when doing so, it's important to call super.createProperty to ensure
the property is setup correctly. This method calls
getPropertyDescriptor internally to get a descriptor to install.
To customize what properties do when they are get or set, override
getPropertyDescriptor. To customize the options for a property,
implement createProperty like this:
static createProperty(name, options) {
options = Object.assign(options, {myOption: true});
super.createProperty(name, options);
}
Optionaloptions: PropertyDeclaration<unknown, unknown>Protected StaticgetReturns a property descriptor to be defined on the given named property. If no descriptor is returned, the property will not become an accessor. For example,
class MyElement extends LitElement {
static getPropertyDescriptor(name, key, options) {
const defaultDescriptor =
super.getPropertyDescriptor(name, key, options);
const setter = defaultDescriptor.set;
return {
get: defaultDescriptor.get,
set(value) {
setter.call(this, value);
// custom action.
},
configurable: true,
enumerable: true
}
}
}
StaticgetReturns the property options associated with the given property.
These options are defined with a PropertyDeclaration via the properties
object or the @property decorator and are registered in
createProperty(...).
Note, this method should be considered "final" and not overridden. To
customize the options for a given property, override
createProperty.
ReadonlyrenderReadonlyrenderNode or ShadowRoot into which element DOM should be rendered. Defaults to an open shadowRoot.
StaticshadowOptions used when calling attachShadow. Set this property to customize
the options for the shadowRoot; for example, to create a closed
shadowRoot: {mode: 'closed'}.
Note, these options are used in createRenderRoot. If this method
is customized, options should be respected if possible.
ProtectedcreateInvoked on each update to perform rendering tasks. This method may return
any value renderable by lit-html's ChildPart - typically a
TemplateResult. Setting properties inside this method will not trigger
the element to update.
StaticelementMemoized list of all element styles. Created lazily on user subclasses when finalizing the class.
StaticstylesArray of styles to apply to the element. The styles should be defined using the css tag function, via constructible stylesheets, or imported from native CSS module scripts.
Note on Content Security Policy:
Element styles are implemented with <style> tags when the browser doesn't
support adopted StyleSheets. To use such <style> tags with the style-src
CSP directive, the style-src value must either include 'unsafe-inline' or
nonce-<base64-value> with <base64-value> replaced be a server-generated
nonce.
To provide a nonce to use on generated <style> elements, set
window.litNonce to a server-generated nonce in your page's HTML, before
loading application code:
<script>
// Generated and unique per request:
window.litNonce = 'a1b2c3d4';
</script>
Protected StaticfinalizeTakes the styles the user supplied via the static styles property and
returns the array of styles to apply to the element.
Override this method to integrate into a style management system.
Styles are deduplicated preserving the last instance in the list. This is a performance optimization to avoid duplicated styles that can occur especially when composing via subclassing. The last item is kept to try to preserve the cascade order with the assumption that it's most important that last added styles override previous styles.
Optionalstyles: CSSResultGroupIs set to true after the first update. The element code cannot assume
that renderRoot exists before the element hasUpdated.
True if there is a pending update as a result of calling requestUpdate().
Should only be read.
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(). If the Promise is rejected, an
exception was thrown during the update.
To await additional asynchronous work, override the getUpdateComplete
method. For example, it is sometimes useful to await a rendered element
before fulfilling this Promise. To do this, first await
super.getUpdateComplete(), then any subsequent state.
A promise of a boolean that resolves to true if the update completed without triggering another update.
ProtectedenableNote, this method should be considered final and not overridden. It is overridden on the element instance with a function that triggers the first update.
ProtectedfirstInvoked when the element is first updated. Implement to perform one time work on the element after update.
firstUpdated() {
this.renderRoot.getElementById('my-text-area').focus();
}
Setting properties inside this method will trigger the element to update again after this update cycle completes.
Map of changed properties with old values
ProtectedgetOverride point for the updateComplete promise.
It is not safe to override the updateComplete getter directly due to a
limitation in TypeScript which means it is not possible to call a
superclass getter (e.g. super.updateComplete.then(...)) when the target
language is ES5 (https://github.com/microsoft/TypeScript/issues/338).
This method should be overridden instead. For example:
class MyElement extends LitElement {
override async getUpdateComplete() {
const result = await super.getUpdateComplete();
await this._myChild.updateComplete;
return result;
}
}
A promise of a boolean that resolves to true if the update completed without triggering another update.
ProtectedperformPerforms an element update. Note, if an exception is thrown during the
update, firstUpdated and updated will not be called.
Call performUpdate() to immediately process a pending update. This should
generally not be needed, but it can be done in rare cases when you need to
update synchronously.
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 reactive 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.
Optionalname: PropertyKeyname of requesting property
OptionaloldValue: unknownold value of requesting property
Optionaloptions: PropertyDeclaration<unknown, unknown>property options to use instead of the previously configured options
ProtectedscheduleSchedules an element update. You can override this method to change the
timing of updates by returning a Promise. The update will await the
returned Promise, and you should resolve the Promise to allow the update
to proceed. If this method is overridden, super.scheduleUpdate()
must be called.
For instance, to schedule updates to occur just before the next frame:
override protected async scheduleUpdate(): Promise<unknown> {
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
super.scheduleUpdate();
}
ProtectedshouldControls 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.
Map of changed properties with old values
ProtectedupdateUpdates the element. This method reflects property values to attributes
and calls render to render DOM via lit-html. Setting properties inside
this method will not trigger another update.
Map of changed properties with old values
ProtectedupdatedInvoked 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.
Map of changed properties with old values
ProtectedwillInvoked before update() to compute values needed during the update.
Implement willUpdate to compute property values that depend on other
properties and are used in the rest of the update process.
willUpdate(changedProperties) {
// only need to check changed properties for an expensive computation.
if (changedProperties.has('firstName') || changedProperties.has('lastName')) {
this.sha = computeSHA(`${this.firstName} ${this.lastName}`);
}
}
render() {
return html`SHA: ${this.sha}`;
}
The base class for all Umbraco LitElement elements.
Remarks
This class is a wrapper around the LitElement class.