import { TextInput } from "../text-input/text-input.js"; /** * SearchBox * @summary A SearchBox custom HTML input element based on Fluent UI's SearchBox. Inherits from fabric UX TextInput. * * @example * ```html * * ``` * * @attr {string | undefined} appearance - Indicates the styled appearance of the element. * @attr {string | undefined} control-size - Sets the size of the control. * @attr {string | undefined} autocomplete - Indicates the element's autocomplete state. * @attr {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading. * @attr {string} current-value - The current value of the input. * @attr {string | undefined} dirname - Sets the directionality of the element to be submitted with form data. * @attr {boolean | undefined} disabled - Sets the element's disabled state. * @attr {string | undefined} form - The id of a form to associate the element to. * @attr {string | undefined} list - Allows associating a `` to the element by ID. * @attr {number | undefined} maxlength - The maximum number of characters a user can enter. * @attr {number | undefined} minlength - The minimum number of characters a user can enter. * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name. * @attr {string | undefined} pattern - A regular expression that the value must match to pass validation. * @attr {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user. * @attr {boolean | undefined} readonly - When true, the control will be immutable by user interaction. * @attr {boolean | undefined} required - The element's required attribute. * @attr {number | undefined} size - Sets the width of the element to a specified number of characters. * @attr {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used. * @attr {string | undefined} type - Allows setting a type or mode of text. * @attr {string} value - The initial value of the input. * * @prop {string | undefined} appearance - Indicates the styled appearance of the element. * @prop {string | undefined} controlSize - Sets the size of the control. * @prop {string | undefined} autocomplete - Indicates the element's autocomplete state. * @prop {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading. * @prop {string} currentValue - The current value of the input. * @prop {string | undefined} dirname - Sets the directionality of the element to be submitted with form data. * @prop {boolean | undefined} disabled - Sets the element's disabled state. * @prop {string | undefined} form - The id of a form to associate the element to. * @prop {string | undefined} list - Allows associating a `` to the element by ID. * @prop {number | undefined} maxlength - The maximum number of characters a user can enter. * @prop {number | undefined} minlength - The minimum number of characters a user can enter. * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name. * @prop {string | undefined} pattern - A regular expression that the value must match to pass validation. * @prop {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user. * @prop {boolean | undefined} readOnly - When true, the control will be immutable by user interaction. * @prop {boolean | undefined} required - The element's required attribute. * @prop {number | undefined} size - Sets the width of the element to a specified number of characters. * @prop {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used. * @prop {string | undefined} type - Allows setting a type or mode of text. * @prop {string} value - The initial value of the input. * @prop {HTMLElement | undefined} clearButton - The clear button element. * * @slot start - Content which can be provided before the input. * @slot end - Content which can be provided after the input. * @slot - The default slot for input content. * * @csspart root - The root container for the internal control. * @csspart control - The internal `` control. * * @fires change - Fires a custom 'change' event when the value has changed. * @fires input - Fires a custom 'input' event when the value has changed. * @fires search - Fires a custom 'submit' event when the search is submitted. * @fires select - Fired when text is selected in the input. * * @method clear - Clears the search box value and focuses the input. * @method currentValueChanged - Tracks the current value of the input and shows/hides the clear button. * @method checkValidity - Checks the validity of the element and returns the result. * @method select - Selects all the text in the text field. * @method setCustomValidity - Sets the custom validity message. * @method reportValidity - Reports the validity of the element. * * @extends TextInput * @tagname fabric-search-box * @public */ export declare class SearchBox extends TextInput { type: "text"; /** * The clear button element. */ clearButton: HTMLElement | undefined; /** Focuses the input element */ focus(): void; /** Blurs the input element */ blur(): void; /** Show the clear button */ private showClearButton; /** Hide the clear button */ private hideClearButton; /** * Tracks the current value of the input. * * @param prev - the previous value * @param next - the next value * * @internal */ currentValueChanged(prev: string, next: string): void; /** * Clear the search box value * @method */ clear(): void; /** Handle the submit action */ private handleSubmit; /** * Emits the search event. * * @fires search - Fired when a search is submitted. */ private emitSearch; private handleKeydown; connectedCallback(): void; disconnectedCallback(): void; } //# sourceMappingURL=search-box.d.ts.map