import{a as he,b as L,e as O,f as ge,g as ke,m as Fe}from"./VTextField-DpXLMPq7.js";import{p as W,f as be,an as we,n as Ie,w as H,u as Ce,as as De,aH as Se,aJ as G,a5 as Ve}from"./vendor-vuetify-rtu3DHX4.js";import{e as m,o as Ae,j as b,k as h,F as V,m as A,n as Be,b as B,t as Pe,I as Re,s as Te}from"./vendor-vue-BiQC5iF7.js";import{I as ze}from"./index-Ceq_468-.js";import{V as $e}from"./VChip-BdtDOEwz.js";function je(){function e(o){var a,n;return[...((a=o.dataTransfer)==null?void 0:a.items)??[]].filter(u=>u.kind==="file").map(u=>u.webkitGetAsEntry()).filter(Boolean).length>0||[...((n=o.dataTransfer)==null?void 0:n.files)??[]].length>0}async function r(o){var n,u;const s=[],a=[...((n=o.dataTransfer)==null?void 0:n.items)??[]].filter(i=>i.kind==="file").map(i=>i.webkitGetAsEntry()).filter(Boolean);if(a.length)for(const i of a){const f=await J(i,K(".",i));s.push(...f.map(y=>y.file))}else s.push(...((u=o.dataTransfer)==null?void 0:u.files)??[]);return s}return{handleDrop:r,hasFilesOrFolders:e}}function J(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((o,s)=>{e.isFile?e.file(n=>o([{file:n,path:r}]),s):e.isDirectory&&e.createReader().readEntries(async n=>{const u=[];for(const i of n)u.push(...await J(i,K(r,i)));o(u)})})}function K(e,r){return r.isDirectory?`${e}/${r.name}`:e}const Ee=W({filterByType:String},"file-accept");function Ne(e){const r=m(()=>e.filterByType?xe(e.filterByType):null);function o(s){if(r.value){const a=s.filter(r.value);return{accepted:a,rejected:s.filter(n=>!a.includes(n))}}return{accepted:s,rejected:[]}}return{filterAccepted:o}}function xe(e){const r=e.split(",").map(n=>n.trim().toLowerCase()),o=r.filter(n=>n.startsWith(".")),s=r.filter(n=>n.endsWith("/*")),a=r.filter(n=>!o.includes(n)&&!s.includes(n));return n=>{var f,y;const u=((f=n.name.split(".").at(-1))==null?void 0:f.toLowerCase())??"",i=((y=n.type.split("/").at(0))==null?void 0:y.toLowerCase())??"";return a.includes(n.type)||o.includes(`.${u}`)||s.includes(`${i}/*`)}}const Me=W({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:e=>typeof e=="boolean"||[1e3,1024].includes(Number(e))},truncateLength:{type:[Number,String],default:22},...Ve(Fe({prependIcon:"$file"}),["direction"]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>H(e).every(r=>r!=null&&typeof r=="object")},...Ee(),...ke({clearable:!0})},"VFileInput"),Je=be()({name:"VFileInput",inheritAttrs:!1,props:Me(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(e,r){let{attrs:o,emit:s,slots:a}=r;const{t:n}=we(),{filterAccepted:u}=Ne(e),i=Ie(e,"modelValue",e.modelValue,t=>H(t),t=>!e.multiple&&Array.isArray(t)?t[0]:t),{isFocused:f,focus:y,blur:U}=he(e),P=m(()=>typeof e.showSize!="boolean"?e.showSize:void 0),R=m(()=>(i.value??[]).reduce((t,l)=>{let{size:d=0}=l;return t+d},0)),T=m(()=>G(R.value,P.value)),w=m(()=>(i.value??[]).map(t=>{const{name:l="",size:d=0}=t,p=ne(l);return e.showSize?`${p} (${G(d,P.value)})`:p})),_=m(()=>{var l;const t=((l=i.value)==null?void 0:l.length)??0;return e.showSize?n(e.counterSizeString,t,T.value):n(e.counterString,t)}),z=B(),$=B(),c=B(),q=Pe(()=>f.value||e.active),j=m(()=>["plain","underlined"].includes(e.variant)),k=Te(!1),{handleDrop:Q,hasFilesOrFolders:X}=je();function I(){var t;c.value!==document.activeElement&&((t=c.value)==null||t.focus()),f.value||y()}function Y(t){var l;(l=c.value)==null||l.click()}function Z(t){s("mousedown:control",t)}function ee(t){var l;(l=c.value)==null||l.click(),s("click:control",t)}function te(t){t.stopPropagation(),I(),Re(()=>{i.value=[],Se(e["onClick:clear"],t)})}function ne(t){if(t.length{(!Array.isArray(t)||!t.length)&&c.value&&(c.value.value="")}),Ce(()=>{const t=!!(a.counter||e.counter),l=!!(t||a.details),[d,p]=De(o),{modelValue:C,...D}=L.filterProps(e),oe={...O.filterProps(e),"onClick:clear":te},se=o.webkitdirectory!==void 0&&o.webkitdirectory!==!1,ue=o.accept?String(o.accept):void 0,ce=se?void 0:e.filterByType??ue;return b(L,A({ref:z,modelValue:e.multiple?i.value:i.value[0],class:["v-file-input",{"v-file-input--chips":!!e.chips,"v-file-input--dragging":k.value,"v-file-input--hide":e.hideInput,"v-input--plain-underlined":j.value},e.class],style:e.style,"onClick:prepend":Y},d,D,{centerAffix:!j.value,focused:f.value}),{...a,default:S=>{let{id:F,isDisabled:g,isDirty:N,isReadonly:x,isValid:fe,hasDetails:de}=S;return b(O,A({ref:$,prependIcon:e.prependIcon,onMousedown:Z,onClick:ee,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},oe,{id:F.value,active:q.value||N.value,dirty:N.value||e.dirty,disabled:g.value,focused:f.value,details:de.value,error:fe.value===!1,onDragover:le,onDrop:ie}),{...a,default:pe=>{var M;let{props:{class:ve,...me},controlRef:ye}=pe;return h(V,null,[h("input",A({ref:v=>c.value=ye.value=v,type:"file",accept:ce,readonly:x.value,disabled:g.value,multiple:e.multiple,name:e.name,onClick:v=>{v.stopPropagation(),x.value&&v.preventDefault(),I()},onChange:re,onDragleave:ae,onFocus:I,onBlur:U},me,p),null),h("div",{class:Be(ve)},[!!((M=i.value)!=null&&M.length)&&!e.hideInput&&(a.selection?a.selection({fileNames:w.value,totalBytes:R.value,totalBytesReadable:T.value}):e.chips?w.value.map(v=>b($e,{key:v,size:"small",text:v},null)):w.value.join(", "))])])}})},details:l?S=>{var F,g;return h(V,null,[(F=a.details)==null?void 0:F.call(a,S),t&&h(V,null,[h("span",null,null),b(ge,{active:!!((g=i.value)!=null&&g.length),value:_.value,disabled:e.disabled},a.counter)])])}:void 0})}),ze({},z,$,c)}});export{Je as V};