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')