UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

61 lines (57 loc) 2.66 kB
import Framework7, { CSSSelector, Framework7EventsClass, Framework7Plugin, } from '../app/app-class.js'; export namespace Input { interface DomEvents { /** Event will be triggered after resizable textarea resized. event.detail will contain object with the initialHeight, currentHeight and scrollHeight properties */ 'textarea:resize': () => void; /** Event will be triggered when input value becomes not empty */ 'input:notempty': () => void; /** Event will be triggered when input value becomes empty */ 'input:empty': () => void; /** Event will be triggered after input value will be cleared by clicking on input clear button */ 'input:clear': () => void; } interface AppMethods { input: { /** Scroll input into view */ scrollIntoView( inputEl: HTMLElement | CSSSelector, durationMS?: number, centered?: boolean, force?: boolean, ): void; /** Will add additional required styles and classes on input like when it is focused*/ focus(inputEl: HTMLElement | CSSSelector): void; /** Will remove additional required styles and classes on input like when it loses focus */ blur(inputEl: HTMLElement | CSSSelector): void; /** Force resizable textarea to resize depending on its content */ resizeTextarea(textareaEl: HTMLElement | CSSSelector): void; /** Recalculate required additional styles and classes on input element based on whether it has value or not */ checkEmptyState(inputEl: HTMLElement | CSSSelector): void; /** Validate input */ validate(inputEl: HTMLElement | CSSSelector): boolean; /** Validate all inputs in passed container */ validateInputs(containerEl: HTMLElement | CSSSelector): boolean; }; } interface AppParams { input?: | { /** When enabled will scroll input into view on input focus. By default it is enabled for android devices only, as it helps to solve issue when on-screen keyboard may overlap the input. */ scrollIntoViewOnFocus?: boolean; /** Tweaks behavior of previous parameter to scroll input into the center of view on input focus. (default false) */ scrollIntoViewCentered?: boolean; /** Default duration for scrolling input into view. (default 0) */ scrollIntoViewDuration?: number; /** When enabled will scroll input into view no matter is it outside of view or not. (default false) */ scrollIntoViewAlways?: boolean; } | undefined; } interface AppEvents {} } declare const InputComponent: Framework7Plugin; export default InputComponent;