3.2.0 (2024-10-29)
- kit: new
maskitoSelectionChangeHandler
plugin (#1794) (c6e9a4d)
3.1.2 (2024-10-22)
- kit:
Time
&DateTime
has conflicts betweenstep
&AM/PM
features (#1791) (805f70b) - kit:
Number
incorrectly shift caret for 1st time insertion into textfield with initial value (#1792) (0049d91)
3.1.1 (2024-10-17)
- kit:
Number
fails to prevent user insertion of extra spaces on invalid positions (#1789) (a40445c) - kit:
DateTime
fails to process value without any separators (paste from clipboard) (#1779) (1733422)
3.1.0 (2024-10-09)
- kit:
Time
&DateTime
supportAM
/PM
formats (#1708) (98ce35e) - kit: simplify some code logic for
Time
mask (#1688) (8c608b8)
- core:
overwriteMode: replace
has incorrect behavior on attempt to insert invalid characters (#1772) (5aeb074) - deps: update dependency libphonenumber-js to v1.11.11 (#1760) (b8781fb)
- deps: update dependency vue to v3.5.11 (#1754) (47f12a3)
- deps: update dependency @types/react to v18.3.11 (#1751) (86328e6)
- deps: update dependency libphonenumber-js to v1.11.10 (#1747) (37a4d8c)
3.0.3 (2024-09-25)
- angular: race condition when
[maskitoOptions]
are changed before long element predicate is resolved (#1696) (9f9bad3) - kit:
Time
has invalid segment separator forMM:SS.MSS
mode (#1687) (93972be) - core: incorrect behavior of
overwriteMode = replace
if selection contains several characters (#1685) (67c3c10) - react: race condition when
options
are changed before long element predicate is resolved (#1651) (f2932ce)
3.0.2 (2024-09-20)
- core:
Time
with[step]
has unexpected cursor jump to the next segment onArrowUp
/ArrowDown
(#1478) (59a5927) - core: fix scroll for masked narrow textfields (#1645) (c6d2828)
3.0.1 (2024-08-19)
- kit:
maskitoStringifyTime
was adding0
on the wrong side (#1401) (b28ee12) - kit:
Placeholder
should support partial programmatic removal of placeholder's characters (#1441) (146a557) - kit:
Time
incorrectly validates value iftimeSegmentMaxValues
includes single digit (#1402) (26670f4)
3.0.0 (2024-07-18)
-
phone: remove built-in
RemoveOnBlur
/AddOnFocus
plugins from@maskito/phone
(#1352)Learn more: https://maskito.dev/addons/phone#focus-blur
-
angular: bump minimum required Angular version (15+ => 16+) (#1328)
-
angular: delete deprecated
MaskitoModule
&MaskitoCVA
(#1391)
-
core: new built-in
maskitoChangeEventPlugin
(#1338)Learn more: https://maskito.dev/core-concepts/plugins#change-event
2.5.0 (2024-06-24)
- core: correct handling of browser autofill/suggestion in Firefox (#1326) (a049207)
- kit:
Date
,DateRange
,DateTime
supports multi-character date segments separator (#1306) (cdf2fae) - kit: move caret after attempt to erase fixed character in a mask with
Placeholder
(#1307) (87ae431)
2.4.0 (2024-06-03)
- kit:
Time
&DateTime
support increment / decrement of time segment viaArrowUp
/ArrowDown
(#1223) (af961b8) - kit:
Time
supportsSS.MSS
&MM.SS.MSS
modes (#1224) (7bed4bc)
- core: add
.select()
-method support forMaskitoElement
(#1268) (51f5934) - kit:
Number
should support floatmin
/max
-parameters in range -1 < x < 1 (#1280) (b44013e)
2.3.2 (2024-05-16)
- kit:
Number
pads integer part with zero if user selects all and then types decimal separator (#1220) (8371e45) - phone: revert mistakenly fixated
libphonenumber-js
peer-dependency to just>=1.0.0
(#1234) (27ee4a1) - react: revert mistakenly fixated
react
&react-demo
peer-dependencies to just>=16.8
(#1231) (ae89d6f) - vue: revert mistakenly fixated
vue
peer-dependency to just>=3.0.0
(#1232) (22d84e2)
2.3.1 (2024-04-23)
- kit:
Number
should drop decimal separator if all digits are erased (#1211) (5836c96) - kit:
Number
withdecimalZeroPadding=true
should erase everything on.00
(#1207) (d72f225) - kit:
Placeholder
can have now the same character as textfield's value (#1209) (ed06936)
2.3.0 (2024-04-16)
- core: add
contenteditable
support (#1039) (0d5bb31) - kit:
DateTime
supports configurable parameterdateTimeSeparator
(#1143) (ec86284)
2.2.0 (2024-03-07)
- totally disable
Maskito
if nullable options are passed inside@maskito/{angular,react,vue}
(#1117) (8cbadcf)
2.1.0 (2024-03-04)
- kit:
Date
&DateRange
&DateTime
has improved zero-padding support for browser autofill & IME composition (#1027) (77ac01c) - kit: add full-width numbers support for
Time
,Date
,DateTime
,DateRange
(#1043) (434c9c5)
- kit:
maskitoParseNumber
should interpret japanese prolonged sound mark as pseudo minus (#1115) (b152698)
2.0.2 (2024-02-01)
- kit:
Number
with initial value has problems with the first time input (#986) (e40d3ff) - react:
@maskito/react
includes again missingcjs
module format (#991) (18e3e0c)
2.0.1 (2024-01-31)
- core:
maskitoUpdateElement
should not dispatchInputEvent
if value is not changed (#977) (2410b64) - core: don't execute
setSelectionRange
if element is not focused (#937) (92f288b) - kit:
Number
rejects the first time input of full width digits (#955) (c416884) - react:
@maskito/react
library should not includecore-js
imports (#962) (3b7e401)
2.0.0 (2024-01-22)
- core: merge
MaskitoElementPredicate
&MaskitoElementPredicateAsync
into single type (#757) - core: remove value's calibration on initialization + new
maskitoInitialCalibrationPlugin
(#778) - core: bump Firefox browser support (55+ => 87+) (#876) and
drop legacy fallbacks for
Firefox
(#756) - kit: delete deprecated
separator
forDateRange
(usedateSeparator
instead) (#790) - angular: bump minimum required Angular version (12+ => 15+) (#710) (#720) (#725)
- angular: deprecate
MaskitoModule
(use standaloneMaskitoDirective
,MaskitoCVA
,MaskitoPipe
) (#754)
- core: new built-in
maskitoStrictCompositionPlugin
(#881) - kit:
Number
allows to enter full width numbers (#864)
- core: drop some excess dispatches of
Input
-event (#882) - kit: add
{bubbles:true}
forinput
events inside all built-in plugins to supportReactSyntheticEvent
(#806) - kit:
Number
has problems when prefix/postfix includesdecimalSeparator
symbol (#874) (#816) (#921) - kit:
Placeholder
is not compatible withmaskitoEventHandler
+focus
/blur
events (#928)
1.9.0 (2023-11-23)
1.8.2 (2023-11-16)
1.8.1 (2023-10-19)
1.8.0 (2023-10-18)
- kit:
Number
has broken zero padding whendecimalSeparator
equals to non-default value (#586) (7241761)
1.7.0 (2023-09-15)
New @maskito/phone
library (#425)
(#482)
Learn more: https://maskito.dev/addons/phone
1.6.0 (2023-09-15)
- kit:
Number
should accept all types of spaces as interchangeable characters forthousandSeparator
(#505) (73975bb)
1.5.1 (2023-09-08)
1.5.0 (2023-09-04)
- core: add IME composition support (#467) (e7d664b)
- demo: documentation is now available at https://maskito.dev (#392) (355f87f)
- kit:
maskitoCaretGuard
doesn't work after focus on<select />
(#462) (9f456da) - kit:
Number
should drop items fromdecimalPseudoSeparators
if any is equal tothousandSeparator
(#390) (2107adc)
1.4.0 (2023-07-27)
- kit:
Date
&DateRange
support new modesyyyy
,mm/yyyy
,yyyy/mm
(#384) (7886d50) - kit:
Time
supports new modeHH
(#385) (3c7a3f6)
1.3.0 (2023-07-24)
1.2.2 (2023-07-19)
- kit:
maskitoCaretGuard
should wait formouseup
before execution (#372) (8554fea) - kit:
Number
should remove repeated leading zeroes for integer part only onblur
-event (#373) (7cf4938)
1.2.1 (2023-07-11)
- kit:
Number
withpostfix
should be compatible withdecimalZeroPadding
(#364) (501cf9c) - kit:
Prefix
/Postfix
is incompatible if they end/start with the same character (#366) (06afbcb)
1.2.0 (2023-07-03)
- kit:
maskitoCaretGuard
's function has the 2nd argument with current selection range (#358) (eedc4d6)
- kit:
maskitoCaretGuard
incorrectly validates the left side of constraints (#356) (17ee90f) - kit:
Number
should skip min/max validation if value does not contain any digits (#359) (ed8221e)
1.1.1 (2023-06-29)
- core: don't ignore native attribute
maxlength
(#350) (8504f49) - kit:
Number
should ignore new typed decimal separator if it already exists in text field (#351) (4ccfdc8)
1.1.0 (2023-06-23)
- kit:
maskitoEventHandler
acceptsAddEventListenerOptions
as the 3d optional argument (#346) (1d5866e) - kit: use capturing phase for
focus
/blur
events in plugins (#347) (ef539e1)
1.0.0 (2023-06-21)
- core: delete deprecated
preprocessor
&postprocessor
fromMaskitoOptions
(#337) (0b6aad2) - kit: delete deprecated
isNegativeAllowed
parameter fromNumber
mask (#338) (9fd3005)
0.16.0 (2023-06-20)
0.15.0 (2023-06-14)
- core: add new parameters
preprocessors
&postprocessors
and deprecatepreprocessor
&postprocessor
(#333) (0137775)
- kit:
maskitoParseNumber
should returnNaN
for all strings with no digits (#331) (d1ebcec) - kit:
Number
incorrectly implementsmin
/max
behaviour (#334) (9876d88)
0.14.0 (2023-06-09)
- angular:
[maskitoElement]
can accept asynchronous predicate (#316) (3d8949e) - kit:
Number
pads empty integer part with zero on blur (if decimal part exists) (#328) (bd01967)
0.13.0 (2023-06-02)
- core: better layout-independent way to detect
Undo
andRedo
(#320) (4c5a7f6) - vue: add dedicated Vue package (#321) (f6ffb24)
0.12.1 (2023-05-25)
- kit:
DateTime
validate min / max if date is complete (#314) (5783e76) - kit:
Time
&DateTime
should accept time segment separator typed by user (#317) (3bcac7f)
0.12.0 (2023-05-19)
- core: add
plugins
toMaskitoOptions
(#305) (b512ae2) - core: expose
MaskitoMask
,MaskitoPreprocessor
,MaskitoPostprocessor
andMaskitoPlugin
(#307) (9315a9f) - kit: new
maskitoWithPlaceholder
utility (#299) (21eb69c)
0.11.1 (2023-05-11)
- core:
insertFromDrop
action behaves now in the same way asinsertFromPaste
(#291) (58e0fcc) - kit:
Time
doesn't validate time segments ondrop
event (#289) (0c6d1b9)
0.11.0 (2023-05-02)
0.10.0 (2023-04-25)
- kit:
Number
keeps untouched decimal part ifprecision: Infinity
(#253) (261779e) - kit:
Number
supports newprefix
&postfix
parameters (#264) (6e78581) - kit: new
maskitoPostfixPostprocessorGenerator
(#257) (fdc86db)
- kit:
Number
fails to trim leading zeroes after deleting of leading digit (#268) (4ae0010) - kit:
Number
should trim redundant thousand separators (#267) (100b793) - kit: fix first zero in short-format date-mask (#251) (08bdfd2)
0.9.0 (2023-03-31)
- angular: Jest throws
Class constructor DefaultValueAccessor cannot be invoked without 'new'
(#232) (5089612)
0.8.1 (2023-03-27)
0.8.0 (2023-03-23)
0.7.2 (2023-03-23)
- angular:
@maskito/angular
should not depend on@maskito/kit
(#221) (0ae7b20) - angular:
npm i @maskito/angular
throwsunable to resolve dependency tree
(#220) (8b4d6e6)
0.7.1 (2023-03-22)
- angular: use
@nrwl/angular:package
executor instead of@nrwl/angular:ng-packagr-lite
(#216) (164d015) - kit:
Number
brokenDelete
-button navigation ifdecimalZeroPadding=true
(#211) (1b750d1)
0.7.0 (2023-03-20)
- core: add
deleteSoftLineBackward
&deleteSoftLineForward
support (#207) (cbd5479) - kit: use 1 as min segment value in
Date
-related masks (#197) (c85ca23)
- core:
Maskito
losses valid characters on invalid insertion (overwriteMode: replace
) (#208) (ef183b4) - kit:
Number
should drop leading zeroes for negative numbers (#204) (6e9adf7)
0.6.0 (2023-03-15)
- angular: add CVA and pipe (#187) (a099257)
- core: add
deleteWordBackward
&deleteWordForward
support (#193) (24b761c)
- core: show trailing fixed characters + duplicated fixed character on
Drop
(#185) (c7f6a1b) - kit:
maskitoParseNumber
incorrectly parses negative numbers (#190) (d713bd1) - kit:
Number
should drop decimal part on paste from clipboard ifprecision=0
(#195) (ba85c38)
0.5.0 (2023-03-09)
- core: new utility
maskitoTransform(value, maskitoOptions)
(#177) (20316f1) - kit: new utility
maskitoParseNumber
(#178) (fc58141)
0.4.0 (2023-03-02)
0.3.0 (2023-03-01)
0.2.0 (2023-02-28)
0.1.1 (2023-02-15)
- core:
Module parse failed: 'import' and 'export' may appear only with 'sourceType: module'
(#131) (41e05c0)
This release introduces the first publishing of the following packages:
@maskito/core
It is the main zero-dependency and framework-agnostic package. It can be used alone in Vanilla JavaScript project. It listensbeforeinput
andinput
events to validate and calibrate textfield's value.
Read more: https://maskito.dev/core-concepts/overview@maskito/kit
The optional framework-agnostic package. It contains ready-to-use masks with configurable parameters. This release introduces the following masks:@maskito/angular
The Angular-specific library. It provides two convenient ways of using Maskito:- Basic directive approach (when developer has direct access to native input element).
- Dependency Injection approach (when native input element is hidden somewhere deep inside another component).