IMask

Applies mask on element.

Parameters
el ((HTMLInputElement | HTMLTextAreaElement | MaskElement)) Element to apply mask
opts (Object = {}) Custom mask options
Returns
InputMask:
Static Members
InputMask
Masked
MaskedPattern
MaskedNumber
MaskedDate
MaskedRegExp
MaskedFunction
MaskedDynamic
createMask
MaskElement
HTMLMaskElement

isString

Checks if value is string

isString(str: any): boolean
Parameters
str (any)
Returns
boolean

conform

Conforms string with fallback

conform(res: (string? | boolean), str: string, fallback: string): string
Parameters
res ((string? | boolean))
str (string)
fallback (string = '')
Returns
string

DIRECTION

Direction

DIRECTION
Properties
NONE (number)
LEFT (number)
RIGHT (number)

Direction

indexInDirection

Returns next char position in direction

indexInDirection(pos: number, direction: Direction): number
Parameters
pos (number)
direction (Direction)
Returns
number

escapeRegExp

Escapes regular expression control chars

escapeRegExp(str: string): string
Parameters
str (string)
Returns
string

Selection

Selection range

Selection

Type: {start: number, end: number}

Properties
start (number)
end (number)

InputMask

Listens to element events and controls changes between element and Masked

new InputMask(el: (MaskElement | HTMLInputElement | HTMLTextAreaElement), opts: Object)
Parameters
Instance Members
el
masked
mask
value
unmaskedValue
typedValue
_bindEvents()
_unbindEvents()
_fireEvent(ev)
selectionStart
cursorPos
_saveSelection()
updateValue()
updateControl()
updateOptions(opts)
updateCursor(cursorPos)
_fireChangeEvents()
alignCursor()
alignCursorFriendly()
on(ev, handler)
off(ev, handler)
_onInput()
_onChange()
_onDrop(ev)
destroy()

ActionDetails

Provides details of changing input

new ActionDetails(value: string, cursorPos: number, oldValue: string, oldSelection: Selection)
Parameters
value (string)
cursorPos (number)
oldValue (string)
oldSelection (Selection)
Instance Members
value
cursorPos
oldValue
oldSelection
startChangePos
insertedCount
inserted
removedCount
removed
head
tail
removeDirection

Mask

Supported mask type

Mask

Type: (string | String | RegExp | Class<Number> | Class<Date> | Array<any> | Function | Masked<any> | Class<Masked<any>>)

AppendFlags

Append flags

AppendFlags

Type: {input: boolean?, tail: boolean?, raw: boolean?}

Properties
input (boolean?)
tail (boolean?)
raw (boolean?)

ExtractFlags

Extract flags

ExtractFlags

Type: {raw: boolean?}

Properties
raw (boolean?)

Masked

Provides common masking stuff

new Masked(opts: {})
Parameters
opts ({})
Instance Members
mask
prepare
validate
commit
isInitialized
updateOptions(opts)
_update(opts)
clone()
assign(source)
reset()
value
resolve(value)
unmaskedValue
typedValue
rawInputValue
isComplete
nearestInputPos(cursorPos, direction)
extractInput(fromPos, toPos, flags)
_extractTail(fromPos, toPos)
_appendTail(tail)
_append(str, flags)
appendWithTail(str, tail)
remove(from, count)
withValueRefresh(fn)
doPrepare(str, flags)
doValidate(flags)
doCommit()
splice(start, deleteCount, inserted, removeDirection)

ChangeDetails

Provides details of changing model value

new ChangeDetails(details: Object?)
Parameters
details (Object?)
Name Description
details.inserted string? Inserted symbols
details.overflow boolean? Is overflowed
details.removeCount number? Removed symbols count
details.shift number? Additional offset if any changes occurred before current position
Instance Members
inserted
overflow
shift
aggregate(details)
offset
rawInserted

TailDetails

Provides details of extracted tail

TailDetails
Properties
value (string)
fromPos (number?)
toPos (number?)

value

Tail value as string

value

fromPos

Position extracted from

fromPos

toPos

Position extracted to

toPos

MaskedPattern

Pattern mask

new MaskedPattern(opts: Object)

Extends Masked

Parameters
opts (Object = {})
Name Description
opts.groups Object
opts.definitions Object
opts.placeholderChar string
opts.lazy boolean
Instance Members
groups
definitions
placeholderChar
lazy
_update(opts)
_rebuildMask()
doValidate(args)
clone()
reset()
isComplete
hiddenHollowsBefore(defIndex)
mapDefIndexToPos(defIndex)
mapPosToDefIndex(pos)
unmaskedValue
_appendTail(tail)
_append(str, flags)
_appendChunks(chunks, args)
_extractTail(fromPos, toPos)
extractInput(fromPos, toPos, flags)
_extractInputChunks(fromPos, toPos)
_appendPlaceholder(toDefIndex)
remove(from, count)
nearestInputPos(cursorPos, direction)
group(name)
groupsByName(name)

DefinitionType

DefinitionType

Type: $Values<any>

PatternDefinition

new PatternDefinition(opts: any)
Parameters
opts (any)
Static Members
TYPES
Instance Members
char
stopAlign
unmasking
optional
isHollow
isRawInput
type
mask
_masked
reset()
isInput
isHiddenHollow
resolve(ch)

PatternGroupTemplate

PatternGroupTemplate
Properties
validate ($PropertyType<PatternGroup, "validate">)
mask ($PropertyType<PatternGroup, "mask">)

PatternGroupOptions

PatternGroupOptions

Type: any

PatternGroup

Pattern group symbols from parent

new PatternGroup(masked: MaskedPattern, opts: Object)
Parameters
masked (MaskedPattern) Internal masked model
opts (Object)
Name Description
opts.name string Group name
opts.offset number Group offset in masked definitions array
opts.mask string Group mask
opts.validate Function? Custom group validator
Static Members
Range
Enum
Instance Members
masked
name
offset
mask
validate
value
unmaskedValue
doValidate(flags)

RangeGroup

Pattern group that validates number ranges

new RangeGroup(range: Array<number>, maxlen: number?)
Parameters
range (Array<number>) [ from, to ]
Name Description
range.0 any
range.1 any
maxlen (number? = String(to).length) Maximum number length, will be padded with leading zeros
Instance Members
mask
validate

EnumGroup

Pattern group that validates enum values

new EnumGroup(enums: Array<string>): PatternGroupTemplate
Parameters
enums (Array<string>)
Returns
PatternGroupTemplate

MaskedNumber

Number mask

new MaskedNumber(opts: Object)

Extends Masked

Parameters
opts (Object)
Name Description
opts.radix string Single char
opts.thousandsSeparator string Single char
opts.mapToRadix Array<string> Array of single chars
opts.min number
opts.max number
opts.scale number Digits after point
opts.signed boolean Allow negative
opts.normalizeZeros boolean Flag to remove leading and trailing zeros in the end of editing
opts.padFractionalZeros boolean Flag to pad trailing zeros after point in the end of editing
Instance Members
radix
thousandsSeparator
mapToRadix
min
max
scale
signed
normalizeZeros
padFractionalZeros
_update(opts)
_updateRegExps()
_extractTail(fromPos, toPos)
_removeThousandsSeparators(value)
_insertThousandsSeparators(value)
doPrepare(str, args)
appendWithTail(args)
nearestInputPos(cursorPos, direction)
doValidate(flags)
doCommit()
_normalizeZeros(value)
_padFractionalZeros(value)
unmaskedValue
number
typedValue
allowNegative

MaskedDate

Date mask

new MaskedDate(opts: Object)

Extends MaskedPattern

Parameters
opts (Object)
Instance Members
parse
format
pattern
min
max
_update(opts)
doValidate(args)
isDateExist(str)
date
typedValue

MaskedRegExp

Masking by RegExp

new MaskedRegExp()

Extends Masked

Instance Members
_update(opts)

MaskedFunction

Masking by custom Function

new MaskedFunction()

Extends Masked

Instance Members
_update(opts)

MaskedDynamic

Dynamic mask for choosing apropriate mask in run-time

new MaskedDynamic(opts: Object)

Extends Masked

Parameters
opts (Object)
Instance Members
currentMask
compiledMasks
dispatch
_update(opts)
_append(str, args)
doDispatch(appended, flags)
clone()
reset()
value
unmaskedValue
typedValue
isComplete
remove(args)
extractInput(args)
_extractTail(args)
_appendTail(tail)
doCommit()
nearestInputPos(args)

maskedClass

Get Masked class by mask type

maskedClass(mask: Mask): Class<Masked<any>>
Parameters
mask (Mask)
Returns
Class<Masked<any>>

createMask

Creates new Masked depending on mask type

createMask(opts: {mask: Mask}): Masked<any>
Parameters
opts ({mask: Mask})
Returns
Masked<any>

MaskElement

Generic element API to use with mask

new MaskElement()