import { type MjoOption } from "./components/select/mjo-option.js"; import { type MjointOptionsList } from "./components/select/mjoint-options-list.js"; import { type MjoDropdown } from "./mjo-dropdown.js"; import { MjoSelectBlurEvent, MjoSelectChangeEvent, MjoSelectClearEvent, MjoSelectCloseEvent, type MjoSelectColor, MjoSelectFocusEvent, MjoSelectKeydownEvent, MjoSelectOpenEvent, MjoSelectOptionPreselectEvent, MjoSelectSearchEvent, type MjoSelectSize } from "./types/mjo-select.js"; import { type MjoDropdownTheme } from "./types/mjo-theme.js"; import { LitElement } from "lit"; import { type IFormMixin } from "./mixins/form-mixin.js"; import { type IInputErrorMixin } from "./mixins/input-error.js"; import { type IThemeMixin } from "./mixins/theme-mixin.js"; import "./components/input/mjoint-input-helper-text.js"; import "./components/input/mjoint-input-label.js"; import "./components/select/mjo-option.js"; import "./components/select/mjoint-options-list.js"; import "./mjo-dropdown.js"; declare const MjoSelect_base: import("./types/mixins.js").MixinConstructor & import("./types/mixins.js").MixinConstructor & import("./types/mixins.js").MixinConstructor & typeof LitElement; export declare class MjoSelect extends MjoSelect_base implements IInputErrorMixin, IFormMixin, IThemeMixin { #private; autoFocus: boolean; disabled: boolean; required: boolean; fullwidth: boolean; name?: string; placeholder?: string; value: string; label?: string; size: MjoSelectSize; color: MjoSelectColor; startIcon?: string; endIcon?: string; startImage?: string; endImage?: string; prefixText?: string; suffixText?: string; helperText?: string; selectOnFocus: boolean; searchable: boolean; dropDownTheme?: MjoDropdownTheme; ariaDescribedby?: string; ariaLabelledby?: string; ariaErrormessage?: string; ariaAutocomplete?: "none" | "inline" | "list" | "both"; ariaActivedescendant?: string; private isFocused; private open; private options; private visibleValue; private startOptionImage?; private endOptionImage?; private startOptionIcon?; private endOptionIcon?; private currentFilter; private activeDescendantId?; dropdownElement: MjoDropdown; inputElement: HTMLInputElement; inputVisibleElement: HTMLInputElement; type: string; optionListRef: import("lit-html/directives/ref.js").Ref; observer: MutationObserver; render(): import("lit-html").TemplateResult<1>; connectedCallback(): void; disconnectedCallback(): void; protected updated(_changedProperties: Map): void; /** * Focuses the select input element. */ focus(): void; /** * Blurs the select input element. */ blur(): void; /** * Checks the validity of the select element according to its validation constraints. * @returns true if the element meets all validation constraints, false otherwise */ checkValidity(): boolean; /** * Reports the validity state of the element and displays validation messages if invalid. * @returns true if the element is valid, false otherwise */ reportValidity(): boolean; /** * Sets a custom validation message for the select element. * @param message - The validation message to set */ setCustomValidity(message: string): void; /** * Gets the current validation message. * @returns The validation message */ get validationMessage(): string; /** * Opens the select dropdown. */ openDropdown(): void; /** * Closes the select dropdown. */ closeDropdown(): void; /** * Toggles the select dropdown open/closed state. */ toggleDropdown(): void; /** * Gets the currently selected option. * @returns The selected MjoOption element or null if none selected */ getSelectedOption(): MjoOption | null; /** * Gets all available options. * @returns Array of MjoOption elements */ getOptions(): MjoOption[]; /** * Filters options based on a search query. * @param query - The search string to filter by */ filterOptions(query: string): void; /** * Resets the filter to show all options. */ resetFilter(): void; /** * Returns whether the select dropdown is currently open. */ isOpen(): boolean; setValue(value: string, noDispatch?: boolean): void; getValue(): string; static styles: import("lit").CSSResult[]; } declare global { interface HTMLElementTagNameMap { "mjo-select": MjoSelect; } interface HTMLElementEventMap { "mjo-select:change": MjoSelectChangeEvent; "mjo-select:open": MjoSelectOpenEvent; "mjo-select:close": MjoSelectCloseEvent; "mjo-select:clear": MjoSelectClearEvent; "mjo-select:search": MjoSelectSearchEvent; "mjo-select:option-preselect": MjoSelectOptionPreselectEvent; "mjo-select:focus": MjoSelectFocusEvent; "mjo-select:blur": MjoSelectBlurEvent; "mjo-select:keydown": MjoSelectKeydownEvent; } } export {}; //# sourceMappingURL=mjo-select.d.ts.map