@coders-tm/vue-number-format
Advanced tools
Comparing version 3.0.3 to 3.0.4
@@ -181,3 +181,3 @@ /** | ||
cancelable: true, | ||
detail: { facade: true } | ||
detail: { facade: true }, | ||
}) | ||
@@ -194,3 +194,3 @@ } | ||
cancelable: true, | ||
detail: { facade: true } | ||
detail: { facade: true }, | ||
}) | ||
@@ -206,3 +206,4 @@ } | ||
function getInputElement(el) { | ||
const inputElement = el instanceof HTMLInputElement ? el : el.querySelector('input'); | ||
const inputElement = | ||
el instanceof HTMLInputElement ? el : el.querySelector('input'); | ||
@@ -223,3 +224,5 @@ /* istanbul ignore next */ | ||
function updateCursor(el, position) { | ||
const setSelectionRange = () => { el.setSelectionRange(position, position); }; | ||
const setSelectionRange = () => { | ||
el.setSelectionRange(position, position); | ||
}; | ||
setSelectionRange(); | ||
@@ -238,3 +241,7 @@ // Android Fix | ||
*/ | ||
function updateValue(el, vnode, { emit = true, force = false, clean = false } = {}) { | ||
function updateValue( | ||
el, | ||
vnode, | ||
{ emit = true, force = false, clean = false } = {} | ||
) { | ||
const { config } = el[CONFIG_KEY$1]; | ||
@@ -253,6 +260,6 @@ let { oldValue } = el[CONFIG_KEY$1]; | ||
if (clean) { | ||
if (config.max && unmasked > config.max) { | ||
if (Number(config.max) && unmasked > Number(config.max)) { | ||
masked = number.format(config.max); | ||
unmasked = number.unformat(config.max); | ||
} else if (config.min && unmasked < config.min) { | ||
} else if (Number(config.min) && unmasked < Number(config.min)) { | ||
masked = number.format(config.min); | ||
@@ -273,3 +280,7 @@ unmasked = number.unformat(config.min); | ||
// drawback is that we endup with two's input events in firefox | ||
return emit && el.dispatchEvent(FacadeInputEvent()) && el.dispatchEvent(FacadeChangeEvent()) | ||
return ( | ||
emit && | ||
el.dispatchEvent(FacadeInputEvent()) && | ||
el.dispatchEvent(FacadeChangeEvent()) | ||
) | ||
} | ||
@@ -407,2 +418,6 @@ } | ||
}, | ||
prefill: { | ||
type: Boolean, | ||
default: options.prefill, | ||
}, | ||
precision: { | ||
@@ -416,4 +431,2 @@ type: Number, | ||
}, | ||
max: [Number, Boolean, String], | ||
min: [Number, Boolean, String], | ||
decimal: { | ||
@@ -423,2 +436,10 @@ type: String, | ||
}, | ||
min: { | ||
type: [Number, Boolean], | ||
default: () => options.min, | ||
}, | ||
max: { | ||
type: [Number, Boolean], | ||
default: () => options.max, | ||
}, | ||
separator: { | ||
@@ -440,3 +461,3 @@ type: String, | ||
}, | ||
emits: ['update:modelValue', 'input:modelValue'], | ||
emits: ['update:model-value'], | ||
data() { | ||
@@ -452,6 +473,5 @@ return { | ||
this.unmaskedValue = target.unmaskedValue; | ||
this.$emit('input:modelValue', this.emittedValue); | ||
}, | ||
change() { | ||
this.$emit('update:modelValue', this.emittedValue); | ||
this.$emit('update:model-value', this.emittedValue); | ||
}, | ||
@@ -464,3 +484,9 @@ }, | ||
config() { | ||
return this.$props | ||
const config = {}; | ||
Object.keys(this.$props) | ||
.filter((item) => item !== 'modelValue') | ||
.forEach((item) => { | ||
config[item] = this.$props[item]; | ||
}); | ||
return config | ||
}, | ||
@@ -467,0 +493,0 @@ }, |
@@ -177,3 +177,3 @@ /** | ||
cancelable: true, | ||
detail: { facade: true } | ||
detail: { facade: true }, | ||
}) | ||
@@ -190,3 +190,3 @@ } | ||
cancelable: true, | ||
detail: { facade: true } | ||
detail: { facade: true }, | ||
}) | ||
@@ -202,3 +202,4 @@ } | ||
function getInputElement(el) { | ||
const inputElement = el instanceof HTMLInputElement ? el : el.querySelector('input'); | ||
const inputElement = | ||
el instanceof HTMLInputElement ? el : el.querySelector('input'); | ||
@@ -219,3 +220,5 @@ /* istanbul ignore next */ | ||
function updateCursor(el, position) { | ||
const setSelectionRange = () => { el.setSelectionRange(position, position); }; | ||
const setSelectionRange = () => { | ||
el.setSelectionRange(position, position); | ||
}; | ||
setSelectionRange(); | ||
@@ -234,3 +237,7 @@ // Android Fix | ||
*/ | ||
function updateValue(el, vnode, { emit = true, force = false, clean = false } = {}) { | ||
function updateValue( | ||
el, | ||
vnode, | ||
{ emit = true, force = false, clean = false } = {} | ||
) { | ||
const { config } = el[CONFIG_KEY$1]; | ||
@@ -249,6 +256,6 @@ let { oldValue } = el[CONFIG_KEY$1]; | ||
if (clean) { | ||
if (config.max && unmasked > config.max) { | ||
if (Number(config.max) && unmasked > Number(config.max)) { | ||
masked = number.format(config.max); | ||
unmasked = number.unformat(config.max); | ||
} else if (config.min && unmasked < config.min) { | ||
} else if (Number(config.min) && unmasked < Number(config.min)) { | ||
masked = number.format(config.min); | ||
@@ -269,3 +276,7 @@ unmasked = number.unformat(config.min); | ||
// drawback is that we endup with two's input events in firefox | ||
return emit && el.dispatchEvent(FacadeInputEvent()) && el.dispatchEvent(FacadeChangeEvent()) | ||
return ( | ||
emit && | ||
el.dispatchEvent(FacadeInputEvent()) && | ||
el.dispatchEvent(FacadeChangeEvent()) | ||
) | ||
} | ||
@@ -403,2 +414,6 @@ } | ||
}, | ||
prefill: { | ||
type: Boolean, | ||
default: options.prefill, | ||
}, | ||
precision: { | ||
@@ -412,4 +427,2 @@ type: Number, | ||
}, | ||
max: [Number, Boolean, String], | ||
min: [Number, Boolean, String], | ||
decimal: { | ||
@@ -419,2 +432,10 @@ type: String, | ||
}, | ||
min: { | ||
type: [Number, Boolean], | ||
default: () => options.min, | ||
}, | ||
max: { | ||
type: [Number, Boolean], | ||
default: () => options.max, | ||
}, | ||
separator: { | ||
@@ -436,3 +457,3 @@ type: String, | ||
}, | ||
emits: ['update:modelValue', 'input:modelValue'], | ||
emits: ['update:model-value'], | ||
data() { | ||
@@ -448,6 +469,5 @@ return { | ||
this.unmaskedValue = target.unmaskedValue; | ||
this.$emit('input:modelValue', this.emittedValue); | ||
}, | ||
change() { | ||
this.$emit('update:modelValue', this.emittedValue); | ||
this.$emit('update:model-value', this.emittedValue); | ||
}, | ||
@@ -460,3 +480,9 @@ }, | ||
config() { | ||
return this.$props | ||
const config = {}; | ||
Object.keys(this.$props) | ||
.filter((item) => item !== 'modelValue') | ||
.forEach((item) => { | ||
config[item] = this.$props[item]; | ||
}); | ||
return config | ||
}, | ||
@@ -463,0 +489,0 @@ }, |
{ | ||
"name": "@coders-tm/vue-number-format", | ||
"version": "3.0.3", | ||
"version": "3.0.4", | ||
"private": false, | ||
@@ -5,0 +5,0 @@ "description": "Easy formatted numbers, currency and percentage with input/directive mask for Vue.js", |
Sorry, the diff of this file is not supported yet
35575
916