igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
144 lines (143 loc) • 4.99 kB
TypeScript
import { ElementRef, EventEmitter, PipeTransform, Renderer2, OnInit, AfterViewChecked } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { MaskParsingService, MaskOptions } from './mask-parsing.service';
import { IBaseEventArgs, PlatformUtil } from '../../core/utils';
import * as i0 from "@angular/core";
export declare class IgxMaskDirective implements OnInit, AfterViewChecked, ControlValueAccessor {
protected elementRef: ElementRef<HTMLInputElement>;
protected maskParser: MaskParsingService;
protected renderer: Renderer2;
protected platform: PlatformUtil;
/**
* Sets the input mask.
* ```html
* <input [igxMask] = "'00/00/0000'">
* ```
*/
get mask(): string;
set mask(val: string);
/**
* Sets the character representing a fillable spot in the input mask.
* Default value is "'_'".
* ```html
* <input [promptChar] = "'/'">
* ```
*/
promptChar: string;
/**
* Specifies if the bound value includes the formatting symbols.
* ```html
* <input [includeLiterals] = "true">
* ```
*/
includeLiterals: boolean;
/**
* Specifies a pipe to be used on blur.
* ```html
* <input [displayValuePipe] = "displayFormatPipe">
* ```
*/
displayValuePipe: PipeTransform;
/**
* Specifies a pipe to be used on focus.
* ```html
* <input [focusedValuePipe] = "inputFormatPipe">
* ```
*/
focusedValuePipe: PipeTransform;
/**
* Emits an event each time the value changes.
* Provides `rawValue: string` and `formattedValue: string` as event arguments.
* ```html
* <input (valueChanged) = "valueChanged(rawValue: string, formattedValue: string)">
* ```
*/
valueChanged: EventEmitter<IMaskEventArgs>;
/** @hidden */
get nativeElement(): HTMLInputElement;
/** @hidden @internal; */
protected get inputValue(): string;
/** @hidden @internal */
protected set inputValue(val: string);
/** @hidden */
protected get maskOptions(): MaskOptions;
/** @hidden */
protected get selectionStart(): number;
/** @hidden */
protected get selectionEnd(): number;
/** @hidden */
protected get start(): number;
/** @hidden */
protected get end(): number;
protected _composing: boolean;
protected _compositionStartIndex: number;
protected _focused: boolean;
private _compositionValue;
private _end;
private _start;
private _key;
private _mask;
private _oldText;
private _dataValue;
private _droppedData;
private _hasDropAction;
private readonly defaultMask;
protected _onTouchedCallback: () => void;
protected _onChangeCallback: (_: any) => void;
constructor(elementRef: ElementRef<HTMLInputElement>, maskParser: MaskParsingService, renderer: Renderer2, platform: PlatformUtil);
/** @hidden */
onKeyDown(event: KeyboardEvent): void;
/** @hidden @internal */
onCompositionStart(): void;
/** @hidden @internal */
onCompositionEnd(): void;
/** @hidden @internal */
onInputChanged(event: any): void;
/** @hidden */
onPaste(): void;
/** @hidden */
onFocus(): void;
/** @hidden */
onBlur(value: string): void;
/** @hidden */
onDragEnter(): void;
/** @hidden */
onDragLeave(): void;
/** @hidden */
onDrop(event: DragEvent): void;
/** @hidden */
ngOnInit(): void;
/**
* TODO: Remove after date/time picker integration refactor
*
* @hidden
*/
ngAfterViewChecked(): void;
/** @hidden */
writeValue(value: string): void;
/** @hidden */
registerOnChange(fn: (_: any) => void): void;
/** @hidden */
registerOnTouched(fn: () => void): void;
/** @hidden */
protected showMask(value: string): void;
/** @hidden */
protected setSelectionRange(start: number, end?: number): void;
/** @hidden */
protected afterInput(): void;
/** @hidden */
protected setPlaceholder(value: string): void;
private updateInputValue;
private updateInput;
private showDisplayValue;
static ɵfac: i0.ɵɵFactoryDeclaration<IgxMaskDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<IgxMaskDirective, "[igxMask]", ["igxMask"], { "mask": { "alias": "igxMask"; "required": false; }; "promptChar": { "alias": "promptChar"; "required": false; }; "includeLiterals": { "alias": "includeLiterals"; "required": false; }; "displayValuePipe": { "alias": "displayValuePipe"; "required": false; }; "focusedValuePipe": { "alias": "focusedValuePipe"; "required": false; }; }, { "valueChanged": "valueChanged"; }, never, never, true, never>;
static ngAcceptInputType_includeLiterals: unknown;
}
/**
* The IgxMaskModule provides the {@link IgxMaskDirective} inside your application.
*/
export interface IMaskEventArgs extends IBaseEventArgs {
rawValue: string;
formattedValue: string;
}