SvgElement class

Inheritance
Implemented types
Implementers
Annotations
  • @Unstable()
  • @Native("SVGElement")

Constructors

SvgElement.created()
Constructor instantiated by the DOM when a custom element has been created. [...]
SvgElement.svg(String svg, { NodeValidator validator, NodeTreeSanitizer treeSanitizer })
factory
SvgElement.tag(String tag)
factory

Properties

children List<Element>
List of the direct children of this element. [...]
read / write, override
classes CssClassSet
The set of CSS classes applied to this element. [...]
read / write, inherited-setter, override-getter
innerHtml String
Parses the HTML fragment and sets it as the contents of this element. [...]
read / write, override
isContentEditable bool
read-only, override
nonce String
read / write, override
onAbort ElementStream<Event>
Stream of abort events handled by this Element.
read-only, override
onBlur ElementStream<Event>
Stream of blur events handled by this Element.
read-only, override
onCanPlay ElementStream<Event>
read-only, override
onCanPlayThrough ElementStream<Event>
read-only, override
onChange ElementStream<Event>
Stream of change events handled by this Element.
read-only, override
onClick ElementStream<MouseEvent>
Stream of click events handled by this Element.
read-only, override
onContextMenu ElementStream<MouseEvent>
Stream of contextmenu events handled by this Element.
read-only, override
onDoubleClick ElementStream<Event>
Stream of doubleclick events handled by this Element.
read-only, override
onDrag ElementStream<MouseEvent>
A stream of drag events fired when this element currently being dragged. [...]
read-only, override
onDragEnd ElementStream<MouseEvent>
A stream of dragend events fired when this element completes a drag operation. [...]
read-only, override
onDragEnter ElementStream<MouseEvent>
A stream of dragenter events fired when a dragged object is first dragged over this element. [...]
read-only, override
onDragLeave ElementStream<MouseEvent>
A stream of dragleave events fired when an object being dragged over this element leaves this element's target area. [...]
read-only, override
onDragOver ElementStream<MouseEvent>
A stream of dragover events fired when a dragged object is currently being dragged over this element. [...]
read-only, override
onDragStart ElementStream<MouseEvent>
A stream of dragstart events fired when this element starts being dragged. [...]
read-only, override
onDrop ElementStream<MouseEvent>
A stream of drop events fired when a dragged object is dropped on this element. [...]
read-only, override
onDurationChange ElementStream<Event>
read-only, override
onEmptied ElementStream<Event>
read-only, override
onEnded ElementStream<Event>
read-only, override
onError ElementStream<Event>
Stream of error events handled by this Element.
read-only, override
onFocus ElementStream<Event>
Stream of focus events handled by this Element.
read-only, override
onInput ElementStream<Event>
Stream of input events handled by this Element.
read-only, override
onInvalid ElementStream<Event>
Stream of invalid events handled by this Element.
read-only, override
onKeyDown ElementStream<KeyboardEvent>
Stream of keydown events handled by this Element.
read-only, override
onKeyPress ElementStream<KeyboardEvent>
Stream of keypress events handled by this Element.
read-only, override
onKeyUp ElementStream<KeyboardEvent>
Stream of keyup events handled by this Element.
read-only, override
onLoad ElementStream<Event>
Stream of load events handled by this Element.
read-only, override
onLoadedData ElementStream<Event>
read-only, override
onLoadedMetadata ElementStream<Event>
read-only, override
onMouseDown ElementStream<MouseEvent>
Stream of mousedown events handled by this Element.
read-only, override
onMouseEnter ElementStream<MouseEvent>
Stream of mouseenter events handled by this Element.
read-only, override
onMouseLeave ElementStream<MouseEvent>
Stream of mouseleave events handled by this Element.
read-only, override
onMouseMove ElementStream<MouseEvent>
Stream of mousemove events handled by this Element.
read-only, override
onMouseOut ElementStream<MouseEvent>
Stream of mouseout events handled by this Element.
read-only, override
onMouseOver ElementStream<MouseEvent>
Stream of mouseover events handled by this Element.
read-only, override
onMouseUp ElementStream<MouseEvent>
Stream of mouseup events handled by this Element.
read-only, override
onMouseWheel ElementStream<WheelEvent>
Stream of mousewheel events handled by this Element.
read-only, override
onPause ElementStream<Event>
read-only, override
onPlay ElementStream<Event>
read-only, override
onPlaying ElementStream<Event>
read-only, override
onRateChange ElementStream<Event>
read-only, override
onReset ElementStream<Event>
Stream of reset events handled by this Element.
read-only, override
onResize ElementStream<Event>
read-only, override
onScroll ElementStream<Event>
Stream of scroll events handled by this Element.
read-only, override
onSeeked ElementStream<Event>
read-only, override
onSeeking ElementStream<Event>
read-only, override
onSelect ElementStream<Event>
Stream of select events handled by this Element.
read-only, override
onStalled ElementStream<Event>
read-only, override
onSubmit ElementStream<Event>
Stream of submit events handled by this Element.
read-only, override
onSuspend ElementStream<Event>
read-only, override
onTimeUpdate ElementStream<Event>
read-only, override
onTouchCancel ElementStream<TouchEvent>
Stream of touchcancel events handled by this Element.
read-only, override
onTouchEnd ElementStream<TouchEvent>
Stream of touchend events handled by this Element.
read-only, override
onTouchMove ElementStream<TouchEvent>
Stream of touchmove events handled by this Element.
read-only, override
onTouchStart ElementStream<TouchEvent>
Stream of touchstart events handled by this Element.
read-only, override
onVolumeChange ElementStream<Event>
read-only, override
onWaiting ElementStream<Event>
read-only, override
onWheel ElementStream<WheelEvent>
read-only, override
outerHtml String
read-only, override
ownerSvgElement SvgSvgElement
@JSName('ownerSVGElement'), final
viewportElement SvgElement
final
accessibleNode AccessibleNode
final, inherited
assignedSlot SlotElement
final, inherited
attributes Map<String, String>
All attributes on this element. [...]
read / write, inherited
baseUri String
@JSName('baseURI'), final, inherited
borderEdge CssRect
Access the dimensions and position of this element's content + padding + border box. [...]
read-only, inherited
childNodes List<Node>
A list of this node's children. [...]
@Creates('NodeList'), @Returns('NodeList'), final, inherited
className String
read / write, inherited
client Rectangle<num>
Gets the position of this element relative to the client area of the page.
read-only, inherited
clientHeight int
final, inherited
clientLeft int
final, inherited
clientTop int
final, inherited
clientWidth int
final, inherited
computedName String
final, inherited
computedRole String
final, inherited
contentEdge CssRect
Access this element's content position. [...]
read-only, inherited
contentEditable String
read / write, inherited
dataset Map<String, String>
Allows access to all custom data attributes (data-*) set on this element. [...]
read / write, inherited
dir String
read / write, inherited
documentOffset Point<num>
Provides the coordinates of the element relative to the top of the document. [...]
read-only, inherited
draggable bool
Indicates whether the element can be dragged and dropped. [...]
read / write, inherited
firstChild Node
The first child of this node. [...]
final, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
hidden bool
Indicates whether the element is not relevant to the page's current state. [...]
read / write, inherited
id String
read / write, inherited
inert bool
read / write, inherited
inputMode String
read / write, inherited
isConnected bool
final, inherited
lang String
read / write, inherited
lastChild Node
The last child of this node. [...]
final, inherited
localName String
@Returns('String'), read-only, inherited
marginEdge CssRect
Access the dimensions and position of this element's content + padding + border + margin box. [...]
read-only, inherited
namespaceUri String
A URI that identifies the XML namespace of this element. [...]
read-only, inherited
nextElementSibling Element
final, inherited
nextNode Node
The next sibling node. [...]
@JSName('nextSibling'), final, inherited
nodeName String
The name of this node. [...]
final, inherited
nodes List<Node>
A modifiable list of this node's children.
read / write, inherited
nodeType int
The type of node. [...]
final, inherited
nodeValue String
The value of this node. [...]
final, inherited
offset Rectangle<num>
Gets the offset of this element relative to its offsetParent.
read-only, inherited
offsetHeight int
read-only, inherited
offsetLeft int
read-only, inherited
offsetParent Element
final, inherited
offsetTop int
read-only, inherited
offsetWidth int
read-only, inherited
on ElementEvents
This is an ease-of-use accessor for event streams which should only be used when an explicit accessor is not available.
read-only, inherited
onBeforeCopy ElementStream<Event>
Stream of beforecopy events handled by this Element.
read-only, inherited
onBeforeCut ElementStream<Event>
Stream of beforecut events handled by this Element.
read-only, inherited
onBeforePaste ElementStream<Event>
Stream of beforepaste events handled by this Element.
read-only, inherited
onCopy ElementStream<ClipboardEvent>
Stream of copy events handled by this Element.
read-only, inherited
onCut ElementStream<ClipboardEvent>
Stream of cut events handled by this Element.
read-only, inherited
onFullscreenChange ElementStream<Event>
Stream of fullscreenchange events handled by this Element.
read-only, inherited
onFullscreenError ElementStream<Event>
Stream of fullscreenerror events handled by this Element.
read-only, inherited
onPaste ElementStream<ClipboardEvent>
Stream of paste events handled by this Element.
read-only, inherited
onSearch ElementStream<Event>
Stream of search events handled by this Element.
read-only, inherited
onSelectStart ElementStream<Event>
Stream of selectstart events handled by this Element.
read-only, inherited
onTouchEnter ElementStream<TouchEvent>
Stream of touchenter events handled by this Element.
read-only, inherited
onTouchLeave ElementStream<TouchEvent>
Stream of touchleave events handled by this Element.
read-only, inherited
onTransitionEnd ElementStream<TransitionEvent>
Stream of transitionend events handled by this Element.
@SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.FIREFOX), @SupportedBrowser(SupportedBrowser.IE, '10'), @SupportedBrowser(SupportedBrowser.SAFARI), read-only, inherited
ownerDocument Document
The document this node belongs to. [...]
final, inherited
paddingEdge CssRect
Access the dimensions and position of this element's content + padding box. [...]
read-only, inherited
parent Element
The parent element of this node. [...]
@JSName('parentElement'), final, inherited
parentNode Node
The parent node of this node. [...]
final, inherited
previousElementSibling Element
final, inherited
previousNode Node
The previous sibling node. [...]
@JSName('previousSibling'), final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
scrollHeight int
read-only, inherited
scrollLeft int
read / write, inherited
scrollTop int
read / write, inherited
scrollWidth int
read-only, inherited
shadowRoot ShadowRoot
The shadow root of this shadow host. [...]
@SupportedBrowser(SupportedBrowser.CHROME, '25'), read-only, inherited
slot String
read / write, inherited
spellcheck bool
read / write, inherited
style CssStyleDeclaration
final, inherited
styleMap StylePropertyMap
final, inherited
tabIndex int
read / write, inherited
tagName String
final, inherited
text String
All text within this node and its descendents. [...]
@JSName('textContent'), read / write, inherited
title String
read / write, inherited
translate bool
Specifies whether this element's text content changes when the page is localized. [...]
read / write, inherited

Methods

blur() → void
override
click() → void
override
createFragment(String svg, { NodeValidator validator, NodeTreeSanitizer treeSanitizer }) DocumentFragment
Create a DocumentFragment from the HTML fragment and ensure that it follows the sanitization rules specified by the validator or treeSanitizer. [...]
override
focus() → void
override
insertAdjacentElement(String where, Element element) Element
Inserts element into the DOM at the specified location. [...]
override
insertAdjacentHtml(String where, String text, { NodeValidator validator, NodeTreeSanitizer treeSanitizer }) → void
Parses text as an HTML fragment and inserts it into the DOM at the specified location. [...]
override
insertAdjacentText(String where, String text) → void
Inserts text into the DOM at the specified location. [...]
override
addEventListener(String type, EventListener listener, [ bool useCapture ]) → void
inherited
after(Object nodes) → void
inherited
animate(Iterable<Map<String, dynamic>> frames, [ dynamic timing ]) Animation
  • Creates a new AnimationEffect object whose target element is the object
  • on which the method is called, and calls the play() method of the
  • AnimationTimeline object of the document timeline of the node document
  • of the element, passing the newly created AnimationEffect as the argument
  • to the method. Returns an Animation for the effect.
  • Examples
  • var animation = elem.animate([{"opacity": 75}, {"opacity": 0}], 200);
    
  • var animation = elem.animate([
    
  •   {"transform": "translate(100px, -100%)"},
    
  •   {"transform" : "translate(400px, 500px)"}
    
  • ], 1500);
    
  • The frames parameter is an Iterable, where the
  • map entries specify CSS animation effects. The
  • timing paramter can be a double, representing the number of milliseconds
  • for the transition, or a Map with fields corresponding to those
  • of the Timing object.
  • @SupportedBrowser(SupportedBrowser.CHROME, '36'), inherited
    append(Node node) Node
    Adds a node to the end of the child nodes list of this node. [...]
    @JSName('appendChild'), inherited
    appendHtml(String text, { NodeValidator validator, NodeTreeSanitizer treeSanitizer }) → void
    Parses the specified text as HTML and adds the resulting node after the last child of this element.
    inherited
    appendText(String text) → void
    Adds the specified text after the last child of this element.
    inherited
    attached() → void
    Called by the DOM when this element has been inserted into the live document. [...]
    inherited
    attachShadow(Map shadowRootInitDict) ShadowRoot
    inherited
    attributeChanged(String name, String oldValue, String newValue) → void
    Called by the DOM whenever an attribute on this has been changed.
    inherited
    before(Object nodes) → void
    inherited
    clone(bool deep) Node
    Returns a copy of this node. [...]
    @JSName('cloneNode'), inherited
    closest(String selectors) Element
    inherited
    contains(Node other) bool
    Returns true if this node contains the specified node. [...]
    inherited
    createShadowRoot() ShadowRoot
    Creates a new shadow root for this shadow host. [...]
    @SupportedBrowser(SupportedBrowser.CHROME, '25'), inherited
    detached() → void
    Called by the DOM when this element has been removed from the live document. [...]
    inherited
    dispatchEvent(Event event) bool
    inherited
    enteredView() → void
    Deprecated*: override attached instead.
    inherited
    getAnimations() List<Animation>
    inherited
    getAttribute(String name) String
    inherited
    getAttributeNames() List<String>
    inherited
    getAttributeNS(String namespaceURI, String localName) String
    inherited
    getBoundingClientRect() Rectangle<num>
    Returns the smallest bounding rectangle that encompasses this element's padding, scrollbar, and border. [...]
    @Creates('_DomRect'), @Returns('_DomRect|Null'), inherited
    getClientRects() List<Rectangle<num>>
    inherited
    getComputedStyle([String pseudoElement ]) CssStyleDeclaration
    The set of all CSS values applied to this element, including inherited and default values. [...]
    inherited
    getDestinationInsertionPoints() List<Node>
    Returns a list of shadow DOM insertion points to which this element is distributed. [...]
    @Creates('NodeList'), @Returns('NodeList|Null'), inherited
    getElementsByClassName(String classNames) List<Node>
    Returns a list of nodes with the given class name inside this element. [...]
    @Creates('NodeList|HtmlCollection'), @Returns('NodeList|HtmlCollection'), inherited
    getNamespacedAttributes(String namespace) Map<String, String>
    Gets a map for manipulating the attributes of a particular namespace. [...]
    inherited
    getRootNode([Map options ]) Node
    inherited
    hasChildNodes() bool
    Returns true if this node has any children. [...]
    inherited
    hasPointerCapture(int pointerId) bool
    inherited
    insertAllBefore(Iterable<Node> newNodes, Node refChild) Node
    Inserts all of the nodes into this node directly before refChild. [...]
    inherited
    insertBefore(Node node, Node child) Node
    Inserts all of the nodes into this node directly before refChild. [...]
    inherited
    leftView() → void
    Deprecated*: override detached instead.
    inherited
    matches(String selectors) bool
    Checks if this element matches the CSS selectors.
    inherited
    matchesWithAncestors(String selectors) bool
    Checks if this element or any of its parents match the CSS selectors.
    inherited
    noSuchMethod(Invocation invocation) → dynamic
    Invoked when a non-existent method or property is accessed. [...]
    inherited
    offsetTo(Element parent) Point<num>
    Provides the offset of this element's borderEdge relative to the specified parent. [...]
    inherited
    querySelector(String selectors) Element
    Finds the first descendant element of this element that matches the specified group of selectors. [...]
    inherited
    querySelectorAll<T extends Element>(String selectors) ElementList<T>
    Finds all descendent elements of this element that match the specified group of selectors. [...]
    inherited
    releasePointerCapture(int pointerId) → void
    inherited
    remove() → void
    Removes this node from the DOM.
    inherited
    removeEventListener(String type, EventListener listener, [ bool useCapture ]) → void
    inherited
    replaceWith(Node otherNode) Node
    Replaces this node with another node.
    inherited
    requestFullscreen() → void
    Displays this element fullscreen. [...]
    @JSName('webkitRequestFullscreen'), @SupportedBrowser(SupportedBrowser.CHROME), @SupportedBrowser(SupportedBrowser.SAFARI), inherited
    requestPointerLock() → void
    inherited
    scroll([dynamic options_OR_x, num y ]) → void
    inherited
    scrollBy([dynamic options_OR_x, num y ]) → void
    inherited
    scrollIntoView([ScrollAlignment alignment ]) → void
    Scrolls this element into view. [...]
    inherited
    scrollTo([dynamic options_OR_x, num y ]) → void
    inherited
    setApplyScroll(ScrollStateCallback scrollStateCallback, String nativeScrollBehavior) → void
    inherited
    setAttribute(String name, String value) → void
    inherited
    setAttributeNS(String namespaceURI, String name, String value) → void
    inherited
    setDistributeScroll(ScrollStateCallback scrollStateCallback, String nativeScrollBehavior) → void
    inherited
    setInnerHtml(String html, { NodeValidator validator, NodeTreeSanitizer treeSanitizer }) → void
    Parses the HTML fragment and sets it as the contents of this element. This ensures that the generated content follows the sanitization rules specified by the validator or treeSanitizer. [...]
    inherited
    setPointerCapture(int pointerId) → void
    inherited
    toString() String
    The string representation of this element. [...]
    inherited

    Operators

    operator ==(dynamic other) bool
    The equality operator. [...]
    inherited

    Static Methods

    isTagSupported(String tag) bool
    Checks to see if the SVG element type is supported by the current platform. [...]
    override

    Constants

    abortEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('abort')
    blurEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('blur')
    canPlayEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('canplay')
    canPlayThroughEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('canplaythrough')
    changeEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('change')
    clickEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('click')
    contextMenuEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('contextmenu')
    doubleClickEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('dblclick')
    dragEndEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('dragend')
    dragEnterEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('dragenter')
    dragEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('drag')
    dragLeaveEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('dragleave')
    dragOverEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('dragover')
    dragStartEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('dragstart')
    dropEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('drop')
    durationChangeEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('durationchange')
    emptiedEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('emptied')
    endedEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('ended')
    errorEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('error')
    focusEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('focus')
    inputEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('input')
    invalidEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('invalid')
    keyDownEvent → const EventStreamProvider<KeyboardEvent>
    const EventStreamProvider<KeyboardEvent>('keydown')
    keyPressEvent → const EventStreamProvider<KeyboardEvent>
    const EventStreamProvider<KeyboardEvent>('keypress')
    keyUpEvent → const EventStreamProvider<KeyboardEvent>
    const EventStreamProvider<KeyboardEvent>('keyup')
    loadedDataEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('loadeddata')
    loadedMetadataEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('loadedmetadata')
    loadEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('load')
    mouseDownEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('mousedown')
    mouseEnterEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('mouseenter')
    mouseLeaveEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('mouseleave')
    mouseMoveEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('mousemove')
    mouseOutEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('mouseout')
    mouseOverEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('mouseover')
    mouseUpEvent → const EventStreamProvider<MouseEvent>
    const EventStreamProvider<MouseEvent>('mouseup')
    mouseWheelEvent → const EventStreamProvider<WheelEvent>
    const EventStreamProvider<WheelEvent>('mousewheel')
    pauseEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('pause')
    playEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('play')
    playingEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('playing')
    rateChangeEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('ratechange')
    resetEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('reset')
    resizeEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('resize')
    scrollEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('scroll')
    seekedEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('seeked')
    seekingEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('seeking')
    selectEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('select')
    stalledEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('stalled')
    submitEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('submit')
    suspendEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('suspend')
    timeUpdateEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('timeupdate')
    touchCancelEvent → const EventStreamProvider<TouchEvent>
    const EventStreamProvider<TouchEvent>('touchcancel')
    touchEndEvent → const EventStreamProvider<TouchEvent>
    const EventStreamProvider<TouchEvent>('touchend')
    touchMoveEvent → const EventStreamProvider<TouchEvent>
    const EventStreamProvider<TouchEvent>('touchmove')
    touchStartEvent → const EventStreamProvider<TouchEvent>
    const EventStreamProvider<TouchEvent>('touchstart')
    volumeChangeEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('volumechange')
    waitingEvent → const EventStreamProvider<Event>
    const EventStreamProvider<Event>('waiting')
    wheelEvent → const EventStreamProvider<WheelEvent>
    const EventStreamProvider<WheelEvent>('wheel')