Type Parameters

  • I extends string | number | undefined = string | number | undefined

Hierarchy

Constructors

  • Type Parameters

    • I extends undefined | string | number = undefined | string | number

    Parameters

    • id: I

    Returns Choice<I>

Properties

description?: Paragraph
entered: boolean = false
id: I
observing?: boolean
refreshMethod: (() => boolean)

Type declaration

    • (): boolean
    • Returns boolean

removed?: string | boolean
text?: default
wrapperButtons?: default<HTMLElement>

Accessors

  • get active(): boolean
  • Returns boolean

  • get checked(): boolean
  • Returns boolean

  • 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 disabled(): boolean
  • Returns boolean

  • 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

  • Parameters

    • playSound: boolean = true

    Returns void

  • 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 Choice<I>

  • 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 Choice<I>

  • 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 Choice<I>

  • 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 Choice<I>

  • Returns void

  • 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 Choice<I>

  • 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 Choice<I>

  • 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 string

  • Hides the element. If a tooltip is shown for this element, hides that as well.

    Returns Choice<I>

  • Returns boolean

  • 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

    • Optional event: MouseEvent | Event

    Returns void

  • Parameters

    • reason: "focus" | "mouse"

    Returns void

  • Parameters

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

    Returns void

  • 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

  • Parameters

    • emitEvent: boolean = true

    Returns Choice<I>

  • Returns void

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

    Parameters

    • descendants: boolean = true

    Returns void

  • Removes this element and all descendants.

    Returns Choice<I>

  • 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 Choice<I>

  • Returns void

  • Triggers a repaint on this element.

    Returns void

  • Runs the given callback with the given arguments. this and the first argument are this element.

    Type Parameters

    • A extends any[]

    Parameters

    • Optional cb: ((this: Choice<I>, component: Choice<I>, ...args: A) => any)

      The callback to run.

        • (this: Choice<I>, component: Choice<I>, ...args: A): any
        • Parameters

          Returns any

    • Rest ...args: A

      The arguments with which to call the callback.

    Returns Choice<I>

  • Runs the given callback with the given arguments. this and the first argument are this element.

    Parameters

    • Optional cb: ((this: Choice<I>, component: Choice<I>) => any)

      The callback to run.

    • Rest ...args: any[]

      The arguments with which to call the callback.

    Returns Choice<I>

  • Runs the given callback with the given arguments, after the specified amount of time. this and the first argument are this element.

    Type Parameters

    • A extends any[]

    Parameters

    • ms: number

      The amount of time to wait before running the callback, in milliseconds.

    • cb: ((this: Choice<I>, component: Choice<I>, ...args: A) => any)

      The callback to run.

        • (this: Choice<I>, component: Choice<I>, ...args: A): any
        • Parameters

          Returns any

    • Rest ...args: A

      The arguments with which to call the callback.

    Returns Choice<I>

  • Runs the given callback with the given arguments, after the specified amount of time. this and the first argument are this element.

    Parameters

    • ms: number

      The amount of time to wait before running the callback, in milliseconds.

    • Optional cb: ((this: Choice<I>, component: Choice<I>) => any)

      The callback to run.

    • Rest ...args: any[]

      The arguments with which to call the callback.

    Returns Choice<I>

  • Runs the given callback with the given arguments, after the specified amount of time. this and the first argument are this element.

    Type Parameters

    • A extends any[]

    Parameters

    • ms: number

      The amount of time to wait before running the callback, in milliseconds.

    • debounce: number

      The span of time to debounce in. (If this callback was scheduled again in this time, skip this earlier call)

    • cb: ((this: Choice<I>, component: Choice<I>, ...args: A) => any)

      The callback to run.

        • (this: Choice<I>, component: Choice<I>, ...args: A): any
        • Parameters

          Returns any

    • Rest ...args: A

      The arguments with which to call the callback.

    Returns Choice<I>

  • Runs the given callback with the given arguments, after the specified amount of time. this and the first argument are this element.

    Parameters

    • ms: number

      The amount of time to wait before running the callback, in milliseconds.

    • debounce: number

      The span of time to debounce in. (If this callback was scheduled again in this time, skip this earlier call)

    • Optional cb: ((this: Choice<I>, component: Choice<I>) => any)

      The callback to run.

    • Rest ...args: any[]

      The arguments with which to call the callback.

    Returns Choice<I>

  • 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

  • Parameters

    • isActionless: boolean = true
    • setDisabled: boolean = true

    Returns Choice<I>

  • Parameters

    • val: boolean = true
    • reason: string = "any"

    Returns Choice<I>

  • Parameters

    • checked: boolean
    • triggerEvent: boolean = true

    Returns Choice<I>

  • 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 Choice<I>

  • Removes the context menu from this element.

    Returns Choice<I>

  • Sets the context menu for this element.

    Parameters

    • generator: ((contextMenu: ContextMenu, api: IBindHandlerApi) => undefined | ContextMenu)
        • (contextMenu: ContextMenu, api: IBindHandlerApi): undefined | ContextMenu
        • Parameters

          Returns undefined | ContextMenu

    • Optional priority: number

    Returns Choice<I>

  • Parameters

    • val: boolean = true
    • reason: string = "any"

    Returns Choice<I>

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

    Only call this directly after constructing the element.

    Parameters

    • element: HTMLElement

    Returns Choice<I>

  • 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 Choice<I>

  • Parameters

    • Optional icon: IIcon
    • scale: boolean = true

    Returns Choice<I>

  • Sets the ID of this component's element.

    Parameters

    • id: string

    Returns Choice<I>

  • Parameters

    • initialSelection: boolean = true

    Returns Choice<I>

  • Parameters

    • refreshMethod: (() => boolean)
        • (): boolean
        • Returns boolean

    Returns Choice<I>

  • Parameters

    • Optional sound: "input" | "open" | "select" | "close" | "invalid" | "activate" | "choose" | "disable" | "enable" | "inputdelete" | "opensmall" | "protect" | "unprotect"

    Returns Choice<I>

  • Parameters

    • property: string
    • value: string | number

    Returns Choice<I>

  • 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 Choice<I>

  • Shows the element.

    Returns Choice<I>

  • 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 Choice<I>

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

    Parameters

    • visible: boolean = ...

      The new visiblity of this element.

    Returns Choice<I>

  • Returns void

  • Parameters

    • checked: boolean
    • triggerEvent: boolean = true

    Returns boolean

  • Parameters

    • selector: string

    Returns Stream<default<HTMLElement>>

  • Parameters

    • elementToMove: string | HTMLElement | default<HTMLElement>
    • placeToAppendTo: string | HTMLElement | default<HTMLElement>
    • strategy: AppendStrategy = "append"

    Returns void

  • Parameters

    • inElement: HTMLElement | default<HTMLElement>
    • selector: string
    • includeSelf: boolean = false

    Returns HTMLElement[]

  • Parameters

    • selector: string

    Returns undefined | default<HTMLElement>

  • Parameters

    • element: Element | default<HTMLElement>

    Returns default<HTMLElement>

  • Parameters

    • event: Event

    Returns default<HTMLElement>

  • Parameters

    • element: undefined | null | false | Element | default<HTMLElement>

    Returns undefined | default<HTMLElement>

  • Parameters

    • selector: string
    • create: undefined | false

    Returns undefined | default<HTMLElement>

  • Parameters

    • element: Element | default<HTMLElement>
    • create: undefined | false

    Returns undefined | default<HTMLElement>

  • Parameters

    • event: Event
    • create: undefined | false

    Returns undefined | default<HTMLElement>

  • Parameters

    • element: undefined | null | false | Element | default<HTMLElement>
    • create: undefined | false

    Returns undefined | default<HTMLElement>

  • Type Parameters

    Parameters

    • selector: string

    Returns undefined | C

  • Type Parameters

    Parameters

    • element: Element | C

    Returns C

  • Type Parameters

    Parameters

    • event: Event

    Returns C

  • Type Parameters

    Parameters

    • element: undefined | null | false | Element | C

    Returns undefined | C

  • Type Parameters

    Parameters

    • selector: string
    • create: undefined | false

    Returns undefined | C

  • Type Parameters

    Parameters

    • element: Element | C
    • create: undefined | false

    Returns undefined | C

  • Type Parameters

    Parameters

    • event: Event
    • create: undefined | false

    Returns undefined | C

  • Type Parameters

    Parameters

    • element: undefined | null | false | Element | C
    • create: undefined | false

    Returns undefined | C

  • Parameters

    • element: HTMLElement | default<HTMLElement>

    Returns number | false

  • Parameters

    • elementToRemove: null | string | Element | ChildNode | default<HTMLElement>
    • force: boolean = false

    Returns void

Generated using TypeDoc