filepond
Version:
FilePond, Where files go to stretch their bits.
9 lines (7 loc) • 83.7 kB
JavaScript
/*!
* FilePond 4.3.7
* Licensed under MIT, https://opensource.org/licenses/MIT/
* Please visit https://pqina.nl/filepond/ for details.
*/
/* eslint-disable */
const e=(e,t)=>{for(const r in e)e.hasOwnProperty(r)&&t(r,e[r])},t=t=>{const r={};return e(t,e=>{((e,t,r)=>{"function"!=typeof r?Object.defineProperty(e,t,{...r}):e[t]=r})(r,e,t[e])}),r},r=(e,t,r=null)=>{if(null===r)return e.getAttribute(t)||e.hasAttribute(t);e.setAttribute(t,r)},o=["svg","path"],n=e=>o.includes(e),i=(t,o,i={})=>{"object"==typeof o&&(i=o,o=null);const s=n(t)?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t);return o&&(n(t)?r(s,"class",o):s.className=o),e(i,(e,t)=>{r(s,e,t)}),s},s=e=>(t,r)=>{void 0!==r&&e.children[r]?e.insertBefore(t,e.children[r]):e.appendChild(t)},a=(e,t)=>(e,r)=>(void 0!==r?t.splice(r,0,e):t.push(e),e),l=(e,t)=>r=>(t.splice(t.indexOf(r),1),r.element.parentNode&&e.removeChild(r.element),r),c=(e,t,r,o)=>{const n=r[0]||e.left,i=r[1]||e.top,s=n+e.width,a=i+e.height*(o[1]||1),l={element:{...e},inner:{left:e.left,top:e.top,right:e.right,bottom:e.bottom},outer:{left:n,top:i,right:s,bottom:a}};return t.filter(e=>!e.isRectIgnored()).map(e=>e.rect).forEach(e=>{p(l.inner,{...e.inner}),p(l.outer,{...e.outer})}),d(l.inner),l.outer.bottom+=l.element.marginBottom,l.outer.right+=l.element.marginRight,d(l.outer),l},p=(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)},d=e=>{e.width=e.right-e.left,e.height=e.bottom-e.top},E=e=>"number"==typeof e,u=e=>e<.5?2*e*e:(4-2*e)*e-1,_={spring:({stiffness:e=.5,damping:r=.75,mass:o=10}={})=>{let n=null,i=null,s=0,a=!1;const l=t({interpolate:()=>{if(!a)return E(n)&&E(i)?void(((e,t,r,o=.001)=>Math.abs(e-t)<o&&Math.abs(r)<o)(i+=s+=-(i-n)*e/o,n,s*=r)?(i=n,s=0,a=!0,l.onupdate(i),l.oncomplete(i)):l.onupdate(i)):(a=!0,void(s=0))},target:{set:e=>{if(E(e)&&!E(i)&&(i=e),null===n&&(n=e,i=e),i===(n=e)||void 0===n)return a=!0,s=0,l.onupdate(i),void l.oncomplete(i);a=!1},get:()=>n},resting:{get:()=>a},onupdate:e=>{},oncomplete:e=>{}});return l},tween:({duration:e=500,easing:r=u,delay:o=0}={})=>{let n,i,s=null,a=!0,l=!1,c=null;const p=t({interpolate:t=>{a||null===c||(null===s&&(s=t),t-s<o||((n=t-s-o)<e?(i=n/e,p.onupdate((n>=0?r(l?1-i:i):0)*c)):(n=1,i=l?0:1,p.onupdate(i*c),p.oncomplete(i*c),a=!0)))},target:{get:()=>l?0:c,set:e=>{if(null===c)return c=e,p.onupdate(e),void p.oncomplete(e);e<c?(c=1,l=!0):(l=!1,c=e),a=!1,s=null}},resting:{get:()=>a},onupdate:e=>{},oncomplete:e=>{}});return p}},T=(e,t,r)=>{const o=e[t]&&"object"==typeof e[t][r]?e[t][r]:e[t]||e,n="string"==typeof o?o:o.type,i="object"==typeof o?{...o}:{};return _[n]?_[n](i):null},I=(e,t,r,o=!1)=>{(t=Array.isArray(t)?t:[t]).forEach(t=>{e.forEach(e=>{let n=e,i=()=>r[e],s=t=>r[e]=t;"object"==typeof e&&(n=e.key,i=e.getter||i,s=e.setter||s),t[n]&&!o||(t[n]={get:i,set:s})})})},f=e=>null!=e,m={opacity:1,scaleX:1,scaleY:1,translateX:0,translateY:0,rotateX:0,rotateY:0,rotateZ:0,originX:0,originY:0},R=(e,t)=>{if(Object.keys(e).length!==Object.keys(t).length)return!0;for(const r in t)if(t[r]!==e[r])return!0;return!1},g=(e,{opacity:t,perspective:r,translateX:o,translateY:n,scaleX:i,scaleY:s,rotateX:a,rotateY:l,rotateZ:c,originX:p,originY:d,width:E,height:u})=>{let _="",T="";(f(p)||f(d))&&(T+=`transform-origin: ${p||0}px ${d||0}px;`),f(r)&&(_+=`perspective(${r}px) `),(f(o)||f(n))&&(_+=`translate3d(${o||0}px, ${n||0}px, 0) `),(f(i)||f(s))&&(_+=`scale3d(${f(i)?i:1}, ${f(s)?s:1}, 1) `),f(c)&&(_+=`rotateZ(${c}rad) `),f(a)&&(_+=`rotateX(${a}rad) `),f(l)&&(_+=`rotateY(${l}rad) `),_.length&&(T+=`transform:${_};`),f(t)&&(T+=`opacity:${t};`,0===t&&(T+="visibility:hidden;"),t<1&&(T+="pointer-events:none;")),f(u)&&(T+=`height:${u}px;`),f(E)&&(T+=`width:${E}px;`);const I=e.elementCurrentStyle||"";T.length===I.length&&T===I||(e.setAttribute("style",T),e.elementCurrentStyle=T)},h={styles:({mixinConfig:e,viewProps:t,viewInternalAPI:r,viewExternalAPI:o,view:n})=>{const i={...t},s={};I(e,[r,o],t);const a=()=>n.rect?c(n.rect,n.childViews,(()=>[t.translateX||0,t.translateY||0])(),(()=>[t.scaleX||0,t.scaleY||0])()):null;return r.rect={get:a},o.rect={get:a},e.forEach(e=>{t[e]=void 0===i[e]?m[e]:i[e]}),{write:()=>{if(R(s,t))return g(n.element,t),Object.assign(s,{...t}),!0},destroy:()=>{}}},listeners:({mixinConfig:e,viewProps:t,viewInternalAPI:r,viewExternalAPI:o,viewState:n,view:i})=>{const s=[],a=(e=>(t,r)=>{e.addEventListener(t,r)})(i.element),l=(e=>(t,r)=>{e.removeEventListener(t,r)})(i.element);return o.on=((e,t)=>{s.push({type:e,fn:t}),a(e,t)}),o.off=((e,t)=>{s.splice(s.findIndex(r=>r.type===e&&r.fn===t),1),l(e,t)}),{write:()=>!0,destroy:()=>{s.forEach(e=>{l(e.type,e.fn)})}}},animations:({mixinConfig:t,viewProps:r,viewInternalAPI:o,viewExternalAPI:n,viewState:i})=>{const s={...r},a=[];return e(t,(e,t)=>{const i=T(t);i&&(i.onupdate=(t=>{r[e]=t}),i.target=s[e],I([{key:e,setter:e=>{i.target!==e&&(i.target=e)},getter:()=>r[e]}],[o,n],r,!0),a.push(i))}),{write:e=>{let t=!0;return a.forEach(r=>{r.resting||(t=!1),r.interpolate(e)}),t},destroy:()=>{}}},apis:({mixinConfig:e,viewProps:t,viewExternalAPI:r})=>{I(e,r,t)}},O=(e={},t={},r={})=>(t.layoutCalculated||(e.paddingTop=parseInt(r.paddingTop,10)||0,e.marginTop=parseInt(r.marginTop,10)||0,e.marginRight=parseInt(r.marginRight,10)||0,e.marginBottom=parseInt(r.marginBottom,10)||0,e.marginLeft=parseInt(r.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=null===t.offsetParent,e),D=({tag:e="div",name:r=null,attributes:o={},read:n=(()=>{}),write:p=(()=>{}),create:d=(()=>{}),destroy:E=(()=>{}),filterFrameActionsForChild:u=((e,t)=>t),didCreateView:_=(()=>{}),didWriteView:T=(()=>{}),ignoreRect:I=!1,ignoreRectUpdate:f=!1,mixins:m=[]}={})=>(R,g={})=>{const D=i(e,`filepond--${r}`,o),S=window.getComputedStyle(D,null),y=O();let A=null,L=!1;const P=[],M=[],b={},v={},C=[p],N=[n],w=[E],G=()=>D,U=()=>P.concat(),B=()=>A||(A=c(y,P,[0,0],[1,1])),V={element:{get:G},style:{get:()=>S},childViews:{get:U}},q={...V,rect:{get:B},ref:{get:()=>b},is:e=>r===e,appendChild:s(D),createChildView:(e=>(t,r)=>t(e,r))(R),linkView:e=>(P.push(e),e),unlinkView:e=>{P.splice(P.indexOf(e),1)},appendChildView:a(0,P),removeChildView:l(D,P),registerWriter:e=>C.push(e),registerReader:e=>N.push(e),registerDestroyer:e=>w.push(e),invalidateLayout:()=>D.layoutCalculated=!1,dispatch:R.dispatch,query:R.query},F={element:{get:G},childViews:{get:U},rect:{get:B},resting:{get:()=>L},isRectIgnored:()=>I,_read:()=>{A=null,P.forEach(e=>e._read()),!(f&&y.width&&y.height)&&O(y,D,S);const e={root:Y,props:g,rect:y};N.forEach(t=>t(e))},_write:(e,t,r)=>{let o=0===t.length;return C.forEach(n=>{!1===n({props:g,root:Y,actions:t,timestamp:e,shouldOptimize:r})&&(o=!1)}),M.forEach(t=>{!1===t.write(e)&&(o=!1)}),P.filter(e=>!!e.element.parentNode).forEach(n=>{n._write(e,u(n,t),r)||(o=!1)}),P.forEach((n,i)=>{n.element.parentNode||(Y.appendChild(n.element,i),n._read(),n._write(e,u(n,t),r),o=!1)}),L=o,T({props:g,root:Y,actions:t,timestamp:e}),o},_destroy:()=>{M.forEach(e=>e.destroy()),w.forEach(e=>{e({root:Y,props:g})}),P.forEach(e=>e._destroy())}},x={...V,rect:{get:()=>y}};Object.keys(m).sort((e,t)=>"styles"===e?1:"styles"===t?-1:0).forEach(e=>{const r=h[e]({mixinConfig:m[e],viewProps:g,viewState:v,viewInternalAPI:q,viewExternalAPI:F,view:t(x)});r&&M.push(r)});const Y=t(q);d({root:Y,props:g});const $=D.children.length;return P.forEach((e,t)=>{Y.appendChild(e.element,$+t)}),_(Y),t(F)},S=(e,t)=>({root:r,props:o,actions:n=[],timestamp:i,shouldOptimize:s})=>{n.filter(t=>e[t.type]).forEach(t=>e[t.type]({root:r,props:o,action:t.data,timestamp:i,shouldOptimize:s})),t&&t({root:r,props:o,actions:n,timestamp:i,shouldOptimize:s})},y=(e,t)=>t.parentNode.insertBefore(e,t),A=(e,t)=>t.parentNode.insertBefore(e,t.nextSibling),L=e=>Array.isArray(e),P=e=>null==e,M=e=>e.trim(),b=e=>""+e,v=e=>"boolean"==typeof e,C=e=>v(e)?e:"true"===e,N=e=>"string"==typeof e,w=e=>E(e)?e:N(e)?b(e).replace(/[a-z]+/gi,""):0,G=e=>parseInt(w(e),10),U=e=>E(e)&&isFinite(e)&&Math.floor(e)===e,B=e=>{if(U(e))return e;let t=b(e).trim();return/MB$/i.test(t)?(t=t.replace(/MB$i/,"").trim(),1e3*G(t)*1e3):/KB/i.test(t)?(t=t.replace(/KB$i/,"").trim(),1e3*G(t)):G(t)},V=e=>"function"==typeof e,q={process:"POST",revert:"DELETE",fetch:"GET",restore:"GET",load:"GET"},F=(e,t,r,o)=>{if(null===t)return null;if("function"==typeof t)return t;const n={url:"GET"===r?`?${e}=`:"",method:r,headers:{},withCredentials:!1,timeout:o,onload:null,ondata:null,onerror:null};if(N(t))return n.url=t,n;if(Object.assign(n,t),N(n.headers)){const e=n.headers.split(/:(.+)/);n.headers={header:e[0],value:e[1]}}return n.withCredentials=C(n.withCredentials),n},x=e=>"object"==typeof e&&null!==e,Y=e=>L(e)?"array":(e=>null===e)(e)?"null":U(e)?"int":/^[0-9]+ ?(?:GB|MB|KB)$/gi.test(e)?"bytes":(e=>x(e)&&N(e.url)&&x(e.process)&&x(e.revert)&&x(e.restore)&&x(e.fetch))(e)?"api":typeof e,$={array:(e,t=",")=>P(e)?[]:L(e)?e:b(e).split(t).map(M).filter(e=>e.length),boolean:C,int:e=>"bytes"===Y(e)?B(e):G(e),float:e=>parseFloat(w(e)),bytes:B,string:e=>V(e)?e:b(e),serverapi:t=>(t=>{const r={};return r.url=N(t)?t:t.url||"",r.timeout=t.timeout?parseInt(t.timeout,10):0,e(q,e=>{r[e]=F(e,t[e],q[e],r.timeout)}),r.remove=t.remove||null,r})(t),object:e=>{try{return JSON.parse((e=>e.replace(/{\s*'/g,'{"').replace(/'\s*}/g,'"}').replace(/'\s*:/g,'":').replace(/:\s*'/g,':"').replace(/,\s*'/g,',"').replace(/'\s*,/g,'",'))(e))}catch(e){return null}},function:e=>(e=>{let t=self,r=e.split("."),o=null;for(;o=r.shift();)if(!(t=t[o]))return null;return t})(e)},H=(e,t,r)=>{if(e===t)return e;let o=Y(e);if(o!==r){const t=((e,t)=>$[t](e))(e,r);if(o=Y(t),null===t)throw`Trying to assign value with incorrect type to "${option}", allowed type: "${r}"`;e=t}return e},X=r=>{const o={};return e(r,e=>{const t=r[e];o[e]=((e,t)=>{let r=e;return{enumerable:!0,get:()=>r,set:o=>{r=H(o,e,t)}}})(t[0],t[1])}),t(o)},W=(e,t="-")=>e.split(/(?=[A-Z])/).map(e=>e.toLowerCase()).join(t),z=(t,r)=>{const o={};return e(r,e=>{o[e]={get:()=>t.getState().options[e],set:r=>{t.dispatch(`SET_${W(e,"_").toUpperCase()}`,{value:r})}}}),o},k=t=>(r,o,n)=>{const i={};return e(t,e=>{const t=W(e,"_").toUpperCase();i[`SET_${t}`]=(o=>{try{n.options[e]=o.value}catch(e){}r(`DID_SET_${t}`,{value:n.options[e]})})}),i},j=t=>r=>{const o={};return e(t,e=>{o[`GET_${W(e,"_").toUpperCase()}`]=(t=>r.options[e])}),o},Q=1,Z=2,K=3,J=4,ee=5,te=()=>Math.random().toString(36).substr(2,9),re=(e,t)=>e.splice(t,1),oe=()=>{const e=[],t=(t,r)=>{re(e,e.findIndex(e=>e.event===t&&(e.cb===r||!r)))};return{fire:(t,...r)=>{e.filter(e=>e.event===t).map(e=>e.cb).forEach(e=>{setTimeout(()=>{e(...r)},0)})},on:(t,r)=>{e.push({event:t,cb:r})},onOnce:(r,o)=>{e.push({event:r,cb:(...e)=>{t(r,o),o(...e)}})},off:t}},ne=(e,t,r)=>{Object.getOwnPropertyNames(e).filter(e=>!r.includes(e)).forEach(r=>Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r)))},ie=["fire","process","revert","load","on","off","onOnce","retryLoad","extend","archive","archived","release","released","requestProcessing","freeze"],se=e=>{const t={};return ne(e,t,ie),t},ae={INIT:1,IDLE:2,PROCESSING_QUEUED:9,PROCESSING:3,PROCESSING_COMPLETE:5,PROCESSING_ERROR:6,PROCESSING_REVERT_ERROR:10,LOADING:7,LOAD_ERROR:8},le=e=>/[^0-9]+/.exec(e),ce=()=>le(1.1.toLocaleString())[0],pe={BOOLEAN:"boolean",INT:"int",STRING:"string",ARRAY:"array",OBJECT:"object",FUNCTION:"function",ACTION:"action",SERVER_API:"serverapi",REGEX:"regex"},de=[],Ee=(e,t,r)=>new Promise((o,n)=>{const i=de.filter(t=>t.key===e).map(e=>e.cb);if(0===i.length)return void o(t);const s=i.shift();i.reduce((e,t)=>e.then(e=>t(e,r)),s(t,r)).then(e=>o(e)).catch(e=>n(e))}),ue=(e,t,r)=>de.filter(t=>t.key===e).map(e=>e.cb(t,r)),_e=(e,t)=>de.push({key:e,cb:t}),Te=()=>({...Ie}),Ie={id:[null,pe.STRING],name:["filepond",pe.STRING],disabled:[!1,pe.BOOLEAN],className:[null,pe.STRING],required:[!1,pe.BOOLEAN],captureMethod:[null,pe.STRING],allowDrop:[!0,pe.BOOLEAN],allowBrowse:[!0,pe.BOOLEAN],allowPaste:[!0,pe.BOOLEAN],allowMultiple:[!1,pe.BOOLEAN],allowReplace:[!0,pe.BOOLEAN],allowRevert:[!0,pe.BOOLEAN],forceRevert:[!1,pe.BOOLEAN],maxFiles:[null,pe.INT],checkValidity:[!1,pe.BOOLEAN],itemInsertLocationFreedom:[!0,pe.BOOLEAN],itemInsertLocation:["before",pe.STRING],itemInsertInterval:[75,pe.INT],dropOnPage:[!1,pe.BOOLEAN],dropOnElement:[!0,pe.BOOLEAN],dropValidation:[!1,pe.BOOLEAN],ignoredFiles:[[".ds_store","thumbs.db","desktop.ini"],pe.ARRAY],instantUpload:[!0,pe.BOOLEAN],maxParallelUploads:[2,pe.INT],server:[null,pe.SERVER_API],labelDecimalSeparator:[ce(),pe.STRING],labelThousandsSeparator:[(()=>{const e=ce(),t=1e3.toLocaleString();return t!==1e3.toString()?le(t)[0]:"."===e?",":"."})(),pe.STRING],labelIdle:['Drag & Drop your files or <span class="filepond--label-action">Browse</span>',pe.STRING],labelInvalidField:["Field contains invalid files",pe.STRING],labelFileWaitingForSize:["Waiting for size",pe.STRING],labelFileSizeNotAvailable:["Size not available",pe.STRING],labelFileCountSingular:["file in list",pe.STRING],labelFileCountPlural:["files in list",pe.STRING],labelFileLoading:["Loading",pe.STRING],labelFileAdded:["Added",pe.STRING],labelFileLoadError:["Error during load",pe.STRING],labelFileRemoved:["Removed",pe.STRING],labelFileRemoveError:["Error during remove",pe.STRING],labelFileProcessing:["Uploading",pe.STRING],labelFileProcessingComplete:["Upload complete",pe.STRING],labelFileProcessingAborted:["Upload cancelled",pe.STRING],labelFileProcessingError:["Error during upload",pe.STRING],labelFileProcessingRevertError:["Error during revert",pe.STRING],labelTapToCancel:["tap to cancel",pe.STRING],labelTapToRetry:["tap to retry",pe.STRING],labelTapToUndo:["tap to undo",pe.STRING],labelButtonRemoveItem:["Remove",pe.STRING],labelButtonAbortItemLoad:["Abort",pe.STRING],labelButtonRetryItemLoad:["Retry",pe.STRING],labelButtonAbortItemProcessing:["Cancel",pe.STRING],labelButtonUndoItemProcessing:["Undo",pe.STRING],labelButtonRetryItemProcessing:["Retry",pe.STRING],labelButtonProcessItem:["Upload",pe.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>',pe.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>',pe.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>',pe.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>',pe.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>',pe.STRING],oninit:[null,pe.FUNCTION],onwarning:[null,pe.FUNCTION],onerror:[null,pe.FUNCTION],onactivatefile:[null,pe.FUNCTION],onaddfilestart:[null,pe.FUNCTION],onaddfileprogress:[null,pe.FUNCTION],onaddfile:[null,pe.FUNCTION],onprocessfilestart:[null,pe.FUNCTION],onprocessfileprogress:[null,pe.FUNCTION],onprocessfileabort:[null,pe.FUNCTION],onprocessfilerevert:[null,pe.FUNCTION],onprocessfile:[null,pe.FUNCTION],onprocessfiles:[null,pe.FUNCTION],onremovefile:[null,pe.FUNCTION],onpreparefile:[null,pe.FUNCTION],onupdatefiles:[null,pe.FUNCTION],beforeAddFile:[null,pe.FUNCTION],beforeRemoveFile:[null,pe.FUNCTION],stylePanelLayout:[null,pe.STRING],stylePanelAspectRatio:[null,pe.STRING],styleItemPanelAspectRatio:[null,pe.STRING],styleButtonRemoveItemPosition:["left",pe.STRING],styleButtonProcessItemPosition:["right",pe.STRING],styleLoadIndicatorPosition:["right",pe.STRING],styleProgressIndicatorPosition:["right",pe.STRING],files:[[],pe.ARRAY]},fe=(e,t)=>P(t)?e[0]||null:U(t)?e[t]||null:("object"==typeof t&&(t=t.id),e.find(e=>e.id===t)||null),me=e=>{if(P(e))return e;if(/:/.test(e)){const t=e.split(":");return t[1]/t[0]}return parseFloat(e)},Re=e=>e.filter(e=>!e.archived),ge={EMPTY:0,IDLE:1,ERROR:2,BUSY:3,READY:4},he=[ae.LOAD_ERROR,ae.PROCESSING_ERROR,ae.PROCESSING_REVERT_ERROR],Oe=[ae.LOADING,ae.PROCESSING,ae.PROCESSING_QUEUED,ae.INIT],De=[ae.PROCESSING_COMPLETE],Se=e=>he.includes(e.status),ye=e=>Oe.includes(e.status),Ae=e=>De.includes(e.status),Le=e=>({GET_STATUS:()=>{const t=Re(e.items),{EMPTY:r,ERROR:o,BUSY:n,IDLE:i,READY:s}=ge;return 0===t.length?r:t.some(Se)?o:t.some(ye)?n:t.some(Ae)?s:i},GET_ITEM:t=>fe(e.items,t),GET_ACTIVE_ITEM:t=>fe(Re(e.items),t),GET_ACTIVE_ITEMS:t=>Re(e.items),GET_ITEMS:t=>e.items,GET_ITEM_NAME:t=>{const r=fe(e.items,t);return r?r.filename:null},GET_ITEM_SIZE:t=>{const r=fe(e.items,t);return r?r.fileSize:null},GET_STYLES:()=>Object.keys(e.options).filter(e=>/^style/.test(e)).map(t=>({name:t,value:e.options[t]})),GET_PANEL_ASPECT_RATIO:()=>{return/circle/.test(e.options.stylePanelLayout)?1:me(e.options.stylePanelAspectRatio)},GET_ITEM_PANEL_ASPECT_RATIO:()=>e.options.styleItemPanelAspectRatio,GET_ITEMS_BY_STATUS:t=>Re(e.items).filter(e=>e.status===t),GET_TOTAL_ITEMS:()=>Re(e.items).length,IS_ASYNC:()=>x(e.options.server)&&(x(e.options.server.process)||V(e.options.server.process))}),Pe=(e,t,r)=>P(t)?null:void 0===r?(e.push(t),t):(((e,t,r)=>e.splice(t,0,r))(e,r=((e,t,r)=>Math.max(Math.min(r,e),t))(r,0,e.length),t),t),Me=e=>/^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i.test(e),be=e=>e.split("/").pop().split("?").shift(),ve=e=>e.split(".").pop(),Ce=(e,t="")=>(t+e).slice(-t.length),Ne=(e=new Date)=>`${e.getFullYear()}-${Ce(e.getMonth()+1,"00")}-${Ce(e.getDate(),"00")}_${Ce(e.getHours(),"00")}-${Ce(e.getMinutes(),"00")}-${Ce(e.getSeconds(),"00")}`,we=(e,t,r=null,o=null)=>{const n="string"==typeof r?e.slice(0,e.size,r):e.slice(0,e.size,e.type);return n.lastModifiedDate=new Date,N(t)||(t=Ne()),t&&null===o&&ve(t)?n.name=t:(o=o||(e=>{if("string"!=typeof e)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)?"jpeg"===t?"jpg":t:""})(n.type),n.name=t+(o?"."+o:"")),n},Ge=(e,t)=>{const r=(()=>window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)();if(r){const o=new r;return o.append(e),o.getBlob(t)}return new Blob([e],{type:t})},Ue=e=>(/^data:(.+);/.exec(e)||[])[1]||null,Be=e=>{const t=Ue(e);return((e,t)=>{const r=new ArrayBuffer(e.length),o=new Uint8Array(r);for(let t=0;t<e.length;t++)o[t]=e.charCodeAt(t);return Ge(r,t)})((e=>atob((e=>e.split(",")[1].replace(/\s/g,""))(e)))(e),t)},Ve=e=>{const t=e.match(/(?:filename="(.+)")|(?:filename=(.+))/)||[];return t[1]||t[2]},qe=e=>{if(/content-length:/i.test(e)){const t=e.match(/[0-9]+/)[0];return t?parseInt(t,10):null}return null},Fe=e=>{if(/x-content-transfer-id:/i.test(e)){return(e.split(":")[1]||"").trim()||null}return null},xe=e=>{const t={source:null,name:null,size:null},r=e.split("\n");for(let e of r){const r=Ve(e);if(r){t.name=r;continue}const o=qe(e);if(o){t.size=o;continue}const n=Fe(e);n&&(t.source=n)}return t},Ye=e=>{const t={source:null,complete:!1,progress:0,size:null,timestamp:null,duration:0,request:null},r=r=>{e?(t.timestamp=Date.now(),t.request=e(r,e=>{t.duration=Date.now()-t.timestamp,t.complete=!0,e instanceof Blob&&(e=we(e,be(r))),o.fire("load",e instanceof Blob?e:e.body)},e=>{o.fire("error","string"==typeof e?{type:"error",code:0,body:e}:e)},(e,r,n)=>{n&&(t.size=n),t.duration=Date.now()-t.timestamp,e?(t.progress=r/n,o.fire("progress",t.progress)):t.progress=null},()=>{o.fire("abort")},e=>{const r=xe("string"==typeof e?e:e.headers);o.fire("meta",{size:t.size||r.size,filename:r.name,source:r.source})})):o.fire("error",{type:"error",body:"Can't load URL",code:400})},o={...oe(),setSource:e=>t.source=e,getProgress:()=>t.progress,abort:()=>{t.request&&t.request.abort()},load:()=>{const e=t.source;o.fire("init",e),e instanceof File?o.fire("load",e):e instanceof Blob?o.fire("load",we(e,e.name)):Me(e)?o.fire("load",((e,t,r)=>we(Be(e),t,null,r))(e)):r(e)}};return o},$e=e=>/GET|HEAD/.test(e),He=(e,t,r)=>{const o={onheaders:()=>{},onprogress:()=>{},onload:()=>{},ontimeout:()=>{},onerror:()=>{},onabort:()=>{},abort:()=>{n=!0,s.abort()}};let n=!1,i=!1;r={method:"POST",headers:{},withCredentials:!1,...r},t=encodeURI(t),$e(r.method)&&e&&(t=`${t}${encodeURIComponent("string"==typeof e?e:JSON.stringify(e))}`);const s=new XMLHttpRequest;return($e(r.method)?s:s.upload).onprogress=(e=>{n||o.onprogress(e.lengthComputable,e.loaded,e.total)}),s.onreadystatechange=(()=>{s.readyState<2||4===s.readyState&&0===s.status||i||(i=!0,o.onheaders(s))}),s.onload=(()=>{s.status>=200&&s.status<300?o.onload(s):o.onerror(s)}),s.onerror=(()=>o.onerror(s)),s.onabort=(()=>{n=!0,o.onabort()}),s.ontimeout=(()=>o.ontimeout(s)),s.open(r.method,t,!0),U(r.timeout)&&(s.timeout=r.timeout),Object.keys(r.headers).forEach(e=>{s.setRequestHeader(e,r.headers[e])}),r.responseType&&(s.responseType=r.responseType),r.withCredentials&&(s.withCredentials=!0),s.send(e),o},Xe=(e,t,r,o)=>({type:e,code:t,body:r,headers:o}),We=e=>t=>{e(Xe("error",0,"Timeout",t.getAllResponseHeaders()))},ze=(e="",t)=>{if("function"==typeof t)return t;if(!t||!N(t.url))return null;const r=t.onload||(e=>e),o=t.onerror||(e=>null);return(n,i,s,a,l,c)=>{const p=He(n,e+t.url,{...t,responseType:"blob"});return p.onload=(e=>{const t=e.getAllResponseHeaders(),o=xe(t).name||be(n);i(Xe("load",e.status,we(r(e.response),o),t))}),p.onerror=(e=>{s(Xe("error",e.status,o(e.response)||e.statusText,e.getAllResponseHeaders()))}),p.onheaders=(e=>{c(Xe("headers",e.status,null,e.getAllResponseHeaders()))}),p.ontimeout=We(s),p.onprogress=a,p.onabort=l,p}},ke=(e="",t)=>{if("function"==typeof t)return t;if(!t||!N(t.url))return(e,t)=>t();const r=t.onload||(e=>e),o=t.onerror||(e=>null);return(n,i,s)=>{const a=He(n,e+t.url,t);return a.onload=(e=>{i(Xe("load",e.status,r(e.response),e.getAllResponseHeaders()))}),a.onerror=(e=>{s(Xe("error",e.status,o(e.response)||e.statusText,e.getAllResponseHeaders()))}),a.ontimeout=We(s),a}},je=(e=0,t=1)=>e+Math.random()*(t-e),Qe=e=>{const t={complete:!1,perceivedProgress:0,perceivedPerformanceUpdater:null,progress:null,timestamp:null,perceivedDuration:0,duration:0,request:null,response:null},r=()=>{t.request&&(t.perceivedPerformanceUpdater.clear(),t.request.abort(),t.complete=!0)},o={...oe(),process:(r,n)=>{const i=()=>{0!==t.duration&&null!==t.progress&&o.fire("progress",o.getProgress())},s=()=>{t.complete=!0,o.fire("load-perceived",t.response.body)};o.fire("start"),t.timestamp=Date.now(),t.perceivedPerformanceUpdater=((e,t=1e3,r=0,o=25,n=250)=>{let i=null;const s=Date.now(),a=()=>{let r=Date.now()-s,l=je(o,n);r+l>t&&(l=r+l-t);let c=r/t;c>=1?e(1):(e(c),i=setTimeout(a,l))};return a(),{clear:()=>{clearTimeout(i)}}})(e=>{t.perceivedProgress=e,t.perceivedDuration=Date.now()-t.timestamp,i(),t.response&&1===t.perceivedProgress&&!t.complete&&s()},je(750,1500)),t.request=e(r,n,e=>{t.response=x(e)?e:{type:"load",code:200,body:`${e}`,headers:{}},t.duration=Date.now()-t.timestamp,t.progress=1,o.fire("load",t.response.body),1===t.perceivedProgress&&s()},e=>{t.perceivedPerformanceUpdater.clear(),o.fire("error",x(e)?e:{type:"error",code:0,body:`${e}`})},(e,r,o)=>{t.duration=Date.now()-t.timestamp,t.progress=e?r/o:null,i()},()=>{t.perceivedPerformanceUpdater.clear(),o.fire("abort",t.response?t.response.body:null)})},abort:r,getProgress:()=>t.progress?Math.min(t.progress,t.perceivedProgress):null,getDuration:()=>Math.min(t.duration,t.perceivedDuration),reset:()=>{r(),t.complete=!1,t.perceivedProgress=0,t.progress=0,t.timestamp=null,t.perceivedDuration=0,t.duration=0,t.request=null,t.response=null}};return o},Ze=e=>e.substr(0,e.lastIndexOf("."))||e,Ke={INPUT:1,LIMBO:2,LOCAL:3},Je=e=>e instanceof File||e instanceof Blob&&e.name,et=e=>{if(!x(e))return e;const t=L(e)?[]:{};for(const r in e){if(!e.hasOwnProperty(r))continue;const o=e[r];t[r]=o&&x(o)?et(o):o}return t},tt=(e=null,r=null,o=null)=>{const n=te(),i={archived:!1,frozen:!1,released:!1,source:null,file:o,serverFileReference:r,status:r?ae.PROCESSING_COMPLETE:ae.INIT,activeLoader:null,activeProcessor:null};let s=null;const a={},l=e=>i.status=e,c=(e,...t)=>{i.released||i.frozen||E.fire(e,...t)},p=(e,t)=>{if(l(ae.PROCESSING),s=null,!(i.file instanceof Blob))return void E.on("load",()=>{p(e,t)});e.on("load",e=>{i.serverFileReference=e}),e.on("load-perceived",e=>{i.activeProcessor=null,i.serverFileReference=e,l(ae.PROCESSING_COMPLETE),c("process-complete",e)}),e.on("start",()=>{c("process-start")}),e.on("error",e=>{i.activeProcessor=null,l(ae.PROCESSING_ERROR),c("process-error",e)}),e.on("abort",e=>{i.activeProcessor=null,i.serverFileReference=e,l(ae.IDLE),c("process-abort"),s&&s()}),e.on("progress",e=>{c("process-progress",e)});t(i.file,t=>{i.archived||e.process(t,{...a})},e=>{}),i.activeProcessor=e},d=(e,t,r)=>{const o=e.split("."),n=o[0],i=o.pop();let s=a;o.forEach(e=>s=s[e]),JSON.stringify(s[i])!==JSON.stringify(t)&&(s[i]=t,r||c("metadata-update",{key:n,value:a[n]}))},E={id:{get:()=>n},origin:{get:()=>e},serverId:{get:()=>i.serverFileReference},status:{get:()=>i.status},filename:{get:()=>i.file.name},filenameWithoutExtension:{get:()=>Ze(i.file.name)},fileExtension:{get:()=>ve(i.file.name)},fileType:{get:()=>i.file.type},fileSize:{get:()=>i.file.size},file:{get:()=>i.file},source:{get:()=>i.source},getMetadata:e=>et(e?a[e]:a),setMetadata:(e,t,r)=>{if(x(e)){const r=e;return Object.keys(r).forEach(e=>{d(e,r[e],t)}),e}return d(e,t,r),t},extend:(e,t)=>u[e]=t,abortLoad:()=>{i.activeLoader?i.activeLoader.abort():(l(ae.INIT),c("load-abort"))},retryLoad:()=>{i.activeLoader&&i.activeLoader.load()},requestProcessing:()=>{l(ae.PROCESSING_QUEUED)},abortProcessing:()=>new Promise(e=>{if(!i.activeProcessor)return l(ae.IDLE),c("process-abort"),void e();s=(()=>{e()}),i.activeProcessor.abort()}),load:(t,r,o)=>{i.source=t,i.file?c("load-skip"):(i.file=(e=>{let t=[e.name,e.size,e.type];return e instanceof Blob||Me(e)?t[0]=e.name||Ne():Me(e)?(t[1]=e.length,t[2]=Ue(e)):N(e)&&(t[0]=be(e),t[1]=0,t[2]="application/octet-stream"),{name:t[0],size:t[1],type:t[2]}})(t),r.on("init",()=>{c("load-init")}),r.on("meta",t=>{i.file.size=t.size,i.file.filename=t.filename,t.source&&(e=Ke.LIMBO,i.serverFileReference=t.source,i.status=ae.PROCESSING_COMPLETE),c("load-meta")}),r.on("progress",e=>{l(ae.LOADING),c("load-progress",e)}),r.on("error",e=>{l(ae.LOAD_ERROR),c("load-request-error",e)}),r.on("abort",()=>{l(ae.INIT),c("load-abort")}),r.on("load",t=>{i.activeLoader=null;const r=t=>{i.file=Je(t)?t:i.file,e===Ke.LIMBO&&i.serverFileReference?l(ae.PROCESSING_COMPLETE):l(ae.IDLE),c("load")};i.serverFileReference?r(t):o(t,r,e=>{i.file=t,c("load-meta"),l(ae.LOAD_ERROR),c("load-file-error",e)})}),r.setSource(t),i.activeLoader=r,r.load())},process:p,revert:(e,t)=>new Promise((r,o)=>{null!==i.serverFileReference?(e(i.serverFileReference,()=>{i.serverFileReference=null,r()},e=>{t?(l(ae.PROCESSING_REVERT_ERROR),c("process-revert-error"),o(e)):r()}),l(ae.IDLE),c("process-revert")):r()}),...oe(),freeze:()=>i.frozen=!0,release:()=>i.released=!0,released:{get:()=>i.released},archive:()=>i.archived=!0,archived:{get:()=>i.archived}},u=t(E);return u},rt=(e,t)=>{const r=((e,t)=>P(t)?0:N(t)?e.findIndex(e=>e.id===t):-1)(e,t);if(!(r<0))return e[r]||null},ot=(e,t,r,o,n,i)=>{const s=He(null,e,{method:"GET",responseType:"blob"});return s.onload=(r=>{const o=r.getAllResponseHeaders(),n=xe(o).name||be(e);t(Xe("load",r.status,we(r.response,n),o))}),s.onerror=(e=>{r(Xe("error",e.status,e.statusText,e.getAllResponseHeaders()))}),s.onheaders=(e=>{i(Xe("headers",e.status,null,e.getAllResponseHeaders()))}),s.ontimeout=We(r),s.onprogress=o,s.onabort=n,s},nt=e=>(0===e.indexOf("//")&&(e=location.protocol+e),e.toLowerCase().replace("blob:","").replace(/([a-z])?:\/\//,"$1").split("/")[0]),it=e=>(...t)=>V(e)?e(...t):e,st=(e,t)=>{clearTimeout(t.listUpdateTimeout),t.listUpdateTimeout=setTimeout(()=>{e("DID_UPDATE_ITEMS",{items:Re(t.items)})},0)},at=(e,...t)=>new Promise(r=>{if(!e)return r(!0);const o=e(...t);return null==o?r(!0):"boolean"==typeof o?r(o):void("function"==typeof o.then&&o.then(r))}),lt=(e,t)=>{e.items.sort((e,r)=>t(se(e),se(r)))},ct=(e,t)=>({query:r,success:o=(()=>{}),failure:n=(()=>{})}={})=>{const i=fe(e.items,r);i?t(i,o,n):n({error:Xe("error",0,"Item not found"),file:null})},pt=(t,r,o)=>({ABORT_ALL:()=>{Re(o.items).forEach(e=>{e.freeze(),e.abortLoad(),e.abortProcessing()})},DID_SET_FILES:({value:e=[]})=>{const r=e.map(e=>({source:e.source?e.source:e,options:e.options}));let n=Re(o.items);n.forEach(e=>{r.find(t=>t.source===e.source||t.source===e.file)||t("REMOVE_ITEM",{query:e})}),n=Re(o.items),r.forEach((e,r)=>{n.find(t=>t.source===e.source||t.file===e.source)||t("ADD_ITEM",{...e,interactionMethod:ee,index:r})})},DID_UPDATE_ITEM_METADATA:({id:e,change:n})=>{const i=rt(o.items,e);if(!r("IS_ASYNC"))return void Ee("SHOULD_PREPARE_OUTPUT",!1,{item:i,query:r}).then(r=>{r&&t("REQUEST_PREPARE_OUTPUT",{query:e,item:i,ready:r=>{t("DID_PREPARE_OUTPUT",{id:e,file:r})}},!0)});const s=()=>{setTimeout(()=>{t("REQUEST_ITEM_PROCESSING",{query:e})},32)};return i.status===ae.PROCESSING_COMPLETE?(e=>{i.revert(ke(o.options.server.url,o.options.server.revert),r("GET_FORCE_REVERT")).then(e?s:()=>{}).catch(()=>{})})(o.options.instantUpload):i.status===ae.PROCESSING?(e=>{i.abortProcessing().then(e?s:()=>{})})(o.options.instantUpload):void(o.options.instantUpload&&s())},SORT:({compare:e})=>{lt(o,e)},ADD_ITEMS:({items:e,index:o,interactionMethod:n,success:i=(()=>{}),failure:s=(()=>{})})=>{let a=o;if(-1===o||void 0===o){const e=r("GET_ITEM_INSERT_LOCATION"),t=r("GET_TOTAL_ITEMS");a="before"===e?0:t}const l=r("GET_IGNORED_FILES"),c=e.filter(e=>Je(e)?!l.includes(e.name.toLowerCase()):!P(e)).map(e=>new Promise((r,o)=>{t("ADD_ITEM",{interactionMethod:n,source:e.source||e,success:r,failure:o,index:a++,options:e.options||{}})}));Promise.all(c).then(i).catch(s)},ADD_ITEM:({source:e,index:n=-1,interactionMethod:i,success:s=(()=>{}),failure:a=(()=>{}),options:l={}})=>{if(P(e))return void a({error:Xe("error",0,"No source"),file:null});if(Je(e)&&o.options.ignoredFiles.includes(e.name.toLowerCase()))return;if(!(e=>{const t=Re(e.items).length;if(!e.options.allowMultiple)return 0===t;const r=e.options.maxFiles;return null===r||t<r})(o)){if(o.options.allowMultiple||!o.options.allowMultiple&&!o.options.allowReplace){const r=Xe("warning",0,"Max files");return t("DID_THROW_MAX_FILES",{source:e,error:r}),void a({error:r,file:null})}const c=Re(o.items)[0];if(c.status===ae.PROCESSING_COMPLETE||c.status===ae.PROCESSING_REVERT_ERROR){const p=r("GET_FORCE_REVERT");if(c.revert(ke(o.options.server.url,o.options.server.revert),p).then(()=>{p&&t("ADD_ITEM",{source:e,index:n,interactionMethod:i,success:s,failure:a,options:l})}).catch(()=>{}),p)return}t("REMOVE_ITEM",{query:c.id})}const c="local"===l.type?Ke.LOCAL:"limbo"===l.type?Ke.LIMBO:Ke.INPUT,p=tt(c,c===Ke.INPUT?null:e,l.file);Object.keys(l.metadata||{}).forEach(e=>{p.setMetadata(e,l.metadata[e])}),ue("DID_CREATE_ITEM",p,{query:r,dispatch:t});const d=r("GET_ITEM_INSERT_LOCATION");o.options.itemInsertLocationFreedom||(n="before"===d?-1:o.items.length),Pe(o.items,p,n),V(d)&&e&<(o,d);const E=p.id;p.on("load-init",()=>{t("DID_START_ITEM_LOAD",{id:E})}),p.on("load-meta",()=>{t("DID_UPDATE_ITEM_META",{id:E})}),p.on("load-progress",e=>{t("DID_UPDATE_ITEM_LOAD_PROGRESS",{id:E,progress:e})}),p.on("load-request-error",e=>{const r=it(o.options.labelFileLoadError)(e);if(e.code>=400&&e.code<500)return t("DID_THROW_ITEM_INVALID",{id:E,error:e,status:{main:r,sub:`${e.code} (${e.body})`}}),void a({error:e,file:se(p)});t("DID_THROW_ITEM_LOAD_ERROR",{id:E,error:e,status:{main:r,sub:o.options.labelTapToRetry}})}),p.on("load-file-error",e=>{t("DID_THROW_ITEM_INVALID",{id:E,error:e.status,status:e.status})}),p.on("load-abort",()=>{t("REMOVE_ITEM",{query:E})}),p.on("load-skip",()=>{t("COMPLETE_LOAD_ITEM",{query:E,item:p,data:{source:e,success:s}})}),p.on("load",()=>{const n=n=>{n?(p.on("metadata-update",e=>{t("DID_UPDATE_ITEM_METADATA",{id:E,change:e})}),Ee("SHOULD_PREPARE_OUTPUT",!1,{item:p,query:r}).then(r=>{const n=()=>{t("COMPLETE_LOAD_ITEM",{query:E,item:p,data:{source:e,success:s}}),st(t,o)};r?t("REQUEST_PREPARE_OUTPUT",{query:E,item:p,ready:e=>{t("DID_PREPARE_OUTPUT",{id:E,file:e}),n()}},!0):n()})):t("REMOVE_ITEM",{query:E})};Ee("DID_LOAD_ITEM",p,{query:r,dispatch:t}).then(()=>{at(r("GET_BEFORE_ADD_FILE"),se(p)).then(n)}).catch(()=>{n(!1)})}),p.on("process-start",()=>{t("DID_START_ITEM_PROCESSING",{id:E})}),p.on("process-progress",e=>{t("DID_UPDATE_ITEM_PROCESS_PROGRESS",{id:E,progress:e})}),p.on("process-error",e=>{t("DID_THROW_ITEM_PROCESSING_ERROR",{id:E,error:e,status:{main:it(o.options.labelFileProcessingError)(e),sub:o.options.labelTapToRetry}})}),p.on("process-revert-error",e=>{t("DID_THROW_ITEM_PROCESSING_REVERT_ERROR",{id:E,error:e,status:{main:it(o.options.labelFileProcessingRevertError)(e),sub:o.options.labelTapToRetry}})}),p.on("process-complete",e=>{t("DID_COMPLETE_ITEM_PROCESSING",{id:E,error:null,serverFileReference:e})}),p.on("process-abort",()=>{t("DID_ABORT_ITEM_PROCESSING",{id:E})}),p.on("process-revert",()=>{t("DID_REVERT_ITEM_PROCESSING",{id:E})}),t("DID_ADD_ITEM",{id:E,index:n,interactionMethod:i}),st(t,o);const{url:u,load:_,restore:T,fetch:I}=o.options.server||{};p.load(e,Ye(c===Ke.INPUT?N(e)&&(e=>(e.indexOf(":")>-1||e.indexOf("//")>-1)&&nt(location.href)!==nt(e))(e)?ze(u,I):ot:ze(u,c===Ke.LIMBO?T:_)),(e,t,o)=>{Ee("LOAD_FILE",e,{query:r}).then(t).catch(o)})},REQUEST_PREPARE_OUTPUT:({item:e,ready:t})=>{e.archived||Ee("PREPARE_OUTPUT",e.file,{query:r,item:e}).then(o=>{Ee("COMPLETE_PREPARE_OUTPUT",o,{query:r,item:e}).then(r=>{e.archived||t(r)})})},COMPLETE_LOAD_ITEM:({item:e,data:n})=>{const{success:i,source:s}=n,a=r("GET_ITEM_INSERT_LOCATION");V(a)&&s&<(o,a),t("DID_LOAD_ITEM",{id:e.id,error:null,serverFileReference:e.origin===Ke.INPUT?null:s}),i(se(e)),e.origin!==Ke.LOCAL?e.origin!==Ke.LIMBO?r("IS_ASYNC")&&o.options.instantUpload&&t("REQUEST_ITEM_PROCESSING",{query:e.id}):t("DID_COMPLETE_ITEM_PROCESSING",{id:e.id,error:null,serverFileReference:s}):t("DID_LOAD_LOCAL_ITEM",{id:e.id})},RETRY_ITEM_LOAD:ct(o,e=>{e.retryLoad()}),REQUEST_ITEM_PROCESSING:ct(o,(e,n,i)=>{if(e.status===ae.IDLE||e.status===ae.PROCESSING_ERROR)e.status!==ae.PROCESSING_QUEUED&&(e.requestProcessing(),t("DID_REQUEST_ITEM_PROCESSING",{id:e.id}),t("PROCESS_ITEM",{query:e,success:n,failure:i},!0));else{const s=()=>{setTimeout(()=>{t("REQUEST_ITEM_PROCESSING",{query:e,success:n,failure:i})},32)};e.status===ae.PROCESSING_COMPLETE||e.status===ae.PROCESSING_REVERT_ERROR?e.revert(ke(o.options.server.url,o.options.server.revert),r("GET_FORCE_REVERT")).then(s).catch(()=>{}):e.status===ae.PROCESSING&&e.abortProcessing().then(s)}}),PROCESS_ITEM:ct(o,(e,n,i)=>{const s=r("GET_MAX_PARALLEL_UPLOADS");if(r("GET_ITEMS_BY_STATUS",ae.PROCESSING).length===s)return void o.processingQueue.push({item:e,success:n,failure:i});if(e.status===ae.PROCESSING)return;const a=()=>{const e=o.processingQueue.shift();e&&t("PROCESS_ITEM",{query:e.item,success:e.success,failure:e.failure},!0)};e.onOnce("process-complete",()=>{n(se(e)),a(),r("GET_ITEMS_BY_STATUS",ae.PROCESSING_COMPLETE).length===o.items.length&&t("DID_COMPLETE_ITEM_PROCESSING_ALL")}),e.onOnce("process-error",t=>{i({error:t,file:se(e)}),a()}),e.process(Qe(((e="",t,r)=>"function"==typeof t?(...e)=>t(r,...e):t&&N(t.url)?(o,n,i,s,a,l)=>{const c=t.ondata||(e=>e),p=t.onload||(e=>e),d=t.onerror||(e=>null);if(!o)return;var E=new FormData;x(n)&&E.append(r,JSON.stringify(n)),(o instanceof Blob?[{name:null,file:o}]:o).forEach(e=>{E.append(r,e.file,null===e.name?e.file.name:`${e.name}${e.file.name}`)});const u=He(c(E),e+t.url,t);return u.onload=(e=>{i(Xe("load",e.status,p(e.response),e.getAllResponseHeaders()))}),u.onerror=(e=>{s(Xe("error",e.status,d(e.response)||e.statusText,e.getAllResponseHeaders()))}),u.ontimeout=We(s),u.onprogress=a,u.onabort=l,u}:null)(o.options.server.url,o.options.server.process,o.options.name)),(o,n,i)=>{Ee("PREPARE_OUTPUT",o,{query:r,item:e}).then(r=>{t("DID_PREPARE_OUTPUT",{id:e.id,file:r}),n(r)}).catch(i)})}),RETRY_ITEM_PROCESSING:ct(o,e=>{t("REQUEST_ITEM_PROCESSING",{query:e})}),REQUEST_REMOVE_ITEM:ct(o,e=>{at(r("GET_BEFORE_REMOVE_FILE"),se(e)).then(r=>{r&&t("REMOVE_ITEM",{query:e})})}),RELEASE_ITEM:ct(o,e=>{e.release()}),REMOVE_ITEM:ct(o,(e,r)=>{const n=()=>{const n=e.id;rt(o.items,n).archive(),t("DID_REMOVE_ITEM",{error:null,id:n,item:e}),st(t,o),r(se(e))},i=o.options.server;e.origin===Ke.LOCAL&&i&&V(i.remove)?(t("DID_START_ITEM_REMOVE",{id:e.id}),i.remove(e.source,()=>n(),r=>{t("DID_THROW_ITEM_REMOVE_ERROR",{id:e.id,error:Xe("error",0,r,null),status:{main:it(o.options.labelFileRemoveError)(r),sub:o.options.labelTapToRetry}})})):n()}),ABORT_ITEM_LOAD:ct(o,e=>{e.abortLoad()}),ABORT_ITEM_PROCESSING:ct(o,e=>{e.serverId?t("REVERT_ITEM_PROCESSING",{id:e.id}):e.abortProcessing().then(()=>{o.options.instantUpload&&t("REMOVE_ITEM",{query:e.id})})}),REQUEST_REVERT_ITEM_PROCESSING:ct(o,e=>{if(!o.options.instantUpload)return void t("REVERT_ITEM_PROCESSING",{query:e});const n=r=>{r&&t("REVERT_ITEM_PROCESSING",{query:e})},i=r("GET_BEFORE_REMOVE_FILE");if(!i)return n(!0);const s=i(se(e));return null==s?n(!0):"boolean"==typeof s?n(s):void("function"==typeof s.then&&s.then(n))}),REVERT_ITEM_PROCESSING:ct(o,e=>{e.revert(ke(o.options.server.url,o.options.server.revert),r("GET_FORCE_REVERT")).then(()=>{(o.options.instantUpload||(e=>!Je(e.file))(e))&&t("REMOVE_ITEM",{query:e.id})}).catch(()=>{})}),SET_OPTIONS:({options:r})=>{e(r,(e,r)=>{t(`SET_${W(e,"_").toUpperCase()}`,{value:r})})}}),dt=e=>e,Et=e=>document.createElement(e),ut=(e,t)=>{let r=e.childNodes[0];r?t!==r.nodeValue&&(r.nodeValue=t):(r=document.createTextNode(t),e.appendChild(r))},_t=(e,t,r,o)=>{const n=(o%360-90)*Math.PI/180;return{x:e+r*Math.cos(n),y:t+r*Math.sin(n)}},Tt=(e,t,r,o,n)=>{let i=1;return n>o&&n-o<=.5&&(i=0),o>n&&o-n>=.5&&(i=0),((e,t,r,o,n,i)=>{const s=_t(e,t,r,n),a=_t(e,t,r,o);return["M",s.x,s.y,"A",r,r,0,i,0,a.x,a.y].join(" ")})(e,t,r,360*Math.min(.9999,o),360*Math.min(.9999,n),i)},It=D({tag:"div",name:"progress-indicator",ignoreRectUpdate:!0,ignoreRect:!0,create:({root:e,props:t})=>{t.spin=!1,t.progress=0,t.opacity=0;const r=i("svg");e.ref.path=i("path",{"stroke-width":2,"stroke-linecap":"round"}),r.appendChild(e.ref.path),e.ref.svg=r,e.appendChild(r)},write:({root:e,props:t})=>{if(0===t.opacity)return;t.align&&(e.element.dataset.align=t.align);const o=parseInt(r(e.ref.path,"stroke-width"),10),n=.5*e.rect.element.width;let i=0,s=0;t.spin?(i=0,s=.5):(i=0,s=t.progress);const a=Tt(n,n,n-o,i,s);r(e.ref.path,"d",a),r(e.ref.path,"stroke-opacity",t.spin||t.progress>0?1:0)},mixins:{apis:["progress","spin","align"],styles:["opacity"],animations:{opacity:{type:"tween",duration:500},progress:{type:"spring",stiffness:.95,damping:.65,mass:10}}}}),ft=D({tag:"button",attributes:{type:"button"},ignoreRect:!0,ignoreRectUpdate:!0,name:"file-action-button",mixins:{apis:["label"],styles:["translateX","translateY","scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",translateX:"spring",translateY:"spring",opacity:{type:"tween",duration:250}},listeners:!0},create:({root:e,props:t})=>{e.element.title=t.label,e.element.innerHTML=t.icon||"",t.isDisabled=!1},write:({root:e,props:t})=>{const{isDisabled:o}=t,n=e.query("GET_DISABLED")||0===t.opacity;n&&!o?(t.isDisabled=!0,r(e.element,"disabled","disabled")):!n&&o&&(t.isDisabled=!1,e.element.removeAttribute("disabled"))}}),mt=(e,t=".")=>(e=Math.round(Math.abs(e)))<1e3?`${e} bytes`:e<gt?`${Math.floor(e/Rt)} KB`:e<ht?`${Ot(e/gt,1,t)} MB`:`${Ot(e/ht,2,t)} GB`,Rt=1e3,gt=1e6,ht=1e9,Ot=(e,t,r)=>e.toFixed(t).split(".").filter(e=>"0"!==e).join(r),Dt=({root:e,props:t})=>{ut(e.ref.fileSize,mt(e.query("GET_ITEM_SIZE",t.id))),ut(e.ref.fileName,dt(e.query("GET_ITEM_NAME",t.id)))},St=({root:e,props:t})=>{U(e.query("GET_ITEM_SIZE",t.id))||ut(e.ref.fileSize,e.query("GET_LABEL_FILE_SIZE_NOT_AVAILABLE"))},yt=D({name:"file-info",ignoreRect:!0,ignoreRectUpdate:!0,write:S({DID_LOAD_ITEM:Dt,DID_UPDATE_ITEM_META:Dt,DID_THROW_ITEM_LOAD_ERROR:St,DID_THROW_ITEM_INVALID:St}),didCreateView:e=>{ue("CREATE_VIEW",{...e,view:e})},create:({root:e,props:t})=>{const o=Et("span");o.className="filepond--file-info-main",r(o,"aria-hidden","true"),e.appendChild(o),e.ref.fileName=o;const n=Et("span");n.className="filepond--file-info-sub",e.appendChild(n),e.ref.fileSize=n,ut(n,e.query("GET_LABEL_FILE_WAITING_FOR_SIZE")),ut(o,dt(e.query("GET_ITEM_NAME",t.id)))},mixins:{styles:["translateX","translateY"],animations:{translateX:"spring",translateY:"spring"}}}),At=e=>Math.round(100*e),Lt=({root:e,action:t})=>{const r=null===t.progress?e.query("GET_LABEL_FILE_LOADING"):`${e.query("GET_LABEL_FILE_LOADING")} ${At(t.progress)}%`;ut(e.ref.main,r),ut(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},Pt=({root:e})=>{ut(e.ref.main,""),ut(e.ref.sub,"")},Mt=({root:e,action:t})=>{ut(e.ref.main,t.status.main),ut(e.ref.sub,t.status.sub)},bt=D({name:"file-status",ignoreRect:!0,ignoreRectUpdate:!0,write:S({DID_LOAD_ITEM:Pt,DID_REVERT_ITEM_PROCESSING:Pt,DID_REQUEST_ITEM_PROCESSING:({root:e})=>{ut(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING")),ut(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},DID_ABORT_ITEM_PROCESSING:({root:e})=>{ut(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING_ABORTED")),ut(e.ref.sub,e.query("GET_LABEL_TAP_TO_RETRY"))},DID_COMPLETE_ITEM_PROCESSING:({root:e})=>{ut(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING_COMPLETE")),ut(e.ref.sub,e.query("GET_LABEL_TAP_TO_UNDO"))},DID_UPDATE_ITEM_PROCESS_PROGRESS:({root:e,action:t})=>{const r=null===t.progress?e.query("GET_LABEL_FILE_PROCESSING"):`${e.query("GET_LABEL_FILE_PROCESSING")} ${At(t.progress)}%`;ut(e.ref.main,r),ut(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},DID_UPDATE_ITEM_LOAD_PROGRESS:Lt,DID_THROW_ITEM_LOAD_ERROR:Mt,DID_THROW_ITEM_INVALID:Mt,DID_THROW_ITEM_PROCESSING_ERROR:Mt,DID_THROW_ITEM_PROCESSING_REVERT_ERROR:Mt,DID_THROW_ITEM_REMOVE_ERROR:Mt}),didCreateView:e=>{ue("CREATE_VIEW",{...e,view:e})},create:({root:e,props:t})=>{const r=Et("span");r.className="filepond--file-status-main",e.appendChild(r),e.ref.main=r;const o=Et("span");o.className="filepond--file-status-sub",e.appendChild(o),e.ref.sub=o,Lt({root:e,action:{progress:null}})},mixins:{styles:["translateX","translateY","opacity"],animations:{opacity:{type:"tween",duration:250},translateX:"spring",translateY:"spring"}}}),vt={AbortItemLoad:{label:"GET_LABEL_BUTTON_ABORT_ITEM_LOAD",action:"ABORT_ITEM_LOAD",className:"filepond--action-abort-item-load",align:"LOAD_INDICATOR_POSITION"},RetryItemLoad:{label:"GET_LABEL_BUTTON_RETRY_ITEM_LOAD",action:"RETRY_ITEM_LOAD",icon:"GET_ICON_RETRY",className:"filepond--action-retry-item-load",align:"BUTTON_PROCESS_ITEM_POSITION"},RemoveItem:{label:"GET_LABEL_BUTTON_REMOVE_ITEM",action:"REQUEST_REMOVE_ITEM",icon:"GET_ICON_REMOVE",className:"filepond--action-remove-item",align:"BUTTON_REMOVE_ITEM_POSITION"},ProcessItem:{label:"GET_LABEL_BUTTON_PROCESS_ITEM",action:"REQUEST_ITEM_PROCESSING",icon:"GET_ICON_PROCESS",className:"filepond--action-process-item",align:"BUTTON_PROCESS_ITEM_POSITION"},AbortItemProcessing:{label:"GET_LABEL_BUTTON_ABORT_ITEM_PROCESSING",action:"ABORT_ITEM_PROCESSING",className:"filepond--action-abort-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"},RetryItemProcessing:{label:"GET_LABEL_BUTTON_RETRY_ITEM_PROCESSING",action:"RETRY_ITEM_PROCESSING",icon:"GET_ICON_RETRY",className:"filepond--action-retry-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"},RevertItemProcessing:{label:"GET_LABEL_BUTTON_UNDO_ITEM_PROCESSING",action:"REQUEST_REVERT_ITEM_PROCESSING",icon:"GET_ICON_UNDO",className:"filepond--action-revert-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"}},Ct=[];e(vt,e=>{Ct.push(e)});const Nt=e=>e.ref.buttonRemoveItem.rect.element.width+e.ref.buttonRemoveItem.rect.element.left,wt=e=>Math.floor(e.ref.buttonRemoveItem.rect.element.height/4),Gt=e=>Math.floor(e.ref.buttonRemoveItem.rect.element.left/2),Ut=e=>e.query("GET_STYLE_BUTTON_REMOVE_ITEM_POSITION"),Bt={buttonAbortItemLoad:{opacity:0},buttonRetryItemLoad:{opacity:0},buttonRemoveItem:{opacity:0},buttonProcessItem:{opacity:0},buttonAbortItemProcessing:{opacity:0},buttonRetryItemProcessing:{opacity:0},buttonRevertItemProcessing:{opacity:0},loadProgressIndicator:{opacity:0,align:e=>e.query("GET_STYLE_LOAD_INDICATOR_POSITION")},processProgressIndicator:{opacity:0,align:e=>e.query("GET_STYLE_PROGRESS_INDICATOR_POSITION")},processingCompleteIndicator:{opacity:0,scaleX:.75,scaleY:.75},info:{translateX:0,translateY:0,opacity:0},status:{translateX:0,translateY:0,opacity:0}},Vt={buttonRemoveItem:{opacity:1},buttonProcessItem:{opacity:1},info:{translateX:Nt},status:{translateX:Nt}},qt={buttonAbortItemProcessing:{opacity:1},processProgressIndicator:{opacity:1},status:{opacity:1}},Ft={DID_THROW_ITEM_INVALID:{buttonRemoveItem:{opacity:1},info:{translateX:Nt},status:{translateX:Nt,opacity:1}},DID_START_ITEM_LOAD:{buttonAbortItemLoad:{opacity:1},loadProgressIndicator:{opacity:1},status:{opacity:1}},DID_THROW_ITEM_LOAD_ERROR:{buttonRetryItemLoad:{opacity:1},buttonRemoveItem:{opacity:1},info:{translateX:Nt},status:{opacity:1}},DID_START_ITEM_REMOVE:{processProgressIndicator:{opacity:1,align:Ut},info:{translateX:Nt},status:{opacity:0}},DID_THROW_ITEM_REMOVE_ERROR:{processProgressIndicator:{opacity:0,align:Ut},buttonRemoveItem:{opacity:1},info:{translateX:Nt},status:{opacity:1,translateX:Nt}},DID_LOAD_ITEM:Vt,DID_LOAD_LOCAL_ITEM:{buttonRemoveItem:{opacity:1},info:{translateX:Nt},status:{translateX:Nt}},DID_START_ITEM_PROCESSING:qt,DID_REQUEST_ITEM_PROCESSING:qt,DID_UPDATE_ITEM_PROCESS_PROGRESS:qt,DID_COMPLETE_ITEM_PROCESSING:{buttonRevertItemProcessing:{opacity:1},info:{opacity:1},status:{opacity:1}},DID_THROW_ITEM_PROCESSING_ERROR:{buttonRemoveItem:{opacity:1},buttonRetryItemProcessing:{opacity:1},status:{opacity:1},info:{translateX:Nt}},DID_THROW_ITEM_PROCESSING_REVERT_ERROR:{buttonRevertItemProcessing:{opacity:1},status:{opacity:1},info:{opacity:1}},DID_ABORT_ITEM_PROCESSING:{buttonRemoveItem:{opacity:1},buttonProcessItem:{opacity:1},info:{translateX:Nt},status:{opacity:1}},DID_REVERT_ITEM_PROCESSING:Vt},xt=D({create:({root:e})=>{e.element.innerHTML=e.query("GET_ICON_DONE")},name:"processing-complete-indicator",ignoreRect:!0,mixins:{styles:["scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",opacity:{type:"tween",duration:250}}}}),Yt=S({DID_SET_LABEL_BUTTON_ABORT_ITEM_PROCESSING:({root:e,action:t})=>{e.ref.buttonAbortItemProcessing.label=t.value},DID_SET_LABEL_BUTTON_ABORT_ITEM_LOAD:({root:e,action:t})=>{e.ref.buttonAbortItemLoad.label=t.value},DID_SET_LABEL_BUTTON_ABORT_ITEM_REMOVAL:({root:e,action:t})=>{e.ref.buttonAbortItemRemoval.label=t.value},DID_REQUEST_ITEM_PROCESSING:({root:e})=>{e.ref.processProgressIndicator.spin=!0,e.ref.processProgressIndicator.progress=0},DID_START_ITEM_LOAD:({root:e})=>{e.ref.loadProgressIndicator.spin=!0,e.ref.loadProgressIndicator.progress=0},DID_START_ITEM_REMOVE:({root:e})=>{e.ref.processProgressIndicator.spin=!0,e.ref.processProgressIndicator.progress=0},DID_UPDATE_ITEM_LOAD_PROGRESS:({root:e,action:t})=>{e.ref.loadProgressIndicator.spin=!1,e.ref.loadProgressIndicator.progress=t.progress},DID_UPDATE_ITEM_PROCESS_PROGRESS:({root:e,action:t})=>{e.ref.processProgressIndicator.spin=!1,e.ref.processProgressIndicator.progress=t.progress}}),$t=D({create:({root:t,props:r})=>{const{id:o}=r,n=t.query("GET_ALLOW_REVERT"),i=t.query("GET_INSTANT_UPLOAD"),s=t.query("IS_ASYNC"),a=s?Ct.concat():Ct.filter(e=>!/Process/.test(e));if(s&&!n){a.splice(-1,1);const e=Ft.DID_COMPLETE_ITEM_PROCESSING;e.info.translateX=Gt,e.info.translateY=wt,e.status.translateY=wt,e.processingCompleteIndicator={opacity:1,scaleX:1,scaleY:1}}i&&n&&(vt.RevertItemProcessing.label="GET_LABEL_BUTTON_REMOVE_ITEM",vt.RevertItemProcessing.icon="GET_ICON_REMOVE"),e(vt,(e,r)=>{const n=t.createChildView(ft,{label:t.query(r.label),icon:t.query(r.icon),opacity:0});a.includes(e)&&t.appendChildView(n),n.element.dataset.align=t.query(`GET_STYLE_${r.align}`),n.element.classList.add(r.className),n.on("click",e=>{e.stopPropagation(),t.dispatch(r.action,{query:o})}),t.ref[`button${e}`]=n}),t.ref.info=t.appendChildView(t.createChildView(yt,{id:o})),t.ref.status=t.appendChildView(t.createChildView(bt,{id:o})),t.ref.processingCompleteIndicator=t.appendChildView(t.createChildView(xt)),t.ref.processingCompleteIndicator.element.dataset.align=t.query("GET_STYLE_BUTTON_PROCESS_ITEM_POSITION");const l=t.appendChildView(t.createChildView(It,{opacity:0,align:t.query("GET_STYLE_LOAD_INDICATOR_POSITION")}));l.element.classList.add("filepond--load-indicator"),t.ref.loadProgressIndicator=l;const c=t.appendChildView(t.createChildView(It,{opacity:0,align:t.query("GET_STYLE_PROGRESS_INDICATOR_POSITION")}));