Type Parameters

  • OTHER_OPTIONS extends string = never

Hierarchy

Constructors

Properties

Accessors

Methods

addEventListener append appendTo close closest contains deregisterBindHandlers deregisterEventBusSubscriber dump exists filter filterAll? filterEnum furthest getAs getBox getChildren getDialog getEnumValues getGroupName getGroups getIndex getMenu getNthChild getNthChildFromEnd getOffset getOptionTooltipLocation getOptions getParent getScreen getSelectionTarget getTooltipLocation getTranslation hide isFocused isInGroup isMouseWithin isSelectable isSelectionWithin isShowingTooltip isVisible markHidden markUnhidden markUnused markUsed matches observe onAppend onCancel onClose onContextMenu onEnter onEnterBind onFilterChange onHideDropdown onInputRising onInterrupt onLeave onNext onOpen onPrevious onRegenerateBox onRemove onSelectionChange onShowDropdown open openedDirection optionMatchesFilter optionMatchesFilterWord prepend prependTo querySelectorAll queryX queryXAll reflow refresh refreshTooltip regenerateBoxes registerBindHandlers registerEventBusSubscriber remove removeEventListener removeTooltip repaint retainLastFilter schedule scrollTo select selectDefault selectNext selectPrevious selectionMove setContents setContextMenu setElement setExcluded setHighlight setId setInert setInitialSelection setNoSort setPrefix setRefreshMethod setSearchValidOption setSelectable setSound setTooltip shouldIncludeOtherOptionsInGroupFilter show showTooltip siblings sleep sortAllOptions sortEnumOptions store toggle updateTooltip use all append findDescendants get getDeveloperMagicalPropertyTranslation getSelectableLayer remove

Constructors

  • Type Parameters

    • OTHER_OPTIONS extends string = never

    Parameters

    Returns default<OTHER_OPTIONS>

Properties

_optionsWrapper: default<HTMLElement>
attributes: AttributeManipulator<default<OTHER_OPTIONS>>
classes: ClassManipulator<default<OTHER_OPTIONS>>
data: DataManipulator<default<OTHER_OPTIONS>>
entered: boolean = false
enumObject: typeof MagicalPropertyType
event: IEventEmitter<default<OTHER_OPTIONS>, IDropdownEvents<MagicalPropertyType | MagicalPropertyIdentityHash | OTHER_OPTIONS>>
hasHiddenClass?: boolean
inputButton: DropdownInputButton
observing?: boolean
optionTooltipInitializer: "inherit" = ...
removed?: string | boolean
rooted: boolean = false
style: StyleManipulator<default<OTHER_OPTIONS>>
map: WeakMap<Element, default<HTMLElement>> = componentMap

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 options(): Map<O, default>
  • Returns Map<O, default>

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

    Returns false | SelectableLayer

  • get selectedOption(): O
  • Returns O

  • get selection(): O | {
        matching: string;
    }
  • Returns O | {
        matching: string;
    }

  • get selectionName(): undefined | keyof ENUM_OBJECT
  • Returns undefined | keyof ENUM_OBJECT

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 default<OTHER_OPTIONS>

  • Parameters

    • type: string
    • listener: ((this: HTMLElement, ev: Event) => any)
        • (this: HTMLElement, ev: Event): any
        • Parameters

          • this: HTMLElement
          • ev: Event

          Returns any

    • Optional options: boolean | AddEventListenerOptions

    Returns default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

  • Parameters

    Returns boolean

  • An alias for element.closest(selector)

    Parameters

    • selector: string

    Returns undefined | Element

  • Returns whether this component contains the given element.

    Parameters

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

    Returns boolean

  • Removes all children.

    Returns default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

  • Returns boolean

  • Parameters

    • filterBy: string = ""

    Returns default<OTHER_OPTIONS>

  • An alias for element.closest(selector)

    Parameters

    • selector: string

    Returns undefined | HTMLElement

  • Type Parameters

    Parameters

    • cls: AnyClass<C>

    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 undefined | 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 undefined | 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 the nth child from the end, defaulting to the last 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 undefined | S

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

    Parameters

    • trustInternalState: boolean = false

    Returns default<OTHER_OPTIONS>

  • Returns boolean

  • Returns undefined | default<HTMLElement>

  • Returns boolean

  • Parameters

    • Optional selection: default<HTMLElement>

    Returns boolean

  • Returns boolean

  • Returns whether the element is visible.

    Parameters

    • trustInternalState: boolean = false

    Returns boolean

  • Parameters

    • reason: string

    Returns void

  • Parameters

    • reason: string

    Returns void

  • Parameters

    • reason: string

    Returns void

  • Parameters

    • reason: string

    Returns void

  • 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

  • Returns void

  • Returns boolean

  • Returns void

  • Parameters

    • reason: "focus" | "mouse"

    Returns void

  • Returns void

  • Returns void

  • Returns void

  • Parameters

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

    Returns void

  • Returns boolean

  • Returns void

  • Returns boolean

  • Returns void

  • Returns void

  • Parameters

    • _: any
    • Optional selection: default<HTMLElement>

    Returns void

  • Returns void

  • Returns void

  • 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 default<OTHER_OPTIONS>

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

    Returns default<OTHER_OPTIONS>

  • An alias for element.querySelectorAll(selector)

    Type Parameters

    • E extends HTMLElement<E> = HTMLElement

    Parameters

    • selector: string

    Returns NodeListOf<E>

  • Type Parameters

    • N extends Node<N> = Node

    Parameters

    • selector: string

    Returns null | N

  • Type Parameters

    • N extends Node<N> = Node

    Parameters

    • selector: string

    Returns N[]

  • Parameters

    • reason: string

    Returns void

  • Returns default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

  • Returns void

  • Triggers a repaint on this element.

    Returns void

  • Parameters

    • retainLastFilter: boolean = true

    Returns default<OTHER_OPTIONS>

  • 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: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>, ...args: A) => any)

      The callback to run.

        • (this: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>, ...args: A): any
        • Parameters

          • this: default<OTHER_OPTIONS>
          • component: default<OTHER_OPTIONS>
          • Rest ...args: A

          Returns any

    • Rest ...args: A

      The arguments with which to call the callback.

    Returns default<OTHER_OPTIONS>

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

    Parameters

    • Optional cb: ((this: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>) => any)

      The callback to run.

        • (this: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>): any
        • Parameters

          Returns any

    • Rest ...args: any[]

      The arguments with which to call the callback.

    Returns default<OTHER_OPTIONS>

  • 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: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>, ...args: A) => any)

      The callback to run.

        • (this: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>, ...args: A): any
        • Parameters

          • this: default<OTHER_OPTIONS>
          • component: default<OTHER_OPTIONS>
          • Rest ...args: A

          Returns any

    • Rest ...args: A

      The arguments with which to call the callback.

    Returns default<OTHER_OPTIONS>

  • 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: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>) => any)

      The callback to run.

        • (this: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>): any
        • Parameters

          Returns any

    • Rest ...args: any[]

      The arguments with which to call the callback.

    Returns default<OTHER_OPTIONS>

  • 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: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>, ...args: A) => any)

      The callback to run.

        • (this: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>, ...args: A): any
        • Parameters

          • this: default<OTHER_OPTIONS>
          • component: default<OTHER_OPTIONS>
          • Rest ...args: A

          Returns any

    • Rest ...args: A

      The arguments with which to call the callback.

    Returns default<OTHER_OPTIONS>

  • 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: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>) => any)

      The callback to run.

        • (this: default<OTHER_OPTIONS>, component: default<OTHER_OPTIONS>): any
        • Parameters

          Returns any

    • Rest ...args: any[]

      The arguments with which to call the callback.

    Returns default<OTHER_OPTIONS>

  • 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

  • Returns void

  • Returns void

  • Parameters

    • direction: "next" | "prev"

    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 default<OTHER_OPTIONS>

  • Removes the context menu from this element.

    Returns default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

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

    Only call this directly after constructing the element.

    Parameters

    • element: HTMLElement

    Returns default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

  • Sets the ID of this component's element.

    Parameters

    • id: string

    Returns default<OTHER_OPTIONS>

  • Parameters

    • inert: boolean = true

    Returns default<OTHER_OPTIONS>

  • Parameters

    • initialSelection: boolean = true

    Returns default<OTHER_OPTIONS>

  • Returns default<OTHER_OPTIONS>

  • Parameters

    • prefix: string

    Returns default<OTHER_OPTIONS>

  • Parameters

    • searchValidOption: boolean = true

    Returns default<OTHER_OPTIONS>

  • Parameters

    • Optional sound: SfxType | "sort" | "equip" | "unequip" | "activate" | "choose" | "close" | "disable" | "enable" | "input" | "inputdelete" | "invalid" | "open" | "opensmall" | "protect" | "reorder" | "select" | "stack" | "trade" | "unprotect" | "unstack"

    Returns default<OTHER_OPTIONS>

  • 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 default<OTHER_OPTIONS>

  • Shows the element.

    Parameters

    • trustInternalState: boolean = false

    Returns default<OTHER_OPTIONS>

  • Returns void

  • 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 default<OTHER_OPTIONS>

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

    Parameters

    • Optional visible: boolean

      The new visiblity of this element.

    • trustInternalState: boolean = false

    Returns default<OTHER_OPTIONS>

  • 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 | default<HTMLElement> | ChildNode
    • force: boolean = false
    • uncacheSiblingsAndAncestors: boolean = true

    Returns void

Generated using TypeDoc