diff --git a/packages/maska/src/parser.ts b/packages/maska/src/parser.ts index 1505389..0ad0b13 100644 --- a/packages/maska/src/parser.ts +++ b/packages/maska/src/parser.ts @@ -35,7 +35,7 @@ export const parseInput = ( if (input.dataset.maskaNumberUnsigned != null) { number.unsigned = parseBool(input.dataset.maskaNumberUnsigned) } - if (Object.values(number).length > 0) { + if (input.dataset.maskaNumber != null || Object.values(number).length > 0) { opts.number = number } diff --git a/packages/maska/test/input.test.ts b/packages/maska/test/input.test.ts index c337161..11245ee 100644 --- a/packages/maska/test/input.test.ts +++ b/packages/maska/test/input.test.ts @@ -2117,6 +2117,19 @@ describe('Cursor position eager mask', () => { }) describe('Number mask', () => { + test('default number', async () => { + document.body.innerHTML = `` + const input = document.getElementById('input') + const mask = new MaskInput(input) + + expect(mask.items.get(input)?.opts.number).toStrictEqual({}) + + await user.type(input, '1234.56') + expect(input).toHaveValue('123,456') + + await user.clear(input) + }) + test('fraction number', async () => { document.body.innerHTML = `` const input = document.getElementById('input')