Lion Logo Lion Fundamentals Guides Components Blog Toggle darkmode

Select Rich: API Table

class: LionSelectInvoker, lion-select-invoker

Fields

NamePrivacyTypeDefaultDescriptionInherited From
_contentWrapperNodeprotected
readOnlypublicbooleanfalseWhen the connected LionSelectRich instance is readOnly, this should be reflected in the invoker as well
selectedElementpublicLionOption | nullnullThe option element that is currently selected
hostElementpublicLionSelectRich | nullnullThe LionSelectRich element this invoker is part of. Will be set on connectedCallback of LionSelectRich
singleOptionpublicbooleanfalseWhen the connected LionSelectRich instance has only one option, this should be reflected in the invoker as well
typepublicstring'button'LionButton
tabIndexpublicnumberLionButton
_requestedToBeDisabledprotectedbooleanfalseLionButton
disabledpublicbooleanfalseLionButton
activepublicbooleanfalseLionButton
_buttonIdprotectedLionButton

Methods

NamePrivacyDescriptionParametersReturnInherited From
_contentTemplateprotectedTemplateResult|Node[]|string|null
_noSelectionTemplateprotectedTo be overriden for a placeholder, used when `hasNoDefaultSelected` is true on the select richTemplateResult
_beforeTemplateprotected
_afterTemplateprotected
makeRequestToBeDisabledpublicLionButton
retractRequestToBeDisabledpublicLionButton

Attributes

NameFieldInherited From
selectedElementselectedElement
hostElementhostElement
readonlyreadOnly
single-optionsingleOption
tabindextabIndexLionButton
disableddisabledLionButton
activeactiveLionButton
typetypeLionButton

class: LionSelectRich, lion-select-rich

Fields

NamePrivacyTypeDefaultDescriptionInherited From
slotspublicSlotsMapAdds "._feedbackNode" as described belowLionListbox
_invokerNodeprotectedLionSelectInvoker
_focusableNodeprotectedHTMLElementThe focusable element: could be an input, textarea, select, button or any other element with tabindex > -1LionListbox
_scrollTargetNodeprotectedHTMLElementLionListbox
_overlayInvokerNodeprotectedOverlayMixin
_overlayContentNodeprotectedOverlayMixin
navigateWithinInvokerpublicBooleanfalseWhen invoker has focus, up and down arrow keys changes active state of listbox, without opening overlay.
interactionModepublic'windows/linux'|'mac'|'auto''auto'Aligns behavior for 'selectionFollowFocus' and 'navigateWithinInvoker' with platform. When 'auto' (default), platform is automatically detected
singleOptionpublicbooleanfalse
_arrowWidthprotectednumber28
configpublicPartial<OverlayConfig>{}Configure the many options of the `OverlayController`OverlayMixin
_overlayReferenceNodeprotectedOverlayMixin
_overlayBackdropNodeprotectedOverlayMixin
_overlayContentWrapperNodeprotectedOverlayMixin
openedpublicbooleanfalseIf you add the opened attribute a dialog will be opened on page load. The invoker can be left out in case the user does not need to be able to reopen the dialog.OverlayMixin
_inputNodeprotectedThe interactive (form) element. Can be a native element like input/textarea/select or an element with tabindex > -1LionListbox
_listboxNodeprotectedLionListbox
_listboxActiveDescendantNodeprotectedHTMLElementLionListbox
_listboxSlotprotectedHTMLElementLionListbox
_activeDescendantOwnerNodeprotectedHTMLElementLionListbox
activeIndexpublicLionListbox
checkedIndexpublicnumber | number[]LionListbox
hasNoDefaultSelectedpublicbooleanfalseWhen setting this to true, on initial render, no option will be selected. It is advisable to override `_noSelectionTemplate` method in the select-invoker to render some kind of placeholder initiallyLionListbox
orientationpublicstring'vertical'Informs screen reader and affects keyboard navigation. By default 'vertical'LionListbox
rotateKeyboardNavigationpublicbooleanfalseWill give first option active state when navigated to the next option from last option.LionListbox
selectionFollowsFocuspublicbooleanfalseWhen true, will synchronize activedescendant and selected element on arrow key navigation. This behavior can usually be seen on <select> on the Windows platform. Note that this behavior cannot be used when multiple-choice is true. See: https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focusLionListbox
_noTypeAheadpublicbooleanfalseWhen false, a user can type on which the focus will jump to the matching optionLionListbox
_typeAheadTimeoutprotectednumber1000The pending char sequence that will set active list itemLionListbox
_listboxActiveDescendantprotectednumber | nullnullLionListbox
_repropagationRolepublic'child'|'choice-group'|'fieldset''choice-group'Based on the role, details of handling model-value-changed repropagation differ.LionListbox
_listboxReceivesNoFocusprotectedbooleanfalseWhen listbox is coupled to a textbox (in case we are dealing with a combobox), spaces should not select an element (they need to be put in the textbox)LionListbox
_oldModelValueprotectedstring | string[] | undefinedundefinedLionListbox
labelpublicstring''The label text for the input node. When no value is defined, textContent of [slot=label] will be usedLionListbox
helpTextpublicstring''The helpt text for the input node. When no value is defined, textContent of [slot=help-text] will be usedLionListbox
fieldNamepublicstringWill be used in validation messages to refer to the current fieldLionListbox
_labelNodeprotectedElement where label will be rendered toLionListbox
_helpTextNodeprotectedElement where help text will be rendered toLionListbox
_feedbackNodeprotectedElement where validation feedback will be rendered toLionListbox
readOnlypublicbooleanfalseA Boolean attribute which, if present, indicates that the user should not be able to edit the value of the input. The difference between disabled and readonly is that read-only controls can still function, whereas disabled controls generally do not function as controls until they are enabled. (From: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-readonly)LionListbox
labelSrOnlypublicbooleanfalseThe label will only be visible for srceen readers when trueLionListbox
_inputIdprotectedstringUnique id that can be used in all light domLionListbox
_ariaLabelledNodespublicHTMLElement[][]Contains all elements that should end up in aria-labelledby of `._inputNode`LionListbox
_ariaDescribedNodespublicHTMLElement[][]Contains all elements that should end up in aria-describedby of `._inputNode`LionListbox
_isRepropagationEndpointpublicbooleanfalseBy default, a field with _repropagationRole 'choice-group' will act as an 'endpoint'. This means it will be considered as an individual field: for a select, individual options will not be part of the formPath. They will. Similarly, components that (a11y wise) need to be fieldsets, but 'interaction wise' (from Application Developer perspective) need to be more like fields (think of an amount-input with a currency select box next to it), can set this to true to hide private internals in the formPath.LionListbox
modelValuepublicLionListbox
serializedValuepublicLionListbox
formattedValuepublicLionListbox
operationModepublicOperationModeTypes of input interaction of the FormControl (for instance 'enter'|'select'|'upload')LionListbox
multipleChoicepublicbooleanfalseWhen false (default), modelValue and serializedValue will reflect the currently selected choice (usually a string). When true, modelValue will and serializedValue will be an array of strings.LionListbox
formElementspublicFormControlsCollectionnew FormControlsCollection()Closely mimics the natively supported HTMLFormControlsCollection. It can be accessed both like an array and an object (based on control/element names).LionListbox
_isFormOrFieldsetprotectedbooleanfalseFlag that determines how ".formElements" should behave. For a regular fieldset (see LionFieldset) we expect ".formElements" to be accessible as an object. In case of a radio-group, a checkbox-group or a select/listbox, it should act like an array (see ChoiceGroupMixin). Usually, when false, we deal with a choice-group (radio-group, checkbox-group, (multi)select)LionListbox
initCompletepublicPromise<any>new Promise((resolve, reject) => { this.__resolveInitComplete = resolve; this.__rejectInitComplete = reject; })initComplete resolves after all pending initialization logic (for instance `<form-group .serializedValue=$>`) is executedLionListbox
registrationCompletepublicPromise<any> & {done?:boolean}new Promise((resolve, reject) => { this.__resolveRegistrationComplete = resolve; this.__rejectRegistrationComplete = reject; })registrationComplete waits for all children formElements to have registeredLionListbox
donepublicbooleanfalseLionListbox
focusedpublicbooleanfalseWhether the focusable element within (`._focusableNode`) is focused. Reflects to attribute '[focused]' as a styling hookLionListbox
focusedVisiblepublicbooleanfalseWhether the focusable element within (`._focusableNode`) matches ':focus-visible' Reflects to attribute '[focused-visible]' as a styling hook See: https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visibleLionListbox
autofocuspublicbooleanfalseLionListbox
_feedbackConditionMetaprotectedAllows Subclassers to add meta info for feedbackConditionLionListbox
touchedpublicbooleanfalseTrue when user has focused and left(blurred) the field.LionListbox
dirtypublicbooleanfalseTrue when user has changed the value of the field.LionListbox
prefilledpublicbooleanfalseTrue when user has left non-empty field or input is prefilled. The name must be seen from the point of view of the input field: once the user enters the input field, the value is non-empty.LionListbox
filledpublicbooleanfalseTrue when the modelValue is non-empty (see _isEmpty in FormControlMixin)LionListbox
_leaveEventprotectedstring'blur'The event that triggers the touched stateLionListbox
_valueChangedEventprotectedstring'model-value-changed'The event that triggers the dirty stateLionListbox
submittedpublicLionListbox
_allValidatorsprotectedValidator[]Combination of validators provided by Application Developer and the default validatorsLionListbox
hasFeedbackForpublicValidationType[][]As soon as validation happens (after modelValue/validators/validator param change), this array is updated with the active ValidationTypes ('error'|'warning'|'success'|'info' etc.). Notice the difference with `.showsFeedbackFor`, which filters `.hasFeedbackFor` based on `.feedbackCondition()`. For styling purposes, will be reflected to [has-feedback-for="error warning"]. This can be useful for subtle visual feedback on keyup, like a red/green border around an input.LionListbox
showsFeedbackForpublicValidationType[][]Based on outcome of feedbackCondition, this array decides what ValidationTypes should be shown in validationFeedback, based on meta data like interaction states. For styling purposes, it reflects it `[shows-feedback-for="error warning"]`LionListbox
validationStatespublicValidationStates{}The outcome of a validation 'round'. Keyed by ValidationType and Validator nameLionListbox
isPendingpublicbooleanfalseFlag indicating whether async validation is pending. Creates attribute [is-pending] as a styling hookLionListbox
validatorspublicValidator[][]Used by Application Developers to add Validators to a FormControl.LionListbox
defaultValidatorspublicValidator[][]Used by Subclassers to add default Validators to a particular FormControl. A date input for instance, always needs the isDate validator.LionListbox
_visibleMessagesAmountprotectednumber1The amount of feedback messages that will visible in LionValidationFeedbackLionListbox
__SyncUpdatableNamespaceprotectedSyncUpdatableNamespace{}Namespace for this mixin that guarantees naming clashes will not occur...LionListbox
_requestedToBeDisabledprotectedbooleanfalseLionListbox
disabledpublicbooleanfalseLionListbox

Methods

NamePrivacyDescriptionParametersReturnInherited From
_inputGroupInputTemplateprotectedTemplateResultLionListbox
addFormElementpublicchild: LionOption & FormControlHost, indexToInsertAt: NumberLionListbox
removeFormElementpublicchild: FormRegisteringHostLionListbox
_getCheckedElementsprotectedIn the select disabled options are still going to a possible value for example when prefilling or programmatically setting it.LionListbox
_onFormElementsChangedprotected
_defineOverlayConfigprotectedOverlayConfigOverlayMixin
_noDefaultSelectedInheritsWidthprotectedWith no selected element, we should override the inheritsReferenceWidth in most cases. By default, we will set it to 'min', and then set it back to what it was initially when something is selected. As a subclasser you can override this behavior.
_setupOverlayCtrlprotectedOverlayMixin
_teardownOverlayCtrlprotectedOverlayMixin
_alignInvokerWidthprotectedAlign invoker width with content width Make sure display is not set to "none" while calculating the content width
_onLabelClickprotectedLionListbox
_listboxOnKeyDownprotectedev: KeyboardEventLionListbox
_listboxOnClickprotectedev: MouseEventLionListbox
_setupListboxNodeprotectedLionListbox
_teardownListboxNodeprotectedLionListbox
__rerenderSlotprotectedslotName: stringLionListbox
__appendNodesprotected`{ nodes, renderParent = this, slotName }, options: @param {Node[]} options.nodes * @param {Element} [options.renderParent] It's recommended to create a render target in light dom (like
), * which can be used as a render target for most * @param {string} options.slotName For the first render, it's best to use slotName
 ` |                             | LionListbox    |

| __initSlots | protected | Here we look what's inside our `get slots`. Rerenderable slots get scheduled and "one time slots" get rendered once on connected | slotNames: string[] | | LionListbox | | _connectSlotMixin | protected | | | | LionListbox | | _isPrivateSlot | protected | | slotName: string | boolean | LionListbox | | createScopedElement | public | | tagName | | LionListbox | | defineScopedElement | public | Defines a scoped element. | tagName: string, klass: typeof HTMLElement | | LionListbox | | attachShadow | public | | options: ShadowRootInit | ShadowRoot | LionListbox | | _defineOverlay | protected | | { contentNode, invokerNode, referenceNode, backdropNode, contentWrapperNode }, config: DefineOverlayConfig | OverlayController | OverlayMixin | | _setupOpenCloseListeners | protected | | | | OverlayMixin | | _teardownOpenCloseListeners | protected | | | | OverlayMixin | | _setOpenedWithoutPropertyEffects | protected | When the opened state is changed by an Application Developer,cthe OverlayController is requested to show/hide. It might happen that this request is not honoured (intercepted in before-hide for instance), so that we need to sync the controller state to this webcomponent again, preventing eternal loops. | newOpened: boolean | | OverlayMixin | | toggle | public | Toggles the overlay | | | OverlayMixin | | open | public | Shows the overlay | | | OverlayMixin | | close | public | Hides the overlay | | | OverlayMixin | | repositionOverlay | public | Sometimes it's needed to recompute Popper position of an overlay, for instance when we have an opened combobox and the surrounding context changes (the space consumed by the textbox increases vertically) | | | OverlayMixin | | setCheckedIndex | public | If an array is passed for multiple-choice, it will check the indexes in array, and uncheck the rest If a number is passed, the item with the passed index is checked without unchecking others For single choice, __onChildCheckedChanged we ensure that we uncheck siblings | index: number\|number[] | | LionListbox | | resetInteractionState | public | Resets touched and dirty, and recomputes prefilled | | | LionListbox | | reset | public | | | | LionListbox | | clear | public | | | | LionListbox | | _handleTypeAhead | protected | | ev: KeyboardEvent, { setAsChecked }, options: {setAsChecked:boolean} | | LionListbox | | _onListboxContentChanged | protected | A Subclasser can perform additional logic whenever the elements inside the listbox are updated. For instance, when a combobox does server side autocomplete, we want to match highlighted parts client side. | | | LionListbox | | _getNextEnabledOption | protected | | currentIndex: number, offset: number | | LionListbox | | _getPreviousEnabledOption | protected | | currentIndex: number, offset: number | | LionListbox | | _onChildActiveChanged | protected | | { target }, ev: Event & { target: LionOption } | | LionListbox | | _listboxOnKeyUp | protected | | ev: KeyboardEvent | | LionListbox | | _scrollIntoView | protected | | el: HTMLElement, scrollTargetEl: HTMLElement | | LionListbox | | _uncheckChildren | protected | | exclude: LionOption\|LionOption[] | | LionListbox | | _triggerInitialModelValueChangedEvent | protected | | | | LionListbox | | _enhanceLightDomClasses | protected | | | | LionListbox | | _enhanceLightDomA11y | protected | | | | LionListbox | | _enhanceLightDomA11yForAdditionalSlots | protected | Enhances additional slots(prefix, suffix, before, after) defined by developer. When boolean attribute data-label or data-description is found, the slot element will be connected to the input via aria-labelledby or aria-describedby | additionalSlots: string[] | | LionListbox | | __reflectAriaAttr | protected | Will handle help text, validation feedback and character counter, prefix/suffix/before/after (if they contain data-description flag attr). Also, contents of id references that will be put in the <lion-field>._ariaDescribedby property from an external context, will be read by a screen reader. | attrName: string, nodes: Element[], reorder: boolean\|undefined | | LionListbox | | _groupOneTemplate | protected | | | TemplateResult | LionListbox | | _groupTwoTemplate | protected | | | TemplateResult | LionListbox | | _labelTemplate | protected | | | TemplateResult | LionListbox | | _helpTextTemplate | protected | | | TemplateResult | LionListbox | | _inputGroupTemplate | protected | | | TemplateResult | LionListbox | | _inputGroupBeforeTemplate | protected | | | TemplateResult | LionListbox | | _inputGroupPrefixTemplate | protected | | | TemplateResult \| nothing | LionListbox | | _inputGroupSuffixTemplate | protected | | | TemplateResult \| nothing | LionListbox | | _inputGroupAfterTemplate | protected | | | TemplateResult | LionListbox | | _feedbackTemplate | protected | | | TemplateResult | LionListbox | | _isEmpty | protected | Used for Required validation and computation of interaction states | modelValue: any | boolean | LionListbox | | _getAriaDescriptionElements | protected | This function exposes descripion elements that a FormGroup should expose to its children. See FormGroupMixin.__getAllDescriptionElementsInParentChain() | | Array.<HTMLElement> | LionListbox | | addToAriaLabelledBy | public | Allows to add extra element references to aria-labelledby attribute. | element: HTMLElement, { idPrefix = '', reorder = true }, customConfig: {idPrefix?:string; reorder?: boolean} | | LionListbox | | removeFromAriaLabelledBy | public | Allows to remove element references from aria-labelledby attribute. | element: HTMLElement | | LionListbox | | addToAriaDescribedBy | public | Allows to add element references to aria-describedby attribute. | element: HTMLElement, { idPrefix = '', reorder = true }, customConfig: {idPrefix?:string; reorder?: boolean} | | LionListbox | | removeFromAriaDescribedBy | public | Allows to remove element references from aria-describedby attribute. | element: HTMLElement | | LionListbox | | __getDirectSlotChild | protected | | slotName: string | HTMLElement \| undefined | LionListbox | | _dispatchInitialModelValueChangedEvent | protected | | | | LionListbox | | _onBeforeRepropagateChildrenValues | protected | Hook for Subclassers to add logic before repropagation | ev: CustomEvent | | LionListbox | | __repropagateChildrenValues | protected | | ev: CustomEvent | | LionListbox | | _repropagationCondition | protected | Based on provided target, this condition determines whether received model-value-changed event should be repropagated | target: FormControlHost | | LionListbox | | _completeRegistration | protected | Resolves the registrationComplete promise. Subclassers can delay if needed | | | LionListbox | | _getFromAllFormElementsFilter | protected | A filter function which will exclude a form field when returning false By default, exclude form fields which are disabled The type is be passed as well for more fine grained control, e.g. distinguish the filter when fetching modelValue versus serializedValue | el: FormControl, type: string | boolean | LionListbox | | _getFromAllFormElements | protected | Implicit :( | property: string, filterFn: (el: FormControl, property?: string) => boolean | {[name:string]: any} | LionListbox | | _throwWhenInvalidChildModelValue | protected | | child: FormControl | | LionListbox | | _checkSingleChoiceElements | protected | | ev: CustomEvent & {target:FormControl} | | LionListbox | | _setCheckedElements | protected | | value: string \| any[], check: Function | | LionListbox | | isRegisteredFormElement | public | | el: ElementWithParentFormGroup | | LionListbox | | _onRequestToAddFormElement | protected | Hook for Subclassers to perform logic before an element is added | ev: CustomEvent | | LionListbox | | _onRequestToChangeFormElementName | protected | | ev: CustomEvent | | LionListbox | | _onRequestToRemoveFormElement | protected | | ev: CustomEvent | | LionListbox | | focus | public | Calls `focus()` on focusable element within | | | LionListbox | | blur | public | Calls `blur()` on focusable element within | | | LionListbox | | initInteractionState | public | Evaluations performed on connectedCallback. This method is public, so it can be called at a later moment (when we need to wait for registering children for instance) as well. Since this method will be called twice in last mentioned scenario, it must stay idempotent. | | | LionListbox | | _iStateOnLeave | protected | Sets touched value to true and reevaluates prefilled state. When false, on next interaction, user will start with a clean state. | | | LionListbox | | _iStateOnValueChange | protected | Sets dirty value and validates when already touched or invalid | | | LionListbox | | _onTouchedChanged | protected | Dispatches event on touched state change | | | LionListbox | | _onDirtyChanged | protected | Dispatches event on touched state change | | | LionListbox | | _showFeedbackConditionFor | protected | Default feedbackCondition condition, used by Subclassers, that will be used when `feedbackCondition()` is not overridden by Application Developer. Show the validity feedback when returning true, don't show when false | type: string, meta: InteractionStates | | LionListbox | | updateSync | public | An abstraction that has the exact same api as `requestUpdate`, but taking into account: - [member order independence](https://github.com/webcomponents/gold-standard/wiki/Member-Order-Independence) - property effects start when all (light) dom has initialized (on firstUpdated) - property effects don't interrupt the first meaningful paint - compatible with propertyAccessor.`hasChanged`: no manual checks needed or accidentally run property effects / events when no change happened effects when values didn't change All code previously present in requestUpdate can be placed in this method. | name: string, oldValue: ? | | LionListbox | | validate | public | Triggered by: - modelValue change - change in the 'validators' array - change in the config of an individual Validator Three situations are handled: - a1) the FormControl is empty: further execution is halted. When the Required Validator (being mutually exclusive to the other Validators) is applied, it will end up in the validation result (as the only Validator, since further execution was halted). - a2) there are synchronous Validators: this is the most common flow. When modelValue hasn't changed since last async results were generated, 'sync results' are merged with the 'async results'. - a3) there are asynchronous Validators: for instance when server side evaluation is needed. Executions are scheduled and awaited and the 'async results' are merged with the 'sync results'. - b) there are MetaValidators. After steps a1, a2, or a3 are finished, the holistic MetaValidators (evaluating the total result of the 'regular' (a1, a2 and a3) validators) will be run... Situations a2 and a3 are not mutually exclusive and can be triggered within one `validate()` call. Situation b will occur after every call. | { clearCurrentResult = false }, opts: { clearCurrentResult?: boolean } | | LionListbox | | __executeValidators | protected | | | | LionListbox | | _onValidatorUpdated | protected | | e: Event\|CustomEvent | | LionListbox | | _updateFeedbackComponent | protected | Responsible for retrieving messages from Validators and (delegation of) rendering them. For `._feedbackNode` (extension of LionValidationFeedback): - retrieve messages from highest prio Validators - provide the result to custom feedback node and let the custom node decide on their renderings In both cases: - we compute the 'show' flag (like 'hasErrorVisible') for all types - we set the customValidity message of the highest prio Validator - we set aria-invalid="true" in case hasErrorVisible is true | | | LionListbox | | feedbackCondition | public | Allows the Application Developer to specify when a feedback message should be shown | type: string, meta: object, currentCondition: ((type: string, meta: object) => boolean) | boolean | LionListbox | | _hasFeedbackVisibleFor | protected | Used to translate `.hasFeedbackFor` and `.shouldShowFeedbackFor` to `.showsFeedbackFor` | type: string | | LionListbox | | _updateShouldShowFeedbackFor | protected | | | | LionListbox | | _prioritizeAndFilterFeedback | protected | Orders all active validators in this.__validationResult. Can also filter out occurrences (based on interaction states) | { validationResult }, opts: { validationResult: Validator[] } | Validator[] | LionListbox | | makeRequestToBeDisabled | public | | | | LionListbox | | retractRequestToBeDisabled | public | | | | LionListbox |

Events

NameTypeDescriptionInherited From
blurEventLionListbox
opened-changedCustomEventOverlayMixin
model-value-changedCustomEventLionListbox
form-element-name-changedCustomEventLionListbox
focusEventLionListbox
focusinEventLionListbox
focusoutEventLionListbox
touched-changedEventLionListbox
dirty-changedEventLionListbox
showsFeedbackForChangedEventLionListbox
EventLionListbox
shouldShowFeedbackForChangedEventLionListbox
validate-performedEventprivate event that should be listened to by LionFieldSetLionListbox

Attributes

NameFieldInherited From
navigate-within-invokernavigateWithinInvoker
interaction-modeinteractionMode
single-optionsingleOption
openedopenedOverlayMixin
orientationorientationLionListbox
selection-follows-focusselectionFollowsFocusLionListbox
rotate-keyboard-navigationrotateKeyboardNavigationLionListbox
has-no-default-selectedhasNoDefaultSelectedLionListbox
_noTypeAhead_noTypeAheadLionListbox
readonlyreadOnlyLionListbox
labellabelLionListbox
label-sr-onlylabelSrOnlyLionListbox
help-texthelpTextLionListbox
multiple-choicemultipleChoiceLionListbox
_isFormOrFieldset_isFormOrFieldsetLionListbox
focusedfocusedLionListbox
focused-visiblefocusedVisibleLionListbox
autofocusautofocusLionListbox
touchedtouchedLionListbox
dirtydirtyLionListbox
filledfilledLionListbox
shows-feedback-forshowsFeedbackForLionListbox
is-pendingisPendingLionListbox
disableddisabledLionListbox