UNPKG

@kit-data-manager/mapping-service-input

Version:

The mapping-service-input provides a minimalistic user interface for the KIT Data Manager Mapping Service. It allows users to select an existing mapping schema and use it to map their data.

51 lines (48 loc) 139 kB
(function(Ne){typeof define=="function"&&define.amd?define(Ne):Ne()})((function(){"use strict";const Ne=`<div class="step" id="step-1" role="tab"> <h3 aria-hidden="true">Select a Mapping</h3> <div id="options" class="mapping-options" role="tablist" aria-description="Select one of the available mappings"> <div class="container-wrapper"> <div id="options-container" class="options-container" role="listbox" aria-label="Available mappings" aria-describedby="mapping-instructions" ></div> </div> </div> <p id="mapping-instructions" class="visually-hidden"> Use Arrow keys to move between mappings. Press Space or Enter to select a mapping. </p> </div> <div class="step" id="step-2" role="tab"> <h3>Please choose a file and then press <b><i>Execute Mapping</i></b> to start the process.</h3> <div> <label for="fileUpload" class="visually-hidden">Select a file to be processed by the chosen mapping</label> <input type="file" id="fileUpload" aria-describedby="file-help"/> <p id="file-help" class="visually-hidden">Only one file up to the configured maximum size is allowed.</p> </div> <div id="message" class="message-area info" role="status" aria-live="polite" aria-atomic="true" hidden="hidden" ></div> </div> <h3> <button type="submit" id="submit" class="step submit" aria-label="Execute mapping" aria-disabled="true" aria-description="Available after selecting a mapping and a file" disabled > Execute Mapping </button> </h3> `;const fi=e=>e instanceof HTMLElement,pi=(e,t=[],n=[])=>{const i={...e},r=[],o=[],s=()=>({...i}),l=()=>{const p=[...r];return r.length=0,p},a=()=>{const p=[...o];o.length=0,p.forEach(({type:E,data:S})=>{d(E,S)})},d=(p,E,S)=>{if(S&&!document.hidden){o.push({type:p,data:E});return}g[p]&&g[p](E),r.push({type:p,data:E})},c=(p,...E)=>u[p]?u[p](...E):null,f={getState:s,processActionQueue:l,processDispatchQueue:a,dispatch:d,query:c};let u={};t.forEach(p=>{u={...p(i),...u}});let g={};return n.forEach(p=>{g={...p(d,c,i),...g}}),f},ui=(e,t,n)=>{if(typeof n=="function"){e[t]=n;return}Object.defineProperty(e,t,{...n})},U=(e,t)=>{for(const n in e)e.hasOwnProperty(n)&&t(n,e[n])},de=e=>{const t={};return U(e,n=>{ui(t,n,e[n])}),t},H=(e,t,n=null)=>{if(n===null)return e.getAttribute(t)||e.hasAttribute(t);e.setAttribute(t,n)},mi="http://www.w3.org/2000/svg",Ei=["svg","path"],Pt=e=>Ei.includes(e),Ge=(e,t,n={})=>{typeof t=="object"&&(n=t,t=null);const i=Pt(e)?document.createElementNS(mi,e):document.createElement(e);return t&&(Pt(e)?H(i,"class",t):i.className=t),U(n,(r,o)=>{H(i,r,o)}),i},gi=e=>(t,n)=>{typeof n<"u"&&e.children[n]?e.insertBefore(t,e.children[n]):e.appendChild(t)},hi=(e,t)=>(n,i)=>(typeof i<"u"?t.splice(i,0,n):t.push(n),n),Ii=(e,t)=>n=>(t.splice(t.indexOf(n),1),n.element.parentNode&&e.removeChild(n.element),n),_i=typeof window<"u"&&typeof window.document<"u",Ct=()=>_i,Ti="children"in(Ct()?Ge("svg"):{})?e=>e.children.length:e=>e.childNodes.length,Nt=(e,t,n,i)=>{const r=n[0]||e.left,o=n[1]||e.top,s=r+e.width,l=o+e.height*(i[1]||1),a={element:{...e},inner:{left:e.left,top:e.top,right:e.right,bottom:e.bottom},outer:{left:r,top:o,right:s,bottom:l}};return t.filter(d=>!d.isRectIgnored()).map(d=>d.rect).forEach(d=>{Gt(a.inner,{...d.inner}),Gt(a.outer,{...d.outer})}),xt(a.inner),a.outer.bottom+=a.element.marginBottom,a.outer.right+=a.element.marginRight,xt(a.outer),a},Gt=(e,t)=>{t.top+=e.top,t.right+=e.left,t.bottom+=e.top,t.left+=e.left,t.bottom>e.bottom&&(e.bottom=t.bottom),t.right>e.right&&(e.right=t.right)},xt=e=>{e.width=e.right-e.left,e.height=e.bottom-e.top},ue=e=>typeof e=="number",Ri=(e,t,n,i=.001)=>Math.abs(e-t)<i&&Math.abs(n)<i,bi=({stiffness:e=.5,damping:t=.75,mass:n=10}={})=>{let i=null,r=null,o=0,s=!1;const d=de({interpolate:(c,f)=>{if(s)return;if(!(ue(i)&&ue(r))){s=!0,o=0;return}const u=-(r-i)*e;o+=u/n,r+=o,o*=t,Ri(r,i,o)||f?(r=i,o=0,s=!0,d.onupdate(r),d.oncomplete(r)):d.onupdate(r)},target:{set:c=>{if(ue(c)&&!ue(r)&&(r=c),i===null&&(i=c,r=c),i=c,r===i||typeof i>"u"){s=!0,o=0,d.onupdate(r),d.oncomplete(r);return}s=!1},get:()=>i},resting:{get:()=>s},onupdate:c=>{},oncomplete:c=>{}});return d},Si=e=>e<.5?2*e*e:-1+(4-2*e)*e,Ft={spring:bi,tween:({duration:e=500,easing:t=Si,delay:n=0}={})=>{let i=null,r,o,s=!0,l=!1,a=null;const c=de({interpolate:(f,u)=>{s||a===null||(i===null&&(i=f),!(f-i<n)&&(r=f-i-n,r>=e||u?(r=1,o=l?0:1,c.onupdate(o*a),c.oncomplete(o*a),s=!0):(o=r/e,c.onupdate((r>=0?t(l?1-o:o):0)*a))))},target:{get:()=>l?0:a,set:f=>{if(a===null){a=f,c.onupdate(f),c.oncomplete(f);return}f<a?(a=1,l=!0):(l=!1,a=f),s=!1,i=null}},resting:{get:()=>s},onupdate:f=>{},oncomplete:f=>{}});return c}},Oi=(e,t,n)=>{const i=e[t]&&typeof e[t][n]=="object"?e[t][n]:e[t]||e,r=typeof i=="string"?i:i.type,o=typeof i=="object"?{...i}:{};return Ft[r]?Ft[r](o):null},nt=(e,t,n,i=!1)=>{t=Array.isArray(t)?t:[t],t.forEach(r=>{e.forEach(o=>{let s=o,l=()=>n[o],a=d=>n[o]=d;typeof o=="object"&&(s=o.key,l=o.getter||l,a=o.setter||a),!(r[s]&&!i)&&(r[s]={get:l,set:a})})})},Di=({mixinConfig:e,viewProps:t,viewInternalAPI:n,viewExternalAPI:i})=>{const r={...t},o=[];return U(e,(s,l)=>{const a=Oi(l);if(!a)return;a.onupdate=c=>{t[s]=c},a.target=r[s],nt([{key:s,setter:c=>{a.target!==c&&(a.target=c)},getter:()=>t[s]}],[n,i],t,!0),o.push(a)}),{write:s=>{let l=document.hidden,a=!0;return o.forEach(d=>{d.resting||(a=!1),d.interpolate(s,l)}),a},destroy:()=>{}}},yi=e=>(t,n)=>{e.addEventListener(t,n)},Ai=e=>(t,n)=>{e.removeEventListener(t,n)},wi=({mixinConfig:e,viewProps:t,viewInternalAPI:n,viewExternalAPI:i,viewState:r,view:o})=>{const s=[],l=yi(o.element),a=Ai(o.element);return i.on=(d,c)=>{s.push({type:d,fn:c}),l(d,c)},i.off=(d,c)=>{s.splice(s.findIndex(f=>f.type===d&&f.fn===c),1),a(d,c)},{write:()=>!0,destroy:()=>{s.forEach(d=>{a(d.type,d.fn)})}}},Li=({mixinConfig:e,viewProps:t,viewExternalAPI:n})=>{nt(e,n,t)},j=e=>e!=null,vi={opacity:1,scaleX:1,scaleY:1,translateX:0,translateY:0,rotateX:0,rotateY:0,rotateZ:0,originX:0,originY:0},Mi=({mixinConfig:e,viewProps:t,viewInternalAPI:n,viewExternalAPI:i,view:r})=>{const o={...t},s={};nt(e,[n,i],t);const l=()=>[t.translateX||0,t.translateY||0],a=()=>[t.scaleX||0,t.scaleY||0],d=()=>r.rect?Nt(r.rect,r.childViews,l(),a()):null;return n.rect={get:d},i.rect={get:d},e.forEach(c=>{t[c]=typeof o[c]>"u"?vi[c]:o[c]}),{write:()=>{if(Pi(s,t))return Ci(r.element,t),Object.assign(s,{...t}),!0},destroy:()=>{}}},Pi=(e,t)=>{if(Object.keys(e).length!==Object.keys(t).length)return!0;for(const n in t)if(t[n]!==e[n])return!0;return!1},Ci=(e,{opacity:t,perspective:n,translateX:i,translateY:r,scaleX:o,scaleY:s,rotateX:l,rotateY:a,rotateZ:d,originX:c,originY:f,width:u,height:g})=>{let p="",E="";(j(c)||j(f))&&(E+=`transform-origin: ${c||0}px ${f||0}px;`),j(n)&&(p+=`perspective(${n}px) `),(j(i)||j(r))&&(p+=`translate3d(${i||0}px, ${r||0}px, 0) `),(j(o)||j(s))&&(p+=`scale3d(${j(o)?o:1}, ${j(s)?s:1}, 1) `),j(d)&&(p+=`rotateZ(${d}rad) `),j(l)&&(p+=`rotateX(${l}rad) `),j(a)&&(p+=`rotateY(${a}rad) `),p.length&&(E+=`transform:${p};`),j(t)&&(E+=`opacity:${t};`,t===0&&(E+="visibility:hidden;"),t<1&&(E+="pointer-events:none;")),j(g)&&(E+=`height:${g}px;`),j(u)&&(E+=`width:${u}px;`);const S=e.elementCurrentStyle||"";(E.length!==S.length||E!==S)&&(e.style.cssText=E,e.elementCurrentStyle=E)},Ni={styles:Mi,listeners:wi,animations:Di,apis:Li},Bt=(e={},t={},n={})=>(t.layoutCalculated||(e.paddingTop=parseInt(n.paddingTop,10)||0,e.marginTop=parseInt(n.marginTop,10)||0,e.marginRight=parseInt(n.marginRight,10)||0,e.marginBottom=parseInt(n.marginBottom,10)||0,e.marginLeft=parseInt(n.marginLeft,10)||0,t.layoutCalculated=!0),e.left=t.offsetLeft||0,e.top=t.offsetTop||0,e.width=t.offsetWidth||0,e.height=t.offsetHeight||0,e.right=e.left+e.width,e.bottom=e.top+e.height,e.scrollTop=t.scrollTop,e.hidden=t.offsetParent===null,e),z=({tag:e="div",name:t=null,attributes:n={},read:i=()=>{},write:r=()=>{},create:o=()=>{},destroy:s=()=>{},filterFrameActionsForChild:l=(g,p)=>p,didCreateView:a=()=>{},didWriteView:d=()=>{},ignoreRect:c=!1,ignoreRectUpdate:f=!1,mixins:u=[]}={})=>(g,p={})=>{const E=Ge(e,`filepond--${t}`,n),S=window.getComputedStyle(E,null),_=Bt();let b=null,A=!1;const w=[],O=[],P={},B={},R=[r],v=[i],x=[s],D=()=>E,C=()=>w.concat(),W=()=>P,I=G=>(X,ce)=>X(G,ce),F=()=>b||(b=Nt(_,w,[0,0],[1,1]),b),h=()=>S,T=()=>{b=null,w.forEach(ce=>ce._read()),!(f&&_.width&&_.height)&&Bt(_,E,S);const X={root:pe,props:p,rect:_};v.forEach(ce=>ce(X))},y=(G,X,ce)=>{let Ae=X.length===0;return R.forEach(J=>{J({props:p,root:pe,actions:X,timestamp:G,shouldOptimize:ce})===!1&&(Ae=!1)}),O.forEach(J=>{J.write(G)===!1&&(Ae=!1)}),w.filter(J=>!!J.element.parentNode).forEach(J=>{J._write(G,l(J,X),ce)||(Ae=!1)}),w.forEach((J,tt)=>{J.element.parentNode||(pe.appendChild(J.element,tt),J._read(),J._write(G,l(J,X),ce),Ae=!1)}),A=Ae,d({props:p,root:pe,actions:X,timestamp:G}),Ae},L=()=>{O.forEach(G=>G.destroy()),x.forEach(G=>{G({root:pe,props:p})}),w.forEach(G=>G._destroy())},q={element:{get:D},style:{get:h},childViews:{get:C}},N={...q,rect:{get:F},ref:{get:W},is:G=>t===G,appendChild:gi(E),createChildView:I(g),linkView:G=>(w.push(G),G),unlinkView:G=>{w.splice(w.indexOf(G),1)},appendChildView:hi(E,w),removeChildView:Ii(E,w),registerWriter:G=>R.push(G),registerReader:G=>v.push(G),registerDestroyer:G=>x.push(G),invalidateLayout:()=>E.layoutCalculated=!1,dispatch:g.dispatch,query:g.query},et={element:{get:D},childViews:{get:C},rect:{get:F},resting:{get:()=>A},isRectIgnored:()=>c,_read:T,_write:y,_destroy:L},di={...q,rect:{get:()=>_}};Object.keys(u).sort((G,X)=>G==="styles"?1:X==="styles"?-1:0).forEach(G=>{const X=Ni[G]({mixinConfig:u[G],viewProps:p,viewState:B,viewInternalAPI:N,viewExternalAPI:et,view:de(di)});X&&O.push(X)});const pe=de(N);o({root:pe,props:p});const Jo=Ti(E);return w.forEach((G,X)=>{pe.appendChild(G.element,Jo+X)}),a(pe),de(et)},Gi=(e,t,n=60)=>{const i="__framePainter";if(window[i]){window[i].readers.push(e),window[i].writers.push(t);return}window[i]={readers:[e],writers:[t]};const r=window[i],o=1e3/n;let s=null,l=null,a=null,d=null;const c=()=>{document.hidden?(a=()=>window.setTimeout(()=>f(performance.now()),o),d=()=>window.clearTimeout(l)):(a=()=>window.requestAnimationFrame(f),d=()=>window.cancelAnimationFrame(l))};document.addEventListener("visibilitychange",()=>{d&&d(),c(),f(performance.now())});const f=u=>{l=a(f),s||(s=u);const g=u-s;g<=o||(s=u-g%o,r.readers.forEach(p=>p()),r.writers.forEach(p=>p(u)))};return c(),f(performance.now()),{pause:()=>{d(l)}}},Q=(e,t)=>({root:n,props:i,actions:r=[],timestamp:o,shouldOptimize:s})=>{r.filter(l=>e[l.type]).forEach(l=>e[l.type]({root:n,props:i,action:l.data,timestamp:o,shouldOptimize:s})),t&&t({root:n,props:i,actions:r,timestamp:o,shouldOptimize:s})},Ut=(e,t)=>t.parentNode.insertBefore(e,t),kt=(e,t)=>t.parentNode.insertBefore(e,t.nextSibling),xe=e=>Array.isArray(e),ae=e=>e==null,xi=e=>e.trim(),Fe=e=>""+e,Fi=(e,t=",")=>ae(e)?[]:xe(e)?e:Fe(e).split(t).map(xi).filter(n=>n.length),Vt=e=>typeof e=="boolean",zt=e=>Vt(e)?e:e==="true",Z=e=>typeof e=="string",Ht=e=>ue(e)?e:Z(e)?Fe(e).replace(/[a-z]+/gi,""):0,Be=e=>parseInt(Ht(e),10),qt=e=>parseFloat(Ht(e)),be=e=>ue(e)&&isFinite(e)&&Math.floor(e)===e,$t=(e,t=1e3)=>{if(be(e))return e;let n=Fe(e).trim();return/MB$/i.test(n)?(n=n.replace(/MB$i/,"").trim(),Be(n)*t*t):/KB/i.test(n)?(n=n.replace(/KB$i/,"").trim(),Be(n)*t):Be(n)},me=e=>typeof e=="function",Bi=e=>{let t=self,n=e.split("."),i=null;for(;i=n.shift();)if(t=t[i],!t)return null;return t},Yt={process:"POST",patch:"PATCH",revert:"DELETE",fetch:"GET",restore:"GET",load:"GET"},Ui=e=>{const t={};return t.url=Z(e)?e:e.url||"",t.timeout=e.timeout?parseInt(e.timeout,10):0,t.headers=e.headers?e.headers:{},U(Yt,n=>{t[n]=ki(n,e[n],Yt[n],t.timeout,t.headers)}),t.process=e.process||Z(e)||e.url?t.process:null,t.remove=e.remove||null,delete t.headers,t},ki=(e,t,n,i,r)=>{if(t===null)return null;if(typeof t=="function")return t;const o={url:n==="GET"||n==="PATCH"?`?${e}=`:"",method:n,headers:r,withCredentials:!1,timeout:i,onload:null,ondata:null,onerror:null};if(Z(t))return o.url=t,o;if(Object.assign(o,t),Z(o.headers)){const s=o.headers.split(/:(.+)/);o.headers={header:s[0],value:s[1]}}return o.withCredentials=zt(o.withCredentials),o},Vi=e=>Ui(e),zi=e=>e===null,$=e=>typeof e=="object"&&e!==null,Hi=e=>$(e)&&Z(e.url)&&$(e.process)&&$(e.revert)&&$(e.restore)&&$(e.fetch),it=e=>xe(e)?"array":zi(e)?"null":be(e)?"int":/^[0-9]+ ?(?:GB|MB|KB)$/gi.test(e)?"bytes":Hi(e)?"api":typeof e,qi=e=>e.replace(/{\s*'/g,'{"').replace(/'\s*}/g,'"}').replace(/'\s*:/g,'":').replace(/:\s*'/g,':"').replace(/,\s*'/g,',"').replace(/'\s*,/g,'",'),$i={array:Fi,boolean:zt,int:e=>it(e)==="bytes"?$t(e):Be(e),number:qt,float:qt,bytes:$t,string:e=>me(e)?e:Fe(e),function:e=>Bi(e),serverapi:Vi,object:e=>{try{return JSON.parse(qi(e))}catch{return null}}},Yi=(e,t)=>$i[t](e),Wt=(e,t,n)=>{if(e===t)return e;let i=it(e);if(i!==n){const r=Yi(e,n);if(i=it(r),r===null)throw`Trying to assign value with incorrect type to "${option}", allowed type: "${n}"`;e=r}return e},Wi=(e,t)=>{let n=e;return{enumerable:!0,get:()=>n,set:i=>{n=Wt(i,e,t)}}},Xi=e=>{const t={};return U(e,n=>{const i=e[n];t[n]=Wi(i[0],i[1])}),de(t)},ji=e=>({items:[],listUpdateTimeout:null,itemUpdateTimeout:null,processingQueue:[],options:Xi(e)}),Ue=(e,t="-")=>e.split(/(?=[A-Z])/).map(n=>n.toLowerCase()).join(t),Qi=(e,t)=>{const n={};return U(t,i=>{n[i]={get:()=>e.getState().options[i],set:r=>{e.dispatch(`SET_${Ue(i,"_").toUpperCase()}`,{value:r})}}}),n},Zi=e=>(t,n,i)=>{const r={};return U(e,o=>{const s=Ue(o,"_").toUpperCase();r[`SET_${s}`]=l=>{try{i.options[o]=l.value}catch{}t(`DID_SET_${s}`,{value:i.options[o]})}}),r},Ki=e=>t=>{const n={};return U(e,i=>{n[`GET_${Ue(i,"_").toUpperCase()}`]=r=>t.options[i]}),n},te={API:1,DROP:2,BROWSE:3,PASTE:4,NONE:5},rt=()=>Math.random().toString(36).substring(2,11),st=(e,t)=>e.splice(t,1),Ji=(e,t)=>{t?e():document.hidden?Promise.resolve(1).then(e):setTimeout(e,0)},ke=()=>{const e=[],t=(i,r)=>{st(e,e.findIndex(o=>o.event===i&&(o.cb===r||!r)))},n=(i,r,o)=>{e.filter(s=>s.event===i).map(s=>s.cb).forEach(s=>Ji(()=>s(...r),o))};return{fireSync:(i,...r)=>{n(i,r,!0)},fire:(i,...r)=>{n(i,r,!1)},on:(i,r)=>{e.push({event:i,cb:r})},onOnce:(i,r)=>{e.push({event:i,cb:(...o)=>{t(i,r),r(...o)}})},off:t}},Xt=(e,t,n)=>{Object.getOwnPropertyNames(e).filter(i=>!n.includes(i)).forEach(i=>Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i)))},er=["fire","process","revert","load","on","off","onOnce","retryLoad","extend","archive","archived","release","released","requestProcessing","freeze"],K=e=>{const t={};return Xt(e,t,er),t},tr=e=>{e.forEach((t,n)=>{t.released&&st(e,n)})},M={INIT:1,IDLE:2,PROCESSING_QUEUED:9,PROCESSING:3,PROCESSING_COMPLETE:5,PROCESSING_ERROR:6,PROCESSING_REVERT_ERROR:10,LOADING:7,LOAD_ERROR:8},Y={INPUT:1,LIMBO:2,LOCAL:3},jt=e=>/[^0-9]+/.exec(e),Qt=()=>jt(1.1.toLocaleString())[0],nr=()=>{const e=Qt(),t=1e3.toLocaleString();return t!=="1000"?jt(t)[0]:e==="."?",":"."},m={BOOLEAN:"boolean",INT:"int",NUMBER:"number",STRING:"string",ARRAY:"array",OBJECT:"object",FUNCTION:"function",ACTION:"action",SERVER_API:"serverapi",REGEX:"regex"},ot=[],re=(e,t,n)=>new Promise((i,r)=>{const o=ot.filter(l=>l.key===e).map(l=>l.cb);if(o.length===0){i(t);return}const s=o.shift();o.reduce((l,a)=>l.then(d=>a(d,n)),s(t,n)).then(l=>i(l)).catch(l=>r(l))}),Ee=(e,t,n)=>ot.filter(i=>i.key===e).map(i=>i.cb(t,n)),ir=(e,t)=>ot.push({key:e,cb:t}),rr=e=>Object.assign(Se,e),Ve=()=>({...Se}),sr=e=>{U(e,(t,n)=>{Se[t]&&(Se[t][0]=Wt(n,Se[t][0],Se[t][1]))})},Se={id:[null,m.STRING],name:["filepond",m.STRING],disabled:[!1,m.BOOLEAN],className:[null,m.STRING],required:[!1,m.BOOLEAN],captureMethod:[null,m.STRING],allowSyncAcceptAttribute:[!0,m.BOOLEAN],allowDrop:[!0,m.BOOLEAN],allowBrowse:[!0,m.BOOLEAN],allowPaste:[!0,m.BOOLEAN],allowMultiple:[!1,m.BOOLEAN],allowReplace:[!0,m.BOOLEAN],allowRevert:[!0,m.BOOLEAN],allowRemove:[!0,m.BOOLEAN],allowProcess:[!0,m.BOOLEAN],allowReorder:[!1,m.BOOLEAN],allowDirectoriesOnly:[!1,m.BOOLEAN],storeAsFile:[!1,m.BOOLEAN],forceRevert:[!1,m.BOOLEAN],maxFiles:[null,m.INT],checkValidity:[!1,m.BOOLEAN],itemInsertLocationFreedom:[!0,m.BOOLEAN],itemInsertLocation:["before",m.STRING],itemInsertInterval:[75,m.INT],dropOnPage:[!1,m.BOOLEAN],dropOnElement:[!0,m.BOOLEAN],dropValidation:[!1,m.BOOLEAN],ignoredFiles:[[".ds_store","thumbs.db","desktop.ini"],m.ARRAY],instantUpload:[!0,m.BOOLEAN],maxParallelUploads:[2,m.INT],allowMinimumUploadDuration:[!0,m.BOOLEAN],chunkUploads:[!1,m.BOOLEAN],chunkForce:[!1,m.BOOLEAN],chunkSize:[5e6,m.INT],chunkRetryDelays:[[500,1e3,3e3],m.ARRAY],server:[null,m.SERVER_API],fileSizeBase:[1e3,m.INT],labelFileSizeBytes:["bytes",m.STRING],labelFileSizeKilobytes:["KB",m.STRING],labelFileSizeMegabytes:["MB",m.STRING],labelFileSizeGigabytes:["GB",m.STRING],labelDecimalSeparator:[Qt(),m.STRING],labelThousandsSeparator:[nr(),m.STRING],labelIdle:['Drag & Drop your files or <span class="filepond--label-action">Browse</span>',m.STRING],labelInvalidField:["Field contains invalid files",m.STRING],labelFileWaitingForSize:["Waiting for size",m.STRING],labelFileSizeNotAvailable:["Size not available",m.STRING],labelFileCountSingular:["file in list",m.STRING],labelFileCountPlural:["files in list",m.STRING],labelFileLoading:["Loading",m.STRING],labelFileAdded:["Added",m.STRING],labelFileLoadError:["Error during load",m.STRING],labelFileRemoved:["Removed",m.STRING],labelFileRemoveError:["Error during remove",m.STRING],labelFileProcessing:["Uploading",m.STRING],labelFileProcessingComplete:["Upload complete",m.STRING],labelFileProcessingAborted:["Upload cancelled",m.STRING],labelFileProcessingError:["Error during upload",m.STRING],labelFileProcessingRevertError:["Error during revert",m.STRING],labelTapToCancel:["tap to cancel",m.STRING],labelTapToRetry:["tap to retry",m.STRING],labelTapToUndo:["tap to undo",m.STRING],labelButtonRemoveItem:["Remove",m.STRING],labelButtonAbortItemLoad:["Abort",m.STRING],labelButtonRetryItemLoad:["Retry",m.STRING],labelButtonAbortItemProcessing:["Cancel",m.STRING],labelButtonUndoItemProcessing:["Undo",m.STRING],labelButtonRetryItemProcessing:["Retry",m.STRING],labelButtonProcessItem:["Upload",m.STRING],iconRemove:['<svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M11.586 13l-2.293 2.293a1 1 0 0 0 1.414 1.414L13 14.414l2.293 2.293a1 1 0 0 0 1.414-1.414L14.414 13l2.293-2.293a1 1 0 0 0-1.414-1.414L13 11.586l-2.293-2.293a1 1 0 0 0-1.414 1.414L11.586 13z" fill="currentColor" fill-rule="nonzero"/></svg>',m.STRING],iconProcess:['<svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M14 10.414v3.585a1 1 0 0 1-2 0v-3.585l-1.293 1.293a1 1 0 0 1-1.414-1.415l3-3a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1-1.414 1.415L14 10.414zM9 18a1 1 0 0 1 0-2h8a1 1 0 0 1 0 2H9z" fill="currentColor" fill-rule="evenodd"/></svg>',m.STRING],iconRetry:['<svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M10.81 9.185l-.038.02A4.997 4.997 0 0 0 8 13.683a5 5 0 0 0 5 5 5 5 0 0 0 5-5 1 1 0 0 1 2 0A7 7 0 1 1 9.722 7.496l-.842-.21a.999.999 0 1 1 .484-1.94l3.23.806c.535.133.86.675.73 1.21l-.804 3.233a.997.997 0 0 1-1.21.73.997.997 0 0 1-.73-1.21l.23-.928v-.002z" fill="currentColor" fill-rule="nonzero"/></svg>',m.STRING],iconUndo:['<svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M9.185 10.81l.02-.038A4.997 4.997 0 0 1 13.683 8a5 5 0 0 1 5 5 5 5 0 0 1-5 5 1 1 0 0 0 0 2A7 7 0 1 0 7.496 9.722l-.21-.842a.999.999 0 1 0-1.94.484l.806 3.23c.133.535.675.86 1.21.73l3.233-.803a.997.997 0 0 0 .73-1.21.997.997 0 0 0-1.21-.73l-.928.23-.002-.001z" fill="currentColor" fill-rule="nonzero"/></svg>',m.STRING],iconDone:['<svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M18.293 9.293a1 1 0 0 1 1.414 1.414l-7.002 7a1 1 0 0 1-1.414 0l-3.998-4a1 1 0 1 1 1.414-1.414L12 15.586l6.294-6.293z" fill="currentColor" fill-rule="nonzero"/></svg>',m.STRING],oninit:[null,m.FUNCTION],onwarning:[null,m.FUNCTION],onerror:[null,m.FUNCTION],onactivatefile:[null,m.FUNCTION],oninitfile:[null,m.FUNCTION],onaddfilestart:[null,m.FUNCTION],onaddfileprogress:[null,m.FUNCTION],onaddfile:[null,m.FUNCTION],onprocessfilestart:[null,m.FUNCTION],onprocessfileprogress:[null,m.FUNCTION],onprocessfileabort:[null,m.FUNCTION],onprocessfilerevert:[null,m.FUNCTION],onprocessfile:[null,m.FUNCTION],onprocessfiles:[null,m.FUNCTION],onremovefile:[null,m.FUNCTION],onpreparefile:[null,m.FUNCTION],onupdatefiles:[null,m.FUNCTION],onreorderfiles:[null,m.FUNCTION],beforeDropFile:[null,m.FUNCTION],beforeAddFile:[null,m.FUNCTION],beforeRemoveFile:[null,m.FUNCTION],beforePrepareFile:[null,m.FUNCTION],stylePanelLayout:[null,m.STRING],stylePanelAspectRatio:[null,m.STRING],styleItemPanelAspectRatio:[null,m.STRING],styleButtonRemoveItemPosition:["left",m.STRING],styleButtonProcessItemPosition:["right",m.STRING],styleLoadIndicatorPosition:["right",m.STRING],styleProgressIndicatorPosition:["right",m.STRING],styleButtonRemoveItemAlign:[!1,m.BOOLEAN],files:[[],m.ARRAY],credits:[["https://pqina.nl/","Powered by PQINA"],m.ARRAY]},ge=(e,t)=>ae(t)?e[0]||null:be(t)?e[t]||null:(typeof t=="object"&&(t=t.id),e.find(n=>n.id===t)||null),Zt=e=>{if(ae(e))return e;if(/:/.test(e)){const t=e.split(":");return t[1]/t[0]}return parseFloat(e)},se=e=>e.filter(t=>!t.archived),or={EMPTY:0,IDLE:1,ERROR:2,BUSY:3,READY:4};let ze=null;const ar=()=>{if(ze===null)try{const e=new DataTransfer;e.items.add(new File(["hello world"],"This_Works.txt"));const t=document.createElement("input");t.setAttribute("type","file"),t.files=e.files,ze=t.files.length===1}catch{ze=!1}return ze},lr=[M.LOAD_ERROR,M.PROCESSING_ERROR,M.PROCESSING_REVERT_ERROR],cr=[M.LOADING,M.PROCESSING,M.PROCESSING_QUEUED,M.INIT],dr=[M.PROCESSING_COMPLETE],fr=e=>lr.includes(e.status),pr=e=>cr.includes(e.status),ur=e=>dr.includes(e.status),Kt=e=>$(e.options.server)&&($(e.options.server.process)||me(e.options.server.process)),mr=e=>({GET_STATUS:()=>{const t=se(e.items),{EMPTY:n,ERROR:i,BUSY:r,IDLE:o,READY:s}=or;return t.length===0?n:t.some(fr)?i:t.some(pr)?r:t.some(ur)?s:o},GET_ITEM:t=>ge(e.items,t),GET_ACTIVE_ITEM:t=>ge(se(e.items),t),GET_ACTIVE_ITEMS:()=>se(e.items),GET_ITEMS:()=>e.items,GET_ITEM_NAME:t=>{const n=ge(e.items,t);return n?n.filename:null},GET_ITEM_SIZE:t=>{const n=ge(e.items,t);return n?n.fileSize:null},GET_STYLES:()=>Object.keys(e.options).filter(t=>/^style/.test(t)).map(t=>({name:t,value:e.options[t]})),GET_PANEL_ASPECT_RATIO:()=>/circle/.test(e.options.stylePanelLayout)?1:Zt(e.options.stylePanelAspectRatio),GET_ITEM_PANEL_ASPECT_RATIO:()=>e.options.styleItemPanelAspectRatio,GET_ITEMS_BY_STATUS:t=>se(e.items).filter(n=>n.status===t),GET_TOTAL_ITEMS:()=>se(e.items).length,SHOULD_UPDATE_FILE_INPUT:()=>e.options.storeAsFile&&ar()&&!Kt(e),IS_ASYNC:()=>Kt(e),GET_FILE_SIZE_LABELS:t=>({labelBytes:t("GET_LABEL_FILE_SIZE_BYTES")||void 0,labelKilobytes:t("GET_LABEL_FILE_SIZE_KILOBYTES")||void 0,labelMegabytes:t("GET_LABEL_FILE_SIZE_MEGABYTES")||void 0,labelGigabytes:t("GET_LABEL_FILE_SIZE_GIGABYTES")||void 0})}),Er=e=>{const t=se(e.items).length;if(!e.options.allowMultiple)return t===0;const n=e.options.maxFiles;return n===null||t<n},Jt=(e,t,n)=>Math.max(Math.min(n,e),t),gr=(e,t,n)=>e.splice(t,0,n),hr=(e,t,n)=>ae(t)?null:typeof n>"u"?(e.push(t),t):(n=Jt(n,0,e.length),gr(e,n,t),t),at=e=>/^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i.test(e),we=e=>`${e}`.split("/").pop().split("?").shift(),He=e=>e.split(".").pop(),Ir=e=>{if(typeof e!="string")return"";const t=e.split("/").pop();return/svg/.test(t)?"svg":/zip|compressed/.test(t)?"zip":/plain/.test(t)?"txt":/msword/.test(t)?"doc":/[a-z]+/.test(t)?t==="jpeg"?"jpg":t:""},Le=(e,t="")=>(t+e).slice(-t.length),en=(e=new Date)=>`${e.getFullYear()}-${Le(e.getMonth()+1,"00")}-${Le(e.getDate(),"00")}_${Le(e.getHours(),"00")}-${Le(e.getMinutes(),"00")}-${Le(e.getSeconds(),"00")}`,Oe=(e,t,n=null,i=null)=>{const r=typeof n=="string"?e.slice(0,e.size,n):e.slice(0,e.size,e.type);return r.lastModifiedDate=new Date,e._relativePath&&(r._relativePath=e._relativePath),Z(t)||(t=en()),t&&i===null&&He(t)?r.name=t:(i=i||Ir(r.type),r.name=t+(i?"."+i:"")),r},_r=()=>window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,tn=(e,t)=>{const n=_r();if(n){const i=new n;return i.append(e),i.getBlob(t)}return new Blob([e],{type:t})},Tr=(e,t)=>{const n=new ArrayBuffer(e.length),i=new Uint8Array(n);for(let r=0;r<e.length;r++)i[r]=e.charCodeAt(r);return tn(n,t)},nn=e=>(/^data:(.+);/.exec(e)||[])[1]||null,Rr=e=>e.split(",")[1].replace(/\s/g,""),br=e=>atob(Rr(e)),Sr=e=>{const t=nn(e),n=br(e);return Tr(n,t)},Or=(e,t,n)=>Oe(Sr(e),t,null,n),Dr=e=>{if(!/^content-disposition:/i.test(e))return null;const t=e.split(/filename=|filename\*=.+''/).splice(1).map(n=>n.trim().replace(/^["']|[;"']{0,2}$/g,"")).filter(n=>n.length);return t.length?decodeURI(t[t.length-1]):null},yr=e=>{if(/content-length:/i.test(e)){const t=e.match(/[0-9]+/)[0];return t?parseInt(t,10):null}return null},Ar=e=>/x-content-transfer-id:/i.test(e)&&(e.split(":")[1]||"").trim()||null,lt=e=>{const t={source:null,name:null,size:null},n=e.split(` `);for(let i of n){const r=Dr(i);if(r){t.name=r;continue}const o=yr(i);if(o){t.size=o;continue}const s=Ar(i);if(s){t.source=s;continue}}return t},wr=e=>{const t={source:null,complete:!1,progress:0,size:null,timestamp:null,duration:0,request:null},n=()=>t.progress,i=()=>{t.request&&t.request.abort&&t.request.abort()},r=()=>{const l=t.source;s.fire("init",l),l instanceof File?s.fire("load",l):l instanceof Blob?s.fire("load",Oe(l,l.name)):at(l)?s.fire("load",Or(l)):o(l)},o=l=>{if(!e){s.fire("error",{type:"error",body:"Can't load URL",code:400});return}t.timestamp=Date.now(),t.request=e(l,a=>{t.duration=Date.now()-t.timestamp,t.complete=!0,a instanceof Blob&&(a=Oe(a,a.name||we(l))),s.fire("load",a instanceof Blob?a:a?a.body:null)},a=>{s.fire("error",typeof a=="string"?{type:"error",code:0,body:a}:a)},(a,d,c)=>{if(c&&(t.size=c),t.duration=Date.now()-t.timestamp,!a){t.progress=null;return}t.progress=d/c,s.fire("progress",t.progress)},()=>{s.fire("abort")},a=>{const d=lt(typeof a=="string"?a:a.headers);s.fire("meta",{size:t.size||d.size,filename:d.name,source:d.source})})},s={...ke(),setSource:l=>t.source=l,getProgress:n,abort:i,load:r};return s},rn=e=>/GET|HEAD/.test(e),he=(e,t,n)=>{const i={onheaders:()=>{},onprogress:()=>{},onload:()=>{},ontimeout:()=>{},onerror:()=>{},onabort:()=>{},abort:()=>{r=!0,s.abort()}};let r=!1,o=!1;n={method:"POST",headers:{},withCredentials:!1,...n},t=encodeURI(t),rn(n.method)&&e&&(t=`${t}${encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))}`);const s=new XMLHttpRequest,l=rn(n.method)?s:s.upload;return l.onprogress=a=>{r||i.onprogress(a.lengthComputable,a.loaded,a.total)},s.onreadystatechange=()=>{s.readyState<2||s.readyState===4&&s.status===0||o||(o=!0,i.onheaders(s))},s.onload=()=>{s.status>=200&&s.status<300?i.onload(s):i.onerror(s)},s.onerror=()=>i.onerror(s),s.onabort=()=>{r=!0,i.onabort()},s.ontimeout=()=>i.ontimeout(s),s.open(n.method,t,!0),be(n.timeout)&&(s.timeout=n.timeout),Object.keys(n.headers).forEach(a=>{const d=unescape(encodeURIComponent(n.headers[a]));s.setRequestHeader(a,d)}),n.responseType&&(s.responseType=n.responseType),n.withCredentials&&(s.withCredentials=!0),s.send(e),i},k=(e,t,n,i)=>({type:e,code:t,body:n,headers:i}),Ie=e=>t=>{e(k("error",0,"Timeout",t.getAllResponseHeaders()))},sn=e=>/\?/.test(e),ve=(...e)=>{let t="";return e.forEach(n=>{t+=sn(t)&&sn(n)?n.replace(/\?/,"&"):n}),t},ct=(e="",t)=>{if(typeof t=="function")return t;if(!t||!Z(t.url))return null;const n=t.onload||(r=>r),i=t.onerror||(r=>null);return(r,o,s,l,a,d)=>{const c=he(r,ve(e,t.url),{...t,responseType:"blob"});return c.onload=f=>{const u=f.getAllResponseHeaders(),g=lt(u).name||we(r);o(k("load",f.status,t.method==="HEAD"?null:Oe(n(f.response),g),u))},c.onerror=f=>{s(k("error",f.status,i(f.response)||f.statusText,f.getAllResponseHeaders()))},c.onheaders=f=>{d(k("headers",f.status,null,f.getAllResponseHeaders()))},c.ontimeout=Ie(s),c.onprogress=l,c.onabort=a,c}},ne={QUEUED:0,COMPLETE:1,PROCESSING:2,ERROR:3,WAITING:4},Lr=(e,t,n,i,r,o,s,l,a,d,c)=>{const f=[],{chunkTransferId:u,chunkServer:g,chunkSize:p,chunkRetryDelays:E}=c,S={serverId:u,aborted:!1},_=t.ondata||(I=>I),b=t.onload||((I,F)=>F==="HEAD"?I.getResponseHeader("Upload-Offset"):I.response),A=t.onerror||(I=>null),w=I=>{const F=new FormData;$(r)&&F.append(n,JSON.stringify(r));const h=typeof t.headers=="function"?t.headers(i,r):{...t.headers,"Upload-Length":i.size},T={...t,headers:h},y=he(_(F),ve(e,t.url),T);y.onload=L=>I(b(L,T.method)),y.onerror=L=>s(k("error",L.status,A(L.response)||L.statusText,L.getAllResponseHeaders())),y.ontimeout=Ie(s)},O=I=>{const F=ve(e,g.url,S.serverId),T={headers:typeof t.headers=="function"?t.headers(S.serverId):{...t.headers},method:"HEAD"},y=he(null,F,T);y.onload=L=>I(b(L,T.method)),y.onerror=L=>s(k("error",L.status,A(L.response)||L.statusText,L.getAllResponseHeaders())),y.ontimeout=Ie(s)},P=Math.floor(i.size/p);for(let I=0;I<=P;I++){const F=I*p,h=i.slice(F,F+p,"application/offset+octet-stream");f[I]={index:I,size:h.size,offset:F,data:h,file:i,progress:0,retries:[...E],status:ne.QUEUED,error:null,request:null,timeout:null}}const B=()=>o(S.serverId),R=I=>I.status===ne.QUEUED||I.status===ne.ERROR,v=I=>{if(S.aborted)return;if(I=I||f.find(R),!I){f.every(N=>N.status===ne.COMPLETE)&&B();return}I.status=ne.PROCESSING,I.progress=null;const F=g.ondata||(N=>N),h=g.onerror||(N=>null),T=g.onload||(()=>{}),y=ve(e,g.url,S.serverId),L=typeof g.headers=="function"?g.headers(I):{...g.headers,"Content-Type":"application/offset+octet-stream","Upload-Offset":I.offset,"Upload-Length":i.size,"Upload-Name":i.name},q=I.request=he(F(I.data),y,{...g,headers:L});q.onload=N=>{T(N,I.index,f.length),I.status=ne.COMPLETE,I.request=null,C()},q.onprogress=(N,et,di)=>{I.progress=N?et:null,D()},q.onerror=N=>{I.status=ne.ERROR,I.request=null,I.error=h(N.response)||N.statusText,x(I)||s(k("error",N.status,h(N.response)||N.statusText,N.getAllResponseHeaders()))},q.ontimeout=N=>{I.status=ne.ERROR,I.request=null,x(I)||Ie(s)(N)},q.onabort=()=>{I.status=ne.QUEUED,I.request=null,a()}},x=I=>I.retries.length===0?!1:(I.status=ne.WAITING,clearTimeout(I.timeout),I.timeout=setTimeout(()=>{v(I)},I.retries.shift()),!0),D=()=>{const I=f.reduce((h,T)=>h===null||T.progress===null?null:h+T.progress,0);if(I===null)return l(!1,0,0);const F=f.reduce((h,T)=>h+T.size,0);l(!0,I,F)},C=()=>{f.filter(F=>F.status===ne.PROCESSING).length>=1||v()},W=()=>{f.forEach(I=>{clearTimeout(I.timeout),I.request&&I.request.abort()})};return S.serverId?O(I=>{S.aborted||(f.filter(F=>F.offset<I).forEach(F=>{F.status=ne.COMPLETE,F.progress=F.size}),C())}):w(I=>{S.aborted||(d(I),S.serverId=I,C())}),{abort:()=>{S.aborted=!0,W()}}},vr=(e,t,n,i)=>(r,o,s,l,a,d,c)=>{if(!r)return;const f=i.chunkUploads,u=f&&r.size>i.chunkSize,g=f&&(u||i.chunkForce);if(r instanceof Blob&&g)return Lr(e,t,n,r,o,s,l,a,d,c,i);const p=t.ondata||(O=>O),E=t.onload||(O=>O),S=t.onerror||(O=>null),_=typeof t.headers=="function"?t.headers(r,o)||{}:{...t.headers},b={...t,headers:_};var A=new FormData;$(o)&&A.append(n,JSON.stringify(o)),(r instanceof Blob?[{name:null,file:r}]:r).forEach(O=>{A.append(n,O.file,O.name===null?O.file.name:`${O.name}${O.file.name}`)});const w=he(p(A),ve(e,t.url),b);return w.onload=O=>{s(k("load",O.status,E(O.response),O.getAllResponseHeaders()))},w.onerror=O=>{l(k("error",O.status,S(O.response)||O.statusText,O.getAllResponseHeaders()))},w.ontimeout=Ie(l),w.onprogress=a,w.onabort=d,w},Mr=(e="",t,n,i)=>typeof t=="function"?(...r)=>t(n,...r,i):!t||!Z(t.url)?null:vr(e,t,n,i),Me=(e="",t)=>{if(typeof t=="function")return t;if(!t||!Z(t.url))return(r,o)=>o();const n=t.onload||(r=>r),i=t.onerror||(r=>null);return(r,o,s)=>{const l=he(r,e+t.url,t);return l.onload=a=>{o(k("load",a.status,n(a.response),a.getAllResponseHeaders()))},l.onerror=a=>{s(k("error",a.status,i(a.response)||a.statusText,a.getAllResponseHeaders()))},l.ontimeout=Ie(s),l}},on=(e=0,t=1)=>e+Math.random()*(t-e),Pr=(e,t=1e3,n=0,i=25,r=250)=>{let o=null;const s=Date.now(),l=()=>{let a=Date.now()-s,d=on(i,r);a+d>t&&(d=a+d-t);let c=a/t;if(c>=1||document.hidden){e(1);return}e(c),o=setTimeout(l,d)};return t>0&&l(),{clear:()=>{clearTimeout(o)}}},Cr=(e,t)=>{const n={complete:!1,perceivedProgress:0,perceivedPerformanceUpdater:null,progress:null,timestamp:null,perceivedDuration:0,duration:0,request:null,response:null},{allowMinimumUploadDuration:i}=t,r=(c,f)=>{const u=()=>{n.duration===0||n.progress===null||d.fire("progress",d.getProgress())},g=()=>{n.complete=!0,d.fire("load-perceived",n.response.body)};d.fire("start"),n.timestamp=Date.now(),n.perceivedPerformanceUpdater=Pr(p=>{n.perceivedProgress=p,n.perceivedDuration=Date.now()-n.timestamp,u(),n.response&&n.perceivedProgress===1&&!n.complete&&g()},i?on(750,1500):0),n.request=e(c,f,p=>{n.response=$(p)?p:{type:"load",code:200,body:`${p}`,headers:{}},n.duration=Date.now()-n.timestamp,n.progress=1,d.fire("load",n.response.body),(!i||i&&n.perceivedProgress===1)&&g()},p=>{n.perceivedPerformanceUpdater.clear(),d.fire("error",$(p)?p:{type:"error",code:0,body:`${p}`})},(p,E,S)=>{n.duration=Date.now()-n.timestamp,n.progress=p?E/S:null,u()},()=>{n.perceivedPerformanceUpdater.clear(),d.fire("abort",n.response?n.response.body:null)},p=>{d.fire("transfer",p)})},o=()=>{n.request&&(n.perceivedPerformanceUpdater.clear(),n.request.abort&&n.request.abort(),n.complete=!0)},s=()=>{o(),n.complete=!1,n.perceivedProgress=0,n.progress=0,n.timestamp=null,n.perceivedDuration=0,n.duration=0,n.request=null,n.response=null},l=i?()=>n.progress?Math.min(n.progress,n.perceivedProgress):null:()=>n.progress||null,a=i?()=>Math.min(n.duration,n.perceivedDuration):()=>n.duration,d={...ke(),process:r,abort:o,getProgress:l,getDuration:a,reset:s};return d},an=e=>e.substring(0,e.lastIndexOf("."))||e,Nr=e=>{let t=[e.name,e.size,e.type];return e instanceof Blob||at(e)?t[0]=e.name||en():at(e)?(t[1]=e.length,t[2]=nn(e)):Z(e)&&(t[0]=we(e),t[1]=0,t[2]="application/octet-stream"),{name:t[0],size:t[1],type:t[2]}},_e=e=>!!(e instanceof File||e instanceof Blob&&e.name),ln=e=>{if(!$(e))return e;const t=xe(e)?[]:{};for(const n in e){if(!e.hasOwnProperty(n))continue;const i=e[n];t[n]=i&&$(i)?ln(i):i}return t},Gr=(e=null,t=null,n=null)=>{const i=rt(),r={archived:!1,frozen:!1,released:!1,source:null,file:n,serverFileReference:t,transferId:null,processingAborted:!1,status:t?M.PROCESSING_COMPLETE:M.INIT,activeLoader:null,activeProcessor:null};let o=null;const s={},l=R=>r.status=R,a=(R,...v)=>{r.released||r.frozen||P.fire(R,...v)},d=()=>He(r.file.name),c=()=>r.file.type,f=()=>r.file.size,u=()=>r.file,g=(R,v,x)=>{if(r.source=R,P.fireSync("init"),r.file){P.fireSync("load-skip");return}r.file=Nr(R),v.on("init",()=>{a("load-init")}),v.on("meta",D=>{r.file.size=D.size,r.file.filename=D.filename,D.source&&(e=Y.LIMBO,r.serverFileReference=D.source,r.status=M.PROCESSING_COMPLETE),a("load-meta")}),v.on("progress",D=>{l(M.LOADING),a("load-progress",D)}),v.on("error",D=>{l(M.LOAD_ERROR),a("load-request-error",D)}),v.on("abort",()=>{l(M.INIT),a("load-abort")}),v.on("load",D=>{r.activeLoader=null;const C=I=>{r.file=_e(I)?I:r.file,e===Y.LIMBO&&r.serverFileReference?l(M.PROCESSING_COMPLETE):l(M.IDLE),a("load")},W=I=>{r.file=D,a("load-meta"),l(M.LOAD_ERROR),a("load-file-error",I)};if(r.serverFileReference){C(D);return}x(D,C,W)}),v.setSource(R),r.activeLoader=v,v.load()},p=()=>{r.activeLoader&&r.activeLoader.load()},E=()=>{if(r.activeLoader){r.activeLoader.abort();return}l(M.INIT),a("load-abort")},S=(R,v)=>{if(r.processingAborted){r.processingAborted=!1;return}if(l(M.PROCESSING),o=null,!(r.file instanceof Blob)){P.on("load",()=>{S(R,v)});return}R.on("load",C=>{r.transferId=null,r.serverFileReference=C}),R.on("transfer",C=>{r.transferId=C}),R.on("load-perceived",C=>{r.activeProcessor=null,r.transferId=null,r.serverFileReference=C,l(M.PROCESSING_COMPLETE),a("process-complete",C)}),R.on("start",()=>{a("process-start")}),R.on("error",C=>{r.activeProcessor=null,l(M.PROCESSING_ERROR),a("process-error",C)}),R.on("abort",C=>{r.activeProcessor=null,r.serverFileReference=C,l(M.IDLE),a("process-abort"),o&&o()}),R.on("progress",C=>{a("process-progress",C)});const x=C=>{r.archived||R.process(C,{...s})},D=console.error;v(r.file,x,D),r.activeProcessor=R},_=()=>{r.processingAborted=!1,l(M.PROCESSING_QUEUED)},b=()=>new Promise(R=>{if(!r.activeProcessor){r.processingAborted=!0,l(M.IDLE),a("process-abort"),R();return}o=()=>{R()},r.activeProcessor.abort()}),A=(R,v)=>new Promise((x,D)=>{const C=r.serverFileReference!==null?r.serverFileReference:r.transferId;if(C===null){x();return}R(C,()=>{r.serverFileReference=null,r.transferId=null,x()},W=>{if(!v){x();return}l(M.PROCESSING_REVERT_ERROR),a("process-revert-error"),D(W)}),l(M.IDLE),a("process-revert")}),w=(R,v,x)=>{const D=R.split("."),C=D[0],W=D.pop();let I=s;D.forEach(F=>I=I[F]),JSON.stringify(I[W])!==JSON.stringify(v)&&(I[W]=v,a("metadata-update",{key:C,value:s[C],silent:x}))},P={id:{get:()=>i},origin:{get:()=>e,set:R=>e=R},serverId:{get:()=>r.serverFileReference},transferId:{get:()=>r.transferId},status:{get:()=>r.status},filename:{get:()=>r.file.name},filenameWithoutExtension:{get:()=>an(r.file.name)},fileExtension:{get:d},fileType:{get:c},fileSize:{get:f},file:{get:u},relativePath:{get:()=>r.file._relativePath},source:{get:()=>r.source},getMetadata:R=>ln(R?s[R]:s),setMetadata:(R,v,x)=>{if($(R)){const D=R;return Object.keys(D).forEach(C=>{w(C,D[C],v)}),R}return w(R,v,x),v},extend:(R,v)=>B[R]=v,abortLoad:E,retryLoad:p,requestProcessing:_,abortProcessing:b,load:g,process:S,revert:A,...ke(),freeze:()=>r.frozen=!0,release:()=>r.released=!0,released:{get:()=>r.released},archive:()=>r.archived=!0,archived:{get:()=>r.archived},setFile:R=>r.file=R},B=de(P);return B},xr=(e,t)=>ae(t)?0:Z(t)?e.findIndex(n=>n.id===t):-1,cn=(e,t)=>{const n=xr(e,t);if(!(n<0))return e[n]||null},dn=(e,t,n,i,r,o)=>{const s=he(null,e,{method:"GET",responseType:"blob"});return s.onload=l=>{const a=l.getAllResponseHeaders(),d=lt(a).name||we(e);t(k("load",l.status,Oe(l.response,d),a))},s.onerror=l=>{n(k("error",l.status,l.statusText,l.getAllResponseHeaders()))},s.onheaders=l=>{o(k("headers",l.status,null,l.getAllResponseHeaders()))},s.ontimeout=Ie(n),s.onprogress=i,s.onabort=r,s},fn=e=>(e.indexOf("//")===0&&(e=location.protocol+e),e.toLowerCase().replace("blob:","").replace(/([a-z])?:\/\//,"$1").split("/")[0]),Fr=e=>(e.indexOf(":")>-1||e.indexOf("//")>-1)&&fn(location.href)!==fn(e),qe=e=>(...t)=>me(e)?e(...t):e,Br=e=>!_e(e.file),dt=(e,t)=>{clearTimeout(t.listUpdateTimeout),t.listUpdateTimeout=setTimeout(()=>{e("DID_UPDATE_ITEMS",{items:se(t.items)})},0)},pn=(e,...t)=>new Promise(n=>{if(!e)return n(!0);const i=e(...t);if(i==null)return n(!0);if(typeof i=="boolean")return n(i);typeof i.then=="function"&&i.then(n)}),ft=(e,t)=>{e.items.sort((n,i)=>t(K(n),K(i)))},ie=(e,t)=>({query:n,success:i=()=>{},failure:r=()=>{},...o}={})=>{const s=ge(e.items,n);if(!s){r({error:k("error",0,"Item not found"),file:null});return}t(s,i,r,o||{})},Ur=(e,t,n)=>({ABORT_ALL:()=>{se(n.items).forEach(i=>{i.freeze(),i.abortLoad(),i.abortProcessing()})},DID_SET_FILES:({value:i=[]})=>{const r=i.map(s=>({source:s.source?s.source:s,options:s.options}));let o=se(n.items);o.forEach(s=>{r.find(l=>l.source===s.source||l.source===s.file)||e("REMOVE_ITEM",{query:s,remove:!1})}),o=se(n.items),r.forEach((s,l)=>{o.find(a=>a.source===s.source||a.file===s.source)||e("ADD_ITEM",{...s,interactionMethod:te.NONE,index:l})})},DID_UPDATE_ITEM_METADATA:({id:i,action:r,change:o})=>{o.silent||(clearTimeout(n.itemUpdateTimeout),n.itemUpdateTimeout=setTimeout(()=>{const s=cn(n.items,i);if(!t("IS_ASYNC")){re("SHOULD_PREPARE_OUTPUT",!1,{item:s,query:t,action:r,change:o}).then(c=>{const f=t("GET_BEFORE_PREPARE_FILE");f&&(c=f(s,c)),c&&e("REQUEST_PREPARE_OUTPUT",{query:i,item:s,success:u=>{e("DID_PREPARE_OUTPUT",{id:i,file:u})}},!0)});return}s.origin===Y.LOCAL&&e("DID_LOAD_ITEM",{id:s.id,error:null,serverFileReference:s.source});const l=()=>{setTimeout(()=>{e("REQUEST_ITEM_PROCESSING",{query:i})},32)},a=c=>{s.revert(Me(n.options.server.url,n.options.server.revert),t("GET_FORCE_REVERT")).then(c?l:()=>{}).catch(()=>{})},d=c=>{s.abortProcessing().then(c?l:()=>{})};if(s.status===M.PROCESSING_COMPLETE)return a(n.options.instantUpload);if(s.status===M.PROCESSING)return d(n.options.instantUpload);n.options.instantUpload&&l()},0))},MOVE_ITEM:({query:i,index:r})=>{const o=ge(n.items,i);if(!o)return;const s=n.items.indexOf(o);r=Jt(r,0,n.items.length-1),s!==r&&n.items.splice(r,0,n.items.splice(s,1)[0])},SORT:({compare:i})=>{ft(n,i),e("DID_SORT_ITEMS",{items:t("GET_ACTIVE_ITEMS")})},ADD_ITEMS:({items:i,index:r,interactionMethod:o,success:s=()=>{},failure:l=()=>{}})=>{let a=r;if(r===-1||typeof r>"u"){const g=t("GET_ITEM_INSERT_LOCATION"),p=t("GET_TOTAL_ITEMS");a=g==="before"?0:p}const d=t("GET_IGNORED_FILES"),c=g=>_e(g)?!d.includes(g.name.toLowerCase()):!ae(g),u=i.filter(c).map(g=>new Promise((p,E)=>{e("ADD_ITEM",{interactionMethod:o,source:g.source||g,success:p,failure:E,index:a++,options:g.options||{}})}));Promise.all(u).then(s).catch(l)},ADD_ITEM:({source:i,index:r=-1,interactionMethod:o,success:s=()=>{},failure:l=()=>{},options:a={}})=>{if(ae(i)){l({error:k("error",0,"No source"),file:null});return}if(_e(i)&&n.options.ignoredFiles.includes(i.name.toLowerCase()))return;if(!Er(n)){if(n.options.allowMultiple||!n.options.allowMultiple&&!n.options.allowReplace){const b=k("warning",0,"Max files");e("DID_THROW_MAX_FILES",{source:i,error:b}),l({error:b,file:null});return}const _=se(n.items)[0];if(_.status===M.PROCESSING_COMPLETE||_.status===M.PROCESSING_REVERT_ERROR){const b=t("GET_FORCE_REVERT");if(_.revert(Me(n.options.server.url,n.options.server.revert),b).then(()=>{b&&e("ADD_ITEM",{source:i,index:r,interactionMethod:o,success:s,failure:l,options:a})}).catch(()=>{}),b)return}e("REMOVE_ITEM",{query:_.id})}const d=a.type==="local"?Y.LOCAL:a.type==="limbo"?Y.LIMBO:Y.INPUT,c=Gr(d,d===Y.INPUT?null:i,a.file);Object.keys(a.metadata||{}).forEach(_=>{c.setMetadata(_,a.metadata[_])}),Ee("DID_CREATE_ITEM",c,{query:t,dispatch:e});const f=t("GET_ITEM_INSERT_LOCATION");n.options.itemInsertLocationFreedom||(r=f==="before"?-1:n.items.length),hr(n.items,c,r),me(f)&&i&&ft(n,f);const u=c.id;c.on("init",()=>{e("DID_INIT_ITEM",{id:u})}),c.on("load-init",()=>{e("DID_START_ITEM_LOAD",{id:u})}),c.on("load-meta",()=>{e("DID_UPDATE_ITEM_META",{id:u})}),c.on("load-progress",_=>{e("DID_UPDATE_ITEM_LOAD_PROGRESS",{id:u,progress:_})}),c.on("load-request-error",_=>{const b=qe(n.options.labelFileLoadError)(_);if(_.code>=400&&_.code<500){e("DID_THROW_ITEM_INVALID",{id:u,error:_,status:{main:b,sub:`${_.code} (${_.body})`}}),l({error:_,file:K(c)});return}e("DID_THROW_ITEM_LOAD_ERROR",{id:u,error:_,status:{main:b,sub:n.options.labelTapToRetry}})}),c.on("load-file-error",_=>{e("DID_THROW_ITEM_INVALID",{id:u,error:_.status,status:_.status}),l({error:_.status,file:K(c)})}),c.on("load-abort",()=>{e("REMOVE_ITEM",{query:u})}),c.on("load-skip",()=>{c.on("metadata-update",_=>{_e(c.file)&&e("DID_UPDATE_ITEM_METADATA",{id:u,change:_})}),e("COMPLETE_LOAD_ITEM",{query:u,item:c,data:{source:i,success:s}})}),c.on("load",()=>{const _=b=>{if(!b){e("REMOVE_ITEM",{query:u});return}c.on("metadata-update",A=>{e("DID_UPDATE_ITEM_METADATA",{id:u,change:A})}),re("SHOULD_PREPARE_OUTPUT",!1,{item:c,query:t}).then(A=>{const w=t("GET_BEFORE_PREPARE_FILE");w&&(A=w(c,A));const O=()=>{e("COMPLETE_LOAD_ITEM",{query:u,item:c,data:{source:i,success:s}}),dt(e,n)};if(A){e("REQUEST_PREPARE_OUTPUT",{query:u,item:c,success:P=>{e("DID_PREPARE_OUTPUT",{id:u,file:P}),O()}},!0);return}O()})};re("DID_LOAD_ITEM",c,{query:t,dispatch:e}).then(()=>{pn(t("GET_BEFORE_ADD_FILE"),K(c)).then(_)}).catch(b=>{if(!b||!b.error||!b.status)return _(!1);e("DID_THROW_ITEM_INVALID",{id:u,error:b.error,status:b.status})})}),c.on("process-start",()=>{e("DID_START_ITEM_PROCESSING",{id:u})}),c.on("process-progress",_=>{e("DID_UPDATE_ITEM_PROCESS_PROGRESS",{id:u,progress:_})}),c.on("process-error",_=>{e("DID_THROW_ITEM_PROCESSING_ERROR",{id:u,error:_,status:{main:qe(n.options.labelFileProcessingError)(_),sub:n.options.labelTapToRetry}})}),c.on("process-revert-error",_=>{e("DID_THROW_ITEM_PROCESSING_REVERT_ERROR",{id:u,error:_,status:{main:qe(n.options.labelFileProcessingRevertError)(_),sub:n.options.labelTapToRetry}})}),c.on("process-complete",_=>{e("DID_COMPLETE_ITEM_PROCESSING",{id:u,error:null,serverFileReference:_}),e("DID_DEFINE_VALUE",{id:u,value:_})}),c.on("process-abort",()=>{e("DID_ABORT_ITEM_PROCESSING",{id:u})}),c.on("process-revert",()=>{e("DID_REVERT_ITEM_PROCESSING",{id:u}),e("DID_DEFINE_VALUE",{id:u,value:null})}),e("DID_ADD_ITEM",{id:u,index:r,interactionMethod:o}),dt(e,n);const{url:g,load:p,restore:E,fetch:S}=n.options.server||{};c.load(i,wr(d===Y.INPUT?Z(i)&&Fr(i)&&S?ct(g,S):dn:d===Y.LIMBO?ct(g,E):ct(g,p)),(_,b,A)=>{re("LOAD_FILE",_,{query:t}).then(b).catch(A)})},REQUEST_PREPARE_OUTPUT:({item:i,success:r,failure:o=()=>{}})=>{const s={error:k("error",0,"Item not found"),file:null};if(i.archived)return o(s);re("PREPARE_OUTPUT",i.file,{query:t,item:i}).then(l=>{re("COMPLETE_PREPARE_OUTPUT",l,{query:t,item:i}).then(a=>{if(i.archived)return o(s);r(a)})})},COMPLETE_LOAD_ITEM:({item:i,data:r})=>{const{success:o,source:s}=r,l=t("GET_ITEM_INSERT_LOCATION");if(me(l)&&s&&ft(n,l),e("DID_LOAD_ITEM",{id:i.id,error:null,serverFileReference:i.origin===Y.INPUT?null:s}),o(K(i)),i.origin===Y.LOCAL){e("DID_LOAD_LOCAL_ITEM",{id:i.id});return}if(i.origin===Y.LIMBO){e("DID_COMPLETE_ITEM_PROCESSING",{id:i.id,error:null,serverFileReference:s}),e("DID_DEFINE_VALUE",{id:i.id,value:i.serverId||s});return}t("IS_ASYNC")&&n.options.instantUpload&&e("REQUEST_ITEM_PROCESSING",{query:i.id})},RETRY_ITEM_LOAD:ie(n,i=>{i.retryLoad()}),REQUEST_ITEM_PREPARE:ie(n,(i,r,o)=>{e("REQUEST_PREPARE_OUTPUT",{query:i.id,item:i,success:s=>{e("DID_PREPARE_OUTPUT",{id:i.id,file:s}),r({file:i,output:s})},failure:o},!0)}),REQUEST_ITEM_PROCESSING:ie(n,(i,r,o)=>{if(!(i.status===M.IDLE||i.status===M.PROCESSING_ERROR)){const l=()=>e("REQUEST_ITEM_PROCESSING",{query:i,success:r,failure:o}),a=()=>document.hidden?l():setTimeout(l,32);i.status===M.PROCESSING_COMPLETE||i.status===M.PROCESSING_REVERT_ERROR?i.revert(Me(n.options.server.url,n.options.server.revert),t("GET_FORCE_REVERT")).then(a).catch(()=>{}):i.status===M.PROCESSING&&i.abortProcessing().then(a);return}i.status!==M.PROCESSING_QUEUED&&(i.requestProcessing(),e("DID_REQUEST_ITEM_PROCESSING",{id:i.id}),e("PROCESS_ITEM",{query:i,success:r,failure:o},!0))}),PROCESS_ITEM:ie(n,(i,r,o)=>{const s=t("GET_MAX_PARALLEL_UPLOADS");if(t("GET_ITEMS_BY_STATUS",M.PROCESSING).length===s){n.processingQueue.push({id:i.id,success:r,failure:o});return}if(i.status===M.PROCESSING)return;const a=()=>{const c=n.processingQueue.shift();if(!c)return;const{id:f,success:u,failure:g}=c,p=ge(n.items,f);if(!p||p.archived){a();return}e("PROCESS_ITEM",{query:f,success:u,failure:g},!0)};i.onOnce("process-complete",()=>{r(K(i)),a();const c=n.options.server;if(n.options.instantUpload&&i.origin===Y.LOCAL&&me(c.remove)){const g=()=>{};i.origin=Y.LIMBO,n.options.server.remove(i.source,g,g)}t("GET_ITEMS_BY_STATUS",M.PROCESSING_COMPLETE).length===n.items.length&&e("DID_COMPLETE_ITEM_PROCESSING_ALL")}),i.onOnce("process-error",c=>{o({error:c,file:K(i)}),a()});const d=n.options;i.process(Cr(Mr(d.server.url,d.server.process,d.name,{chunkTransferId:i.transferId,chunkServer:d.server.patch,chunkUploads:d.chunkUploads,chunkForce:d.chunkForce,chunkSize:d.chunkSize,chunkRetryDelays:d.chunkRetryDelays}),{allowMinimumUploadDuration:t("GET_ALLOW_MINIMUM_UPLOAD_DURATION")}),(c,f,u)=>{re("PREPARE_OUTPUT",c,{query:t,item:i}).then(g=>{e("DID_PREPARE_OUTPUT",{id:i.id,file:g}),f(g)}).catch(u)})}),RETRY_ITEM_PROCESSING:ie(n,i=>{e("REQUEST_ITEM_PROCESSING",{query:i})}),REQUEST_REMOVE_ITEM:ie(n,i=>{pn(t("GET_BEFORE_REMOVE_FILE"),K(i)).then(r=>{r&&e("REMOVE_ITEM",{query:i})})}),RELEASE_ITEM:ie(n,i=>{i.release()}),REMOVE_ITEM:ie(n,(i,r,o,s)=>{const l=()=>{const d=i.id;cn(n.items,d).archive(),e("DID_REMOVE_ITEM",{error:null,id:d,item:i}),dt(e,n),r(K(i))},a=n.options.server;i.origin===Y.LOCAL&&a&&me(a.remove)&&s.remove!==!1?(e("DID_START_ITEM_REMOVE",{id:i.id}),a.remove(i.source,()=>l(),d=>{e("DID_THROW_ITEM_REMOVE_ERROR",{id:i.id,error:k("error",0,d,null),status:{main:qe(n.options.labelFileRemoveError)(d),sub:n.options.labelTapToRetry}})})):((s.revert&&i.origin!==Y.LOCAL&&i.serverId!==null||n.options.chunkUploads&&i.file.size>n.options.chunkSize||n.options.chunkUploads&&n.options.chunkForce)&&i.revert(Me(n.options.server.url,n.options.server.revert),t("GET_FORCE_REVERT")),l())}),ABORT_ITEM_LOAD:ie(n,i=>{i.abortLoad()}),ABORT_ITEM_PROCESSING:ie(n,i=>{if(i.serverId){e("REVERT_ITEM_PROCESSING",{id:i.id});return}i.abortProcessing().then(()=>{n.options.instantUpload&&e("REMOVE_ITEM",{query:i.id})})}),REQUEST_REVERT_ITEM_PROCESSING:ie(n,i=>{if(!n.options.instantUpload){e("REVERT_ITEM_PROCESSING",{query:i});return}const r=l=>{l&&e("REVERT_ITEM_PROCESSING",{query:i})},o=t("GET_BEFORE_REMOVE_FILE");if(!o)return r(!0);const s=o(K(i));if(s==null)return r(!0);if(typeof s=="boolean")return r(s);typeof s.then=="function"&&s.then(r)}),REVERT_ITEM_PROCESSING:ie(n,i=>{i.revert(Me(n.options.server.url,n.options.server.revert),t("GET_FORCE_REVERT")).then(()=>{(n.options.instantUpload||Br(i))&&e("REMOVE_ITEM",{query:i.id})}).catch(()=>{})}),SET_OPTIONS:({options:i})=>{const r=Object.keys(i),o=kr.filter(l=>r.includes(l));[...o,...Object.keys(i).filter(l=>!o.includes(l))].forEach(l=>{e(`SET_${Ue(l,"_").toUpperCase()}`,{value:i[l]})})}}),kr=["server"],pt=e=>e,le=e=>document.createElement(e),V=(e,t)=>{let n=e.childNodes[0];n?t!==n.nodeValue&&(n.nodeValue=t):(n=document.createTextNode(t),e.appendChild(n))},un=(e,t,n,i)=>{const r=(i%360-90)*Math