| 1 |
import { type Selection } from '../core/utils'; |
| 2 |
import { type UpdateOpts, type FactoryArg, type FactoryReturnMasked } from '../masked/factory'; |
| 3 |
import MaskElement from './mask-element'; |
| 4 |
import { type InputElement } from './html-input-mask-element'; |
| 5 |
import InputHistory, { type InputHistoryState } from './input-history'; |
| 6 |
export type InputMaskElement = MaskElement | InputElement | HTMLElement; |
| 7 |
export type InputMaskEventListener = (e?: InputEvent) => void; |
| 8 |
/** Listens to element events and controls changes between element and {@link Masked} */ |
| 9 |
export default class InputMask<Opts extends FactoryArg = Record<string, unknown>> { |
| 10 |
/** |
| 11 |
View element |
| 12 |
*/ |
| 13 |
el: MaskElement; |
| 14 |
/** Internal {@link Masked} model */ |
| 15 |
masked: FactoryReturnMasked<Opts>; |
| 16 |
_listeners: Record<string, Array<InputMaskEventListener>>; |
| 17 |
_value: string; |
| 18 |
_changingCursorPos: number; |
| 19 |
_unmaskedValue: string; |
| 20 |
_rawInputValue: string; |
| 21 |
_selection: Selection; |
| 22 |
_cursorChanging?: ReturnType<typeof setTimeout>; |
| 23 |
_historyChanging?: boolean; |
| 24 |
_inputEvent?: InputEvent; |
| 25 |
history: InputHistory; |
| 26 |
constructor(el: InputMaskElement, opts: Opts); |
| 27 |
maskEquals(mask: any): boolean; |
| 28 |
/** Masked */ |
| 29 |
get mask(): FactoryReturnMasked<Opts>['mask']; |
| 30 |
set mask(mask: any); |
| 31 |
/** Raw value */ |
| 32 |
get value(): string; |
| 33 |
set value(str: string); |
| 34 |
/** Unmasked value */ |
| 35 |
get unmaskedValue(): string; |
| 36 |
set unmaskedValue(str: string); |
| 37 |
/** Raw input value */ |
| 38 |
get rawInputValue(): string; |
| 39 |
set rawInputValue(str: string); |
| 40 |
/** Typed unmasked value */ |
| 41 |
get typedValue(): FactoryReturnMasked<Opts>['typedValue']; |
| 42 |
set typedValue(val: FactoryReturnMasked<Opts>['typedValue']); |
| 43 |
/** Display value */ |
| 44 |
get displayValue(): string; |
| 45 |
/** Starts listening to element events */ |
| 46 |
_bindEvents(): void; |
| 47 |
/** Stops listening to element events */ |
| 48 |
_unbindEvents(): void; |
| 49 |
/** Fires custom event */ |
| 50 |
_fireEvent(ev: string, e?: InputEvent): void; |
| 51 |
/** Current selection start */ |
| 52 |
get selectionStart(): number; |
| 53 |
/** Current cursor position */ |
| 54 |
get cursorPos(): number; |
| 55 |
set cursorPos(pos: number); |
| 56 |
/** Stores current selection */ |
| 57 |
_saveSelection(): void; |
| 58 |
/** Syncronizes model value from view */ |
| 59 |
updateValue(): void; |
| 60 |
/** Syncronizes view from model value, fires change events */ |
| 61 |
updateControl(cursorPos?: number | 'auto'): void; |
| 62 |
/** Updates options with deep equal check, recreates {@link Masked} model if mask type changes */ |
| 63 |
updateOptions(opts: UpdateOpts<Opts>): void; |
| 64 |
/** Updates cursor */ |
| 65 |
updateCursor(cursorPos: number): void; |
| 66 |
/** Delays cursor update to support mobile browsers */ |
| 67 |
_delayUpdateCursor(cursorPos: number): void; |
| 68 |
/** Fires custom events */ |
| 69 |
_fireChangeEvents(): void; |
| 70 |
/** Aborts delayed cursor update */ |
| 71 |
_abortUpdateCursor(): void; |
| 72 |
/** Aligns cursor to nearest available position */ |
| 73 |
alignCursor(): void; |
| 74 |
/** Aligns cursor only if selection is empty */ |
| 75 |
alignCursorFriendly(): void; |
| 76 |
/** Adds listener on custom event */ |
| 77 |
on(ev: string, handler: InputMaskEventListener): this; |
| 78 |
/** Removes custom event listener */ |
| 79 |
off(ev: string, handler: InputMaskEventListener): this; |
| 80 |
/** Handles view input event */ |
| 81 |
_onInput(e: InputEvent): void; |
| 82 |
/** Handles view change event and commits model value */ |
| 83 |
_onChange(): void; |
| 84 |
/** Handles view drop event, prevents by default */ |
| 85 |
_onDrop(ev: Event): void; |
| 86 |
/** Restore last selection on focus */ |
| 87 |
_onFocus(ev: Event): void; |
| 88 |
/** Restore last selection on focus */ |
| 89 |
_onClick(ev: Event): void; |
| 90 |
_onUndo(): void; |
| 91 |
_onRedo(): void; |
| 92 |
_applyHistoryState(state: InputHistoryState | undefined): void; |
| 93 |
/** Unbind view events and removes element reference */ |
| 94 |
destroy(): void; |
| 95 |
} |
| 96 |
//# sourceMappingURL=input.d.ts.map |