go-quasar-partial-ssr/backend/internal/http/static/spa/assets/QInput-CEazYqyH.js

2 lines
12 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{u as le,a as ie,b as re,c as oe,f as X,d as ue,e as se,g as fe,h as ce}from"./use-key-composition-TTwP9QMZ.js";import{q as W,z as N,P as B,p as R,a1 as de,s as ge,A as me,Q as ve,x as he,y as Q,a2 as ke,J}from"./index-QUdrNkKl.js";const p={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},{tokenMap:ee,tokenKeys:Me}=ne({"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}});function ne(e){const y=Object.keys(e),O={};return y.forEach(x=>{const f=e[x];O[x]={...f,regex:new RegExp(f.pattern)}}),{tokenMap:O,tokenKeys:y}}function ae(e){return new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+e.join("")+"])|(.)","g")}const te=/[.*+?^${}()|[\]\\]/g,xe=ae(Me),v="",ye={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean,maskTokens:Object};function we(e,y,O,x){let f,m,A,S,_,k;const T=R(()=>{if(e.maskTokens===void 0||e.maskTokens===null)return{tokenMap:ee,tokenRegexMask:xe};const{tokenMap:a}=ne(e.maskTokens),n={...ee,...a};return{tokenMap:n,tokenRegexMask:ae(Object.keys(n))}}),g=W(null),V=W(Z());function b(){return e.autogrow===!0||["textarea","text","search","url","tel","password"].includes(e.type)}N(()=>e.type+e.autogrow,j),N(()=>e.mask,a=>{if(a!==void 0)z(V.value,!0);else{const n=I(V.value);j(),e.modelValue!==n&&y("update:modelValue",n)}}),N(()=>e.fillMask+e.reverseFillMask,()=>{g.value===!0&&z(V.value,!0)}),N(()=>e.unmaskedValue,()=>{g.value===!0&&z(V.value)});function Z(){if(j(),g.value===!0){const a=E(I(e.modelValue));return e.fillMask!==!1?H(a):a}return e.modelValue}function q(a){if(a<f.length)return f.slice(-a);let n="",i=f;const l=i.indexOf(v);if(l!==-1){for(let o=a-i.length;o>0;o--)n+=v;i=i.slice(0,l)+n+i.slice(l)}return i}function j(){if(g.value=e.mask!==void 0&&e.mask.length!==0&&b(),g.value===!1){S=void 0,f="",m="";return}const a=p[e.mask]===void 0?e.mask:p[e.mask],n=typeof e.fillMask=="string"&&e.fillMask.length!==0?e.fillMask.slice(0,1):"_",i=n.replace(te,"\\$&"),l=[],o=[],u=[];let h=e.reverseFillMask===!0,r="",s="";a.replace(T.value.tokenRegexMask,(t,c,C,F,L)=>{if(F!==void 0){const M=T.value.tokenMap[F];u.push(M),s=M.negate,h===!0&&(o.push("(?:"+s+"+)?("+M.pattern+"+)?(?:"+s+"+)?("+M.pattern+"+)?"),h=!1),o.push("(?:"+s+"+)?("+M.pattern+")?")}else if(C!==void 0)r="\\"+(C==="\\"?"":C),u.push(C),l.push("([^"+r+"]+)?"+r+"?");else{const M=c!==void 0?c:L;r=M==="\\"?"\\\\\\\\":M.replace(te,"\\\\$&"),u.push(M),l.push("([^"+r+"]+)?"+r+"?")}});const P=new RegExp("^"+l.join("")+"("+(r===""?".":"[^"+r+"]")+"+)?"+(r===""?"":"["+r+"]*")+"$"),K=o.length-1,d=o.map((t,c)=>c===0&&e.reverseFillMask===!0?new RegExp("^"+i+"*"+t):c===K?new RegExp("^"+t+"("+(s===""?".":s)+"+)?"+(e.reverseFillMask===!0?"$":i+"*")):new RegExp("^"+t));A=u,S=t=>{const c=P.exec(e.reverseFillMask===!0?t:t.slice(0,u.length+1));c!==null&&(t=c.slice(1).join(""));const C=[],F=d.length;for(let L=0,M=t;L<F;L++){const G=d[L].exec(M);if(G===null)break;M=M.slice(G.shift().length),C.push(...G)}return C.length!==0?C.join(""):t},f=u.map(t=>typeof t=="string"?t:v).join(""),m=f.split(v).join(n)}function z(a,n,i){const l=x.value,o=l.selectionEnd,u=l.value.length-o,h=I(a);n===!0&&j();const r=E(h,n),s=e.fillMask!==!1?H(r):r,P=V.value!==s;l.value!==s&&(l.value=s),P===!0&&(V.value=s),document.activeElement===l&&B(()=>{if(s===m){const d=e.reverseFillMask===!0?m.length:0;l.setSelectionRange(d,d,"forward");return}if(i==="insertFromPaste"&&e.reverseFillMask!==!0){const d=l.selectionEnd;let t=o-1;for(let c=_;c<=t&&c<d;c++)f[c]!==v&&t++;w.right(l,t);return}if(["deleteContentBackward","deleteContentForward"].indexOf(i)!==-1){const d=e.reverseFillMask===!0?o===0?s.length>r.length?1:0:Math.max(0,s.length-(s===m?0:Math.min(r.length,u)+1))+1:o;l.setSelectionRange(d,d,"forward");return}if(e.reverseFillMask===!0)if(P===!0){const d=Math.max(0,s.length-(s===m?0:Math.min(r.length,u+1)));d===1&&o===1?l.setSelectionRange(d,d,"forward"):w.rightReverse(l,d)}else{const d=s.length-u;l.setSelectionRange(d,d,"backward")}else if(P===!0){const d=Math.max(0,f.indexOf(v),Math.min(r.length,o)-1);w.right(l,d)}else{const d=o-1;w.right(l,d)}});const K=e.unmaskedValue===!0?I(s):s;String(e.modelValue)!==K&&(e.modelValue!==null||K!=="")&&O(K,!0)}function Y(a,n,i){const l=E(I(a.value));n=Math.max(0,f.indexOf(v),Math.min(l.length,n)),_=n,a.setSelectionRange(n,i,"forward")}const w={left(a,n){const i=f.slice(n-1).indexOf(v)===-1;let l=Math.max(0,n-1);for(;l>=0;l--)if(f[l]===v){n=l,i===!0&&n++;break}if(l<0&&f[n]!==void 0&&f[n]!==v)return w.right(a,0);n>=0&&a.setSelectionRange(n,n,"backward")},right(a,n){const i=a.value.length;let l=Math.min(i,n+1);for(;l<=i;l++)if(f[l]===v){n=l;break}else f[l-1]===v&&(n=l);if(l>i&&f[n-1]!==void 0&&f[n-1]!==v)return w.left(a,i);a.setSelectionRange(n,n,"forward")},leftReverse(a,n){const i=q(a.value.length);let l=Math.max(0,n-1);for(;l>=0;l--)if(i[l-1]===v){n=l;break}else if(i[l]===v&&(n=l,l===0))break;if(l<0&&i[n]!==void 0&&i[n]!==v)return w.rightReverse(a,0);n>=0&&a.setSelectionRange(n,n,"backward")},rightReverse(a,n){const i=a.value.length,l=q(i),o=l.slice(0,n+1).indexOf(v)===-1;let u=Math.min(i,n+1);for(;u<=i;u++)if(l[u-1]===v){n=u,n>0&&o===!0&&n--;break}if(u>i&&l[n-1]!==void 0&&l[n-1]!==v)return w.leftReverse(a,i);a.setSelectionRange(n,n,"forward")}};function U(a){y("click",a),k=void 0}function $(a){if(y("keydown",a),de(a)===!0||a.altKey===!0)return;const n=x.value,i=n.selectionStart,l=n.selectionEnd;if(a.shiftKey||(k=void 0),a.keyCode===37||a.keyCode===39){a.shiftKey&&k===void 0&&(k=n.selectionDirection==="forward"?i:l);const o=w[(a.keyCode===39?"right":"left")+(e.reverseFillMask===!0?"Reverse":"")];if(a.preventDefault(),o(n,k===i?l:i),a.shiftKey){const u=n.selectionStart;n.setSelectionRange(Math.min(k,u),Math.max(k,u),"forward")}}else a.keyCode===8&&e.reverseFillMask!==!0&&i===l?(w.left(n,i),n.setSelectionRange(n.selectionStart,l,"backward")):a.keyCode===46&&e.reverseFillMask===!0&&i===l&&(w.rightReverse(n,l),n.setSelectionRange(i,n.selectionEnd,"forward"))}function E(a,n){if(a==null||a==="")return"";if(e.reverseFillMask===!0)return D(a,n);const i=A;let l=0,o="";for(let u=0;u<i.length;u++){const h=a[l],r=i[u];if(typeof r=="string")o+=r,n===!0&&h===r&&l++;else if(h!==void 0&&r.regex.test(h))o+=r.transform!==void 0?r.transform(h):h,l++;else return o}return o}function D(a,n){const i=A,l=f.indexOf(v);let o=a.length-1,u="";for(let h=i.length-1;h>=0&&o!==-1;h--){const r=i[h];let s=a[o];if(typeof r=="string")u=r+u,n===!0&&s===r&&o--;else if(s!==void 0&&r.regex.test(s))do u=(r.transform!==void 0?r.transform(s):s)+u,o--,s=a[o];while(l===h&&s!==void 0&&r.regex.test(s));else return u}return u}function I(a){return typeof a!="string"||S===void 0?typeof a=="number"?S(""+a):a:S(a)}function H(a){return m.length-a.length<=0?a:e.reverseFillMask===!0&&a.length!==0?m.slice(0,-a.length)+a:a+m.slice(a.length)}return{innerValue:V,hasMask:g,moveCursorForPaste:Y,updateMaskValue:z,onMaskedKeydown:$,onMaskedClick:U}}function Ce(e,y){function O(){const x=e.modelValue;try{const f="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(x)===x&&("length"in x?Array.from(x):[x]).forEach(m=>{f.items.add(m)}),{files:f.files}}catch{return{files:void 0}}}return R(()=>{if(e.type==="file")return O()})}const Ee=ge({name:"QInput",inheritAttrs:!1,props:{...re,...ye,...ie,modelValue:[String,Number,FileList],shadowText:String,type:{type:String,default:"text"},debounce:[String,Number],autogrow:Boolean,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...le,"paste","change","keydown","click","animationend"],setup(e,{emit:y,attrs:O}){const{proxy:x}=me(),{$q:f}=x,m={};let A=NaN,S,_,k=null,T;const g=W(null),V=ce(e),{innerValue:b,hasMask:Z,moveCursorForPaste:q,updateMaskValue:j,onMaskedKeydown:z,onMaskedClick:Y}=we(e,y,h,g),w=Ce(e),U=R(()=>X(b.value)),$=fe(o),E=oe({changeEvent:!0}),D=R(()=>e.type==="textarea"||e.autogrow===!0),I=R(()=>D.value===!0||["text","search","url","tel","password"].includes(e.type)),H=R(()=>{const t={...E.splitAttrs.listeners.value,onInput:o,onPaste:l,onChange:s,onBlur:P,onFocus:J};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=$,Z.value===!0&&(t.onKeydown=z,t.onClick=Y),e.autogrow===!0&&(t.onAnimationend=u),t}),a=R(()=>{const t={tabindex:0,"data-autofocus":e.autofocus===!0||void 0,rows:e.type==="textarea"?6:void 0,"aria-label":e.label,name:V.value,...E.splitAttrs.attributes.value,id:E.targetUid.value,maxlength:e.maxlength,disabled:e.disable===!0,readonly:e.readonly===!0};return D.value===!1&&(t.type=e.type),e.autogrow===!0&&(t.rows=1),t});N(()=>e.type,()=>{g.value&&(g.value.value=e.modelValue)}),N(()=>e.modelValue,t=>{if(Z.value===!0){if(_===!0&&(_=!1,String(t)===A))return;j(t)}else b.value!==t&&(b.value=t,e.type==="number"&&m.hasOwnProperty("value")===!0&&(S===!0?S=!1:delete m.value));e.autogrow===!0&&B(r)}),N(()=>e.autogrow,t=>{t===!0?B(r):g.value!==null&&O.rows>0&&(g.value.style.height="auto")}),N(()=>e.dense,()=>{e.autogrow===!0&&B(r)});function n(){se(()=>{const t=document.activeElement;g.value!==null&&g.value!==t&&(t===null||t.id!==E.targetUid.value)&&g.value.focus({preventScroll:!0})})}function i(){g.value?.select()}function l(t){if(Z.value===!0&&e.reverseFillMask!==!0){const c=t.target;q(c,c.selectionStart,c.selectionEnd)}y("paste",t)}function o(t){if(!t||!t.target)return;if(e.type==="file"){y("update:modelValue",t.target.files);return}const c=t.target.value;if(t.target.qComposing===!0){m.value=c;return}if(Z.value===!0)j(c,!1,t.inputType);else if(h(c),I.value===!0&&t.target===document.activeElement){const{selectionStart:C,selectionEnd:F}=t.target;C!==void 0&&F!==void 0&&B(()=>{t.target===document.activeElement&&c.indexOf(t.target.value)===0&&t.target.setSelectionRange(C,F)})}e.autogrow===!0&&r()}function u(t){y("animationend",t),r()}function h(t,c){T=()=>{k=null,e.type!=="number"&&m.hasOwnProperty("value")===!0&&delete m.value,e.modelValue!==t&&A!==t&&(A=t,c===!0&&(_=!0),y("update:modelValue",t),B(()=>{A===t&&(A=NaN)})),T=void 0},e.type==="number"&&(S=!0,m.value=t),e.debounce!==void 0?(k!==null&&clearTimeout(k),m.value=t,k=setTimeout(T,e.debounce)):T()}function r(){requestAnimationFrame(()=>{const t=g.value;if(t!==null){const c=t.parentNode.style,{scrollTop:C}=t,{overflowY:F,maxHeight:L}=f.platform.is.firefox===!0?{}:window.getComputedStyle(t),M=F!==void 0&&F!=="scroll";M===!0&&(t.style.overflowY="hidden"),c.marginBottom=t.scrollHeight-1+"px",t.style.height="1px",t.style.height=t.scrollHeight+"px",M===!0&&(t.style.overflowY=parseInt(L,10)<t.scrollHeight?"auto":"hidden"),c.marginBottom="",t.scrollTop=C}})}function s(t){$(t),k!==null&&(clearTimeout(k),k=null),T?.(),y("change",t.target.value)}function P(t){t!==void 0&&J(t),k!==null&&(clearTimeout(k),k=null),T?.(),S=!1,_=!1,delete m.value,e.type!=="file"&&setTimeout(()=>{g.value!==null&&(g.value.value=b.value!==void 0?b.value:"")})}function K(){return m.hasOwnProperty("value")===!0?m.value:b.value!==void 0?b.value:""}ve(()=>{P()}),he(()=>{e.autogrow===!0&&r()}),Object.assign(E,{innerValue:b,fieldClass:R(()=>`q-${D.value===!0?"textarea":"input"}`+(e.autogrow===!0?" q-textarea--autogrow":"")),hasShadow:R(()=>e.type!=="file"&&typeof e.shadowText=="string"&&e.shadowText.length!==0),inputRef:g,emitValue:h,hasValue:U,floatingLabel:R(()=>U.value===!0&&(e.type!=="number"||isNaN(b.value)===!1)||X(e.displayValue)),getControl:()=>Q(D.value===!0?"textarea":"input",{ref:g,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...a.value,...H.value,...e.type!=="file"?{value:K()}:w.value}),getShadowControl:()=>Q("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(D.value===!0?"":" text-no-wrap")},[Q("span",{class:"invisible"},K()),Q("span",e.shadowText)])});const d=ue(E);return Object.assign(x,{focus:n,select:i,getNativeElement:()=>g.value}),ke(x,"nativeEl",()=>g.value),d}});export{Ee as Q};