Hierarchy

Properties

entered: boolean = false
observing?: boolean
removed?: string | boolean

Accessors

  • get childCount(): number
  • The number of child elements of this component.

    Returns number

  • get dataset(): DOMStringMap
  • The dataset of the internal element.

    Returns DOMStringMap

  • get element(): E
  • The element that this Component instance wraps.

    Returns E

  • get selectable(): false | SelectableLayer
  • The selectable layer of this element, or false if it is not selectable.

    Returns false | SelectableLayer

Methods

  • Alias of .element.addEventListener, except it returns this instead and prevents memory leaks

    Type Parameters

    • K extends keyof HTMLElementEventMap

    Parameters

    • type: K
    • listener: ((this: HTMLElement, ev: HTMLElementEventMap[K]) => any)
        • (this: HTMLElement, ev: HTMLElementEventMap[K]): any
        • Parameters

          • this: HTMLElement
          • ev: HTMLElementEventMap[K]

          Returns any

    • Optional options: boolean | AddEventListenerOptions

    Returns IDraggableComponent

  • Appends every element of a list of components/elements.

    Parameters

    • Rest ...elements: ArrayOfIterablesOr<undefined | false | HTMLElement | default<HTMLElement>>

      A varargs list of elements or iterables of elements. Falsy values are skipped

    Returns IDraggableComponent

  • Appends every element of a list of components/elements.

    Parameters

    • appendStrategy: AppendStrategy

      Where in this component to insert new components. See AppendStrategy

    • Rest ...elements: ArrayOfIterablesOr<undefined | false | HTMLElement | default<HTMLElement>>

      A varargs list of elements or iterables of elements. Falsy values are skipped

    Returns IDraggableComponent

  • Appends this component to another element, by selector, element, or component.

    Parameters

    • Optional where: null | string | HTMLElement | default<HTMLElement>

      A CSS selector, an element, or a component to append this component to.

    • Optional appendStrategy: AppendStrategy

      Where in the new container to insert this component. See AppendStrategy

    Returns IDraggableComponent

  • An alias for element.closest(selector)

    Parameters

    • selector: string

    Returns null | Element

  • Returns whether this component contains the given element.

    Parameters

    • Optional what: null | string | Node | default<HTMLElement>

    Returns boolean

  • Removes all children.

    Returns IDraggableComponent

  • Removes all children that are not filtered out with the given filter function.

    Parameters

    • Optional filter: ((element: HTMLElement, component?: default<HTMLElement>) => boolean)

      A function that returns true if the child should be kept.

        • (element: HTMLElement, component?: default<HTMLElement>): boolean
        • Parameters

          • element: HTMLElement
          • Optional component: default<HTMLElement>

          Returns boolean

    Returns IDraggableComponent

  • Returns boolean

  • An alias for element.querySelectorAll(selector)

    Type Parameters

    • E extends HTMLElement = HTMLElement

    Parameters

    • selector: string

    Returns NodeListOf<E>

  • Type Parameters

    Parameters

    • cls: Class<C, any[]>

    Returns undefined | C

  • A cached alias for element.getBoundingClientRect(). Boxes are updated or regenerated as ancestors shift.

    Parameters

    • regenIfZero: boolean = true
    • forceRegen: boolean = false

    Returns default

  • Returns a stream of this component's child components. Child elements that don't have associated components will be undefined.

    Type Parameters

    Parameters

    • Optional selector: string

      A selector that each element must match to be included in the result stream

    Returns Stream<C>

  • Returns this component's containing dialog, if it exists.

    Type Parameters

    Returns null | D

  • Returns the index of this component amongst its sibling nodes. If it has no parent, it returns undefined.

    Parameters

    • elementsOnly: boolean = false

    Returns undefined | number

  • Returns this component's containing menu, if it exists.

    Type Parameters

    Returns null | M

  • Returns the nth child, defaulting to the first child

    Type Parameters

    • C extends undefined | default<HTMLElement> = undefined | default<HTMLElement>

    Parameters

    • nth: number = 0

    Returns undefined | C

  • Returns an object containing HTMLElement.offsetTop and HTMLElement.offsetLeft

    Returns {
        left: number;
        top: number;
    }

    • left: number
    • top: number
  • Returns this component's parent component, if it exists.

    Type Parameters

    • C extends undefined | default<HTMLElement> = undefined | default<HTMLElement>

    Returns null | C

  • Returns this component's containing dialog, if it exists.

    Type Parameters

    Returns null | S

  • Returns boolean

  • Returns boolean

  • Returns whether the element is visible.

    Returns boolean

  • Parameters

    • selector: string

    Returns boolean

  • Enables a intersection observe on this component and fires an observe event once when the element is first observed

    Returns void

  • Parameters

    • reason: "focus" | "mouse"

    Returns void

  • Parameters

    • reason: "remove" | "focus" | "mouse"

    Returns void

  • Type Parameters

    • N extends Node = Node

    Parameters

    • selector: string

    Returns null | N

  • Type Parameters

    • N extends Node = Node

    Parameters

    • selector: string

    Returns N[]

  • Parameters

    • reason: string

    Returns void

  • Returns void

  • Forcibly regenerates the cached result of Component.getBox for this component and all descendants.

    Parameters

    • descendants: boolean = true

    Returns void

  • Type Parameters

    • K extends keyof HTMLElementEventMap

    Parameters

    • type: K
    • listener: ((this: HTMLElement, ev: HTMLElementEventMap[K]) => any)
        • (this: HTMLElement, ev: HTMLElementEventMap[K]): any
        • Parameters

          • this: HTMLElement
          • ev: HTMLElementEventMap[K]

          Returns any

    Returns IDraggableComponent

  • Returns void

  • Triggers a repaint on this element.

    Returns void

  • Scrolls this element so the given child is at the top of the viewport.

    Parameters

    • Optional child: HTMLElement | default<HTMLElement>

      The child to scroll to

    • Optional ms: number

      The time to take, defaulting to 1000 (1 second)

    Returns void

  • Scrolls this element so the given child is at the top of the viewport.

    Parameters

    • child: undefined | HTMLElement | default<HTMLElement>

      The child to scroll to

    • offsetTop: number

      An offset for the position to scroll to, relative to the position of the child

    • Optional ms: number

      The time to take, defaulting to 1000 (1 second)

    Returns void

  • Sets the contents of this element using innerHTML.

    Parameters

    • html: string

      The content, an HTML string. Script tags will not be executed, as per the normal functionality of innerHTML

    • escape: boolean = false

      Only the text within the HTML will be appended, not the tags.

    Returns IDraggableComponent

  • Warning: This method will replace the internal element backing this component.

    Only call this directly after constructing the element.

    Parameters

    • element: HTMLElement

    Returns IDraggableComponent

  • Warning: This method will replace the internal element backing this component.

    Only call this directly after constructing the element.

    Parameters

    • Optional elementType: string
    • Optional namespace: SVG

    Returns IDraggableComponent

  • Sets the tooltip options for this element. Setting the tooltip to undefined, or not providing the argument removes the tooltip options.

    Type Parameters

    • ARGS extends any[]

    Parameters

    • Optional initializer: ((tooltip: default, ...args: ARGS) => any)
        • (tooltip: default, ...args: ARGS): any
        • Parameters

          • tooltip: default
          • Rest ...args: ARGS

          Returns any

    • Rest ...args: ARGS

    Returns IDraggableComponent

  • Returns a stream of this component's sibling components. Child elements that don't have associated components will be undefined.

    Type Parameters

    Parameters

    • Optional selector: string

      A selector that each element must match to be included in the result stream

    Returns Stream<C>

  • Returns

    a promise that resolves when either the given time has passed, or this component has been removed. Returns true if this component exists, false if it has been removed.

    Parameters

    • ms: number

    Returns Promise<boolean>

  • Moves this element to a hidden element, in order to retain any information the element had. This allows the element to be re-appended later without re-adding event handlers, CSS, or any other data.

    Parameters

    Returns IDraggableComponent

  • Toggles the visibility of this element. Internally uses show and hide.

    Parameters

    • visible: boolean = ...

      The new visiblity of this element.

    Returns IDraggableComponent

Generated using TypeDoc