Files
Hackathon_2025/ready/public/assets/QInput-CHJgTrNd.js
2025-09-14 19:34:53 +02:00

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