Options
All
  • Public
  • Public/Protected
  • All
Menu
abstract

AbstractSelectLitElement is an Abstract class and therefore should always be extended This class manages the [selected] attribute state of all children added into its slot

Hierarchy

Index

Properties

Protected _groupObservers

_groupObservers: NodeObserver[] = []

a map of observers for optgroup child nodes

Protected _groups

_groups: OptgroupElement[] = []

a map of all nodes

Protected _nodeChildSelector

_nodeChildSelector: string = "acc-item"

Protected _nodes

_nodes: SelectableElement[] = []

a map of all nodes, this map is flattened to include all items nested in a group

Protected _shortcutObserver

_shortcutObserver: KeyboardShortcutObserver

disabled

disabled: boolean = false

disable the element, make it inaccessible

hideLabel

hideLabel: boolean = false

hide the label visually, only provide to aria

label

label: string = ""

the label for the element, useful for display as well as screen readers

renderComplete

renderComplete: Promise<boolean>

Returns a promise which resolves after the element next renders. The promise resolves to true if the element rendered and false if the element did not render. This is useful when users (e.g. tests) need to react to the rendered state of the element after a change is made. This can also be useful in event handlers if it is desireable to wait to send an event until after rendering. If possible implement the _didRender method to directly respond to rendering within the rendering lifecycle.

shortcut

shortcut: string = ""

a keyboard shortcut to access the element

Accessors

selected

selectedIndex

  • get selectedIndex(): number
  • set selectedIndex(index: number): void
  • Returns number

  • Parameters

    • index: number

    Returns void

Methods

Protected _addGroup

  • Add an element to the select

    Parameters

    Returns void

Protected _addNode

  • Add a selectable node

    Parameters

    Returns void

Protected _applyRender

  • _applyRender(result: TemplateResult, node: Element | DocumentFragment): void
  • Renders the given lit-html template result into the given node. Implement to customize the way rendering is applied. This is should not typically be needed and is provided for advanced use cases.

    Parameters

    • result: TemplateResult

      lit-html template result to render

    • node: Element | DocumentFragment

      node into which to render

    Returns void

Protected _createRoot

  • _createRoot(): Element | DocumentFragment
  • Implement to customize where the element's template is rendered by returning an element into which to render. By default this creates a shadowRoot for the element. To render into the element's childNodes, return this.

    Returns Element | DocumentFragment

    Returns a node into which to render.

Protected _didRender

  • _didRender(_props: object, _changedProps: object, _prevProps: object): void
  • Called after element DOM has been rendered. Implement to directly control rendered DOM. Typically this is not needed as lit-html can be used in the _render method to set properties, attributes, and event listeners. However, it is sometimes useful for calling methods on rendered elements, like calling focus() on an element to focus it.

    Parameters

    • _props: object

      Current element properties

    • _changedProps: object

      Changing element properties

    • _prevProps: object

      Previous element properties

    Returns void

_firstRendered

  • _firstRendered(): void
  • Called after the element DOM is rendered for the first time. Implement to perform tasks after first rendering like capturing a reference to a static node which must be directly manipulated. This should not be commonly needed. For tasks which should be performed before first render, use the element constructor.

    Returns void

_flushProperties

  • _flushProperties(): void
  • Returns void

Protected _handleNodesObserverUpdate

  • The handler for when nodes are added or removed from the

    Parameters

    • info: NodeObservation

      the description of added and removed nodes in the last change

    Returns void

Protected _handleShortcut

  • _handleShortcut(): void
  • The function called whenever the keyboard shortcut is performed

    Returns void

_invalidateProperties

  • _invalidateProperties(): void
  • Override which provides tracking of invalidated state.

    Returns void

_propertiesChanged

  • _propertiesChanged(props: any, changed: any, prev: any): void
  • Parameters

    • props: any
    • changed: any
    • prev: any

    Returns void

Protected _removeGroup

  • Parameters

    Returns void

Protected _removeNode

  • Parameters

    Returns void

Protected _render

  • _render(_props: object): TemplateResult
  • Implement to describe the DOM which should be rendered in the element. Ideally, the implementation is a pure function using only props to describe the element template. The implementation must return a lit-html TemplateResult. By default this template is rendered into the element's shadowRoot. This can be customized by implementing _createRoot. This method must be implemented.

    Parameters

    • _props: object

      Current element properties

    Returns TemplateResult

    Must return a lit-html TemplateResult.

_shouldPropertiesChange

  • _shouldPropertiesChange(_props: object, _changedProps: object, _prevProps: object): boolean
  • Override which returns the value of _shouldRender which users should implement to control rendering. If this method returns false, _propertiesChanged will not be called and no rendering will occur even if property values change or requestRender is called.

    Parameters

    • _props: object

      Current element properties

    • _changedProps: object

      Changing element properties

    • _prevProps: object

      Previous element properties

    Returns boolean

    Default implementation always returns true.

_shouldPropertyChange

  • _shouldPropertyChange(property: string, value: any, old: any): boolean
  • Override which warns when a user attempts to change a property during the rendering lifecycle. This is an anti-pattern and should be avoided.

    Parameters

    • property: string
    • value: any
    • old: any

    Returns boolean

Protected _shouldRender

  • _shouldRender(_props: object, _changedProps: object, _prevProps: object): boolean
  • Implement to control if rendering should occur when property values change or requestRender is called. By default, this method always returns true, but this can be customized as an optimization to avoid rendering work when changes occur which should not be rendered.

    Parameters

    • _props: object

      Current element properties

    • _changedProps: object

      Changing element properties

    • _prevProps: object

      Previous element properties

    Returns boolean

    Default implementation always returns true.

connectedCallback

  • connectedCallback(): void

disconnectedCallback

  • disconnectedCallback(): void

ready

  • ready(): void
  • Override which sets up element rendering by calling* _createRoot and _firstRendered.

    Returns void

requestRender

  • requestRender(): void
  • Call to request the element to asynchronously re-render regardless of whether or not any property changes are pending.

    Returns void

select

  • Select an element to change the active item.

    Parameters

    Returns void