v-money3 3.19.1 → 3.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  ![workflow](https://github.com/jonathanpmartins/v-money3/actions/workflows/main.yml/badge.svg)
2
+ [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)
2
3
 
3
4
  # Money Mask for Vue 3
4
5
 
@@ -260,7 +261,7 @@ A console warn with more information will be shown!
260
261
  Use it directly in the browser!
261
262
 
262
263
  ```html
263
- <script src="https://unpkg.com/v-money3@3.19.1/dist/v-money3.umd.js"></script>
264
+ <script src="https://unpkg.com/v-money3@3.20.0/dist/v-money3.umd.js"></script>
264
265
  ```
265
266
 
266
267
  Take a look at issue [#15](https://github.com/jonathanpmartins/v-money3/issues/15#issuecomment-830988807) and also this [codesandbox](https://codesandbox.io/s/mystifying-paper-bpfyn?file=/index.html) working example.
@@ -1 +1 @@
1
- var e=Object.defineProperty,t=(t,n,i)=>(((t,n,i)=>{n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[n]=i})(t,"symbol"!=typeof n?n+"":n,i),i);import{defineComponent as n,getCurrentInstance as i,toRefs as r,ref as u,watch as o,useAttrs as a,computed as l,resolveDirective as s,withDirectives as d,openBlock as c,createElementBlock as m,mergeProps as f,unref as p}from"vue";var v={debug:!1,masked:!1,prefix:"",suffix:"",thousands:",",decimal:".",precision:2,disableNegative:!1,disabled:!1,min:null,max:null,allowBlank:!1,minimumNumberOfCharacters:0,modelModifiers:{number:!1},shouldRound:!0};const g=["+","-"],h=["decimal","thousands","prefix","suffix"];function b(e){return Math.max(0,Math.min(e,1e3))}function y(e,t){return e=e.padStart(t+1,"0"),0===t?e:`${e.slice(0,-t)}.${e.slice(-t)}`}function x(e){return(e=e?e.toString():"").replace(/\D+/g,"")||"0"}function N(e,t){return g.includes(e)?(console.warn(`v-money3 "${t}" property don't accept "${e}" as a value.`),!1):!/\d/g.test(e)||(console.warn(`v-money3 "${t}" property don't accept "${e}" (any number) as a value.`),!1)}function w(e){for(const t of h){e[t]=e[t].replace(/\d+/g,"");for(const n of g)e[t]=e[t].replaceAll(n,"")}return e}function S(e){return e.length-(e.indexOf(".")+1)}function k(e){return e.replace(/^(-?)0+(?!\.)(.+)/,"$1$2")}function B(e){return/^-?[\d]+$/g.test(e)}function $(e){return/^-?[\d]+(\.[\d]+)$/g.test(e)}function M(e,t,n){return t>e.length-1?e:e.substring(0,t)+n+e.substring(t+1)}function C(e,t){const n=t-S(e);if(n>=0)return e;let i=e.slice(0,n);const r=e.slice(n);if("."===i.charAt(i.length-1)&&(i=i.slice(0,-1)),parseInt(r.charAt(0),10)>=5){for(let e=i.length-1;e>=0;e-=1){const t=i.charAt(e);if("."!==t&&"-"!==t){const n=parseInt(t,10)+1;if(n<10)return M(i,e,n);i=M(i,e,"0")}}return`1${i}`}return i}function E(e){const t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}function O({debug:e=!1},...t){e&&console.log(...t)}BigInt.prototype.toJSON=function(){return this.toString()};class F{constructor(e){t(this,"number"),t(this,"decimal"),this.setNumber(e)}getNumber(){return this.number}getDecimalPrecision(){return this.decimal}setNumber(e){if(this.decimal=0,"bigint"==typeof e)this.number=e;else if("number"==typeof e)this.setupString(e.toString());else{if("string"!=typeof e)throw new Error(`BigNumber has received and invalid typeof: ${typeof e}. Only bigint, number and string are permitted.`);this.setupString(e)}}setupString(e){if(B(e=k(e)))this.number=BigInt(e);else{if(!$(e))throw new Error(`BigNumber has received and invalid format for the constructor: ${e}`);this.decimal=S(e),this.number=BigInt(e.replace(".",""))}}toFixed(e=0,t=!0){let n=this.toString();const i=e-this.getDecimalPrecision();return i>0?(n.includes(".")||(n+="."),n.padEnd(n.length+i,"0")):i<0?t?C(n,e):n.slice(0,i):n}toString(){let e=this.number.toString();if(this.decimal){let t=!1;return"-"===e.charAt(0)&&(e=e.substring(1),t=!0),e=e.padStart(e.length+this.decimal,"0"),e=`${e.slice(0,-this.decimal)}.${e.slice(-this.decimal)}`,e=k(e),(t?"-":"")+e}return e}lessThan(e){const[t,n]=this.adjustComparisonNumbers(e);return t<n}biggerThan(e){const[t,n]=this.adjustComparisonNumbers(e);return t>n}isEqual(e){const[t,n]=this.adjustComparisonNumbers(e);return t===n}adjustComparisonNumbers(e){let t;t="BigNumber"!==e.constructor.name?new F(e):e;const n=this.getDecimalPrecision()-t.getDecimalPrecision();let i=this.getNumber(),r=t.getNumber();return n>0?r=t.getNumber()*10n**BigInt(n):n<0&&(i=this.getNumber()*10n**BigInt(-1*n)),[i,r]}}function R(e,t=v,n){O(t,"utils format() - caller",n),O(t,"utils format() - input1",e),null==e?e="":"number"==typeof e?e=t.shouldRound?e.toFixed(b(t.precision)):e.toFixed(b(t.precision)+1).slice(0,-1):t.modelModifiers&&t.modelModifiers.number&&B(e)&&(e=Number(e).toFixed(b(t.precision))),O(t,"utils format() - input2",e);const i=t.disableNegative?"":e.indexOf("-")>=0?"-":"";let r=e.replace(t.prefix,"").replace(t.suffix,"");O(t,"utils format() - filtered",r),!t.precision&&"."!==t.thousands&&$(r)&&(r=C(r,0),O(t,"utils format() - !opt.precision && isValidFloat()",r));const u=x(r);O(t,"utils format() - numbers",u),O(t,"utils format() - numbersToCurrency",i+y(u,t.precision));const o=new F(i+y(u,t.precision));O(t,"utils format() - bigNumber1",o.toString()),t.max&&o.biggerThan(t.max)&&o.setNumber(t.max),t.min&&o.lessThan(t.min)&&o.setNumber(t.min);const a=o.toFixed(b(t.precision),t.shouldRound);if(O(t,"utils format() - bigNumber2",o.toFixed(b(t.precision))),/^0(\.0+)?$/g.test(a)&&t.allowBlank)return"";let[l,s]=a.split(".");const d=void 0!==s?s.length:0;l=l.padStart(t.minimumNumberOfCharacters-d,"0"),l=function(e,t){return e.replace(/(\d)(?=(?:\d{3})+\b)/gm,`$1${t}`)}(l,t.thousands);const c=t.prefix+function(e,t,n){return t?e+n+t:e}(l,s,t.decimal)+t.suffix;return O(t,"utils format() - output",c),c}function T(e,t=v,n){O(t,"utils unformat() - caller",n),O(t,"utils unformat() - input",e);const i=t.disableNegative?"":e.indexOf("-")>=0?"-":"",r=e.replace(t.prefix,"").replace(t.suffix,"");O(t,"utils unformat() - filtered",r);const u=x(r);O(t,"utils unformat() - numbers",u);const o=new F(i+y(u,t.precision));O(t,"utils unformat() - bigNumber1",u.toString()),t.max&&o.biggerThan(t.max)&&o.setNumber(t.max),t.min&&o.lessThan(t.min)&&o.setNumber(t.min);let a=o.toFixed(b(t.precision),t.shouldRound);return t.modelModifiers&&t.modelModifiers.number&&(a=parseFloat(a)),O(t,"utils unformat() - output",a),a}let V=null;const I=(e,t)=>{if(O(V,"directive setValue() - caller",t),!function(e){for(const t of h)if(!N(e[t],t))return!1;return!0}(V))return void O(V,"directive setValue() - validateRestrictedOptions() return false. Stopping here...",e.value);let n=e.value.length-e.selectionEnd;e.value=R(e.value,V,t),n=Math.max(n,V.suffix.length),n=e.value.length-n,n=Math.max(n,V.prefix.length),function(e,t){const n=()=>{e.setSelectionRange(t,t)};e===document.activeElement&&(n(),setTimeout(n,1))}(e,n),e.dispatchEvent(E("change"))};var P={mounted(e,t){if(t.value){if(V=w({...v,...t.value}),O(V,"directive mounted() - opt",V),"INPUT"!==e.tagName.toLocaleUpperCase()){const t=e.getElementsByTagName("input");1!==t.length||(e=t[0])}e.onkeydown=t=>{const n="Backspace"===t.code||"Delete"===t.code,i=e.value.length-e.selectionEnd==0;if(O(V,"directive onkeydown() - el.value",e.value),O(V,"directive onkeydown() - backspacePressed",n),O(V,"directive onkeydown() - isAtEndPosition",i),V.allowBlank&&n&&i&&0===T(e.value,V)&&(O(V,'directive onkeydown() - set el.value = ""',e.value),e.value="",e.dispatchEvent(E("change"))),O(V,"directive onkeydown() - e.key",t.key),"+"===t.key){O(V,"directive onkeydown() - unformat el.value",e.value);let t=T(e.value,V);"string"==typeof t&&(t=parseFloat(t)),t<0&&(e.value=String(-1*t))}},e.oninput=()=>{O(V,"directive oninput()",e.value),/^[1-9]$/.test(e.value)&&(e.value=y(e.value,b(V.precision)),O(V,"directive oninput() - is 1-9",e.value)),I(e,"directive oninput")},O(V,"directive mounted() - el.value",e.value),I(e,"directive mounted")}},updated(e,t){t.value&&(V=w({...v,...t.value}),O(V,"directive updated() - el.value",e.value),O(V,"directive updated() - opt",V),I(e,"directive updated"))},beforeUnmount(e){e.onkeydown=null,e.oninput=null,e.onfocus=null}};const A=["id","value","disabled"];var j=n({...{inheritAttrs:!1,name:"Money3",directives:{money3:P}},props:{debug:{required:!1,type:Boolean,default:!1},id:{required:!1,type:[Number,String],default:()=>i().uid},modelValue:{required:!1,type:[Number,String,void 0,null],default:null},modelModifiers:{required:!1,type:Object,default:()=>({number:!1})},masked:{type:Boolean,default:!1},precision:{type:Number,default:()=>v.precision},decimal:{type:String,default:()=>v.decimal,validator:e=>N(e,"decimal")},thousands:{type:String,default:()=>v.thousands,validator:e=>N(e,"thousands")},prefix:{type:String,default:()=>v.prefix,validator:e=>N(e,"prefix")},suffix:{type:String,default:()=>v.suffix,validator:e=>N(e,"suffix")},disableNegative:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},max:{type:[String,Number],default:()=>v.max},min:{type:[String,Number],default:()=>v.min},allowBlank:{type:Boolean,default:()=>v.allowBlank},minimumNumberOfCharacters:{type:Number,default:()=>v.minimumNumberOfCharacters},shouldRound:{type:Boolean,default:()=>v.shouldRound}},emits:["update:model-value"],setup:function(e,{emit:t}){const n=e,{modelValue:i,modelModifiers:v,masked:g,precision:h,shouldRound:y}=r(n);O(n,"component setup()",n);let x=i.value;v.value&&v.value.number&&(x=y.value?Number(i.value).toFixed(b(h.value)):Number(i.value).toFixed(b(h.value)+1).slice(0,-1));const N=u(R(x,n,"component setup"));O(n,"component setup() - data.formattedValue",N.value),o(i,(function(e){O(n,"component watch() -> value",e);const t=R(e,w({...n}),"component watch");t!==N.value&&(O(n,"component watch() changed -> formatted",t),N.value=t)}));let S=null;function k(e){let i;O(n,"component change() -> evt.target.value",e.target.value),i=g.value&&!v.value.number?e.target.value:T(e.target.value,w({...n}),"component change"),i!==S&&(S=i,O(n,"component change() -> update:model-value",i),t("update:model-value",i))}const B=a(),$=l((()=>{const e={...B};return delete e["onUpdate:modelValue"],e}));return(e,t)=>{const i=s("money3");return d((c(),m("input",f({type:"tel",id:n.id,value:N.value,disabled:n.disabled,onChange:k},p($),{class:"v-money3"}),null,16,A)),[[i,{precision:p(h),decimal:n.decimal,thousands:n.thousands,prefix:n.prefix,suffix:n.suffix,disableNegative:n.disableNegative,min:n.min,max:n.max,allowBlank:n.allowBlank,minimumNumberOfCharacters:n.minimumNumberOfCharacters,debug:n.debug,modelModifiers:p(v),shouldRound:p(y)}]])}}}),D={install(e){e.component("money3",j),e.directive("money3",P)}};export{j as Money,j as Money3,j as Money3Component,P as Money3Directive,P as VMoney,P as VMoney3,D as default,R as format,T as unformat};
1
+ var e=Object.defineProperty,t=(t,n,i)=>(((t,n,i)=>{n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[n]=i})(t,"symbol"!=typeof n?n+"":n,i),i);import{defineComponent as n,getCurrentInstance as i,toRefs as r,ref as u,watch as a,useAttrs as o,computed as l,resolveDirective as s,withDirectives as d,openBlock as c,createElementBlock as m,mergeProps as f,unref as p}from"vue";var v={debug:!1,masked:!1,prefix:"",suffix:"",thousands:",",decimal:".",precision:2,disableNegative:!1,disabled:!1,min:null,max:null,allowBlank:!1,minimumNumberOfCharacters:0,modelModifiers:{number:!1},shouldRound:!0};const g=["+","-"],b=["decimal","thousands","prefix","suffix"];function h(e){return Math.max(0,Math.min(e,1e3))}function y(e,t){return e=e.padStart(t+1,"0"),0===t?e:`${e.slice(0,-t)}.${e.slice(-t)}`}function x(e){return(e=e?e.toString():"").replace(/\D+/g,"")||"0"}function N(e,t){return g.includes(e)?(console.warn(`v-money3 "${t}" property don't accept "${e}" as a value.`),!1):!/\d/g.test(e)||(console.warn(`v-money3 "${t}" property don't accept "${e}" (any number) as a value.`),!1)}function w(e){for(const t of b){e[t]=e[t].replace(/\d+/g,"");for(const n of g)e[t]=e[t].replaceAll(n,"")}return e}function k(e){return e.length-(e.indexOf(".")+1)}function S(e){return e.replace(/^(-?)0+(?!\.)(.+)/,"$1$2")}function B(e){return/^-?[\d]+$/g.test(e)}function M(e){return/^-?[\d]+(\.[\d]+)$/g.test(e)}function $(e,t,n){return t>e.length-1?e:e.substring(0,t)+n+e.substring(t+1)}function C(e,t){const n=t-k(e);if(n>=0)return e;let i=e.slice(0,n);const r=e.slice(n);if("."===i.charAt(i.length-1)&&(i=i.slice(0,-1)),parseInt(r.charAt(0),10)>=5){for(let e=i.length-1;e>=0;e-=1){const t=i.charAt(e);if("."!==t&&"-"!==t){const n=parseInt(t,10)+1;if(n<10)return $(i,e,n);i=$(i,e,"0")}}return`1${i}`}return i}function F(e){return new Event(e,{bubbles:!0,cancelable:!1})}function O({debug:e=!1},...t){e&&console.log(...t)}class E{constructor(e){t(this,"number",0n),t(this,"decimal",0),this.setNumber(e)}getNumber(){return this.number}getDecimalPrecision(){return this.decimal}setNumber(e){this.decimal=0,"bigint"==typeof e?this.number=e:"number"==typeof e?this.setupString(e.toString()):this.setupString(e)}toFixed(e=0,t=!0){let n=this.toString();const i=e-this.getDecimalPrecision();return i>0?(n.includes(".")||(n+="."),n.padEnd(n.length+i,"0")):i<0?t?C(n,e):n.slice(0,i):n}toString(){let e=this.number.toString();if(this.decimal){let t=!1;return"-"===e.charAt(0)&&(e=e.substring(1),t=!0),e=e.padStart(e.length+this.decimal,"0"),e=`${e.slice(0,-this.decimal)}.${e.slice(-this.decimal)}`,e=S(e),(t?"-":"")+e}return e}lessThan(e){const[t,n]=this.adjustComparisonNumbers(e);return t<n}biggerThan(e){const[t,n]=this.adjustComparisonNumbers(e);return t>n}isEqual(e){const[t,n]=this.adjustComparisonNumbers(e);return t===n}setupString(e){if(B(e=S(e)))this.number=BigInt(e);else{if(!M(e))throw new Error(`BigNumber has received and invalid format for the constructor: ${e}`);this.decimal=k(e),this.number=BigInt(e.replace(".",""))}}adjustComparisonNumbers(e){let t;t="BigNumber"!==e.constructor.name?new E(e):e;const n=this.getDecimalPrecision()-t.getDecimalPrecision();let i=this.getNumber(),r=t.getNumber();return n>0?r=t.getNumber()*10n**BigInt(n):n<0&&(i=this.getNumber()*10n**BigInt(-1*n)),[i,r]}}function R(e,t=v,n=""){O(t,"utils format() - caller",n),O(t,"utils format() - input1",e),null==e?e="":"number"==typeof e?e=t.shouldRound?e.toFixed(h(t.precision)):e.toFixed(h(t.precision)+1).slice(0,-1):t.modelModifiers&&t.modelModifiers.number&&B(e)&&(e=Number(e).toFixed(h(t.precision))),O(t,"utils format() - input2",e);const i=t.disableNegative?"":e.indexOf("-")>=0?"-":"";let r=e.replace(t.prefix,"").replace(t.suffix,"");O(t,"utils format() - filtered",r),!t.precision&&"."!==t.thousands&&M(r)&&(r=C(r,0),O(t,"utils format() - !opt.precision && isValidFloat()",r));const u=x(r);O(t,"utils format() - numbers",u),O(t,"utils format() - numbersToCurrency",i+y(u,t.precision));const a=new E(i+y(u,t.precision));O(t,"utils format() - bigNumber1",a.toString()),t.max&&a.biggerThan(t.max)&&a.setNumber(t.max),t.min&&a.lessThan(t.min)&&a.setNumber(t.min);const o=a.toFixed(h(t.precision),t.shouldRound);if(O(t,"utils format() - bigNumber2",a.toFixed(h(t.precision))),/^0(\.0+)?$/g.test(o)&&t.allowBlank)return"";let[l,s]=o.split(".");const d=void 0!==s?s.length:0;l=l.padStart(t.minimumNumberOfCharacters-d,"0"),l=function(e,t){return e.replace(/(\d)(?=(?:\d{3})+\b)/gm,`$1${t}`)}(l,t.thousands);const c=t.prefix+function(e,t,n){return t?e+n+t:e}(l,s,t.decimal)+t.suffix;return O(t,"utils format() - output",c),c}function T(e,t=v,n=""){O(t,"utils unformat() - caller",n),O(t,"utils unformat() - input",e);const i=t.disableNegative?"":e.indexOf("-")>=0?"-":"",r=e.replace(t.prefix,"").replace(t.suffix,"");O(t,"utils unformat() - filtered",r);const u=x(r);O(t,"utils unformat() - numbers",u);const a=new E(i+y(u,t.precision));O(t,"utils unformat() - bigNumber1",u.toString()),t.max&&a.biggerThan(t.max)&&a.setNumber(t.max),t.min&&a.lessThan(t.min)&&a.setNumber(t.min);let o=a.toFixed(h(t.precision),t.shouldRound);return t.modelModifiers&&t.modelModifiers.number&&(o=parseFloat(o)),O(t,"utils unformat() - output",o),o}let V=v;const P=(e,t)=>{if(O(V,"directive setValue() - caller",t),!function(e){for(const t of b)if(!N(e[t],t))return!1;return!0}(V))return void O(V,"directive setValue() - validateRestrictedOptions() return false. Stopping here...",e.value);let n=e.value.length-(e.selectionEnd||0);e.value=R(e.value,V,t),n=Math.max(n,V.suffix.length),n=e.value.length-n,n=Math.max(n,V.prefix.length),function(e,t){const n=()=>{e.setSelectionRange(t,t)};e===document.activeElement&&(n(),setTimeout(n,1))}(e,n),e.dispatchEvent(F("change"))};var A={mounted(e,t){if(t.value){if(V=w({...v,...t.value}),O(V,"directive mounted() - opt",V),"INPUT"!==e.tagName.toLocaleUpperCase()){const t=e.getElementsByTagName("input");1!==t.length||(e=t[0])}e.onkeydown=t=>{const n="Backspace"===t.code||"Delete"===t.code,i=e.value.length-(e.selectionEnd||0)==0;if(O(V,"directive onkeydown() - el.value",e.value),O(V,"directive onkeydown() - backspacePressed",n),O(V,"directive onkeydown() - isAtEndPosition",i),V.allowBlank&&n&&i&&0===T(e.value,V,"directive onkeydown allowBlank")&&(O(V,'directive onkeydown() - set el.value = ""',e.value),e.value="",e.dispatchEvent(F("change"))),O(V,"directive onkeydown() - e.key",t.key),"+"===t.key){O(V,"directive onkeydown() - unformat el.value",e.value);let t=T(e.value,V,"directive onkeydown +");"string"==typeof t&&(t=parseFloat(t)),t<0&&(e.value=String(-1*t))}},e.oninput=()=>{O(V,"directive oninput()",e.value),/^[1-9]$/.test(e.value)&&(e.value=y(e.value,h(V.precision)),O(V,"directive oninput() - is 1-9",e.value)),P(e,"directive oninput")},O(V,"directive mounted() - el.value",e.value),P(e,"directive mounted")}},updated(e,t){t.value&&(V=w({...v,...t.value}),O(V,"directive updated() - el.value",e.value),O(V,"directive updated() - opt",V),P(e,"directive updated"))},beforeUnmount(e){e.onkeydown=null,e.oninput=null,e.onfocus=null}};const I=["id","value","disabled"];const j=n({...{inheritAttrs:!1,name:"Money3",directives:{money3:A}},props:{debug:{required:!1,type:Boolean,default:!1},id:{required:!1,type:[Number,String],default:()=>{const e=i();return e?e.uid:null}},modelValue:{required:!0,type:[Number,String]},modelModifiers:{required:!1,type:Object,default:()=>({number:!1})},masked:{type:Boolean,default:!1},precision:{type:Number,default:()=>v.precision},decimal:{type:String,default:()=>v.decimal,validator:e=>N(e,"decimal")},thousands:{type:String,default:()=>v.thousands,validator:e=>N(e,"thousands")},prefix:{type:String,default:()=>v.prefix,validator:e=>N(e,"prefix")},suffix:{type:String,default:()=>v.suffix,validator:e=>N(e,"suffix")},disableNegative:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},max:{type:[Number,String],default:()=>v.max},min:{type:[Number,String],default:()=>v.min},allowBlank:{type:Boolean,default:()=>v.allowBlank},minimumNumberOfCharacters:{type:Number,default:()=>v.minimumNumberOfCharacters},shouldRound:{type:Boolean,default:()=>v.shouldRound}},emits:["update:model-value"],setup:function(e,{emit:t}){const n=e,{modelValue:i,modelModifiers:v,masked:g,precision:b,shouldRound:y}=r(n);O(n,"component setup()",n);let x=i.value;v.value&&v.value.number&&(x=y.value?Number(i.value).toFixed(h(b.value)):Number(i.value).toFixed(h(b.value)+1).slice(0,-1));const N=u(R(x,n,"component setup"));O(n,"component setup() - data.formattedValue",N.value),a(i,(function(e){O(n,"component watch() -> value",e);const t=R(e,w({...n}),"component watch");t!==N.value&&(O(n,"component watch() changed -> formatted",t),N.value=t)}));let k=null;function S(e){let i;O(n,"component change() -> evt.target.value",e.target.value),i=g.value&&!v.value.number?e.target.value:T(e.target.value,w({...n}),"component change"),i!==k&&(k=i,O(n,"component change() -> update:model-value",i),t("update:model-value",i))}const B=o(),M=l((()=>{const e={...B};return delete e["onUpdate:modelValue"],e}));return(e,t)=>{const i=s("money3");return d((c(),m("input",f({id:n.id},p(M),{type:"tel",class:"v-money3",value:N.value,disabled:n.disabled,onChange:S}),null,16,I)),[[i,{precision:p(b),decimal:n.decimal,thousands:n.thousands,prefix:n.prefix,suffix:n.suffix,disableNegative:n.disableNegative,min:n.min,max:n.max,allowBlank:n.allowBlank,minimumNumberOfCharacters:n.minimumNumberOfCharacters,debug:n.debug,modelModifiers:p(v),shouldRound:p(y)}]])}}});var D={install(e){e.component("money3",j),e.directive("money3",A)}};export{E as BigNumber,j as Money,j as Money3,j as Money3Component,A as Money3Directive,A as VMoney,A as VMoney3,D as default,R as format,T as unformat};
@@ -1 +1 @@
1
- var __defProp=Object.defineProperty,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["v-money3"]={},e.Vue)}(this,(function(e,t){"use strict";var n={debug:!1,masked:!1,prefix:"",suffix:"",thousands:",",decimal:".",precision:2,disableNegative:!1,disabled:!1,min:null,max:null,allowBlank:!1,minimumNumberOfCharacters:0,modelModifiers:{number:!1},shouldRound:!0};const i=["+","-"],r=["decimal","thousands","prefix","suffix"];function o(e){return Math.max(0,Math.min(e,1e3))}function u(e,t){return e=e.padStart(t+1,"0"),0===t?e:`${e.slice(0,-t)}.${e.slice(-t)}`}function a(e){return(e=e?e.toString():"").replace(/\D+/g,"")||"0"}function l(e,t){return i.includes(e)?(console.warn(`v-money3 "${t}" property don't accept "${e}" as a value.`),!1):!/\d/g.test(e)||(console.warn(`v-money3 "${t}" property don't accept "${e}" (any number) as a value.`),!1)}function s(e){for(const t of r){e[t]=e[t].replace(/\d+/g,"");for(const n of i)e[t]=e[t].replaceAll(n,"")}return e}function d(e){return e.length-(e.indexOf(".")+1)}function c(e){return e.replace(/^(-?)0+(?!\.)(.+)/,"$1$2")}function m(e){return/^-?[\d]+$/g.test(e)}function f(e){return/^-?[\d]+(\.[\d]+)$/g.test(e)}function p(e,t,n){return t>e.length-1?e:e.substring(0,t)+n+e.substring(t+1)}function v(e,t){const n=t-d(e);if(n>=0)return e;let i=e.slice(0,n);const r=e.slice(n);if("."===i.charAt(i.length-1)&&(i=i.slice(0,-1)),parseInt(r.charAt(0),10)>=5){for(let e=i.length-1;e>=0;e-=1){const t=i.charAt(e);if("."!==t&&"-"!==t){const n=parseInt(t,10)+1;if(n<10)return p(i,e,n);i=p(i,e,"0")}}return`1${i}`}return i}function g(e){const t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}function h({debug:e=!1},...t){e&&console.log(...t)}BigInt.prototype.toJSON=function(){return this.toString()};class b{constructor(e){__publicField(this,"number"),__publicField(this,"decimal"),this.setNumber(e)}getNumber(){return this.number}getDecimalPrecision(){return this.decimal}setNumber(e){if(this.decimal=0,"bigint"==typeof e)this.number=e;else if("number"==typeof e)this.setupString(e.toString());else{if("string"!=typeof e)throw new Error(`BigNumber has received and invalid typeof: ${typeof e}. Only bigint, number and string are permitted.`);this.setupString(e)}}setupString(e){if(m(e=c(e)))this.number=BigInt(e);else{if(!f(e))throw new Error(`BigNumber has received and invalid format for the constructor: ${e}`);this.decimal=d(e),this.number=BigInt(e.replace(".",""))}}toFixed(e=0,t=!0){let n=this.toString();const i=e-this.getDecimalPrecision();return i>0?(n.includes(".")||(n+="."),n.padEnd(n.length+i,"0")):i<0?t?v(n,e):n.slice(0,i):n}toString(){let e=this.number.toString();if(this.decimal){let t=!1;return"-"===e.charAt(0)&&(e=e.substring(1),t=!0),e=e.padStart(e.length+this.decimal,"0"),e=`${e.slice(0,-this.decimal)}.${e.slice(-this.decimal)}`,e=c(e),(t?"-":"")+e}return e}lessThan(e){const[t,n]=this.adjustComparisonNumbers(e);return t<n}biggerThan(e){const[t,n]=this.adjustComparisonNumbers(e);return t>n}isEqual(e){const[t,n]=this.adjustComparisonNumbers(e);return t===n}adjustComparisonNumbers(e){let t;t="BigNumber"!==e.constructor.name?new b(e):e;const n=this.getDecimalPrecision()-t.getDecimalPrecision();let i=this.getNumber(),r=t.getNumber();return n>0?r=t.getNumber()*10n**BigInt(n):n<0&&(i=this.getNumber()*10n**BigInt(-1*n)),[i,r]}}function y(e,t=n,i){h(t,"utils format() - caller",i),h(t,"utils format() - input1",e),null==e?e="":"number"==typeof e?e=t.shouldRound?e.toFixed(o(t.precision)):e.toFixed(o(t.precision)+1).slice(0,-1):t.modelModifiers&&t.modelModifiers.number&&m(e)&&(e=Number(e).toFixed(o(t.precision))),h(t,"utils format() - input2",e);const r=t.disableNegative?"":e.indexOf("-")>=0?"-":"";let l=e.replace(t.prefix,"").replace(t.suffix,"");h(t,"utils format() - filtered",l),!t.precision&&"."!==t.thousands&&f(l)&&(l=v(l,0),h(t,"utils format() - !opt.precision && isValidFloat()",l));const s=a(l);h(t,"utils format() - numbers",s),h(t,"utils format() - numbersToCurrency",r+u(s,t.precision));const d=new b(r+u(s,t.precision));h(t,"utils format() - bigNumber1",d.toString()),t.max&&d.biggerThan(t.max)&&d.setNumber(t.max),t.min&&d.lessThan(t.min)&&d.setNumber(t.min);const c=d.toFixed(o(t.precision),t.shouldRound);if(h(t,"utils format() - bigNumber2",d.toFixed(o(t.precision))),/^0(\.0+)?$/g.test(c)&&t.allowBlank)return"";let[p,g]=c.split(".");const y=void 0!==g?g.length:0;p=p.padStart(t.minimumNumberOfCharacters-y,"0"),p=function(e,t){return e.replace(/(\d)(?=(?:\d{3})+\b)/gm,`$1${t}`)}(p,t.thousands);const x=t.prefix+function(e,t,n){return t?e+n+t:e}(p,g,t.decimal)+t.suffix;return h(t,"utils format() - output",x),x}function x(e,t=n,i){h(t,"utils unformat() - caller",i),h(t,"utils unformat() - input",e);const r=t.disableNegative?"":e.indexOf("-")>=0?"-":"",l=e.replace(t.prefix,"").replace(t.suffix,"");h(t,"utils unformat() - filtered",l);const s=a(l);h(t,"utils unformat() - numbers",s);const d=new b(r+u(s,t.precision));h(t,"utils unformat() - bigNumber1",s.toString()),t.max&&d.biggerThan(t.max)&&d.setNumber(t.max),t.min&&d.lessThan(t.min)&&d.setNumber(t.min);let c=d.toFixed(o(t.precision),t.shouldRound);return t.modelModifiers&&t.modelModifiers.number&&(c=parseFloat(c)),h(t,"utils unformat() - output",c),c}let N=null;const w=(e,t)=>{if(h(N,"directive setValue() - caller",t),!function(e){for(const t of r)if(!l(e[t],t))return!1;return!0}(N))return void h(N,"directive setValue() - validateRestrictedOptions() return false. Stopping here...",e.value);let n=e.value.length-e.selectionEnd;e.value=y(e.value,N,t),n=Math.max(n,N.suffix.length),n=e.value.length-n,n=Math.max(n,N.prefix.length),function(e,t){const n=()=>{e.setSelectionRange(t,t)};e===document.activeElement&&(n(),setTimeout(n,1))}(e,n),e.dispatchEvent(g("change"))};var S={mounted(e,t){if(t.value){if(N=s({...n,...t.value}),h(N,"directive mounted() - opt",N),"INPUT"!==e.tagName.toLocaleUpperCase()){const t=e.getElementsByTagName("input");1!==t.length||(e=t[0])}e.onkeydown=t=>{const n="Backspace"===t.code||"Delete"===t.code,i=e.value.length-e.selectionEnd==0;if(h(N,"directive onkeydown() - el.value",e.value),h(N,"directive onkeydown() - backspacePressed",n),h(N,"directive onkeydown() - isAtEndPosition",i),N.allowBlank&&n&&i&&0===x(e.value,N)&&(h(N,'directive onkeydown() - set el.value = ""',e.value),e.value="",e.dispatchEvent(g("change"))),h(N,"directive onkeydown() - e.key",t.key),"+"===t.key){h(N,"directive onkeydown() - unformat el.value",e.value);let t=x(e.value,N);"string"==typeof t&&(t=parseFloat(t)),t<0&&(e.value=String(-1*t))}},e.oninput=()=>{h(N,"directive oninput()",e.value),/^[1-9]$/.test(e.value)&&(e.value=u(e.value,o(N.precision)),h(N,"directive oninput() - is 1-9",e.value)),w(e,"directive oninput")},h(N,"directive mounted() - el.value",e.value),w(e,"directive mounted")}},updated(e,t){t.value&&(N=s({...n,...t.value}),h(N,"directive updated() - el.value",e.value),h(N,"directive updated() - opt",N),w(e,"directive updated"))},beforeUnmount(e){e.onkeydown=null,e.oninput=null,e.onfocus=null}};const k=["id","value","disabled"],B={inheritAttrs:!1,name:"Money3",directives:{money3:S}};var M=t.defineComponent({...B,props:{debug:{required:!1,type:Boolean,default:!1},id:{required:!1,type:[Number,String],default:()=>t.getCurrentInstance().uid},modelValue:{required:!1,type:[Number,String,void 0,null],default:null},modelModifiers:{required:!1,type:Object,default:()=>({number:!1})},masked:{type:Boolean,default:!1},precision:{type:Number,default:()=>n.precision},decimal:{type:String,default:()=>n.decimal,validator:e=>l(e,"decimal")},thousands:{type:String,default:()=>n.thousands,validator:e=>l(e,"thousands")},prefix:{type:String,default:()=>n.prefix,validator:e=>l(e,"prefix")},suffix:{type:String,default:()=>n.suffix,validator:e=>l(e,"suffix")},disableNegative:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},max:{type:[String,Number],default:()=>n.max},min:{type:[String,Number],default:()=>n.min},allowBlank:{type:Boolean,default:()=>n.allowBlank},minimumNumberOfCharacters:{type:Number,default:()=>n.minimumNumberOfCharacters},shouldRound:{type:Boolean,default:()=>n.shouldRound}},emits:["update:model-value"],setup:function(e,{emit:n}){const i=e,{modelValue:r,modelModifiers:u,masked:a,precision:l,shouldRound:d}=t.toRefs(i);h(i,"component setup()",i);let c=r.value;u.value&&u.value.number&&(c=d.value?Number(r.value).toFixed(o(l.value)):Number(r.value).toFixed(o(l.value)+1).slice(0,-1));const m=t.ref(y(c,i,"component setup"));h(i,"component setup() - data.formattedValue",m.value),t.watch(r,(function(e){h(i,"component watch() -> value",e);const t=y(e,s({...i}),"component watch");t!==m.value&&(h(i,"component watch() changed -> formatted",t),m.value=t)}));let f=null;function p(e){let t;h(i,"component change() -> evt.target.value",e.target.value),t=a.value&&!u.value.number?e.target.value:x(e.target.value,s({...i}),"component change"),t!==f&&(f=t,h(i,"component change() -> update:model-value",t),n("update:model-value",t))}const v=t.useAttrs(),g=t.computed((()=>{const e={...v};return delete e["onUpdate:modelValue"],e}));return(e,n)=>{const r=t.resolveDirective("money3");return t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({type:"tel",id:i.id,value:m.value,disabled:i.disabled,onChange:p},t.unref(g),{class:"v-money3"}),null,16,k)),[[r,{precision:t.unref(l),decimal:i.decimal,thousands:i.thousands,prefix:i.prefix,suffix:i.suffix,disableNegative:i.disableNegative,min:i.min,max:i.max,allowBlank:i.allowBlank,minimumNumberOfCharacters:i.minimumNumberOfCharacters,debug:i.debug,modelModifiers:t.unref(u),shouldRound:t.unref(d)}]])}}}),$={install(e){e.component("money3",M),e.directive("money3",S)}};e.Money=M,e.Money3=M,e.Money3Component=M,e.Money3Directive=S,e.VMoney=S,e.VMoney3=S,e.default=$,e.format=y,e.unformat=x,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
1
+ var __defProp=Object.defineProperty,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["v-money3"]={},e.Vue)}(this,(function(e,t){"use strict";var n={debug:!1,masked:!1,prefix:"",suffix:"",thousands:",",decimal:".",precision:2,disableNegative:!1,disabled:!1,min:null,max:null,allowBlank:!1,minimumNumberOfCharacters:0,modelModifiers:{number:!1},shouldRound:!0};const i=["+","-"],r=["decimal","thousands","prefix","suffix"];function o(e){return Math.max(0,Math.min(e,1e3))}function u(e,t){return e=e.padStart(t+1,"0"),0===t?e:`${e.slice(0,-t)}.${e.slice(-t)}`}function a(e){return(e=e?e.toString():"").replace(/\D+/g,"")||"0"}function l(e,t){return i.includes(e)?(console.warn(`v-money3 "${t}" property don't accept "${e}" as a value.`),!1):!/\d/g.test(e)||(console.warn(`v-money3 "${t}" property don't accept "${e}" (any number) as a value.`),!1)}function s(e){for(const t of r){e[t]=e[t].replace(/\d+/g,"");for(const n of i)e[t]=e[t].replaceAll(n,"")}return e}function d(e){return e.length-(e.indexOf(".")+1)}function c(e){return e.replace(/^(-?)0+(?!\.)(.+)/,"$1$2")}function m(e){return/^-?[\d]+$/g.test(e)}function f(e){return/^-?[\d]+(\.[\d]+)$/g.test(e)}function p(e,t,n){return t>e.length-1?e:e.substring(0,t)+n+e.substring(t+1)}function v(e,t){const n=t-d(e);if(n>=0)return e;let i=e.slice(0,n);const r=e.slice(n);if("."===i.charAt(i.length-1)&&(i=i.slice(0,-1)),parseInt(r.charAt(0),10)>=5){for(let e=i.length-1;e>=0;e-=1){const t=i.charAt(e);if("."!==t&&"-"!==t){const n=parseInt(t,10)+1;if(n<10)return p(i,e,n);i=p(i,e,"0")}}return`1${i}`}return i}function g(e){return new Event(e,{bubbles:!0,cancelable:!1})}function b({debug:e=!1},...t){e&&console.log(...t)}class h{constructor(e){__publicField(this,"number",0n),__publicField(this,"decimal",0),this.setNumber(e)}getNumber(){return this.number}getDecimalPrecision(){return this.decimal}setNumber(e){this.decimal=0,"bigint"==typeof e?this.number=e:"number"==typeof e?this.setupString(e.toString()):this.setupString(e)}toFixed(e=0,t=!0){let n=this.toString();const i=e-this.getDecimalPrecision();return i>0?(n.includes(".")||(n+="."),n.padEnd(n.length+i,"0")):i<0?t?v(n,e):n.slice(0,i):n}toString(){let e=this.number.toString();if(this.decimal){let t=!1;return"-"===e.charAt(0)&&(e=e.substring(1),t=!0),e=e.padStart(e.length+this.decimal,"0"),e=`${e.slice(0,-this.decimal)}.${e.slice(-this.decimal)}`,e=c(e),(t?"-":"")+e}return e}lessThan(e){const[t,n]=this.adjustComparisonNumbers(e);return t<n}biggerThan(e){const[t,n]=this.adjustComparisonNumbers(e);return t>n}isEqual(e){const[t,n]=this.adjustComparisonNumbers(e);return t===n}setupString(e){if(m(e=c(e)))this.number=BigInt(e);else{if(!f(e))throw new Error(`BigNumber has received and invalid format for the constructor: ${e}`);this.decimal=d(e),this.number=BigInt(e.replace(".",""))}}adjustComparisonNumbers(e){let t;t="BigNumber"!==e.constructor.name?new h(e):e;const n=this.getDecimalPrecision()-t.getDecimalPrecision();let i=this.getNumber(),r=t.getNumber();return n>0?r=t.getNumber()*10n**BigInt(n):n<0&&(i=this.getNumber()*10n**BigInt(-1*n)),[i,r]}}function y(e,t=n,i=""){b(t,"utils format() - caller",i),b(t,"utils format() - input1",e),null==e?e="":"number"==typeof e?e=t.shouldRound?e.toFixed(o(t.precision)):e.toFixed(o(t.precision)+1).slice(0,-1):t.modelModifiers&&t.modelModifiers.number&&m(e)&&(e=Number(e).toFixed(o(t.precision))),b(t,"utils format() - input2",e);const r=t.disableNegative?"":e.indexOf("-")>=0?"-":"";let l=e.replace(t.prefix,"").replace(t.suffix,"");b(t,"utils format() - filtered",l),!t.precision&&"."!==t.thousands&&f(l)&&(l=v(l,0),b(t,"utils format() - !opt.precision && isValidFloat()",l));const s=a(l);b(t,"utils format() - numbers",s),b(t,"utils format() - numbersToCurrency",r+u(s,t.precision));const d=new h(r+u(s,t.precision));b(t,"utils format() - bigNumber1",d.toString()),t.max&&d.biggerThan(t.max)&&d.setNumber(t.max),t.min&&d.lessThan(t.min)&&d.setNumber(t.min);const c=d.toFixed(o(t.precision),t.shouldRound);if(b(t,"utils format() - bigNumber2",d.toFixed(o(t.precision))),/^0(\.0+)?$/g.test(c)&&t.allowBlank)return"";let[p,g]=c.split(".");const y=void 0!==g?g.length:0;p=p.padStart(t.minimumNumberOfCharacters-y,"0"),p=function(e,t){return e.replace(/(\d)(?=(?:\d{3})+\b)/gm,`$1${t}`)}(p,t.thousands);const x=t.prefix+function(e,t,n){return t?e+n+t:e}(p,g,t.decimal)+t.suffix;return b(t,"utils format() - output",x),x}function x(e,t=n,i=""){b(t,"utils unformat() - caller",i),b(t,"utils unformat() - input",e);const r=t.disableNegative?"":e.indexOf("-")>=0?"-":"",l=e.replace(t.prefix,"").replace(t.suffix,"");b(t,"utils unformat() - filtered",l);const s=a(l);b(t,"utils unformat() - numbers",s);const d=new h(r+u(s,t.precision));b(t,"utils unformat() - bigNumber1",s.toString()),t.max&&d.biggerThan(t.max)&&d.setNumber(t.max),t.min&&d.lessThan(t.min)&&d.setNumber(t.min);let c=d.toFixed(o(t.precision),t.shouldRound);return t.modelModifiers&&t.modelModifiers.number&&(c=parseFloat(c)),b(t,"utils unformat() - output",c),c}let N=n;const w=(e,t)=>{if(b(N,"directive setValue() - caller",t),!function(e){for(const t of r)if(!l(e[t],t))return!1;return!0}(N))return void b(N,"directive setValue() - validateRestrictedOptions() return false. Stopping here...",e.value);let n=e.value.length-(e.selectionEnd||0);e.value=y(e.value,N,t),n=Math.max(n,N.suffix.length),n=e.value.length-n,n=Math.max(n,N.prefix.length),function(e,t){const n=()=>{e.setSelectionRange(t,t)};e===document.activeElement&&(n(),setTimeout(n,1))}(e,n),e.dispatchEvent(g("change"))};var k={mounted(e,t){if(t.value){if(N=s({...n,...t.value}),b(N,"directive mounted() - opt",N),"INPUT"!==e.tagName.toLocaleUpperCase()){const t=e.getElementsByTagName("input");1!==t.length||(e=t[0])}e.onkeydown=t=>{const n="Backspace"===t.code||"Delete"===t.code,i=e.value.length-(e.selectionEnd||0)==0;if(b(N,"directive onkeydown() - el.value",e.value),b(N,"directive onkeydown() - backspacePressed",n),b(N,"directive onkeydown() - isAtEndPosition",i),N.allowBlank&&n&&i&&0===x(e.value,N,"directive onkeydown allowBlank")&&(b(N,'directive onkeydown() - set el.value = ""',e.value),e.value="",e.dispatchEvent(g("change"))),b(N,"directive onkeydown() - e.key",t.key),"+"===t.key){b(N,"directive onkeydown() - unformat el.value",e.value);let t=x(e.value,N,"directive onkeydown +");"string"==typeof t&&(t=parseFloat(t)),t<0&&(e.value=String(-1*t))}},e.oninput=()=>{b(N,"directive oninput()",e.value),/^[1-9]$/.test(e.value)&&(e.value=u(e.value,o(N.precision)),b(N,"directive oninput() - is 1-9",e.value)),w(e,"directive oninput")},b(N,"directive mounted() - el.value",e.value),w(e,"directive mounted")}},updated(e,t){t.value&&(N=s({...n,...t.value}),b(N,"directive updated() - el.value",e.value),b(N,"directive updated() - opt",N),w(e,"directive updated"))},beforeUnmount(e){e.onkeydown=null,e.oninput=null,e.onfocus=null}};const S=["id","value","disabled"];const B={inheritAttrs:!1,name:"Money3",directives:{money3:k}},M=t.defineComponent({...B,props:{debug:{required:!1,type:Boolean,default:!1},id:{required:!1,type:[Number,String],default:()=>{const e=t.getCurrentInstance();return e?e.uid:null}},modelValue:{required:!0,type:[Number,String]},modelModifiers:{required:!1,type:Object,default:()=>({number:!1})},masked:{type:Boolean,default:!1},precision:{type:Number,default:()=>n.precision},decimal:{type:String,default:()=>n.decimal,validator:e=>l(e,"decimal")},thousands:{type:String,default:()=>n.thousands,validator:e=>l(e,"thousands")},prefix:{type:String,default:()=>n.prefix,validator:e=>l(e,"prefix")},suffix:{type:String,default:()=>n.suffix,validator:e=>l(e,"suffix")},disableNegative:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},max:{type:[Number,String],default:()=>n.max},min:{type:[Number,String],default:()=>n.min},allowBlank:{type:Boolean,default:()=>n.allowBlank},minimumNumberOfCharacters:{type:Number,default:()=>n.minimumNumberOfCharacters},shouldRound:{type:Boolean,default:()=>n.shouldRound}},emits:["update:model-value"],setup:function(e,{emit:n}){const i=e,{modelValue:r,modelModifiers:u,masked:a,precision:l,shouldRound:d}=t.toRefs(i);b(i,"component setup()",i);let c=r.value;u.value&&u.value.number&&(c=d.value?Number(r.value).toFixed(o(l.value)):Number(r.value).toFixed(o(l.value)+1).slice(0,-1));const m=t.ref(y(c,i,"component setup"));b(i,"component setup() - data.formattedValue",m.value),t.watch(r,(function(e){b(i,"component watch() -> value",e);const t=y(e,s({...i}),"component watch");t!==m.value&&(b(i,"component watch() changed -> formatted",t),m.value=t)}));let f=null;function p(e){let t;b(i,"component change() -> evt.target.value",e.target.value),t=a.value&&!u.value.number?e.target.value:x(e.target.value,s({...i}),"component change"),t!==f&&(f=t,b(i,"component change() -> update:model-value",t),n("update:model-value",t))}const v=t.useAttrs(),g=t.computed((()=>{const e={...v};return delete e["onUpdate:modelValue"],e}));return(e,n)=>{const r=t.resolveDirective("money3");return t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({id:i.id},t.unref(g),{type:"tel",class:"v-money3",value:m.value,disabled:i.disabled,onChange:p}),null,16,S)),[[r,{precision:t.unref(l),decimal:i.decimal,thousands:i.thousands,prefix:i.prefix,suffix:i.suffix,disableNegative:i.disableNegative,min:i.min,max:i.max,allowBlank:i.allowBlank,minimumNumberOfCharacters:i.minimumNumberOfCharacters,debug:i.debug,modelModifiers:t.unref(u),shouldRound:t.unref(d)}]])}}});var $={install(e){e.component("money3",M),e.directive("money3",k)}};e.BigNumber=h,e.Money=M,e.Money3=M,e.Money3Component=M,e.Money3Directive=k,e.VMoney=k,e.VMoney3=k,e.default=$,e.format=y,e.unformat=x,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "v-money3",
3
- "version": "3.19.1",
3
+ "version": "3.20.0",
4
4
  "description": "Vue3 currency input/directive mask",
5
5
  "main": "./dist/v-money3.umd.js",
6
6
  "module": "./dist/v-money3.es.js",
@@ -11,7 +11,7 @@
11
11
  }
12
12
  },
13
13
  "scripts": {
14
- "lint": "./node_modules/node/bin/node ./node_modules/eslint/bin/eslint.js --ext .js,.vue ./",
14
+ "lint": "./node_modules/node/bin/node ./node_modules/eslint/bin/eslint.js --ext .ts,.vue ./src",
15
15
  "serve": "./node_modules/node/bin/node ./node_modules/vite/bin/vite.js --host=localhost --port=3000 --open --force",
16
16
  "build": "./node_modules/node/bin/node ./node_modules/vite/bin/vite.js build",
17
17
  "test": "./node_modules/node/bin/node ./node_modules/jest/bin/jest.js",
@@ -44,24 +44,27 @@
44
44
  },
45
45
  "devDependencies": {
46
46
  "@babel/plugin-transform-runtime": "^7.15.0",
47
- "@babel/preset-env": "^7.15.4",
48
- "@types/jest": "27.0.1",
47
+ "@babel/preset-env": "^7.15.6",
48
+ "@types/jest": "27.0.2",
49
49
  "@types/jest-environment-puppeteer": "4.4.1",
50
50
  "@types/puppeteer": "5.4.4",
51
- "@vitejs/plugin-vue": "^1.6.1",
52
- "@vue/compiler-sfc": "^3.2.9",
53
- "@vue/test-utils": "^2.0.0-rc.14",
51
+ "@typescript-eslint/eslint-plugin": "^4.31.2",
52
+ "@typescript-eslint/parser": "^4.31.2",
53
+ "@vitejs/plugin-vue": "^1.9.2",
54
+ "@vue/compiler-sfc": "^3.2.19",
55
+ "@vue/test-utils": "^2.0.0-rc.15",
54
56
  "babel-jest": "^26.6.3",
55
57
  "eslint": "^7.32.0",
56
58
  "eslint-config-airbnb-base": "^14.2.1",
59
+ "eslint-config-airbnb-typescript": "^14.0.0",
57
60
  "eslint-plugin-import": "^2.24.2",
58
- "eslint-plugin-vue": "^7.17.0",
61
+ "eslint-plugin-vue": "^7.18.0",
59
62
  "jest": "^26.6.3",
60
63
  "jest-puppeteer": "^5.0.4",
61
- "node": "^16.6.1",
64
+ "node": "^16.9.1",
62
65
  "ts-jest": "^26.5.6",
63
- "vite": "^2.5.4",
64
- "vue": "^3.2.9",
66
+ "vite": "^2.5.10",
67
+ "vue": "^3.2.19",
65
68
  "vue-jest": "^5.0.0-alpha.10"
66
69
  }
67
70
  }