import { EventEmitter } from '../../stencil-public-runtime'; import { IxSelectItemLabelChangeEvent } from '../select-item/events'; import { IxInputFieldComponent, ValidationResults } from '../utils/input'; import { AriaActiveDescendantMixinContract } from '../utils/internal/mixins/accessibility/aria-activedescendant.mixin'; import { ComponentIdMixinContract } from '../utils/internal/mixins/id.mixin'; declare const Select_base: abstract new (...args: any[]) => { componentDidLoad(): void; disconnectedCallback(): void; hostElement?: import("@stencil/core/internal").HTMLStencilElement; connectedCallback?(): void; componentWillRender?(): Promise | void; componentDidRender?(): void; componentWillLoad?(): Promise | void; componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void; componentWillUpdate?(): Promise | void; componentDidUpdate?(): void; render?(): any; } & import("../utils/internal/component").StencilLifecycle & { $internal_id: number; getHostElementId(): string; hostElement?: import("@stencil/core/internal").HTMLStencilElement; connectedCallback?(): void; disconnectedCallback?(): void; componentWillRender?(): Promise | void; componentDidRender?(): void; componentWillLoad?(): Promise | void; componentDidLoad?(): void; componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void; componentWillUpdate?(): Promise | void; componentDidUpdate?(): void; render?(): any; } & { suppressAriaActiveDescendant: boolean; isAriaActiveDescendantActive(): boolean; getControllingAriaElement(): Promise | HTMLElement | null; getAriaActiveDescendantProxyItemId(): string | boolean; clearActiveDescendant(): Promise; $internal_onActiveDescendantChange(event: import("../utils/internal/mixins/setup.mixin").IxFocusVisibleChangeEvent): Promise; hostElement?: import("@stencil/core/internal").HTMLStencilElement; connectedCallback?(): void; disconnectedCallback?(): void; componentWillRender?(): Promise | void; componentDidRender?(): void; componentWillLoad?(): Promise | void; componentDidLoad?(): void; componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void; componentWillUpdate?(): Promise | void; componentDidUpdate?(): void; render?(): any; }; /** * @form-ready */ export declare class Select extends Select_base implements IxInputFieldComponent, AriaActiveDescendantMixinContract, ComponentIdMixinContract { hostElement: HTMLIxSelectElement; formInternals: ElementInternals; /** * A string that represents the element's name attribute, * containing a name that identifies the element when submitting the form. */ name?: string; /** * A Boolean attribute indicating that an option with a non-empty string value must be selected */ required: boolean; /** * Label for the select component */ label?: string; /** * ARIA label for the clear icon button * Will be set as aria-label on the nested HTML button element * * @since 3.2.0 */ ariaLabelClearIconButton?: string; /** * ARIA label for the add item * * @since TODO: Define */ ariaLabelAddItem: string; /** * Warning text for the select component **/ warningText?: string; /** * Info text for the select component **/ infoText?: string; /** * Error text for the select component **/ invalidText?: string; /** * Valid text for the select component **/ validText?: string; /** * Helper text for the select component **/ helperText?: string; /** * Show helper, error, info, warning text as tooltip */ showTextAsTooltip?: boolean; /** * Current selected value. * This corresponds to the value property of ix-select-items */ value: string | string[]; /** * Show clear button */ allowClear: boolean; /** * Selection mode */ mode: 'single' | 'multiple'; /** * Select is extendable */ editable: boolean; /** * If true the select will be in disabled state */ disabled: boolean; /** * If true the select will be in readonly mode */ readonly: boolean; /** * Input field placeholder */ i18nPlaceholder: string; /** * Input field placeholder for editable select */ i18nPlaceholderEditable: string; /** * Select list header */ i18nSelectListHeader: string; /** * Information inside of dropdown if no items where found with current filter text */ i18nNoMatches: string; /** * Chip label for all selected items in multiple mode. */ i18nAllSelected: string; /** * Prefix for the accessible name of the close control on a selected chip in multiple mode. * The chip label or value is appended (e.g. "Remove Item 1"). * * @since 5.0.0 */ i18nRemoveSelectedItem: string; /** * Hide list header */ hideListHeader: boolean; /** * The width of the dropdown element with value and unit (e.g. "200px" or "12.5rem"). */ dropdownWidth?: string; /** * The maximum width of the dropdown element with value and unit (e.g. "200px" or "12.5rem"). * By default the maximum width of the dropdown element is set to 100%. */ dropdownMaxWidth?: string; /** * Show "all" chip when all items are selected in multiple mode */ collapseMultipleSelection: boolean; /** * Enable Popover API rendering for dropdown. * * @default false * @since 4.3.0 */ enableTopLayer: boolean; /** * Value changed */ valueChange: EventEmitter; /** * Event dispatched whenever the text input changes. */ inputChange: EventEmitter; /** * Item added to selection */ addItem: EventEmitter; /** * Blur input */ ixBlur: EventEmitter; dropdownShow: boolean; selectedLabels: (string | undefined)[]; isDropdownEmpty: boolean; inputFilterText: string; inputValue: string; hasInputFocus: boolean; dropdownItemsVisualFocused: boolean; isInvalid: boolean; isValid: boolean; isInfo: boolean; isWarning: boolean; private readonly hostId; private readonly dropdownWrapperRef; private readonly dropdownAnchorRef; private readonly inputRef; private readonly dropdownRef; private proxyListObserver; private inputElement?; private touched; get nonShadowItems(): HTMLIxSelectItemElement[]; get shadowItems(): HTMLIxSelectItemElement[]; get focusableItems(): (HTMLIxDropdownItemElement | HTMLIxSelectItemElement)[]; get allFocusableItems(): (HTMLIxDropdownItemElement | HTMLIxSelectItemElement)[]; get items(): HTMLIxSelectItemElement[]; get selectedItems(): HTMLIxSelectItemElement[]; get addItemElement(): HTMLIxDropdownItemElement | null; get isSingleMode(): boolean; get isMultipleMode(): boolean; get isEveryDropdownItemHidden(): boolean; watchValue(value: string | string[]): void; updateFormInternalValue(value: string | string[]): void; /** @internal */ hasValidValue(): Promise; private hasValue; private itemClick; private emitAddItem; private toggleValue; private updateSelection; private emitValueChange; private createAddItemElement; componentDidLoad(): void; componentWillLoad(): void; disconnectedCallback(): void; onLabelChange(event: IxSelectItemLabelChangeEvent): void; private itemExists; private getActiveVisualFocusedItem; private dropdownVisibilityChanged; private setItemFilter; private checkVisibilityOfProxyList; private removeHiddenAttributeFromItems; private clearInput; private clear; private onInputBlur; onInputFocus(): void; private placeholderValue; private isAddItemVisible; private shouldDisplayAllChip; private getRemoveChipAriaLabel; private renderAllChip; private renderChip; onValidationChange({ isInvalid, isInvalidByRequired, isValid, isInfo, isWarning, }: ValidationResults): void; /** @internal */ getAssociatedFormElement(): Promise; /** * Returns the native input element used in the component. */ getNativeInputElement(): Promise; /** * Focuses the input field */ focusInput(): Promise; /** * Check if the input field has been touched. * @internal * */ isTouched(): Promise; getControllingAriaElement(): Promise | HTMLElement | null; isAriaActiveDescendantActive(): boolean; getAriaActiveDescendantProxyItemId(): string | boolean; componentWillRender(): Promise | void; private updateAriaProxyListbox; render(): any; } export {};