Lion Logo Lion Fundamentals Guides Components Blog Toggle darkmode

Combobox: API Table

class: LionCombobox, lion-combobox

Fields

NamePrivacyTypeDefaultDescriptionInherited From
activeIndexpublicListboxMixin
allowCustomChoicepublicbooleanfalseCustomChoiceGroupMixin
autocompletepublic'none'|'list'|'inline'|'both''both'When "list", will filter listbox suggestions based on textbox value. When "both", an inline completion string will be added to the textbox as well.
autofocuspublicbooleanfalseFocusMixin
checkedIndexpublicnumber | number[]ListboxMixin
configpublicPartial<OverlayConfig>{}Configure the many options of the `OverlayController`OverlayMixin
customChoicespublicCustom elements are all missing elements that have no corresponding element, independent if enabled or not.CustomChoiceGroupMixin
defaultValidatorspublicValidator[][]Used by Subclassers to add default Validators to a particular FormControl. A date input for instance, always needs the isDate validator.ValidateMixin
dirtypublicbooleanfalseTrue when user has changed the value of the field.InteractionStateMixin
disabledpublicbooleanfalseDisabledMixin
donepublicbooleanfalseFormRegistrarMixin
fieldNamepublicstringWill be used in validation messages to refer to the current fieldFormControlMixin
filledpublicbooleanfalseTrue when the modelValue is non-empty (see _isEmpty in FormControlMixin)InteractionStateMixin
focusedpublicbooleanfalseWhether the focusable element within (`._focusableNode`) is focused. Reflects to attribute '[focused]' as a styling hookFocusMixin
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-visibleFocusMixin
formattedValuepublicChoiceGroupMixin
formElementspublicFormControlsCollectionnew FormControlsCollection()Closely mimics the natively supported HTMLFormControlsCollection. It can be accessed both like an array and an object (based on control/element names).FormRegistrarMixin
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.ValidateMixin
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 initiallyListboxMixin
helpTextpublicstring''The helpt text for the input node. When no value is defined, textContent of [slot=help-text] will be usedFormControlMixin
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 executedFormRegistrarMixin
isPendingpublicbooleanfalseFlag indicating whether async validation is pending. Creates attribute [is-pending] as a styling hookValidateMixin
labelpublicstring''The label text for the input node. When no value is defined, textContent of [slot=label] will be usedFormControlMixin
labelSrOnlypublicbooleanfalseThe label will only be visible for srceen readers when trueFormControlMixin
matchModepublic'begin'|'all''all'When typing in the textbox, will by default be set on 'begin', only matching the beginning part in suggestion list. => 'a' will match 'apple' from ['apple', 'pear', 'citrus']. When set to 'all', will match middle of the word as well => 'a' will match 'apple' and 'pear'
modelValuepublicobjectFormControlMixin
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.ChoiceGroupMixin
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
operationModepublicOperationModeTypes of input interaction of the FormControl (for instance 'enter'|'select'|'upload')ValidateMixin
orientationpublicstring'vertical'Informs screen reader and affects keyboard navigation. By default 'vertical'ListboxMixin
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.InteractionStateMixin
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)FormControlMixin
registrationCompletepublicPromise<any> & {done?:boolean}new Promise((resolve, reject) => { this.__resolveRegistrationComplete = resolve; this.__rejectRegistrationComplete = reject; })registrationComplete waits for all children formElements to have registeredFormRegistrarMixin
requireOptionMatchpublicbooleantrueIf set to false, the value is allowed to not match any of the options. We set the default to true for backwards compatibility
rotateKeyboardNavigationpublicbooleantrueWill give first option active state when navigated to the next option from last option.ListboxMixin
selectionFollowsFocuspublicbooleantrueWhen 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_focusListboxMixin
serializedValuepublicChoiceGroupMixin
showAllOnEmptypublicbooleanfalseWhen true, the listbox is open and textbox goes from a value to empty, all options are shown. By default, the listbox closes on empty, similar to wai-aria example and <datalist>
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"]`ValidateMixin
submittedpublicInteractionStateMixin
touchedpublicbooleanfalseTrue when user has focused and left(blurred) the field.InteractionStateMixin
validationStatespublicValidationStates{}The outcome of a validation 'round'. Keyed by ValidationType and Validator nameValidateMixin
validatorspublicValidator[][]Used by Application Developers to add Validators to a FormControl.ValidateMixin
valuepublicWe define the value getter/setter below as also defined in LionField (via FormatMixin). Since FormatMixin is meant for Formgroups/ChoiceGroup it's not applied on Combobox; Combobox is somewhat of a hybrid between a ChoiceGroup and LionField, therefore we copy over some of the LionField members to align with its interface. The view value. Will be delegated to `._inputNode.value`
_activeDescendantOwnerNodeprotectedHTMLElementListboxMixin
_allValidatorsprotectedValidator[]Combination of validators provided by Application Developer and the default validatorsValidateMixin
_ariaDescribedNodespublicHTMLElement[][]Contains all elements that should end up in aria-describedby of `._inputNode`FormControlMixin
_ariaLabelledNodespublicHTMLElement[][]Contains all elements that should end up in aria-labelledby of `._inputNode`FormControlMixin
_ariaVersionprotected'1.1'|'1.0'For optimal support, we allow aria v1.1 on newer browsers
_comboboxNodeprotectedHTMLElementWrapper with combobox role for the text input that the end user controls the listbox with.
_customChoicesprotectedSet<unknown>new Set()CustomChoiceGroupMixin
_feedbackConditionMetaprotectedAllows Subclassers to add meta info for feedbackConditionLionListbox
_feedbackNodeprotectedElement where validation feedback will be rendered toFormControlMixin
_focusableNodeprotectedHTMLElementThe focusable element: could be an input, textarea, select, button or any other element with tabindex > -1LionListbox
_helpTextNodeprotectedElement where help text will be rendered toFormControlMixin
_inputIdprotectedstringUnique id that can be used in all light domFormControlMixin
_inputNodeprotectedThe interactive (form) element. Can be a native element like input/textarea/select or an element with tabindex > -1FormControlMixin
_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)FormRegistrarMixin
_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.FormControlMixin
_labelNodeprotectedElement where label will be rendered toFormControlMixin
_leaveEventprotectedstring'blur'The event that triggers the touched stateInteractionStateMixin
_listboxActiveDescendantprotectednumber | nullnullListboxMixin
_listboxActiveDescendantNodeprotectedHTMLElementListboxMixin
_listboxNodeprotectedListboxMixin
_listboxReceivesNoFocusprotectedbooleantrueWhen 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)ListboxMixin
_listboxSlotprotectedHTMLElementListboxMixin
_noTypeAheadpublicbooleantrueWhen false, a user can type on which the focus will jump to the matching optionListboxMixin
_oldModelValueprotectedstring | string[] | undefinedundefinedListboxMixin
_overlayBackdropNodeprotectedOverlayMixin
_overlayContentNodeprotectedOverlayMixin
_overlayContentWrapperNodeprotectedOverlayMixin
_overlayInvokerNodeprotectedOverlayMixin
_overlayReferenceNodeprotectedOverlayMixin
_repropagationRolepublic'child'|'choice-group'|'fieldset''choice-group'Based on the role, details of handling model-value-changed repropagation differ.FormControlMixin
_requestedToBeDisabledprotectedbooleanfalseDisabledMixin
_scrollTargetNodeprotectedHTMLElementListboxMixin
_selectionDisplayNodeprotectedSelectionDisplay | null
_typeAheadTimeoutprotectednumber1000The pending char sequence that will set active list itemListboxMixin
_valueChangedEventprotectedstring'model-value-changed'The event that triggers the dirty stateInteractionStateMixin
_visibleMessagesAmountprotectednumber1The amount of feedback messages that will visible in LionValidationFeedbackValidateMixin

Methods

NamePrivacyDescriptionParametersReturnInherited From
addFormElementpublicchild: FormControl, indexToInsertAt: numberFormRegistrarMixin
addToAriaDescribedBypublicAllows to add element references to aria-describedby attribute.element: HTMLElement, { idPrefix = '', reorder = true }, customConfig: {idPrefix?:string; reorder?: boolean}FormControlMixin
addToAriaLabelledBypublicAllows to add extra element references to aria-labelledby attribute.element: HTMLElement, { idPrefix = '', reorder = true }, customConfig: {idPrefix?:string; reorder?: boolean}FormControlMixin
blurpublicCalls `blur()` on focusable element withinFocusMixin
clearpublicChoiceGroupMixin
clickpublicDisabledMixin
closepublicHides the overlayOverlayMixin
feedbackConditionpublicAllows the Application Developer to specify when a feedback message should be showntype: string, meta: object, currentCondition: ((type: string, meta: object) => boolean)booleanValidateMixin
focuspublicCalls `focus()` on focusable element withinFocusMixin
initInteractionStatepublicEvaluations 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.InteractionStateMixin
isRegisteredFormElementpublicel: ElementWithParentFormGroupFormRegistrarMixin
makeRequestToBeDisabledpublicDisabledMixin
matchConditionpublicWhen the preconfigurable `match-mode` conditions are not sufficient, one can define a custom matching function.option: LionOption, textboxValue: string
openpublicShows the overlayOverlayMixin
parserpublicConverts viewValue to modelValuevalue: string|string[]*CustomChoiceGroupMixin
removeFormElementpublicchild: FormControlHostFormRegistrarMixin
removeFromAriaDescribedBypublicAllows to remove element references from aria-describedby attribute.element: HTMLElementFormControlMixin
removeFromAriaLabelledBypublicAllows to remove element references from aria-labelledby attribute.element: HTMLElementFormControlMixin
repositionOverlaypublicSometimes 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
resetpublicListboxMixin
resetInteractionStatepublicResets touched and dirty, and recomputes prefilledInteractionStateMixin
retractRequestToBeDisabledpublicDisabledMixin
setCheckedIndexpublicIf 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 siblingsindex: number|number[]ListboxMixin
togglepublicToggles the overlayOverlayMixin
validatepublicTriggered 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 }ValidateMixin
_autoSelectConditionprotectedWhen this condition is false, an end user will have to manually select a suggested option from the list (by default when autocomplete is 'none' or 'list'). For autocomplete 'both' or 'inline', it will automatically select on a match.
_checkSingleChoiceElementsprotectedev: CustomEvent & {target:FormControl}ChoiceGroupMixin
_completeRegistrationprotectedResolves the registrationComplete promise. Subclassers can delay if neededFormRegistrarMixin
_defineOverlayprotected{ contentNode, invokerNode, referenceNode, backdropNode, contentWrapperNode }, config: DefineOverlayConfigOverlayControllerOverlayMixin
_defineOverlayConfigprotectedOverlayConfigOverlayMixin
_dispatchInitialModelValueChangedEventprotectedFormControlMixin
_enhanceLightDomA11yprotectedFormControlMixin
_enhanceLightDomA11yForAdditionalSlotsprotectedEnhances 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-describedbyadditionalSlots: string[]FormControlMixin
_enhanceLightDomClassesprotectedFormControlMixin
_feedbackTemplateprotectedTemplateResultFormControlMixin
_getAriaDescriptionElementsprotectedThis function exposes descripion elements that a FormGroup should expose to its children. See FormGroupMixin.__getAllDescriptionElementsInParentChain()Array.<HTMLElement>FormControlMixin
_getCheckedElementsprotectedChoiceGroupMixin
_getFromAllFormElementsprotectedImplicit :(property: string, filterFn: (el: FormControl, property?: string) => boolean{[name:string]: any}ChoiceGroupMixin
_getFromAllFormElementsFilterprotectedA 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 serializedValueel: FormControl, type: stringbooleanChoiceGroupMixin
_getNextEnabledOptionprotectedcurrentIndex: number, offset: numberListboxMixin
_getPreviousEnabledOptionprotectedcurrentIndex: number, offset: numberListboxMixin
_getTextboxValueFromOptionprotectedReturn the value to be used for the input valueoption: LionOptionstring
_groupOneTemplateprotectedTemplateResultFormControlMixin
_groupTwoTemplateprotectedTemplateResultFormControlMixin
_handleAutocompletionprotectedHandles autocompletion. This entails: - list: shows a list on keydown character press - filter: filters list of potential matches according to matchmode or provided matchCondition - focus: automatically focuses closest match (makes it the activedescendant) - check: automatically checks/selects closest match when selection-follows-focus is enabled (this is the default configuration) - complete: completes the textbox value inline (the 'missing characters' will be added as selected text)
_handleTypeAheadprotectedev: KeyboardEvent, { setAsChecked }, options: {setAsChecked:boolean}ListboxMixin
_hasFeedbackVisibleForprotectedUsed to translate `.hasFeedbackFor` and `.shouldShowFeedbackFor` to `.showsFeedbackFor`type: stringValidateMixin
_helpTextTemplateprotectedTemplateResultFormControlMixin
_highlightMatchedOptionprotectedoption: Element, matchingString: string
_inputGroupAfterTemplateprotectedTemplateResultFormControlMixin
_inputGroupBeforeTemplateprotectedTemplateResultFormControlMixin
_inputGroupInputTemplateprotectedTemplateResultFormControlMixin
_inputGroupPrefixTemplateprotectedTemplateResult | nothingFormControlMixin
_inputGroupSuffixTemplateprotectedTemplateResult | nothingFormControlMixin
_inputGroupTemplateprotectedTemplateResultFormControlMixin
_isEmptyprotectedUsed for Required validation and computation of interaction statesmodelValue: anybooleanFormControlMixin
_isPermanentlyDisconnectedprotectedWhen we're moving around in dom, disconnectedCallback gets called. Before we decide to teardown, let's wait to see if we were not just moving nodes around.Promise<boolean>OverlayMixin
_iStateOnLeaveprotectedSets touched value to true and reevaluates prefilled state. When false, on next interaction, user will start with a clean state.InteractionStateMixin
_iStateOnValueChangeprotectedSets dirty value and validates when already touched or invalidInteractionStateMixin
_labelTemplateprotectedTemplateResultFormControlMixin
_listboxOnClickprotectedev: MouseEventListboxMixin
_listboxOnKeyDownprotectedev: KeyboardEventListboxMixin
_listboxOnKeyUpprotectedev: KeyboardEventListboxMixin
_onBeforeRepropagateChildrenValuesprotectedHook for Subclassers to add logic before repropagationev: CustomEventFormControlMixin
_onChildActiveChangedprotected{ target }, ev: Event & { target: LionOption }ListboxMixin
_onDirtyChangedprotectedDispatches event on touched state changeInteractionStateMixin
_onFilterMatchprotectedoption: LionOption & {__originalInnerHTML?:string}, matchingString: string
_onFilterUnmatchprotectedoption: LionOption & {__originalInnerHTML?:string}, curValue: string, prevValue: string
_onKeyUpprotectedev: KeyboardEvent
_onLabelClickprotectedFormControlMixin
_onListboxContentChangedprotectedA 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.ListboxMixin
_onRequestToAddFormElementprotectedHook for Subclassers to perform logic before an element is addedev: CustomEventFormRegistrarMixin
_onRequestToChangeFormElementNameprotectedev: CustomEventFormRegistrarMixin
_onRequestToRemoveFormElementprotectedev: CustomEventFormRegistrarMixin
_onTouchedChangedprotectedDispatches event on touched state changeInteractionStateMixin
_onValidatorUpdatedprotectede: Event|CustomEventValidateMixin
_overlayListboxTemplateprotected
_prioritizeAndFilterFeedbackprotectedOrders all active validators in this.__validationResult. Can also filter out occurrences (based on interaction states){ validationResult }, opts: { validationResult: Validator[] }Validator[]ValidateMixin
_repropagationConditionprotectedBased on provided target, this condition determines whether received model-value-changed event should be repropagatedtarget: FormControlHostFormControlMixin
_resetListboxOptionsprotected
_scrollIntoViewprotectedel: HTMLElement, scrollTargetEl: HTMLElementListboxMixin
_setCheckedElementsprotectedvalue: string | any[], check: FunctionChoiceGroupMixin
_setOpenedWithoutPropertyEffectsprotectedWhen 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: booleanOverlayMixin
_setTextboxValueprotectedv: string
_setupListboxNodeprotectedListboxMixin
_setupOpenCloseListenersprotectedOverlayMixin
_setupOverlayCtrlprotectedOverlayMixin
_showFeedbackConditionForprotectedDefault 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 falsetype: string, meta: InteractionStatesValidateMixin
_showOverlayConditionprotected{ lastKey }, options: { currentValue?: string, lastKey?: string }boolean
_syncToTextboxConditionprotectedmodelValue: string|string[], oldModelValue: string|string[], { phase }, config: {phase?:string}
_syncToTextboxMultipleprotectedmodelValue: string[], oldModelValue: string[]
_teardownListboxNodeprotectedListboxMixin
_teardownOpenCloseListenersprotectedOverlayMixin
_teardownOverlayCtrlprotectedOverlayMixin
_textboxOnClickprotectedev: FocusEvent
_textboxOnInputprotectedev: Event
_textboxOnKeydownprotectedev: KeyboardEvent
_throwWhenInvalidChildModelValueprotectedchild: FormControlChoiceGroupMixin
_triggerInitialModelValueChangedEventprotectedFormControlMixin
_uncheckChildrenprotectedexclude: LionOption|LionOption[]ListboxMixin
_unhighlightMatchedOptionprotectedoption: Element
_updateFeedbackComponentprotectedResponsible 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 trueValidateMixin
_updateShouldShowFeedbackForprotectedValidateMixin

Events

NameTypeDescriptionInherited From
opened-changedCustomEventOverlayMixin
model-value-changedCustomEventFormControlMixin
form-element-name-changedCustomEventFormControlMixin
focusEventFocusMixin
blurEventFocusMixin
focusinEventFocusMixin
focusoutEventFocusMixin
touched-changedEventInteractionStateMixin
dirty-changedEventInteractionStateMixin
showsFeedbackForChangedEventValidateMixin
EventValidateMixin
shouldShowFeedbackForChangedEventValidateMixin
validate-performedEventprivate event that should be listened to by LionFieldSetValidateMixin

Attributes

NameFieldInherited From
autocompleteautocomplete
match-modematchMode
show-all-on-emptyshowAllOnEmpty
requireOptionMatchrequireOptionMatch
allow-custom-choiceallowCustomChoiceCustomChoiceGroupMixin
__shouldAutocompleteNextUpdate__shouldAutocompleteNextUpdate
openedopenedOverlayMixin
modelValuemodelValueCustomChoiceGroupMixin
multiple-choicemultipleChoiceChoiceGroupMixin
orientationorientationListboxMixin
selection-follows-focusselectionFollowsFocusListboxMixin
rotate-keyboard-navigationrotateKeyboardNavigationListboxMixin
has-no-default-selectedhasNoDefaultSelectedListboxMixin
_noTypeAhead_noTypeAheadListboxMixin
readonlyreadOnlyFormControlMixin
labellabelFormControlMixin
label-sr-onlylabelSrOnlyFormControlMixin
help-texthelpTextFormControlMixin
_isFormOrFieldset_isFormOrFieldsetFormRegistrarMixin
focusedfocusedFocusMixin
focused-visiblefocusedVisibleFocusMixin
autofocusautofocusFocusMixin
touchedtouchedInteractionStateMixin
dirtydirtyInteractionStateMixin
filledfilledInteractionStateMixin
shows-feedback-forshowsFeedbackForValidateMixin
is-pendingisPendingValidateMixin
disableddisabledDisabledMixin