ShadowRoot extension type
The ShadowRoot interface of the Shadow DOM API is the root node of a
DOM subtree that is rendered separately from a document's main DOM tree.
You can retrieve a reference to an element's shadow root using its
Element.shadowRoot property, provided it was created using
Element.attachShadow with the mode option set to open.
API documentation sourced from MDN Web Docs.
- on
- Implemented types
- Available extensions
Properties
- activeElement → Element?
-
The
activeElementread-only property of the ShadowRoot interface returns the element within the shadow tree that has focus.no setter -
adoptedStyleSheets
↔ JSArray<
CSSStyleSheet> -
The
adoptedStyleSheetsproperty of the ShadowRoot interface sets an array of constructed stylesheets to be used by the shadow DOM subtree.getter/setter pair - asElement → Element
-
Available on Node, provided by the NodeExtension extension
no setter - asElementChecked → Element?
-
Available on Node?, provided by the NodeNullableExtension extension
no setter - asHTMLElement → HTMLElement
-
Available on Node, provided by the NodeExtension extension
no setter - asHTMLElementChecked → HTMLElement?
-
Available on Node?, provided by the NodeNullableExtension extension
no setter - asString → String
-
Available on JSAny, provided by the JSAnyExtension extension
no setter - asString → String?
-
Available on JSAny?, provided by the JSAnyNullableExtension extension
no setter - baseURI → String
-
The read-only
baseURIproperty of the Node interface returns the absolute base URL of the document containing the node.no setterinherited - childElementCount → int
-
The
DocumentFragment.childElementCountread-only property returns the number of child elements of aDocumentFragment.no setterinherited - childNodes → NodeList
-
The read-only
childNodesproperty of the Node interface returns a live NodeList of child Node of the given element where the first child node is assigned index0. Child nodes include elements, text and comments.no setterinherited - children → HTMLCollection
-
The read-only
childrenproperty returns a live HTMLCollection which contains all of the child Element of the document fragment upon which it was called.no setterinherited - clonable → bool
-
The
clonableread-only property of the ShadowRoot interface returnstrueif the shadow root is clonable, andfalseotherwise.no setter - delegatesFocus → bool
-
The
delegatesFocusread-only property of the ShadowRoot interface returnstrueif the shadow root delegates focus, andfalseotherwise.no setter -
entries
→ Iterable<
MapEntry< String, dynamic> > -
Available on JSObject, provided by the JSObjectExtension extension
no setter - firstChild → Node?
-
The read-only
firstChildproperty of the Node interface returns the node's first child in the tree, ornullif the node has no children.no setterinherited - firstElementChild → Element?
-
The
DocumentFragment.firstElementChildread-only property returns the document fragment's first child Element, ornullif there are no child elements.no setterinherited - fullscreenElement → Element?
-
The
fullscreenElementread-only property of the ShadowRoot interface returns the element within the shadow tree that is currently displayed in full screen.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- host → Element
-
The
hostread-only property of the ShadowRoot returns a reference to the DOM element theShadowRootis attached to.no setter - innerHTML ↔ JSAny
-
The
innerHTMLproperty of the ShadowRoot interface sets or returns a reference to the DOM tree inside theShadowRoot.getter/setter pair - isConnected → bool
-
The read-only
isConnectedproperty of the Node interface returns a boolean indicating whether the node is connected (directly or indirectly) to a Document object.no setterinherited - isDefinedAndNotNull → bool
-
Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension
no setter - isElement → bool
-
Available on JSObject?, provided by the JSObjectWebExtension extension
no setter - isHTMLElement → bool
-
Available on JSObject?, provided by the JSObjectWebExtension extension
no setter - isNode → bool
-
Available on JSObject?, provided by the JSObjectWebExtension extension
no setter - isNull → bool
-
Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension
Whether this value corresponds to JavaScriptnull.no setter - isTruthy → JSBoolean
-
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of!!in JavaScript.thisno setter - isUndefined → bool
-
Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension
Whether this value corresponds to JavaScriptundefined.no setter - isUndefinedOrNull → bool
-
Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension
no setter -
keys
→ Iterable<
String> -
Available on JSObject, provided by the JSObjectExtension extension
no setter - lastChild → Node?
-
The read-only
lastChildproperty of the Node interface returns the last child of the node, ornullif there are no child nodes.no setterinherited - lastElementChild → Element?
-
The
DocumentFragment.lastElementChildread-only property returns the document fragment's last child Element, ornullif there are no child elements.no setterinherited - mode → ShadowRootMode
-
The
moderead-only property of the ShadowRoot specifies its mode — eitheropenorclosed. This defines whether or not the shadow root's internal features are accessible from JavaScript.no setter - nextSibling → Node?
-
The read-only
nextSiblingproperty of the Node interface returns the node immediately following the specified one in their parent's Node.childNodes, or returnsnullif the specified node is the last child in the parent element.no setterinherited - nodeName → String
-
The read-only
nodeNameproperty of Node returns the name of the current node as a string.no setterinherited - nodeType → int
-
The read-only
nodeTypeproperty of a Node interface is an integer that identifies what the node is. It distinguishes different kind of nodes from each other, such as Element, Text and Comment.no setterinherited - nodeValue ↔ String?
-
The
nodeValueproperty of the Node interface returns or sets the value of the current node.getter/setter pairinherited - not → JSBoolean
-
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of!in JavaScript.thisno setter - onslotchange ↔ EventHandler?
-
getter/setter pair
- ownerDocument → Document?
-
The read-only
ownerDocumentproperty of the Node interface returns the top-level document object of the node.no setterinherited - parentElement → Element?
-
The read-only
parentElementproperty of Node interface returns the DOM node's parent Element, ornullif the node either has no parent, or its parent isn't a DOM Element.no setterinherited - parentNode → Node?
-
The read-only
parentNodeproperty of the Node interface returns the parent of the specified node in the DOM tree.no setterinherited - pictureInPictureElement → Element?
-
The
pictureInPictureElementread-only property of the ShadowRoot interface returns the Element that is currently being presented in picture-in-picture mode in this shadow tree, ornullif picture-in-picture mode is not currently in use.no setter - pointerLockElement → Element?
-
The
pointerLockElementread-only property of the ShadowRoot interface provides the element set as the target for mouse events while the pointer is locked. It isnullif lock is pending, pointer is unlocked, or the target is in another tree.no setter - previousSibling → Node?
-
The read-only
previousSiblingproperty of the Node interface returns the node immediately preceding the specified one in its parent's Node.childNodes list, ornullif the specified node is the first in that list.no setterinherited - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- serializable → bool
-
The
serializableread-only property of the ShadowRoot interface returnstrueif the shadow root is serializable.no setter - slotAssignment → SlotAssignmentMode
-
The read-only
slotAssignmentproperty of the ShadowRoot interface returns the slot assignment mode for the shadow DOM tree. Nodes are either automatically assigned (named) or manually assigned (manual). The value of this property defined using theslotAssignmentoption when calling Element.attachShadow.no setter - styleSheets → StyleSheetList
-
The
styleSheetsread-only property of the ShadowRoot interface returns a StyleSheetList of CSSStyleSheet objects, for stylesheets explicitly linked into or embedded in a shadow tree.no setter - text ← String
-
Available on Node, provided by the NodeGlue extension
no getter - textContent ↔ String?
-
The
textContentproperty of the Node interface represents the text content of the node and its descendants.getter/setter pairinherited
Methods
-
add(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this+any -
addEventListener(
String type, EventListener? callback, [JSAny options]) → void -
The
addEventListener()method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.inherited -
and(
JSAny? any) → JSAny? -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this&&any -
append(
Node other) → Node -
append(
JSAny nodes) → void -
The
DocumentFragment.append()method inserts a set of Node objects or string objects after the last child of the document fragment. String objects are inserted as equivalent Text nodes.inherited -
appendChild(
Node node) → Node -
The
appendChild()method of the Node interface adds a node to the end of the list of children of a specified parent node.inherited -
appendNodes(
Iterable< Node> nodes) → void -
Available on Node, provided by the NodeExtension extension
-
as<
T extends JSObject> () → T? -
Available on JSObject, provided by the JSObjectExtension extension
-
callMethod<
R extends JSAny?> (JSAny method, [JSAny? arg1, JSAny? arg2, JSAny? arg3, JSAny? arg4]) → R -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Callsmethodon this JSObject with up to four arguments. -
callMethodVarArgs<
R extends JSAny?> (JSAny method, [List< JSAny?> ? arguments]) → R -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Callsmethodon this JSObject with a variable number ofarguments. -
clear(
) → void -
Available on Node, provided by the NodeExtension extension
-
clearNodes(
) → List< Node> -
Available on Node, provided by the NodeExtension extension
-
clone(
bool? deep) → Node -
cloneNode(
[bool deep]) → Node -
The
cloneNode()method of the Node interface returns a duplicate of the node on which this method was called. Its parameter controls if the subtree contained in a node is also cloned or not.inherited -
compareDocumentPosition(
Node other) → int -
The
compareDocumentPosition()method of the Node interface reports the position of its argument node relative to the node on which it is called.inherited -
contains(
Node? other) → bool -
The
contains()method of the Node interface returns a boolean value indicating whether a node is a descendant of a given node, that is the node itself, one of its direct children (Node.childNodes), one of the children's direct children, and so on.inherited -
dartify(
) → Object? -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Converts a JavaScript JSON-like value to the Dart equivalent if possible. -
delete(
JSAny property) → JSBoolean -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Deletes the property with keypropertyfrom this JSObject. -
dispatchEvent(
Event event) → bool -
The
dispatchEvent()method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually withdispatchEvent().inherited -
divide(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this/any -
equals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this==any -
exponentiate(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this**any -
get(
String key) → Object? -
Available on JSObject, provided by the JSObjectExtension extension
-
getAnimations(
) → JSArray< Animation> -
The
getAnimations()method of the ShadowRoot interface returns an array of all Animation objects currently in effect whose target elements are descendants of the shadow tree. This array includes CSS Animations, CSS Transitions, and Web Animations. -
getElementById(
String elementId) → Element? -
The
getElementById()method of the DocumentFragment returns an Element object representing the element whose Element.id property matches the specified string. Since element IDs are required to be unique if specified, they're a useful way to get access to a specific element quickly.inherited -
getHTML(
[GetHTMLOptions options]) → String -
The
getHTML()method of the ShadowRoot interface is used to serialize a shadow root's DOM to an HTML string. -
getProperty<
R extends JSAny?> (JSAny property) → R -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
The value of the property keypropertyof this JSObject. -
getRootNode(
[GetRootNodeOptions options]) → Node -
The
getRootNode()method of the Node interface returns the context object's root, which optionally includes the shadow root if it is available.inherited -
greaterThan(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this>any -
greaterThanOrEqualTo(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this>=any -
has(
String property) → bool -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Shorthand helper for hasProperty to check whether this JSObject contains the property keyproperty, but takes and returns a Dart value. -
hasChildNodes(
) → bool -
The
hasChildNodes()method of the Node interface returns a boolean value indicating whether the given Node has child nodes or not.inherited -
hasProperty(
JSAny property) → JSBoolean -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Whether or not this JSObject contains the property keyproperty. -
insertBefore(
Node node, Node? child) → Node -
The
insertBefore()method of the Node interface inserts a node before a reference node as a child of a specified parent node.inherited -
insertNode(
int index, Node node) → Node -
Available on Node, provided by the NodeExtension extension
-
instanceof(
JSFunction constructor) → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether thisJSAny?is aninstanceofconstructor. -
instanceOfString(
String constructorName) → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether thisJSAny?is aninstanceofthe constructor that is defined byconstructorName, which is looked up in the globalContext. -
isA<
T extends JSAny?> () → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether thisJSAny?is an instance of the JavaScript type that is declared byT. -
isDefaultNamespace(
String? namespace) → bool -
The
isDefaultNamespace()method of the Node interface accepts a namespace URI as an argument. It returns a boolean value that istrueif the namespace is the default namespace on the given node andfalseif not.inherited -
isEqualNode(
Node? otherNode) → bool -
The
isEqualNode()method of the Node interface tests whether two nodes are equal. Two nodes are equal when they have the same type, defining characteristics (for elements, this would be their ID, number of children, and so forth), its attributes match, and so on. The specific set of data points that must match varies depending on the types of the nodes.inherited -
isSameNode(
Node? otherNode) → bool -
The
isSameNode()method of the Node interface is a legacy alias the for the===strict equality operator. That is, it tests whether two nodes are the same (in other words, whether they reference the same object).inherited -
lessThan(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this<any -
lessThanOrEqualTo(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this<=any -
lookupNamespaceURI(
String? prefix) → String? -
The
lookupNamespaceURI()method of the Node interface takes a prefix as parameter and returns the namespace URI associated with it on the given node if found (andnullif not).inherited -
lookupPrefix(
String? namespace) → String? -
The
lookupPrefix()method of the Node interface returns a string containing the prefix for a given namespace URI, if present, andnullif not. When multiple prefixes are possible, the first prefix is returned.inherited -
modulo(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this%any -
multiply(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this*any -
normalize(
) → void -
The
normalize()method of the Node interface puts the specified node and all of its sub-tree into a normalized form. In a normalized sub-tree, no text nodes in the sub-tree are empty and there are no adjacent text nodes.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notEquals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this!=any -
or(
JSAny? any) → JSAny? -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this||any -
prepend(
JSAny nodes) → void -
The
DocumentFragment.prepend()method inserts a set of Node objects or string objects before the first child of the document fragment. String objects are inserted as equivalent Text nodes.inherited -
put(
Object key, Object? value) → void -
Available on JSObject, provided by the JSObjectExtension extension
-
querySelector(
String selectors) → Element? -
The
DocumentFragment.querySelector()method returns the first element, ornullif no matches are found, within the DocumentFragment (using depth-first pre-order traversal of the document's nodes) that matches the specified group of selectors.inherited -
querySelectorAll(
String selectors) → NodeList -
The
DocumentFragment.querySelectorAll()method returns a NodeList of elements within the DocumentFragment (using depth-first pre-order traversal of the document's nodes) that matches the specified group of selectors.inherited -
remove(
) → void -
Available on Node, provided by the NodeExtension extension
-
removeChild(
Node child) → Node -
The
removeChild()method of the Node interface removes a child node from the DOM and returns the removed node.inherited -
removeEventListener(
String type, EventListener? callback, [JSAny options]) → void -
The
removeEventListener()method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener from the target. The event listener to be removed is identified using a combination of the event type, the event listener function itself, and various optional options that may affect the matching process; see Matching event listeners for removal.inherited -
removeNodeAt(
int index) → Node? -
Available on Node, provided by the NodeExtension extension
-
removeNodes(
Iterable< Node> nodes) → void -
Available on Node, provided by the NodeExtension extension
-
removeNodeWhere(
bool test(Node node)) → void -
Available on Node, provided by the NodeExtension extension
-
replaceChild(
Node node, Node child) → Node -
The
replaceChild()method of the Node interface replaces a child node within the given (parent) node.inherited -
replaceChildren(
JSAny nodes) → void -
The
DocumentFragment.replaceChildren()method replaces the existing children of aDocumentFragmentwith a specified new set of children. These can be string or Node objects.inherited -
setHTMLUnsafe(
JSAny html) → void -
The
setHTMLUnsafe()method of the ShadowRoot interface is used to parse a string of HTML into a DocumentFragment, which then replaces the element's subtree in the DOM. The input HTML may include declarative shadow roots. -
setProperty(
JSAny property, JSAny? value) → void -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Write thevalueof property keypropertyof this JSObject. -
strictEquals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this===any -
strictNotEquals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this!==any -
subtract(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this-any -
toMap(
) → Map< String, dynamic> -
Available on JSObject, provided by the JSObjectExtension extension
-
toString(
) → String -
A string representation of this object.
inherited
-
typeofEquals(
String typeString) → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether the result oftypeofon thisJSAny?istypeString. -
unsignedRightShift(
JSAny? any) → JSNumber -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this>>>any
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
String property) → JSAny? -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Shorthand helper for getProperty to get the value of the property keypropertyof this JSObject, but takes a Dart value. -
operator []=(
String property, JSAny? value) → void -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Shorthand helper for setProperty to write thevalueof the property keypropertyof this JSObject, but takes a Dart value.