lion/packages/ui/components/listbox/LionListbox.js
2022-10-31 16:55:07 +01:00

27 lines
718 B
JavaScript

import { LitElement } from 'lit';
import { ValidateMixin, InteractionStateMixin, FocusMixin } from '@lion/ui/form-core.js';
import { ListboxMixin } from './ListboxMixin.js';
// TODO: could we extend from LionField?
/**
* LionListbox: implements the wai-aria listbox design pattern and integrates it as a Lion
* FormControl
*/
export class LionListbox extends ListboxMixin(
FocusMixin(InteractionStateMixin(ValidateMixin(LitElement))),
) {
/**
* @configure InteractionStateMixin, ValidateMixin
*/
get _feedbackConditionMeta() {
return { ...super._feedbackConditionMeta, focused: this.focused };
}
/**
* @configure FocusMixin
*/
get _focusableNode() {
return this._inputNode;
}
}