import { nothing } from 'lit'; import type { PropertyValues, TemplateResult, CSSResultArray } from 'lit'; import { FormElement } from '../base/form-element'; import { PharosIcon } from '../icon/pharos-icon'; export type TextInputType = 'email' | 'hidden' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url'; export type TextInputVariant = 'primary' | 'prominent'; export type TextInputAutocomplete = 'on' | 'off'; export declare const allTypes: TextInputType[]; declare const PharosTextInput_base: typeof FormElement; /** * Pharos text input component. * * @tag pharos-text-input * * @slot label - Contains the label content. * @slot message - Contains message content to show below the input. * * @fires input - Fires when the value has changed * @fires change - Fires when the element loses focus, after the content has changed * * @cssprop {Length} --pharos-text-input-size-height-base - Text input height. * @cssprop {Color} --pharos-text-input-color-icon-valid - Fill color for valid state icon. * @cssprop {Color} --pharos-text-input-color-icon-invalid - Fill color for invalidated state icon. */ export declare class PharosTextInput extends PharosTextInput_base { static elementDefinitions: { 'pharos-icon': typeof PharosIcon; }; /** * Indicates input value. * @attr value */ value: string; /** * Indicates the type of input. * @attr type */ type: TextInputType; /** * Indicates the variant of text input. * @attr variant */ variant: TextInputVariant; /** * Indicates if input is readonly. * @attr readonly */ readonly: boolean; /** * Indicates if autocomplete is enabled * @attr autocomplete * @type {TextInputAutocomplete | undefined} */ autocomplete?: TextInputAutocomplete; /** * Display text when input is empty * @attr placeholder */ placeholder: string; /** * Defines the minimum number of characters the user can enter * @attr minlength */ minlength?: number; /** * Defines the maximum number of characters the user can enter * @attr maxlength */ maxlength?: number; /** * Pattern to validate the input against * @attr pattern */ pattern?: string; /** * Indicates the input is on a AA compliant background. * @attr is-on-background */ isOnBackground: boolean; protected _input: HTMLInputElement; protected _inputIcon: HTMLInputElement; static get styles(): CSSResultArray; protected firstUpdated(): void; protected update(changedProperties: PropertyValues): void; onChange(): void; onInput(): void; private _renderIcons; private _handleKeydown; _handleFormdata(event: CustomEvent): void; _handleFormReset(): void; protected get prependContent(): TemplateResult | typeof nothing; protected get appendContent(): TemplateResult | typeof nothing; protected render(): TemplateResult; } export {}; //# sourceMappingURL=pharos-text-input.d.ts.map