6 lines
13 KiB
JavaScript
6 lines
13 KiB
JavaScript
|
|
import{a as V,Q as P,c as R,w as _,bZ as A}from"./index-3a2b6cd5.js";/**
|
|||
|
|
* Vue Currency Input 3.0.5
|
|||
|
|
* (c) 2018-2023 Matthias Stiller
|
|||
|
|
* @license MIT
|
|||
|
|
*/var y;(function(s){s.symbol="symbol",s.narrowSymbol="narrowSymbol",s.code="code",s.name="name",s.hidden="hidden"})(y||(y={}));var p;(function(s){s.precision="precision",s.thousands="thousands",s.millions="millions",s.billions="billions"})(p||(p={}));const x=s=>s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),N=s=>s.replace(/^0+(0$|[^0])/,"$1"),E=(s,i)=>(s.match(new RegExp(x(i),"g"))||[]).length,C=(s,i)=>s.substring(0,s.indexOf(i)),O=[",",".","٫"],M="(0|[1-9]\\d*)";class L{constructor(i){var t,e,n,d,a,h;const{currency:l,currencyDisplay:g,locale:r,precision:o,accountingSign:c,useGrouping:f}=i;this.locale=r,this.options={currency:l,useGrouping:f,style:"currency",currencySign:c?"accounting":void 0,currencyDisplay:g!==y.hidden?g:void 0};const m=new Intl.NumberFormat(r,this.options),v=m.formatToParts(123456);this.currency=(t=v.find(({type:u})=>u==="currency"))===null||t===void 0?void 0:t.value,this.digits=[0,1,2,3,4,5,6,7,8,9].map(u=>u.toLocaleString(r)),this.decimalSymbol=(e=v.find(({type:u})=>u==="decimal"))===null||e===void 0?void 0:e.value,this.groupingSymbol=(n=v.find(({type:u})=>u==="group"))===null||n===void 0?void 0:n.value,this.minusSign=(d=m.formatToParts(-1).find(({type:u})=>u==="minusSign"))===null||d===void 0?void 0:d.value,this.decimalSymbol===void 0?this.minimumFractionDigits=this.maximumFractionDigits=0:typeof o=="number"?this.minimumFractionDigits=this.maximumFractionDigits=o:(this.minimumFractionDigits=(a=o?.min)!==null&&a!==void 0?a:m.resolvedOptions().minimumFractionDigits,this.maximumFractionDigits=(h=o?.max)!==null&&h!==void 0?h:m.resolvedOptions().maximumFractionDigits);const b=u=>C(u,this.digits[1]),S=u=>u.substring(u.lastIndexOf(this.decimalSymbol?this.digits[0]:this.digits[1])+1);this.prefix=b(m.format(1)),this.suffix=S(m.format(1)),this.negativePrefix=b(m.format(-1)),this.negativeSuffix=S(m.format(-1))}parse(i){if(i){const t=this.isNegative(i);i=this.normalizeDigits(i),i=this.stripCurrency(i,t),i=this.stripSignLiterals(i);const e=this.decimalSymbol?`(?:${x(this.decimalSymbol)}(\\d*))?`:"",n=this.stripGroupingSeparator(i).match(new RegExp(`^${M}${e}$`));if(n&&this.isValidIntegerFormat(this.decimalSymbol?i.split(this.decimalSymbol)[0]:i,Number(n[1])))return+`${t?"-":""}${this.onlyDigits(n[1])}.${this.onlyDigits(n[2]||"")}`}return null}isValidIntegerFormat(i,t){const e={...this.options,minimumFractionDigits:0};return[this.stripCurrency(this.normalizeDigits(t.toLocaleString(this.locale,{...e,useGrouping:!0})),!1),this.stripCurrency(this.normalizeDigits(t.toLocaleString(this.locale,{...e,useGrouping:!1})),!1)].includes(i)}format(i,t={minimumFractionDigits:this.minimumFractionDigits,maximumFractionDigits:this.maximumFractionDigits}){return i!=null?i.toLocaleString(this.locale,{...this.options,...t}):""}toFraction(i){return`${this.digits[0]}${this.decimalSymbol}${this.onlyLocaleDigits(i.substr(1)).substr(0,this.maximumFractionDigits)}`}isFractionIncomplete(i){return!!this.normalizeDigits(this.stripGroupingSeparator(i)).match(new RegExp(`^${M}${x(this.decimalSymbol)}$`))}isNegative(i){return i.startsWith(this.negativePrefix)||this.minusSign===void 0&&(i.startsWith("(")||i.startsWith("-"))||this.minusSign!==void 0&&i.replace("-",this.minusSign).startsWith(this.minusSign)}insertCurrency(i,t){return`${t?this.negativePrefix:this.prefix}${i}${t?this.negativeSuffix:this.suffix}`}stripGroupingSeparator(i){return this.groupingSymbol!==void 0?i.replace(new RegExp(x(this.groupingSymbol),"g"),""):i}stripSignLiterals(i){return this.minusSign!==void 0?i.replace("-",this.minusSign).replace(this.minusSign,""):i.replace(/[-()]/g,"")}stripCurrency(i,t){return i.replace(t?this.negativePrefix:this.prefix,"").replace(t?this.negativeSuffix:this.suffix,"")}normalizeDecimalSeparator(i,t){return O.forEach(e=>{i=i.substr(0,t)+i.substr(t).replace(e,this.decimalSymbol)}),i}normalizeDigits(i){return this.digits[0]!=="0"&&this.digits.forEach((t,e)=>{i=i.replace(new RegExp(t,"g"),String(e))}),i}onlyDigits(i){return this.normalizeDigits(i).replace(/\D+/g,"")}onlyLocaleDigits(i){return i.replace(new RegExp(`[^${this.digits.join("")}]*`,"g"),""
|