UNPKG

@rpldy/uploady

Version:

wrapper&context component to expose and provide react-uploady functionality

3 lines 37.7 kB
/*! For license information please see rpldy-ui-core.umd.min.js.LICENSE.txt */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports.rpldy=t(require("react"),require("react-dom")):e.rpldy=t(e.react,e["react-dom"])}(self,((e,t)=>(()=>{var n,r={tuYC:(e,t,n)=>{"use strict";n.d(t,{yn:()=>v,Ay:()=>E});var r=n("vtDa");const o=(0,r.fO)({allowRegisterNonExistent:!0,canAddEvents:!0,canRemoveEvents:!0,collectStats:!1}),a=Symbol.for("__le__"),s=Symbol.for("__le__pack__"),i=e=>e?e[a]:null,c=e=>{const t=i(e);if(!t)throw new Error("Didnt find LE internal object. Something very bad happened!");return t},d=(e,t,n,o=!1)=>{(e=>{if(!(0,r.Tn)(e))throw new Error("'cb' is not a valid function")})(n);const a=c(e);if(!a.options.allowRegisterNonExistent&&!~a.events.indexOf(t))throw new Error(`Cannot register for event ${t.toString()} that wasn't already defined (allowRegisterNonExistent = false)`);const s=a.registry[t]||[];return s.find((e=>e.cb===n))||(s.push({name:t,cb:n,once:o}),a.registry[t]=s),()=>g.call(e,t,n)},l=(e,t)=>{const n=c(e).registry;return t?n[t]?n[t].slice():[]:Object.values(n).flat()},u={on:function(e,t){return d(this,e,t)},once:function(e,t){return d(this,e,t,!0)},off:g,getEvents:function(){return c(this).events.slice()}},p={trigger:function(e,...t){const n=l(this,e);let o;if(n.length){let a;1===t.length&&!0===t[0]?.[s]&&(a=t[0].resolve()),o=n.map((n=>{let r;return n.once&&m(this,e,n.cb),r=a?n.cb(...a):t.length?1===t.length?n.cb(t[0]):2===t.length?n.cb(t[0],t[1]):3===t.length?n.cb(t[0],t[1],t[2]):n.cb(...t):n.cb(),r})).filter((e=>!(void 0===e))).map((e=>(0,r.yL)(e)?e:Promise.resolve(e)))}return o&&(o.length?o:void 0)},addEvent:function(e){const t=c(this);if(!t.options.canAddEvents)throw new Error("Cannot add new events (canAddEvents = false)");if(~t.events.indexOf(e))throw new Error(`Event '${e}' already defined`);t.events.push(e)},removeEvent:function(e){const t=c(this);if(!t.options.canRemoveEvents)throw new Error("Cannot remove events (canRemoveEvents = false)");{const n=t.events.indexOf(e);t.events.splice(n,1)}},hasEvent:function(e){return!!~c(this).events.indexOf(e)},hasEventRegistrations:function(e){return!!l(this,e).length},assign:function(e){const t=c(this);return f(e,t.options,t.events,t.registry,t.stats),h(e)}},h=e=>Object.entries(p).reduce(((t,[n,r])=>(t[n]=r.bind(e),t)),{...p,target:e}),b=(e,t,n=!1)=>{const r=c(e).registry;!r[t]||!n&&r[t].length||delete r[t]},m=(e,t,n)=>{const r=c(e).registry;r[t]&&(n?(r[t]=r[t].filter((e=>e.cb!==n)),b(e,t)):b(e,t,!0))};function g(e,t){m(this,e,t)}const f=(e,t,n=[],r={},o={})=>{Object.defineProperties(e,{[a]:{value:Object.seal({registry:r,events:n,options:t,stats:o})},...Object.entries(u).reduce(((e,[t,n])=>(e[t]={value:n},e)),{})})},E=(e,t=[],n)=>{const r=e||{},a={...o,...n};return i(r)||f(r,a,t),h(r)},v=e=>{const t={resolve:()=>[].concat(e())};return Object.defineProperty(t,s,{value:!0,configurable:!1}),t}},SzQa:(e,t,n)=>{"use strict";n.d(t,{wc:()=>a,cp:()=>o,Ay:()=>h,DH:()=>u,tN:()=>p});var r=n("vtDa");const o="rpldy-sender";class a extends Error{constructor(e){super(`${e} didn't receive upload URL`),this.name="MissingUrlError"}}const s=(e,t,...n)=>{"set"in e?e.set(t,...n):("delete"in e&&e.delete(t),e.append(t,...n))},i=[200,201,202,203,204],c=(e,t,n,o,a)=>{let i;const c=a?.getRequestData?a.getRequestData(e,n):((e,t)=>{let n;if(t.sendWithFormData)r.vF.debugLog(`uploady.sender: sending ${e.length} item(s) as form data`),n=((e,t)=>{const n=new FormData;return t.params&&Object.entries(t.params).forEach((([e,r])=>{(t.formDataAllowUndefined||void 0!==r)&&s(n,e,r)})),((e,t,n)=>{const o=1===t.length;t.forEach(((t,a)=>{const i=o?n.paramName:(0,r.Tn)(n.formatGroupParamName)?n.formatGroupParamName(a,n.paramName):`${n.paramName}[${a}]`;t.file?s(e,i,t.file,t.file.name):t.url&&s(e,i,t.url)}))})(n,e,t),n})(e,t);else{if(e.length>1)throw new Error(`XHR Sender - Request without form data can only contain 1 item. received ${e.length}`);const t=e[0];r.vF.debugLog(`uploady.sender: sending item ${t.id} as request body`),n=t.file||t.url}return n})(e,n),d=(a=t,s=c,d)=>{const l=(0,r.h1)({...(0,r.Up)(n,["method","headers","withCredentials"]),preSend:t=>{t.upload.onprogress=t=>{t.lengthComputable&&o&&o(t,e.slice())}}},d),u=(0,r.Em)(a,s,l);return i=u.xhr,u},l=a?.preRequestHandler?a.preRequestHandler(d,e,t,n,o,a):d();return{url:t,count:e.length,pXhr:l,getXhr:()=>i,aborted:!1}},d=(e,t,n)=>{let r=e;const o=t?.["content-type"];if(n.forceJsonResponse||o?.includes("json"))try{r=JSON.parse(e)}catch{}return r},l=(e,t)=>e.pXhr.then((e=>(r.vF.debugLog("uploady.sender: received upload response ",e),((e,t)=>{const n=t.isSuccessfulCall?t.isSuccessfulCall(e):i.includes(e.status);return(0,r.yL)(n)?n:Promise.resolve(n)})(e,t).then((n=>{const o=n?r.aN.FINISHED:r.aN.ERROR,a=e.status,s=(0,r.tn)(e);return{status:a,state:o,response:{data:t.formatServerResponse?.(e.response,a,s)??d(e.response,s,t),headers:s}}}))))).catch((t=>{let n,o;return e.aborted?(n=r.aN.ABORTED,o="aborted"):(r.vF.debugLog("uploady.sender: upload failed: ",t),n=r.aN.ERROR,o=t),{error:!0,state:n,response:o,status:0}})),u=e=>(t,n,s,i)=>{if(!n)throw new a(o);r.vF.debugLog("uploady.sender: sending file: ",{items:t,url:n,options:s});const d=c(t,n,s,i,e);return{request:l(d,s),abort:()=>(e=>{let t=!1;const{aborted:n,getXhr:o}=e,a=o();return!n&&a&&a.readyState&&4!==a.readyState&&(r.vF.debugLog(`uploady.sender: cancelling request with ${e.count} items to: ${e.url}`),a.abort(),e.aborted=!0,t=!0),t})(d),senderType:o}},p=u(),h=p},vtDa:(e,t,n)=>{"use strict";n.d(t,{mX:()=>c,aN:()=>d,o8:()=>T,UT:()=>H,fO:()=>S,Uk:()=>U,fd:()=>R,Vd:()=>l,V1:()=>a(),Tn:()=>f(),Qd:()=>O,KV:()=>y(),yL:()=>N,hR:()=>E,vF:()=>r,h1:()=>I,tn:()=>q,Up:()=>C,Em:()=>$,tD:()=>D,nF:()=>s.A,x1:()=>m,w$:()=>P});var r={};n.r(r),n.d(r,{debugLog:()=>b,isDebugOn:()=>p,setDebug:()=>h});var o=n("3lvE"),a=n.n(o),s=n("6dsl");const i="__rpldy-logger-debug__",c={PENDING:"pending",ADDED:"added",PROCESSING:"processing",UPLOADING:"uploading",CANCELLED:"cancelled",FINISHED:"finished",ABORTED:"aborted",ERROR:"error"},d={PENDING:"pending",ADDED:"added",UPLOADING:"uploading",CANCELLED:"cancelled",FINISHED:"finished",ERROR:"error",ABORTED:"aborted"},l=()=>"object"==typeof window&&!!window.document;let u=null;const p=()=>("boolean"!=typeof u&&(u=l()&&("location"in window&&!!~window.location.search.indexOf("rpldy_debug=true")||!0===window[i])),!!u),h=e=>{l()&&(window[i]=e),u=!!e||null},b=(...e)=>{p()&&console.log(...e)},m=(e,t,...n)=>{const r=(t,...n)=>new Promise(((r,o)=>{const a=e(t,...n);a&&a.length?Promise.all(a).catch(o).then((e=>e&&r(!!~e.findIndex((e=>!1===e))))):r(!1)}));return t?r(t,...n):r};var g=n("DcDY"),f=n.n(g);const E=(e,t,n)=>{let r=!0;const o=(e=>{const t=[].concat(e);return e=>e.map((e=>t.map((t=>e[t])).join()))})(n);if(e&&t&&e.length===t.length){const n=o(e),a=o(t);r=!!n.find(((e,t)=>e!==a[t]))}return!r};var v=n("qO1n"),y=n.n(v);const S=e=>y()()?e:Object.freeze(e),O=e=>{const t=Object.getPrototypeOf(Object(e));return!(!e||"object"!=typeof e||"Object"!==t?.constructor.name&&null!==t||Object.prototype.hasOwnProperty.call(e,"__proto__"))},A=e=>O(e)||Array.isArray(e),R=(e={})=>{const t=(n,...r)=>(n&&r.length&&r.forEach((r=>{r&&((e,t)=>{const n=Object.keys(e).filter((t=>e.hasOwnProperty(t)&&"__proto__"!==t));return t.withSymbols?n.concat(Object.getOwnPropertySymbols(e)):n})(r,e).forEach((o=>{const a=r[o];e.predicate&&!e.predicate(o,a)||(void 0!==a||e.undefinedOverwrites)&&(A(a)?(void 0!==n[o]&&O(n[o])||(n[o]=Array.isArray(a)?[]:{}),t(n[o],a)):n[o]=a)}))})),n);return t},I=R(),T=(e,t=I)=>A(e)?t(Array.isArray(e)?[]:{},e):e,C=(e,t)=>e&&Object.keys(e).reduce(((n,r)=>(~t.indexOf(r)&&(n[r]=e[r]),n)),{}),N=function(e){return!!e&&"object"==typeof e&&"function"==typeof e.then},w=l()&&window.requestIdleCallback,_=w?window.requestIdleCallback:setTimeout,B=w?window.cancelIdleCallback:clearTimeout,D=(e,t=0)=>{const n=_(e,w?{timeout:t}:t);return()=>B(n)},L=function(e){return null==e},P=(e,t,...n)=>{const r=(t,...n)=>new Promise(((r,o)=>{const a=e(t,...n);a&&a.length?Promise.all(a).catch(o).then((e=>{let t;if(e)for(;L(t)&&e.length;)t=e.pop();r(L(t)?void 0:t)})):r()}));return t?r(t,...n):r},F=Symbol.for("__rpldy-bi__");let x=0;const U=e=>!("object"!=typeof e||!e.id||!e.batchId||!0!==e[F]),H=(e,t,n=!1)=>{const r=U(e);x+=r?0:1;let o={id:r&&e.id&&"string"==typeof e.id?e.id:`${t}.item-${x}`,batchId:t,state:n?d.PENDING:d.ADDED,uploadStatus:0,total:0,completed:0,loaded:0,recycled:r,previousBatch:r?e.batchId:null};Object.defineProperty(o,F,{value:!0,writable:!0});const a=r?e.file||e.url:e;if("string"==typeof a)o=((e,t)=>(e.url=t,e))(o,a);else{if(!(e=>e&&(e instanceof File||e instanceof Blob||!("object"!=typeof e||!e.name||!e.type)))(a))throw new Error("Unknown type of file added: "+typeof a);o=((e,t)=>(e.file=t,e))(o,a)}return o},j=class extends Promise{constructor(e,t){super(e),this.xhr=t}},q=e=>{let t;try{t=e.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(((e,t)=>{const[n,r]=t.split(": ");return e[n]=r,e}),{})}catch(t){b("uploady.request: failed to read response headers",e)}return t},$=(e,t,n={})=>{const r=new XMLHttpRequest;return new j(((o,a)=>{r.onerror=()=>a(r),r.ontimeout=()=>a(r),r.onabort=()=>a(r),r.onload=()=>o(r),r.open(n?.method||"GET",e),((e,t)=>{t&&Object.keys(t).forEach((n=>{void 0!==t[n]&&e.setRequestHeader(n,t[n])}))})(r,n?.headers),r.withCredentials=!!n?.withCredentials,n?.preSend?.(r),r.send(t)}),r)}},DcDY:e=>{e.exports=function(e){return"function"==typeof e}},qO1n:e=>{e.exports=function(){return!0}},TCQx:(e,t,n)=>{"use strict";n.d(t,{mX:()=>o.mX,lp:()=>ne,aN:()=>o.aN,wc:()=>ee.wc,x0:()=>h,cp:()=>ee.cp,YJ:()=>ce,vE:()=>ue,Ay:()=>pe,DH:()=>ee.DH,tN:()=>ee.tN});var r=n("tuYC"),o=n("vtDa");const a=(e,t,n)=>(o.vF.debugLog(`abort: aborting ${e.state} item - `,e),n(e.id,{status:0,state:o.aN.ABORTED,response:"aborted"}),!0),s={[o.aN.UPLOADING]:(e,t)=>(o.vF.debugLog("abort: aborting uploading item - ",e),t[e.id]()),[o.aN.ADDED]:a,[o.aN.PENDING]:a},i=(e,t,n)=>{const r=e?.state,o=!!r&&s[r];return!!o&&o(e,t,n)},c=(e,t,n,r)=>i(t[e],n,r),d=(e,t)=>{let n=!1;return 0!==t&&t&&(n=e>=t),n},l=(e,t,n,r,a)=>{const s=Object.values(n).flat(),i=d(s.length,a.fastAbortThreshold);return o.vF.debugLog(`abort: doing abort-all (${i?"fast":"normal"} abort)`),i?(e=>{Object.values(e).forEach((e=>e()))})(t):s.forEach((n=>c(n,e,t,r))),{isFast:i}},u=(e,t,n,r,a,s)=>{const c=0===t.fastAbortThreshold?0:t.fastAbortThreshold||s.fastAbortThreshold,l=d(r[e.id].length,c);return o.vF.debugLog(`abort: doing abort-batch on: ${e.id} (${l?"fast":"normal"} abort)`),l?((e,t)=>{e.items.forEach((({id:e})=>t[e]?.()))})(e,n):e.items.forEach((e=>i(e,n,a))),{isFast:l}},p=()=>e=>(e.update({abortAll:l,abortBatch:u,abortItem:c}),e),h=(0,o.fO)({BATCH_ADD:"BATCH-ADD",BATCH_START:"BATCH-START",BATCH_PROGRESS:"BATCH_PROGRESS",BATCH_FINISH:"BATCH-FINISH",BATCH_ABORT:"BATCH-ABORT",BATCH_CANCEL:"BATCH-CANCEL",BATCH_ERROR:"BATCH-ERROR",BATCH_FINALIZE:"BATCH-FINALIZE",ITEM_START:"FILE-START",ITEM_CANCEL:"FILE-CANCEL",ITEM_PROGRESS:"FILE-PROGRESS",ITEM_FINISH:"FILE-FINISH",ITEM_ABORT:"FILE-ABORT",ITEM_ERROR:"FILE-ERROR",ITEM_FINALIZE:"FILE-FINALIZE",REQUEST_PRE_SEND:"REQUEST_PRE_SEND",ALL_ABORT:"ALL_ABORT"}),b=(0,o.fO)({ITEM_PROGRESS:"ITEM_PROGRESS",BATCH_PROGRESS:"BATCH_PROGRESS"}),m=[o.aN.FINISHED,o.aN.ERROR,o.aN.CANCELLED,o.aN.ABORTED],g=Symbol.for("__rpldy-sstt-proxy__"),f=Symbol.for("__rpldy-sstt-state__"),E=e=>!(0,o.KV)()&&!!e&&!!~Object.getOwnPropertySymbols(e).indexOf(g),v=e=>Array.isArray(e)||(0,o.Qd)(e)&&!(e=>(0,o.Vd)()&&e instanceof File||e.name&&e.size&&e.uri)(e),y=(0,o.fd)({withSymbols:!0,predicate:e=>e!==g&&e!==f}),S=e=>!!(0,o.KV)()||e[f].isUpdateable,O=(e,t)=>{(0,o.KV)()||(e[f].isUpdateable=t)},A=(e,t)=>{let n;return v(e)&&(E(e)||(e[g]=!0,n=new Proxy(e,t)),Object.keys(e).forEach((n=>{e[n]=A(e[n],t)}))),n||e},R=e=>E(e)?(0,o.o8)(e,y):e,I=(e,t,n=!1)=>{e.updateState((e=>{const{batchId:r}=e.items[t]||{batchId:null};n&&delete e.items[t];const o=r?e.itemQueue[r].indexOf(t):-1;~o&&r&&e.itemQueue[r].splice(o,1);const a=e.activeIds.indexOf(t);~a&&e.activeIds.splice(a,1),r&&e.batches[r].itemBatchOptions[t]&&delete e.batches[r].itemBatchOptions[t]}))},T=(e,t)=>!!e.getState().items[t],C=e=>m.includes(e.state),N=(0,o.fd)({undefinedOverwrites:!0}),w=(e,t,n,r,a,s)=>{const i=n(t),c=e.getState().batches[i[0].batchId].batchOptions,d=r?.(t,c)||t;return((e,t,n,r,a,s)=>(0,o.w$)(e.trigger,a,t,r).then((e=>(s?.(e),((e,t,n,r)=>{let a=n,s=t;if(r&&"boolean"!=typeof r){if(o.vF.debugLog(`uploader.queue: REQUEST_PRE_SEND(${e}) event returned updated items/options`,r),r.items){if(r.items.length!==t.length||!(0,o.hR)(r.items,t,["id","batchId","recycled"]))throw new Error(`REQUEST_PRE_SEND(${e}) event handlers must return same items with same ids`);s=r.items}r.options&&(a=N({},n,r.options))}return{items:s,options:a,cancelled:!1===r}})(a,n,r,e)))))(e,d,i,c,s,a).then((t=>(t.cancelled||((e,t)=>{const n=t.items[0].batchId;if(t.items[0]&&e.getState().batches[n]){e.updateState((e=>{t.items.forEach((t=>{C(e.items[t.id])||(e.items[t.id]=t)}));const r=e.batches[n];t.items.forEach((({id:e})=>{r.itemBatchOptions[e]=t.options}))}));const r=e.getState();t.items=t.items.map((e=>r.items[e.id]));const o=r.batches[n];t.options=o.itemBatchOptions[t.items[0].id]||o.batchOptions}})(e,t),t)))},_=(e,t,n=null,r=null)=>(o,a)=>w(o,a,t,n,r,e),B=_(h.BATCH_START,(e=>e.items),null,(({batch:e}={batch:!1})=>{if(e)throw new Error("BATCH_START event handlers cannot update batch data. Only items & options")})),D=[o.mX.ADDED,o.mX.PROCESSING,o.mX.UPLOADING],L=[o.mX.ABORTED,o.mX.CANCELLED,o.mX.FINISHED,o.mX.ERROR],P=(e,t)=>e.batches[t].batch,F=(e,t)=>{const n=e.getState(),r=n.items[t];return n.batches[r.batchId]},x=(e,t)=>F(e,t).batch,U=(e,t)=>{const n=((e,t)=>P(e.getState(),t))(e,t);n.items.forEach((({id:t})=>I(e,t,!0)))},H=(e,t)=>{e.updateState((e=>{delete e.batches[t],delete e.itemQueue[t];const n=e.batchQueue.indexOf(t);~n&&e.batchQueue.splice(n,1);const r=e.batchesStartPending.indexOf(t);~r&&e.batchesStartPending.splice(r,1)}))},j=(e,t,n,r=o.mX.FINISHED,a)=>{e.updateState((e=>{const n=P(e,t);n.state=r,a&&(n.additionalInfo=a)})),$(e,t,n),$(e,t,h.BATCH_FINALIZE)},q=(e,t)=>{o.vF.debugLog("uploady.uploader.batchHelpers: cancelling batch: ",t),j(e,t,h.BATCH_CANCEL,o.mX.CANCELLED),U(e,t),H(e,t)},$=(e,t,n)=>{const r=e.getState(),{batch:o,batchOptions:a}=r.batches[t],s=r.items,i={...R(o),items:o.items.map((({id:e})=>R(s[e])))};e.trigger(n,i,R(a))},G=(e,t)=>{const n=P(e.getState(),t);return D.includes(n.state)},M=e=>L.includes(e.state),Q={[o.aN.PENDING]:null,[o.aN.ADDED]:h.ITEM_START,[o.aN.FINISHED]:h.ITEM_FINISH,[o.aN.ERROR]:h.ITEM_ERROR,[o.aN.CANCELLED]:h.ITEM_CANCEL,[o.aN.ABORTED]:h.ITEM_ABORT,[o.aN.UPLOADING]:h.ITEM_PROGRESS},X=e=>!!~m.indexOf(e.state),k=(e,t,n)=>{t.forEach((t=>{const n=e.getState(),{id:r,info:a}=t;if(o.vF.debugLog("uploader.processor.queue: request finished for item - ",{id:r,info:a}),n.items[r]){e.updateState((e=>{const t=e.items[r];t.state=a.state,t.uploadResponse=a.response,t.uploadStatus=a.status,X(t)&&delete e.aborts[r]}));const t=e.getState().items[r];if(a.state===o.aN.FINISHED&&t.completed<100){const n=t.file?.size||0;e.handleItemProgress(t,100,n,n)}const{itemBatchOptions:n}=F(e,r),s=n[r];Q[t.state]&&e.trigger(Q[t.state],t,s),X(t)&&(((e,t)=>{e.updateState((e=>{e.batches[t].finishedCounter+=1}))})(e,t.batchId),e.trigger(h.ITEM_FINALIZE,t,s))}I(e,r)})),(e=>{(0,o.tD)((()=>{const t=e.getState();Object.keys(t.batches).forEach((n=>{const{batch:r,finishedCounter:a}=t.batches[n],{orgItemCount:s}=r,i=M(r);s===a&&(i||100===r.completed||(e.updateState((e=>{const t=P(e,n);t.completed=100,t.loaded=t.items.reduce(((e,{loaded:t})=>e+t),0)})),$(e,n,h.BATCH_PROGRESS)),e.updateState((e=>{e.currentBatch===n&&(e.currentBatch=null)})),o.vF.debugLog(`uploady.uploader.batchHelpers: cleaning up batch: ${r.id}`),i||j(e,n,h.BATCH_FINISH),U(e,n),H(e,n))}))}))})(e),n(e)},V=_(h.REQUEST_PRE_SEND,(e=>e),((e,t)=>({items:e,options:t}))),z=({allowedItems:e,cancelledResults:t,queue:n,items:r,ids:a,next:s})=>{const i=e.length?V(n,e):Promise.resolve();let c=t;return i.catch((e=>{o.vF.debugLog("uploader.queue: encountered error while preparing items for request",e),((e,t,n,r)=>{const a=n.map((({id:t})=>({id:t,info:{status:0,state:o.aN.ERROR,response:e}})));k(t,a,r)})(e,n,r,s)})).then((e=>{let t;return e&&(e.cancelled?c=a.map((()=>!0)):e.items.some((e=>C(e)))?o.vF.debugLog("uploader.queue: send data contains aborted items - not sending"):((e,t,n)=>{const{items:r,options:a}=t,s=e.getState().batches[r[0].batchId]?.batch;if(s){let t;try{t=e.sender.send(r,s,a)}catch(e){o.vF.debugLog("uploader.queue: sender failed with unexpected error",e),t={request:Promise.resolve({status:0,state:o.aN.ERROR,response:e.message}),abort:()=>!1,senderType:"exception-handler"}}const{request:i}=t;((e,t,n)=>{e.updateState((e=>{t.forEach((t=>{e.items[t.id].state=o.aN.UPLOADING,e.aborts[t.id]=n.abort}))}))})(e,r,t),i.then((t=>{const o=r.map((e=>({id:e.id,info:t})));k(e,o,n)}))}})(n,{items:e.items,options:e.options},s)),((e,t,n,r)=>{const a=n.map(((e,n)=>e?t[n].id:null)).filter(Boolean);if(a.length){const t=a.map((e=>({id:e,info:{status:0,state:o.aN.CANCELLED,response:"cancel"}})));k(e,t,r)}return!!a.length})(n,r,c,s)||(t=s(n)),t}))},J=(e,t)=>e.getState().activeIds.flat().includes(t),W=e=>{let t;const n=(e=>{const t=e.getState(),n=t.itemQueue,[r,a]=(e=>{const t=e.getState(),n=t.itemQueue,r=t.items;let a=null,s=0,i=0,c=t.batchQueue[s];for(;c&&!a;){if(G(e,c))for(a=n[c][i];a&&(J(e,a)||r[a].state!==o.aN.ADDED);)i+=1,a=n[c][i];a||(s+=1,c=t.batchQueue[s],i=0)}return a?[c,i]:null})(e)||[];let s,i=r&&~a?n[r][a]:null;if(i){const{batchOptions:e}=t.batches[r],n=e.maxGroupSize||0;s=e.grouped&&n>1?t.itemQueue[r].slice(a,a+n):[i]}return s})(e);if(n){const r=e.getCurrentActiveCount(),{concurrent:a=!1,maxConcurrent:s=0}=e.getOptions();(!r||a&&r<s)&&(o.vF.debugLog("uploader.processor: Processing next upload - ",{ids:n,currentCount:r}),t=((e,t)=>{let n;return((e,t)=>{const n=x(e,t);return e.getState().batchesStartPending.includes(n.id)})(e,t[0])?n=Promise.resolve(!0):(((e,t)=>{e.updateState((e=>{e.activeIds=e.activeIds.concat(t)}))})(e,t),n=((e,t)=>{const n=x(e,t);return e.getState().currentBatch!==n.id})(e,t[0])?((e,t)=>{const n=x(e,t);return e.updateState((e=>{e.batchesStartPending.push(n.id)})),B(e,n).then((({cancelled:r})=>{let o=!1;return e.updateState((e=>{const t=e.batchesStartPending.indexOf(n.id);e.batchesStartPending.splice(t,1)})),r||(o=!T(e,t),o||e.updateState((e=>{e.currentBatch=n.id}))),!r&&!o}))})(e,t[0]).then((n=>{let r=!n;return r&&(((e,t)=>{if(T(e,t)){const n=F(e,t),r=n?.batch.id;r?q(e,r):o.vF.debugLog(`uploady.uploader.batchHelpers: cancel batch called for batch already removed (item id = ${t})`)}})(e,t[0]),W(e)),r})).catch((n=>(o.vF.debugLog("uploader.processor: encountered error while preparing batch for request",n),((e,t,n)=>{const r=x(e,t),a=r.id;o.vF.debugLog("uploady.uploader.batchHelpers: failing batch: ",{batch:r}),j(e,a,h.BATCH_ERROR,o.mX.ERROR,n.message),U(e,a),H(e,a)})(e,t[0],n),W(e),!0))):Promise.resolve(!1)),n})(e,n).then((t=>{t||(((e,t,n)=>{const r=e.getState();let o=Object.values(r.items);o=o.filter((e=>t.includes(e.id)&&!C(e))),Promise.all(o.map((t=>{const{batchOptions:n}=F(e,t.id);return e.runCancellable(h.ITEM_START,t,n)}))).then((r=>{let a=r.map(((t,n)=>t?null:((e,t)=>{const n=t.getState().items[e];return n&&!C(n)?n:void 0})(o[n].id,e))).filter(Boolean);return{allowedItems:a,cancelledResults:r,queue:e,items:o,ids:t,next:n}})).then(z)})(e,n,W),a&&W(e))})))}return t},Y=W,K=e=>(t,n)=>k(e,[{id:t,info:n}],Y),Z=(e,t,n,r,a)=>{const{state:s,update:i}=(e=>{const t={set:(e,r,o)=>(S(n)&&(e[r]=A(o,t)),!0),get:(e,t)=>t===g?R(e):e[t],defineProperty:()=>{throw new Error("Simple State doesnt support defining property")},setPrototypeOf:()=>{throw new Error("Simple State doesnt support setting prototype")},deleteProperty:(e,t)=>(S(n)&&delete e[t],!0)};(0,o.KV)()||E(e)||Object.defineProperty(e,f,{value:{isUpdateable:!1},configurable:!0});const n=(0,o.KV)()?e:A(e,t);return{state:n,update:e=>{if(!(0,o.KV)()&&S(n))throw new Error("Can't call update on State already being updated!");try{O(n,!0),e(n)}finally{O(n,!1)}return n},unwrap:e=>e?R(e):E(n)?R(n):n}})({itemQueue:{},batchQueue:[],currentBatch:null,batchesStartPending:[],batches:{},items:{},activeIds:[],aborts:{}}),c=()=>s,d=e=>{i(e)},l=e=>{if(s.items[e.id]&&!e.recycled)throw new Error(`Uploader queue conflict - item ${e.id} already exists`);e.recycled&&((e,t)=>{const{previousBatch:n}=t;if(t.recycled&&n&&e.getState().batches[n]){const{id:r}=x(e,t.id);r===n&&e.updateState((e=>{const n=P(e,r),o=n.items.findIndex((({id:e})=>e===t.id));~o&&n.items.splice(o,1),e.batches[r].itemBatchOptions[t.id]&&delete e.batches[r].itemBatchOptions[t.id]}))}})(p,e),d((t=>{t.items[e.id]=e}))},u=(e,n,r,o)=>{s.items[e.id]&&(d((t=>{const a=t.items[e.id];a.loaded=r,a.completed=n,a.total=o})),t(h.ITEM_PROGRESS,c().items[e.id]))};r.on(b.ITEM_PROGRESS,u),r.on(b.BATCH_PROGRESS,(e=>{const t=s.batches[e.id]?.batch.items;if(t){const[n,r]=t.reduce(((e,{id:t})=>{const{loaded:n,file:r}=s.items[t],o=r?.size||n||1;return e[0]+=n,e[1]+=o,e}),[0,0]);d((t=>{const o=t.batches[e.id].batch;o.total=r,o.loaded=n,o.completed=n/r})),$(p,e.id,h.BATCH_PROGRESS)}}));const p={uploaderId:a,getOptions:()=>e,getCurrentActiveCount:()=>s.activeIds.length,getState:c,updateState:d,trigger:t,runCancellable:(e,...t)=>{if(!(0,o.Tn)(n))throw new Error("Uploader queue - cancellable is of wrong type");return n(e,...t)},sender:r,handleItemProgress:u,clearAllUploads:()=>{p.updateState((e=>{e.itemQueue={},e.batchQueue=[],e.currentBatch=null,e.batches={},e.items={},e.activeIds=[]}))},clearBatchUploads:e=>{(0,o.tD)((()=>{o.vF.debugLog(`uploader.queue: started scheduled work to clear batch uploads (${e})`),c().batches[e]&&((e,t)=>{e.updateState((e=>{const{items:n}=P(e,t);delete e.batches[t],delete e.itemQueue[t];const r=e.batchQueue.indexOf(t);~r&&e.batchQueue.splice(r,1),e.currentBatch===t&&(e.currentBatch=null),n.forEach((({id:t})=>{delete e.items[t];const n=e.activeIds.indexOf(t);~n&&e.activeIds.splice(n,1)}))}))})(p,e)}))}};return(0,o.Vd)()&&o.vF.isDebugOn()&&(window[`__rpldy_${a}_queue_state`]=p),{updateState:d,getState:p.getState,runCancellable:p.runCancellable,uploadBatch:(e,t)=>{t&&d((n=>{n.batches[e.id].batchOptions=t})),Y(p)},addBatch:(e,t)=>(d((n=>{n.batches[e.id]={batch:e,batchOptions:t,itemBatchOptions:{},finishedCounter:0},n.batchQueue.push(e.id),n.itemQueue[e.id]=e.items.map((({id:e})=>e))})),e.items.forEach(l),P(s,e.id)),abortItem:(...e)=>((e,t)=>{const n=e.getOptions().abortItem;(0,o.V1)(!!n,"Abort Item method not provided yet abortItem was called");const r=e.getState();return n(t,r.items,r.aborts,K(e))})(p,...e),abortBatch:(...e)=>((e,t)=>{const n=e.getOptions().abortBatch;(0,o.V1)(!!n,"Abort Batch method not provided yet abortItem was called");const r=e.getState(),a=r.batches[t],s=a?.batch;if(s&&!M(s)){j(e,t,h.BATCH_ABORT,o.mX.ABORTED);const{isFast:i}=n(s,a.batchOptions,r.aborts,r.itemQueue,K(e),e.getOptions());i&&e.clearBatchUploads(s.id)}})(p,...e),abortAll:(...e)=>(e=>{const t=e.getOptions().abortAll;(0,o.V1)(!!t,"Abort All method not provided yet abortAll was called"),e.trigger(h.ALL_ABORT);const n=e.getState(),{isFast:r}=t(n.items,n.aborts,n.itemQueue,K(e),e.getOptions());r&&e.clearAllUploads()})(p,...e),clearPendingBatches:()=>{(e=>{const t=e.getState().batches;Object.keys(t).filter((e=>t[e].batch.state===o.mX.PENDING)).forEach((t=>{U(e,t),H(e,t)}))})(p)},uploadPendingBatches:e=>{((e,t)=>{e.updateState((e=>{Object.keys(e.batches).forEach((n=>{const r=e.batches[n],{batch:a,batchOptions:s}=r;a.state===o.mX.PENDING&&(a.items.forEach((e=>{e.state=o.aN.ADDED})),a.state=o.mX.ADDED,r.batchOptions=(0,o.h1)({},s,t))}))}))})(p,e),Y(p)},cancelBatch:e=>q(p,e.id)}};var ee=n("SzQa");const te=()=>!0,ne=(0,o.fO)({autoUpload:!0,clearPendingOnAdd:!1,inputFieldName:"file",concurrent:!1,maxConcurrent:2,grouped:!1,maxGroupSize:5,method:"POST",params:{},fileFilter:te,forceJsonResponse:!1,withCredentials:!1,destination:{},send:null,sendWithFormData:!0,formDataAllowUndefined:!1,fastAbortThreshold:100}),re=()=>{const{trigger:e,target:t}=(0,r.Ay)({send:(t,n,r)=>{const a=r.destination,s=a?.url,i=(0,o.nF)((r=>((e,t,n,r)=>{((e,t,n,r,a)=>{e.forEach((e=>{o.vF.debugLog(`uploady.uploader.processor: file: ${e.id} progress event: loaded(${n}) - completed(${t})`),a(b.ITEM_PROGRESS,e,t,n,r)}))})(e,Math.min(n.loaded/n.total*100,100)/e.length,n.loaded/e.length,n.total,r),r(b.BATCH_PROGRESS,t)})(t,n,r,e)),50,!0);return((0,o.Tn)(r.send)?r.send:ee.Ay)(t,s,{method:a?.method||r.method||ne.method,paramName:a?.filesParamName||r.inputFieldName||"file",params:{...r.params,...a?.params},forceJsonResponse:r.forceJsonResponse,withCredentials:r.withCredentials,formatGroupParamName:r.formatGroupParamName,headers:a?.headers,sendWithFormData:r.sendWithFormData,formatServerResponse:r.formatServerResponse,formDataAllowUndefined:r.formDataAllowUndefined,isSuccessfulCall:r.isSuccessfulCall},i)}},Object.values(b));return t},oe=(0,o.Vd)()&&"FileList"in window,ae=(e,t=0)=>{let n=e;return(0,o.KV)()||(t<3&&E(e)?n=R(e):t<3&&v(e)&&(n=Array.isArray(e)?e.map((e=>ae(e,t+1))):Object.keys(e).reduce(((n,r)=>(n[r]=ae(e[r],t+1),n)),{}))),n};let se=0;const ie=(e,t,n,r)=>{const a=re(),s=Z(n,e,t,a,r);return{abortBatch:e=>{s.abortBatch(e)},abort:e=>{e?s.abortItem(e):s.abortAll()},addNewBatch:(e,t)=>((e,t,n)=>{se+=1;const r=`batch-${se}`,a=(e=>oe&&e instanceof FileList||"[object FileList]"===e.toString())(e),s=Array.isArray(e)||a?e:[e],i=!n.autoUpload;return((e,t,n,r)=>{const a=r?Array.prototype.map.call(t,(e=>(0,o.Uk)(e)?e.file||e.url:e)):[];return Promise.all(Array.prototype.map.call(t,((e,t)=>{const n=(r||te)(a[t],t,a);return(0,o.yL)(n)?n.then((t=>!!t&&e)):!!n&&e}))).then((t=>t.filter(Boolean).map((t=>(0,o.UT)(t,e,n)))))})(r,s,i,n.fileFilter).then((e=>({id:r,uploaderId:t,items:e,state:i?o.mX.PENDING:o.mX.ADDED,completed:0,loaded:0,orgItemCount:e.length,additionalInfo:null})))})(e,r,t).then((e=>{let n;if(e.items.length){const a=s.addBatch(e,t);n=s.runCancellable(h.BATCH_ADD,a,t).then((e=>(e?s.cancelBatch(a):(o.vF.debugLog(`uploady.uploader [${r}]: new items added - auto upload =\n ${String(t.autoUpload)}`,a.items),t.autoUpload&&s.uploadBatch(a)),a)))}else o.vF.debugLog(`uploady.uploader: no items to add. batch ${e.id} is empty. check fileFilter if this isn't intended`);return n||Promise.resolve(null)})),clearPendingBatches:()=>{s.clearPendingBatches()},processPendingBatches:e=>{s.uploadPendingBatches(e)}}},ce=(...e)=>(t,...n)=>e.reduce(((e,t)=>t(e,...n)||e),t),de=Object.values(h);let le=0;const ue=e=>{le+=1;const t=`uploader-${le}`;let n=!1;const a={};o.vF.debugLog(`uploady.uploader: creating new instance (${t})`,{options:e,counter:le});let s=(e=>{return{...ne,...e,destination:e&&e.destination?(t=e.destination,{params:{},...t}):null};var t})(e);const i=()=>{b.clearPendingBatches()};let{trigger:c,target:d}=(0,r.Ay)({id:t,update:e=>(s=(0,o.h1)({},s,e),d),add:(e,t)=>{const n=(0,o.h1)({},s,t);return n.clearPendingOnAdd&&i(),b.addNewBatch(e,n).then((()=>{o.vF.debugLog("uploady.uploader: finished adding file data to be processed")}))},upload:e=>{b.processPendingBatches(e)},abort:e=>{b.abort(e)},abortBatch:e=>{b.abortBatch(e)},getOptions:()=>(0,o.o8)(s),clearPending:i,registerExtension:(e,t)=>{(0,o.V1)(n,"Uploady - uploader extensions can only be registered by enhancers"),(0,o.V1)(!a[e],"Uploady - uploader extension by this name [%s] already exists",e),o.vF.debugLog(`uploady.uploader: registering extension: ${e.toString()}`,t),a[e]=t},getExtension:e=>a[e]},de,{canAddEvents:!1,canRemoveEvents:!1});const l=(e,...t)=>{const n=(0,r.yn)((()=>t.map(ae)));return c(e,n)},u=(0,o.x1)(l),h=((e,t,n,r)=>{const o=t.enhancer?(a=t.enhancer,ce(p(),a)):p();var a;r(!0);const s=o(e,n);return r(!1),s||e})(d,s,l,(e=>{n=e})),b=ie(l,u,s,h.id);return(0,o.fO)(h)},pe=ue},ptt7:(e,t,n)=>{"use strict";n.d(t,{O3:()=>q,Sr:()=>h,gi:()=>b,_W:()=>p,h7:()=>E,oH:()=>f,XI:()=>j,xl:()=>c,FF:()=>U,QB:()=>H,XP:()=>Q,Mu:()=>M,NW:()=>G,Jv:()=>F,aL:()=>I,L4:()=>v,Hg:()=>O,Sb:()=>A,w8:()=>R,Fh:()=>S,h9:()=>T,mA:()=>y,NL:()=>B,xM:()=>w,Xy:()=>_,zf:()=>D,IN:()=>N,OE:()=>L,Jg:()=>C,gr:()=>P,bn:()=>$,Oo:()=>m,Bx:()=>m,s3:()=>z,Gq:()=>V});var r=n("TCQx"),o=n("+TXh"),a=n.n(o),s=n("vtDa");const i=Symbol.for("_rpldy-version_"),c=()=>"1.10.0",d=()=>(0,s.Vd)()?window:globalThis||process,l=()=>d()[i],u="Uploady - Context. File input isn't available",p=(e,t)=>{let n,r,o=!1;t?n=t:s.vF.debugLog("Uploady context - didn't receive input field ref - waiting for external ref");const a=()=>n?.current,l=()=>{const e=a();(0,s.V1)(e,u),e.removeEventListener("change",l);const t=r;r=null,p(e.files,t)},p=(t,n)=>{e.add(t,n)};return d()[i]=c(),{hasUploader:()=>!!e,getInternalFileInput:()=>(n&&(o=!0),n),setExternalFileInput:e=>{o=!0,n=e},getIsUsingExternalInput:()=>o,showFileUpload:e=>{const t=a();(0,s.V1)(t,u),r=e,t.removeEventListener("change",l),t.addEventListener("change",l),t.value="",t.click()},upload:p,processPending:t=>{e.upload(t)},clearPending:()=>{e.clearPending()},setOptions:t=>{e.update(t)},getOptions:()=>e.getOptions(),getExtension:t=>e.getExtension(t),abort:t=>{e.abort(t)},abortBatch:t=>{e.abortBatch(t)},on:(t,n)=>e.on(t,n),once:(t,n)=>e.once(t,n),off:(t,n)=>e.off(t,n)}},h=a().createContext(null),b=e=>((0,s.V1)(!(()=>{const e=l();return!!e&&e!==c()})(),"Uploady - Valid UploadyContext not found.\nYou may be using packages of different Uploady versions. <Uploady> and all other packages using the context provider must be of the same version: %s",l()),(0,s.V1)(e&&e.hasUploader(),"Uploady - Valid UploadyContext not found. Make sure you render inside <Uploady>"),e),m=()=>b((0,o.useContext)(h)),g=(e,t)=>{const n=m(),{on:r,off:a}=n;(0,o.useEffect)((()=>(r(e,t),()=>{a(e,t)})),[e,t,r,a])},f=(e,t)=>(n,r)=>{const[a,i]=(0,o.useState)(null);let c=n,d=r;n&&!(0,s.Tn)(n)&&(d=n,c=void 0);const l=(0,o.useCallback)(((e,...n)=>{d&&e.id!==d||(i(t(e,...n)),(0,s.Tn)(c)&&c(e,...n))}),[c,d]);return g(e,l),a},E=(e,t=!0)=>(n,r)=>{const a=(0,o.useCallback)(((e,...o)=>!n||t&&r&&e.id!==r?void 0:n(e,...o)),[n,r]);g(e,a)},v=E(r.x0.BATCH_ADD,!1),y=E(r.x0.BATCH_START),S=E(r.x0.BATCH_FINISH),O=E(r.x0.BATCH_CANCEL),A=E(r.x0.BATCH_ERROR),R=E(r.x0.BATCH_FINALIZE),I=E(r.x0.BATCH_ABORT),T=f(r.x0.BATCH_PROGRESS,(e=>({...e}))),C=E(r.x0.ITEM_START),N=E(r.x0.ITEM_FINISH),w=E(r.x0.ITEM_CANCEL),_=E(r.x0.ITEM_ERROR),B=E(r.x0.ITEM_ABORT),D=E(r.x0.ITEM_FINALIZE),L=f(r.x0.ITEM_PROGRESS,(e=>({...e}))),P=E(r.x0.REQUEST_PRE_SEND,!1),F=E(r.x0.ALL_ABORT,!1),x=Symbol.for("rpldy_component"),U=(e,t)=>{(0,s.KV)()||e||console.warn(t)},H=e=>{e[x]=!0},j=e=>!0===e[x]||!0===e.target?.[x]||!0===e.render?.[x],q=e=>{const{listeners:t,debug:n,children:i,inputRef:c,...d}=e;s.vF.setDebug(!!n),s.vF.debugLog("@@@@@@ Uploady Rendering @@@@@@",e);const l=((e,t)=>{const n=(0,o.useMemo)((()=>(s.vF.debugLog("Uploady creating a new uploader instance",e),(0,r.Ay)(e))),[e.enhancer]);return n.update(e),(0,o.useEffect)((()=>(t&&(s.vF.debugLog("Uploady setting event listeners",t),Object.entries(t).forEach((([e,t])=>{n.on(e,t)}))),()=>{t&&(s.vF.debugLog("Uploady removing event listeners",t),Object.entries(t).forEach((([e,t])=>n.off(e,t))))})),[t,n]),n})(d,t),u=(0,o.useMemo)((()=>p(l,c)),[l,c]);return a().createElement(h.Provider,{value:u},i)},$=e=>{const t=m();return e&&t.setOptions(e),t.getOptions()},G=()=>{const e=m();return(0,o.useCallback)((t=>e.abort(t)),[e])},M=()=>{const e=m();return(0,o.useCallback)((t=>e.abortBatch(t)),[e])},Q=()=>{const e=m();return(0,o.useCallback)((()=>e.abort()),[e])};var X=n("x2Sg");const k=({eventType:e,getIsValidEventData:t,getRequestData:n})=>r=>s=>{const i=m(),[c,d]=(0,o.useState)({updateRequest:null,requestData:null}),{id:l}=s;return(0,o.useLayoutEffect)((()=>{const r=(...o)=>!0===t(l,...o)?new Promise((t=>{d({updateRequest:n=>{i.off(e,r),t(n)},requestData:n(...o)})})):void 0;return l&&i.on(e,r),()=>{l&&i.off(e,r)}}),[i,l]),a().createElement(r,(0,X.A)({},s,c))},V=k({eventType:r.x0.REQUEST_PRE_SEND,getIsValidEventData:(e,{items:t})=>!!t.find((t=>t.id===e)),getRequestData:({items:e,options:t})=>({items:e,options:t})}),z=k({eventType:r.x0.BATCH_START,getIsValidEventData:(e,t)=>t.id===e,getRequestData:(e,t)=>({batch:e,items:e.items,options:t})})},zBvJ:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BATCH_STATES:()=>m.mX,DEFAULT_OPTIONS:()=>m.lp,FILE_STATES:()=>m.aN,MissingUrlError:()=>m.wc,NoDomUploady:()=>d.O3,UPLOADER_EVENTS:()=>m.x0,Uploady:()=>p,UploadyContext:()=>d.Sr,XHR_SENDER_TYPE:()=>m.cp,assertContext:()=>d.gi,composeEnhancers:()=>m.YJ,createContextApi:()=>d._W,createUploader:()=>m.vE,default:()=>g,generateUploaderEventHook:()=>d.h7,generateUploaderEventHookWithState:()=>d.oH,getIsUploadOptionsComponent:()=>d.XI,getUploadyVersion:()=>d.xl,getXhrSend:()=>m.DH,logWarning:()=>d.FF,markAsUploadOptionsComponent:()=>d.QB,send:()=>m.tN,useAbortAll:()=>d.XP,useAbortBatch:()=>d.Mu,useAbortItem:()=>d.NW,useAllAbortListener:()=>d.Jv,useBatchAbortListener:()=>d.aL,useBatchAddListener:()=>d.L4,useBatchCancelledListener:()=>d.Hg,useBatchErrorListener:()=>d.Sb,useBatchFinalizeListener:()=>d.w8,useBatchFinishListener:()=>d.Fh,useBatchProgressListener:()=>d.h9,useBatchStartListener:()=>d.mA,useFileInput:()=>b,useItemAbortListener:()=>d.NL,useItemCancelListener:()=>d.xM,useItemErrorListener:()=>d.Xy,useItemFinalizeListener:()=>d.zf,useItemFinishListener:()=>d.IN,useItemProgressListener:()=>d.OE,useItemStartListener:()=>d.Jg,useRequestPreSend:()=>d.gr,useUploadOptions:()=>d.bn,useUploady:()=>d.Oo,useUploadyContext:()=>d.Bx,withBatchStartUpdate:()=>d.s3,withRequestPreSendUpdate:()=>d.Gq});var r=n("x2Sg"),o=n("+TXh"),a=n.n(o),s=n("XYNb"),i=n.n(s),c=n("vtDa"),d=n("ptt7");const l=(e,t,n)=>a().createElement("input",(0,r.A)({},e,{name:t.inputFieldName,type:"file",ref:n})),u=(0,o.memo)((0,o.forwardRef)((({container:e,noPortal:t,...n},r)=>{const o=(0,d.bn)(),a=e&&1===e.nodeType;return(0,c.V1)(a||!(0,c.Vd)(),"Uploady - Container for file input must be a valid dom element"),t?l(n,o,r):((e,t,n,r,o)=>e&&t?i().createPortal(l(n,r,o),e):null)(e,a,n,o,r)}))),p=e=>{const{multiple:t=!0,capture:n,accept:s,webkitdirectory:i,children:l,inputFieldContainer:p,customInput:h,fileInputId:b,noPortal:m=!1,...g}=e,f=h?null:p||((0,c.Vd)()?document.body:null),E=(0,o.useRef)();return a().createElement(d.O3,(0,r.A)({},g,{inputRef:E}),h?null:a().createElement(u,{container:f,multiple:t,capture:n,accept:s,webkitdirectory:i?.toString(),style:{display:"none"},ref:E,id:b,noPortal:m}),l)},h=(e,t)=>{const n=t?.getAttribute("method"),r=t&&(e=>{const t=window.location;let n,r=e.getAttribute("action")||"";switch(r=r.replace(/\s/g,""),!0){case""===r:r=t.href;break;case r.startsWith("/"):r=`${t.protocol}//${t.host}${r}`;break;case!/:\/\//.test(r):n=t.pathname.split("/").slice(0,-1).concat("").join("/"),r=`${t.protocol}//${t.host}${n}${r}`}return r})(t);return{filesParamName:e.getAttribute("name"),method:n?n.toUpperCase():void 0,url:r}},b=e=>{const t=(0,d.Bx)();return e&&t.setExternalFileInput(e),(0,o.useEffect)((()=>{let n;if(e?.current&&"closest"in e.current){const r=e.current,o=t.getOptions();if(!o.destination||!o.destination.url){const{stopObserving:e}=((e,t)=>{let n,r;const o=e.closest("form");if(o){n=h(e,o),c.vF.debugLog(`Uploady.useFileInput: using custom input's parent form url ${n.url||""} and method ${n.method||""}`);let a=new MutationObserver((n=>{if("action"===n[0]?.attributeName){const n=h(e,o);n.url&&(c.vF.debugLog(`Uploady.useFileInput: form action attribute changed to ${n.url}`),t(n))}}));a?.observe(o,{attributes:!0,attributeFilter:["action"]}),r=()=>{a?.disconnect(),a=null}}return t(n||h(e)),{stopObserving:r}})(r,(e=>{t.setOptions({destination:e})}));n=e}}return()=>{n?.()}}),[e,t]),e||t.getInternalFileInput()};var m=n("TCQx");const g=p},"+TXh":t=>{"use strict";t.exports=e},XYNb:e=>{"use strict";e.exports=t}},o={};function a(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e].call(n.exports,n,n.exports,a),n.exports}a.m=r,n=[],a.O=(e,t,r,o)=>{if(!t){var s=1/0;for(l=0;l<n.length;l++){t=n[l][0],r=n[l][1],o=n[l][2];for(var i=!0,c=0;c<t.length;c++)(!1&o||s>=o)&&Object.keys(a.O).every((e=>a.O[e](t[c])))?t.splice(c--,1):(i=!1,o<s&&(s=o));if(i){n.splice(l--,1);var d=r();void 0!==d&&(e=d)}}return e}o=o||0;for(var l=n.length;l>0&&n[l-1][2]>o;l--)n[l]=n[l-1];n[l]=[t,r,o]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={472:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var r,o,s=n[0],i=n[1],c=n[2],d=0;if(s.some((t=>0!==e[t]))){for(r in i)a.o(i,r)&&(a.m[r]=i[r]);if(c)var l=c(a)}for(t&&t(n);d<s.length;d++)o=s[d],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return a.O(l)},n=self.webpackChunkrpldy=self.webpackChunkrpldy||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.O(void 0,[461],(()=>a("tuYC"))),a.O(void 0,[461],(()=>a("vtDa"))),a.O(void 0,[461],(()=>a("SzQa"))),a.O(void 0,[461],(()=>a("TCQx"))),a.O(void 0,[461],(()=>a("ptt7")));var s=a.O(void 0,[461],(()=>a("zBvJ")));return a.O(s)})())); //# sourceMappingURL=rpldy-ui-core.umd.min.js.map