PageSourceSearch

https://mpbank.online/assets/DefaultCurrencyInput.47c8d7f8.js

js mpbank.online collected 2026-10-04 09:32:23 UTC 15,105 bytes, 5 lines download raw bytes

1import{Q as R}from"./QField.bfc2dbe6.js";import{F as V,x as P,G as $,J as A,cm as L,e as T,cn as w,co as G,_ as k,o as z,h as W,cp as j,aj as B,w as I,bE as X,i as U,ak as q}from"./index.d827dd3f.js";/**
2 * Vue Currency Input 3.2.1
3 * (c) 2018-2025 Matthias Stiller
4 * @license MIT
5 */var y;(function(n){n.symbol="symbol",n.narrowSymbol="narrowSymbol",n.code="code",n.name="name",n.hidden="hidden"})(y||(y={}));var p;(function(n){n.precision="precision",n.thousands="thousands",n.tenThousands="tenThousands",n.millions="millions",n.billions="billions"})(p||(p={}));const x=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),N=n=>n.replace(/^0+(0$|[^0])/,"$1"),_=(n,i)=>(n.match(new RegExp(x(i),"g"))||[]).length,Q=(n,i)=>n.substring(0,n.indexOf(i)),C=[",",".","\u066B","\u3002"],O="(0|[1-9]\\d*)";class J{constructor(i){var t,e,s,m,r,u;const{currency:c,currencyDisplay:g,locale:o,precision:a,accountingSign:h,useGrouping:f}=i;this.locale=o,this.options={currency:c,useGrouping:f,style:"currency",currencySign:h?"accounting":void 0,currencyDisplay:g!==y.hidden?g:void 0};const d=new Intl.NumberFormat(o,this.options),v=d.formatToParts(123456);this.currency=(t=v.find(({type:l})=>l==="currency"))===null||t===void 0?void 0:t.value,this.digits=[0,1,2,3,4,5,6,7,8,9].map(l=>l.toLocaleString(o)),this.decimalSymbol=(e=v.find(({type:l})=>l==="decimal"))===null||e===void 0?void 0:e.value,this.groupingSymbol=(s=v.find(({type:l})=>l==="group"))===null||s===void 0?void 0:s.value,this.minusSign=(m=d.formatToParts(-1).find(({type:l})=>l==="minusSign"))===null||m===void 0?void 0:m.value,this.decimalSymbol===void 0?this.minimumFractionDigits=this.maximumFractionDigits=0:typeof a=="number"?this.minimumFractionDigits=this.maximumFractionDigits=a:(this.minimumFractionDigits=(r=a==null?void 0:a.min)!==null&&r!==void 0?r:d.resolvedOptions().minimumFractionDigits,this.maximumFractionDigits=(u=a==null?void 0:a.max)!==null&&u!==void 0?u:d.resolvedOptions().maximumFractionDigits);const b=l=>Q(l,this.digits[1]),S=l=>l.substring(l.lastIndexOf(this.decimalSymbol?this.digits[0]:this.digits[1])+1);this.prefix=b(d.format(1)),this.suffix=S(d.format(1)),this.negativePrefix=b(d.format(-1)),this.negativeSuffix=S(d.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*))?`:"",s=this.stripGroupingSeparator(i).match(new RegExp(`^${O}${e}$`));if(s&&this.isValidIntegerFormat(this.decimalSymbol?i.split(this.decimalSymbol)[0]:i,Number(s[1])))return Number(`${t?"-":""}${this.onlyDigits(s[1])}.${this.onlyDigits(s[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.substring(1)).substring(0,this.maximumFractionDigits)}`}isFractionIncomplete(i){return!!this.normalizeDigits(this.stripGroupingSeparator(i)).match(new RegExp(`^${O}${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,"")}
5normalizeDecimalSeparator(i,t){return C.forEach(e=>{i=i.substring(0,t)+i.substring(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"),"")}}class M{constructor(i){this.currencyFormat=i}}class Z extends M{conformToMask(i,t=""){const e=this.currencyFormat.isNegative(i),s=d=>d===""&&e&&!(this.currencyFormat.minusSign===void 0?t===this.currencyFormat.negativePrefix+this.currencyFormat.negativeSuffix:t===this.currencyFormat.negativePrefix),m=d=>{if(s(d))return"";if(this.currencyFormat.maximumFractionDigits>0){if(this.currencyFormat.isFractionIncomplete(d))return d;if(d.startsWith(this.currencyFormat.decimalSymbol))return this.currencyFormat.toFraction(d)}return null};let r=i;r=this.currencyFormat.stripCurrency(r,e),r=this.currencyFormat.stripSignLiterals(r);const u=m(r);if(u!=null)return this.currencyFormat.insertCurrency(u,e);const[c,...g]=r.split(this.currencyFormat.decimalSymbol),o=N(this.currencyFormat.onlyDigits(c)),a=this.currencyFormat.onlyDigits(g.join("")).substring(0,this.currencyFormat.maximumFractionDigits),h=g.length>0&&a.length===0,f=o===""&&e&&(this.currencyFormat.minusSign===void 0?t===i.slice(0,-2)+this.currencyFormat.negativeSuffix:t===i.slice(0,-1));return h||f||s(o)?t:o.match(/\d+/)?{numberValue:Number(`${e?"-":""}${o}.${a}`),fractionDigits:a}:""}}class H extends M{conformToMask(i,t=""){if(i===""||this.currencyFormat.parse(t)===0&&this.currencyFormat.stripCurrency(t,!0).slice(0,-1)===this.currencyFormat.stripCurrency(i,!0))return"";const e=this.currencyFormat.isNegative(i),s=this.currencyFormat.stripSignLiterals(i)===""?-0:Number(`${e?"-":""}${N(this.currencyFormat.onlyDigits(i))}`)/Math.pow(10,this.currencyFormat.maximumFractionDigits);return{numberValue:s,fractionDigits:s.toFixed(this.currencyFormat.maximumFractionDigits).slice(-this.currencyFormat.maximumFractionDigits)}}}const K={locale:void 0,currency:void 0,currencyDisplay:void 0,hideGroupingSeparatorOnFocus:!0,hideCurrencySymbolOnFocus:!0,hideNegligibleDecimalDigitsOnFocus:!0,precision:void 0,autoDecimalDigits:!1,valueRange:void 0,useGrouping:void 0,valueScaling:void 0};class Y{constructor(i){this.el=i.el,this.onInput=i.onInput,this.onChange=i.onChange,this.addEventListener(),this.init(i.options)}setOptions(i){this.init(i),this.format(this.currencyFormat.format(this.validateValueRange(this.numberValue))),this.onChange(this.getValue())}getValue(){return{number:this.valueScaling&&this.numberValue!=null?this.toInteger(this.numberValue,this.valueScaling):this.numberValue,formatted:this.formattedValue}}setValue(i){const t=this.valueScaling!==void 0&&i!=null?this.toFloat(i,this.valueScaling):i;t!==this.numberValue&&(this.format(this.currencyFormat.format(this.validateValueRange(t))),this.onChange(this.getValue()))}init(i){this.options={...K,...i},this.options.autoDecimalDigits&&(this.options.hideNegligibleDecimalDigitsOnFocus=!1),this.el.getAttribute("inputmode")||this.el.setAttribute("inputmode",this.options.autoDecimalDigits?"numeric":"decimal"),this.currencyFormat=new J(this.options),this.numberMask=this.options.autoDecimalDigits?new H(this.currencyFormat):new Z(this.currencyFormat);const t={[p.precision]:this.currencyFormat.maximumFractionDigits,[p.thousands]:3,[p.tenThousands]:4,[p.millions]:6,[p.billions]:9};this.valueScaling=this.options.valueScaling?t[this.options.valueScaling]:void 0,this.valueScalingFractionDigits=this.valueScaling!==void 0&&this.options.valueScaling!==p.precision?this.valueScaling+this.currencyFormat.maximumFractionDigits:this.currencyFormat.maximumFractionDigits,this.minValue=this.getMinValue(),this.maxValue=this.getMaxValue()}getMinValue(){var i,t;let e=this.toFloat(-Number.MAX_SAFE_INTEGER);return((i=this.options.valueRange)===null||i===void 0?void 0:i.min)!==void 0&&(e=Math.max((t=this.options.valueRange)===null||t===void 0?void 0:t.min,this.toFloat(-Number.MAX_SAFE_INTEGER))),e}getMaxValue(){var i,t;
5let e=this.toFloat(Number.MAX_SAFE_INTEGER);return((i=this.options.valueRange)===null||i===void 0?void 0:i.max)!==void 0&&(e=Math.min((t=this.options.valueRange)===null||t===void 0?void 0:t.max,this.toFloat(Number.MAX_SAFE_INTEGER))),e}toFloat(i,t){return i/Math.pow(10,t!=null?t:this.valueScalingFractionDigits)}toInteger(i,t){return Number(i.toFixed(t!=null?t:this.valueScalingFractionDigits).split(".").join(""))}validateValueRange(i){return i!=null?Math.min(Math.max(i,this.minValue),this.maxValue):i}format(i,t=!1){if(i!=null){this.decimalSymbolInsertedAt!==void 0&&(i=this.currencyFormat.normalizeDecimalSeparator(i,this.decimalSymbolInsertedAt),this.decimalSymbolInsertedAt=void 0);const e=this.numberMask.conformToMask(i,this.formattedValue);let s;if(typeof e=="object"){const{numberValue:m,fractionDigits:r}=e;let{maximumFractionDigits:u,minimumFractionDigits:c}=this.currencyFormat;this.focus?c=t?r.replace(/0+$/,"").length:Math.min(u,r.length):Number.isInteger(m)&&!this.options.autoDecimalDigits&&(this.options.precision===void 0||c===0)&&(c=u=0),s=this.toInteger(Math.abs(m))>Number.MAX_SAFE_INTEGER?this.formattedValue:this.currencyFormat.format(m,{useGrouping:this.options.useGrouping!==!1&&!(this.focus&&this.options.hideGroupingSeparatorOnFocus),minimumFractionDigits:c,maximumFractionDigits:u})}else s=e;this.maxValue<=0&&!this.currencyFormat.isNegative(s)&&this.currencyFormat.parse(s)!==0&&(s=s.replace(this.currencyFormat.prefix,this.currencyFormat.negativePrefix)),this.minValue>=0&&(s=s.replace(this.currencyFormat.negativePrefix,this.currencyFormat.prefix)),(this.options.currencyDisplay===y.hidden||this.focus&&this.options.hideCurrencySymbolOnFocus)&&(s=s.replace(this.currencyFormat.negativePrefix,this.currencyFormat.minusSign!==void 0?this.currencyFormat.minusSign:"(").replace(this.currencyFormat.negativeSuffix,this.currencyFormat.minusSign!==void 0?"":")").replace(this.currencyFormat.prefix,"").replace(this.currencyFormat.suffix,"")),this.el.value=s,this.numberValue=this.currencyFormat.parse(s)}else this.el.value="",this.numberValue=null;this.formattedValue=this.el.value,this.onInput(this.getValue())}addEventListener(){this.el.addEventListener("input",i=>{const{value:t,selectionStart:e}=this.el,s=i;if(e&&s.data&&C.includes(s.data)&&(this.decimalSymbolInsertedAt=e-1),this.format(t),this.focus&&e!=null){const m=()=>
5{const{prefix:r,suffix:u,decimalSymbol:c,maximumFractionDigits:g,groupingSymbol:o}=this.currencyFormat;let a=t.length-e;const h=this.formattedValue.length;if(this.currencyFormat.minusSign===void 0&&(t.startsWith("(")||t.startsWith("-"))&&!t.endsWith(")"))return h-this.currencyFormat.negativeSuffix.length>1?this.formattedValue.substring(e).length:1;if(this.formattedValue.substring(e,1)===o&&_(this.formattedValue,o)===_(t,o)+1)return h-a-1;if(h<a)return e;if(c!==void 0&&t.indexOf(c)!==-1){const f=t.indexOf(c)+1;if(Math.abs(h-t.length)>1&&e<=f)return this.formattedValue.indexOf(c)+1;!this.options.autoDecimalDigits&&e>f&&this.currencyFormat.onlyDigits(t.substring(f)).length-1===g&&(a-=1)}return this.options.hideCurrencySymbolOnFocus||this.options.currencyDisplay===y.hidden?h-a:Math.max(h-Math.max(a,u.length),r.length)};this.setCaretPosition(m())}}),this.el.addEventListener("focus",()=>{this.focus=!0,this.numberValueOnFocus=this.numberValue,setTimeout(()=>{const{value:i,selectionStart:t,selectionEnd:e}=this.el;if(this.format(i,this.options.hideNegligibleDecimalDigitsOnFocus),t!=null&&e!=null&&Math.abs(t-e)>0)this.setCaretPosition(0,this.el.value.length);else if(t!=null){const s=this.getCaretPositionOnFocus(i,t);this.setCaretPosition(s)}})}),this.el.addEventListener("blur",()=>{this.focus=!1,this.format(this.currencyFormat.format(this.validateValueRange(this.numberValue))),this.numberValueOnFocus!==this.numberValue&&this.onChange(this.getValue())})}getCaretPositionOnFocus(i,t){if(this.numberValue==null)return t;const{prefix:e,negativePrefix:s,suffix:m,negativeSuffix:r,groupingSymbol:u,currency:c}=this.currencyFormat,g=this.numberValue<0,o=g?s:e,a=o.length;if(this.options.hideCurrencySymbolOnFocus||this.options.currencyDisplay===y.hidden){if(g){if(t<=1)return 1;if(i.endsWith(")")&&t>i.indexOf(")"))return this.formattedValue.length-1}}else{const f=g?r.length:m.length;if(t>=i.length-f)return this.formattedValue.length-f;if(t<a)return a}let h=t;return this.options.hideCurrencySymbolOnFocus&&this.options.currencyDisplay!==y.hidden&&t>=a&&c!==void 0&&o.includes(c)&&(h-=a,g&&(h+=1)),this.options.hideGroupingSeparatorOnFocus&&u!==void 0&&(h-=_(i.substring(0,t),u)),h}setCaretPosition(i,t=i){this.el.setSelectionRange(i,t)}}const ii=n=>n!=null&&n.matches("input")?n:n==null?void 0:n.querySelector("input");function ti(n,i){var t,e,s,m;let r;const u=V(null),c=V(null),g=V(null),o=A(),a=(o==null?void 0:o.emit)||((e=(t=o==null?void 0:o.proxy)===null||t===void 0?void 0:t.$emit)===null||e===void 0?void 0:e.bind(o==null?void 0:o.proxy)),h=(o==null?void 0:o.props)||((s=o==null?void 0:o.proxy)===null||s===void 0?void 0:s.$props),f=L.startsWith("3"),d=f&&((m=o==null?void 0:o.attrs.modelModifiers)===null||m===void 0?void 0:m.lazy),v=P(()=>h==null?void 0:h[f?"modelValue":"value"]),b=f?"update:modelValue":"input",S=d?"update:modelValue":"change";return $(u,l=>{var D;if(l){const E=ii((D=l==null?void 0:l.$el)!==null&&D!==void 0?D:l);E?(r=new Y({el:E,options:n,onInput:F=>{!d&&i!==!1&&v.value!==F.number&&(a==null||a(b,F.number)),g.value=F.number,c.value=F.formatted},onChange:F=>{i!==!1&&(a==null||a(S,F.number))}}),r.setValue(v.value)):console.error('No input element found. Please make sure that the "inputRef" template ref is properly assigned.')}else r=null}),{inputRef:u,numberValue:g,formattedValue:c,setValue:l=>r==null?void 0:r.setValue(l),setOptions:l=>r==null?void 0:r.setOptions(l)}}const ei={locale:"ru",currency:"RUB",hideCurrencySymbolOnFocus:!1,hideGroupingSeparatorOnFocus:!1,hideNegligibleDecimalDigitsOnFocus:!1,valueRange:{min:0}},ni=T({name:"DefaultCurrencyInput",emits:["update:modelValue","change"],props:{modelValue:{type:[Number,String],default:null},options:{type:Object,default:()=>({})}},setup(n){const{inputRef:i,numberValue:t,setValue:e}=ti({...ei,...n.options});$(()=>n.modelValue,g=>{+g!==t.value&&e(+g)},{immediate:!0});const s=w(),{placeholder:m,"input-class":r,...u}=s,c=G();return{inputRef:i,placeholder:m,slots:c,inputClass:r,fieldAttrs:u}}}),si=["id","disabled","placeholder"];function ri(n,i,t,e,s,m){return z(),W(R,{"model-value":n.modelValue,"onUpdate:modelValue":i[0]||(i[0]=r=>n.$emit("update:modelValue",r)),"data-cy":"currency-input"},j({control:I(({id:r,editable:u})=>[U("input",{ref:"inputRef",id:r,inputmode:"numeric",class:q(["q-field__input default-currency-input__control",n.inputClass]),disabled:!u,placeholder:n.placeholder},null,10,si)]),_:2},[B(n.slots,(r,u,c)=>({name:u,fn:I(()=>[X(n.$slots,u)])}))]),1032,["model-value"])}var ui=k(ni,[["render",ri]]);export{ui as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.