| 1 |
import ChangeDetails from '../core/change-details'; |
| 2 |
import { type ExtendFactoryArgOptions } from './factory'; |
| 3 |
import Masked, { type AppendFlags, type MaskedState, type MaskedOptions, type ExtractFlags } from './base'; |
| 4 |
import { type Direction } from '../core/utils'; |
| 5 |
import { type TailDetails } from '../core/tail-details'; |
| 6 |
type MaskedDynamicNoRefState = MaskedState & { |
| 7 |
compiledMasks: Array<MaskedState>; |
| 8 |
}; |
| 9 |
type MaskedDynamicRefState = MaskedDynamicNoRefState & { |
| 10 |
currentMaskRef: Masked; |
| 11 |
currentMask: MaskedState; |
| 12 |
}; |
| 13 |
export type MaskedDynamicState = MaskedDynamicNoRefState | MaskedDynamicRefState; |
| 14 |
export type DynamicMaskType = Array<ExtendFactoryArgOptions<{ |
| 15 |
expose?: boolean; |
| 16 |
}>> | ArrayConstructor; |
| 17 |
export type MaskedDynamicOptions = MaskedOptions<MaskedDynamic, 'dispatch'>; |
| 18 |
type HandleState = MaskedDynamicState | MaskedState; |
| 19 |
/** Dynamic mask for choosing appropriate mask in run-time */ |
| 20 |
export default class MaskedDynamic<Value = any> extends Masked<Value> { |
| 21 |
mask: DynamicMaskType; |
| 22 |
/** Currently chosen mask */ |
| 23 |
currentMask?: Masked; |
| 24 |
/** Currently chosen mask */ |
| 25 |
exposeMask?: Masked; |
| 26 |
/** Compliled {@link Masked} options */ |
| 27 |
compiledMasks: Array<Masked>; |
| 28 |
/** Chooses {@link Masked} depending on input value */ |
| 29 |
dispatch: (appended: string, masked: MaskedDynamic, flags: AppendFlags<HandleState>, tail: string | String | TailDetails) => (Masked | undefined); |
| 30 |
_overwrite?: this['overwrite']; |
| 31 |
_eager?: this['eager']; |
| 32 |
_skipInvalid?: this['skipInvalid']; |
| 33 |
_autofix?: this['autofix']; |
| 34 |
static DEFAULTS: typeof Masked.DEFAULTS & Pick<MaskedDynamic, 'dispatch'>; |
| 35 |
constructor(opts?: MaskedDynamicOptions); |
| 36 |
updateOptions(opts: Partial<MaskedDynamicOptions>): void; |
| 37 |
_update(opts: Partial<MaskedDynamicOptions>): void; |
| 38 |
_appendCharRaw(ch: string, flags?: AppendFlags<HandleState>): ChangeDetails; |
| 39 |
_applyDispatch(appended?: string, flags?: AppendFlags<HandleState>, tail?: string | String | TailDetails): ChangeDetails; |
| 40 |
_appendPlaceholder(): ChangeDetails; |
| 41 |
_appendEager(): ChangeDetails; |
| 42 |
appendTail(tail: string | String | TailDetails): ChangeDetails; |
| 43 |
currentMaskFlags(flags: AppendFlags<HandleState>): AppendFlags; |
| 44 |
doDispatch(appended: string, flags?: AppendFlags<HandleState>, tail?: string | String | TailDetails): Masked | undefined; |
| 45 |
doValidate(flags: AppendFlags<HandleState>): boolean; |
| 46 |
doPrepare(str: string, flags?: AppendFlags<HandleState>): [string, ChangeDetails]; |
| 47 |
doPrepareChar(str: string, flags?: AppendFlags<HandleState>): [string, ChangeDetails]; |
| 48 |
reset(): void; |
| 49 |
get value(): string; |
| 50 |
set value(value: string); |
| 51 |
get unmaskedValue(): string; |
| 52 |
set unmaskedValue(unmaskedValue: string); |
| 53 |
get typedValue(): Value; |
| 54 |
set typedValue(typedValue: Value); |
| 55 |
get displayValue(): string; |
| 56 |
get isComplete(): boolean; |
| 57 |
get isFilled(): boolean; |
| 58 |
remove(fromPos?: number, toPos?: number): ChangeDetails; |
| 59 |
get state(): MaskedDynamicState; |
| 60 |
set state(state: HandleState); |
| 61 |
extractInput(fromPos?: number, toPos?: number, flags?: ExtractFlags): string; |
| 62 |
extractTail(fromPos?: number, toPos?: number): TailDetails; |
| 63 |
doCommit(): void; |
| 64 |
nearestInputPos(cursorPos: number, direction?: Direction): number; |
| 65 |
get overwrite(): boolean | 'shift' | undefined; |
| 66 |
set overwrite(overwrite: boolean | 'shift' | undefined); |
| 67 |
get eager(): boolean | 'remove' | 'append' | undefined; |
| 68 |
set eager(eager: boolean | 'remove' | 'append' | undefined); |
| 69 |
get skipInvalid(): boolean | undefined; |
| 70 |
set skipInvalid(skipInvalid: boolean | undefined); |
| 71 |
get autofix(): boolean | 'pad' | undefined; |
| 72 |
set autofix(autofix: boolean | 'pad' | undefined); |
| 73 |
maskEquals(mask: any): boolean; |
| 74 |
typedValueEquals(value: any): boolean; |
| 75 |
} |
| 76 |
export {}; |
| 77 |
//# sourceMappingURL=dynamic.d.ts.map |