Releases: taiga-family/maskito
Releases · taiga-family/maskito
Release v2.4.0
Release v2.3.2
2.3.2 (2024-05-16)
Bug Fixes
- 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)
Release v2.3.1
Release v2.3.0
Release v2.2.0
Release v2.1.0
2.1.0 (2024-03-04)
⚠ Deprecations
- angular:
MaskitoCVA
is no longer needed (just useMaskitoDirective
) (#1083)
Features
- 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)
Bug Fixes
Release v2.0.2
Release v2.0.1
2.0.1 (2024-01-31)
Bug Fixes
- 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)
Release v2.0.0
2.0.0 (2024-01-22)
⚠ BREAKING CHANGES
- core: merge
MaskitoElementPredicate
&MaskitoElementPredicateAsync
into single type (#757)
Before:
import {
MaskitoElementPredicate,
MaskitoElementPredicateAsync,
} from '@maskito/core';
const syncPredicate: MaskitoElementPredicate = element =>
element.querySelectorAll('input')[1]!;
const asyncPredicate: MaskitoElementPredicateAsync = async element =>
Promise.resolve(element.querySelectorAll('input')[1]!);
After:
import {MaskitoElementPredicate} from '@maskito/core';
const syncPredicate: MaskitoElementPredicate = element =>
element.querySelectorAll('input')[1]!;
const asyncPredicate: MaskitoElementPredicate = async element =>
Promise.resolve(element.querySelectorAll('input')[1]!);
- core: remove value's calibration on initialization + new
maskitoInitialCalibrationPlugin
(#778)
Before: execution of new Maskito(element, options)
immediately invokes sync mask calibration.
After: no initial calibration. Maskito calibrates textfield's value only on user's interactions. Developer can enable previous behaviour by using maskitoInitialCalibrationPlugin
.
Why: The previous implementation is not so flexible as required. Sometimes the such initial calibration is not required for developer, and developer wants calibration to work only on user's interactions. The new way allows to select: use maskitoInitialCalibrationPlugin
or not.
Learn more: https://maskito.dev/core-concepts/plugins#initial-calibration
- kit: delete deprecated
separator
forDateRange
(usedateSeparator
instead) (#790)
Before:
import {maskitoDateRangeOptionsGenerator} from '@maskito/kit';
const options = maskitoDateRangeOptionsGenerator({
mode: 'mm/dd/yyyy',
separator: '/', // <-------- deprecated
rangeSeparator: ' ~ ',
});
After:
import {maskitoDateRangeOptionsGenerator} from '@maskito/kit';
const options = maskitoDateRangeOptionsGenerator({
mode: 'mm/dd/yyyy',
dateSeparator: '/',
rangeSeparator: ' ~ ',
});
- angular: deprecate
MaskitoModule
(use standaloneMaskitoDirective
,MaskitoCVA
,MaskitoPipe
) (#754)
🚀 More features
- core: new built-in
maskitoStrictCompositionPlugin
(#881) - kit:
Number
allows to enter full width numbers (#864)
🐛 Bug Fixes
- 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)