@rpcbase/ui 0.261.0 → 0.262.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/sha256.worker-BEf4_Y9w.js.map +1 -0
- package/dist/components/FilesUploadField/index.d.ts +19 -6
- package/dist/components/FilesUploadField/index.d.ts.map +1 -1
- package/dist/components/FilesUploadField/sha256.d.ts +5 -0
- package/dist/components/FilesUploadField/sha256.d.ts.map +1 -0
- package/dist/components/FilesUploadField/sha256.worker.d.ts +4 -0
- package/dist/components/FilesUploadField/sha256.worker.d.ts.map +1 -0
- package/dist/components/ImagesField/index.d.ts +4 -2
- package/dist/components/ImagesField/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index298.js +11 -803
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +865 -28
- package/dist/index299.js.map +1 -1
- package/dist/index300.js +26 -510
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +481 -755
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +786 -7428
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +7429 -7
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +6 -12
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +12 -5
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +3 -3
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +5 -469
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +464 -32
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +36 -18
- package/dist/index309.js.map +1 -1
- package/dist/index310.js +17 -28
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +30 -4
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +4 -59
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +59 -9
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +9 -5
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +5 -9
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +9 -12
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +13 -3
- package/dist/index317.js.map +1 -1
- package/dist/index318.js +3 -17
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +14 -23
- package/dist/index319.js.map +1 -1
- package/dist/index320.js +23 -39
- package/dist/index320.js.map +1 -1
- package/dist/index321.js +41 -5
- package/dist/index321.js.map +1 -1
- package/dist/index322.js +5 -25
- package/dist/index322.js.map +1 -1
- package/dist/index323.js +24 -18
- package/dist/index323.js.map +1 -1
- package/dist/index324.js +17 -32
- package/dist/index324.js.map +1 -1
- package/dist/index325.js +34 -5
- package/dist/index325.js.map +1 -1
- package/dist/index326.js +5 -9
- package/dist/index326.js.map +1 -1
- package/dist/index327.js +8 -7
- package/dist/index327.js.map +1 -1
- package/dist/index328.js +8 -9
- package/dist/index328.js.map +1 -1
- package/dist/index329.js +9 -10
- package/dist/index329.js.map +1 -1
- package/dist/index330.js +10 -7
- package/dist/index330.js.map +1 -1
- package/dist/index331.js +7 -75
- package/dist/index331.js.map +1 -1
- package/dist/index332.js +66 -153
- package/dist/index332.js.map +1 -1
- package/dist/index333.js +147 -99
- package/dist/index333.js.map +1 -1
- package/dist/index334.js +113 -13
- package/dist/index334.js.map +1 -1
- package/dist/index335.js +12 -78
- package/dist/index335.js.map +1 -1
- package/dist/index336.js +57 -23
- package/dist/index336.js.map +1 -1
- package/dist/index337.js +45 -12
- package/dist/index337.js.map +1 -1
- package/dist/index338.js +13 -16
- package/dist/index338.js.map +1 -1
- package/dist/index339.js +15 -100
- package/dist/index339.js.map +1 -1
- package/dist/index340.js +95 -50
- package/dist/index340.js.map +1 -1
- package/dist/index341.js +5 -57
- package/dist/index341.js.map +1 -1
- package/dist/index342.js +78 -41
- package/dist/index342.js.map +1 -1
- package/dist/index343.js +58 -100
- package/dist/index343.js.map +1 -1
- package/dist/index344.js +104 -46
- package/dist/index344.js.map +1 -1
- package/dist/index345.js +51 -39
- package/dist/index345.js.map +1 -1
- package/dist/index346.js +42 -142
- package/dist/index346.js.map +1 -1
- package/dist/index347.js +123 -120
- package/dist/index347.js.map +1 -1
- package/dist/index348.js +108 -224
- package/dist/index348.js.map +1 -1
- package/dist/index349.js +174 -158
- package/dist/index349.js.map +1 -1
- package/dist/index350.js +144 -213
- package/dist/index350.js.map +1 -1
- package/dist/index351.js +309 -5
- package/dist/index351.js.map +1 -1
- package/dist/index352.js +5 -6
- package/dist/index352.js.map +1 -1
- package/dist/index353.js +6 -7
- package/dist/index353.js.map +1 -1
- package/dist/index354.js +5 -4
- package/dist/index354.js.map +1 -1
- package/dist/index355.js +4 -4
- package/dist/index355.js.map +1 -1
- package/dist/index356.js +6 -21
- package/dist/index356.js.map +1 -1
- package/dist/index357.js +21 -10
- package/dist/index357.js.map +1 -1
- package/dist/index358.js +10 -128
- package/dist/index358.js.map +1 -1
- package/dist/index359.js +122 -36
- package/dist/index359.js.map +1 -1
- package/dist/index360.js +38 -64
- package/dist/index360.js.map +1 -1
- package/dist/index361.js +66 -115
- package/dist/index361.js.map +1 -1
- package/dist/index362.js +112 -485
- package/dist/index362.js.map +1 -1
- package/dist/index363.js +490 -13
- package/dist/index363.js.map +1 -1
- package/dist/index364.js +13 -4
- package/dist/index364.js.map +1 -1
- package/dist/index365.js +4 -47
- package/dist/index365.js.map +1 -1
- package/dist/index366.js +44 -15
- package/dist/index366.js.map +1 -1
- package/dist/index367.js +19 -5
- package/dist/index367.js.map +1 -1
- package/dist/index368.js +5 -27
- package/dist/index368.js.map +1 -1
- package/dist/index369.js +27 -48
- package/dist/index369.js.map +1 -1
- package/dist/index370.js +46 -27
- package/dist/index370.js.map +1 -1
- package/dist/index371.js +27 -16
- package/dist/index371.js.map +1 -1
- package/dist/index372.js +16 -41
- package/dist/index372.js.map +1 -1
- package/dist/index373.js +42 -14
- package/dist/index373.js.map +1 -1
- package/dist/index374.js +14 -10
- package/dist/index374.js.map +1 -1
- package/dist/index375.js +9 -51
- package/dist/index375.js.map +1 -1
- package/dist/index376.js +53 -43
- package/dist/index376.js.map +1 -1
- package/dist/index377.js +43 -16
- package/dist/index377.js.map +1 -1
- package/dist/index378.js +15 -4
- package/dist/index378.js.map +1 -1
- package/dist/index379.js +4 -4
- package/dist/index379.js.map +1 -1
- package/dist/index380.js +4 -9
- package/dist/index380.js.map +1 -1
- package/dist/index381.js +9 -340
- package/dist/index381.js.map +1 -1
- package/dist/index382.js +339 -4
- package/dist/index382.js.map +1 -1
- package/dist/index383.js +5 -16
- package/dist/index383.js.map +1 -1
- package/dist/index384.js +16 -111
- package/dist/index384.js.map +1 -1
- package/dist/index385.js +109 -19
- package/dist/index385.js.map +1 -1
- package/dist/index386.js +18 -18
- package/dist/index386.js.map +1 -1
- package/dist/index387.js +21 -5
- package/dist/index387.js.map +1 -1
- package/dist/index388.js +5 -20
- package/dist/index388.js.map +1 -1
- package/dist/index389.js +19 -13
- package/dist/index389.js.map +1 -1
- package/dist/index390.js +13 -84
- package/dist/index390.js.map +1 -1
- package/dist/index391.js +84 -7
- package/dist/index391.js.map +1 -1
- package/dist/index392.js +9 -29
- package/dist/index392.js.map +1 -1
- package/dist/index393.js +28 -9
- package/dist/index393.js.map +1 -1
- package/dist/index394.js +9 -5
- package/dist/index394.js.map +1 -1
- package/dist/index395.js +6 -252
- package/dist/index395.js.map +1 -1
- package/dist/index396.js +250 -10
- package/dist/index396.js.map +1 -1
- package/dist/index397.js +11 -10
- package/dist/index397.js.map +1 -1
- package/dist/index398.js +10 -6
- package/dist/index398.js.map +1 -1
- package/dist/index399.js +6 -22
- package/dist/index399.js.map +1 -1
- package/dist/index400.js +21 -21
- package/dist/index400.js.map +1 -1
- package/dist/index401.js +21 -107
- package/dist/index401.js.map +1 -1
- package/dist/index402.js +109 -15
- package/dist/index402.js.map +1 -1
- package/dist/index403.js +15 -12
- package/dist/index403.js.map +1 -1
- package/dist/index404.js +10 -8
- package/dist/index404.js.map +1 -1
- package/dist/index405.js +8 -242
- package/dist/index405.js.map +1 -1
- package/dist/index406.js +238 -25
- package/dist/index406.js.map +1 -1
- package/dist/index407.js +29 -51
- package/dist/index407.js.map +1 -1
- package/dist/index408.js +51 -10
- package/dist/index408.js.map +1 -1
- package/dist/index409.js +11 -128
- package/dist/index409.js.map +1 -1
- package/dist/index410.js +124 -35
- package/dist/index410.js.map +1 -1
- package/dist/index411.js +36 -23
- package/dist/index411.js.map +1 -1
- package/dist/index412.js +26 -11
- package/dist/index412.js.map +1 -1
- package/dist/index413.js +11 -23
- package/dist/index413.js.map +1 -1
- package/dist/index414.js +19 -13
- package/dist/index414.js.map +1 -1
- package/dist/index415.js +14 -13
- package/dist/index415.js.map +1 -1
- package/dist/index416.js +14 -322
- package/dist/index416.js.map +1 -1
- package/dist/index417.js +323 -61
- package/dist/index417.js.map +1 -1
- package/dist/index418.js +63 -4
- package/dist/index418.js.map +1 -1
- package/dist/index419.js +4 -28
- package/dist/index419.js.map +1 -1
- package/dist/index420.js +25 -468
- package/dist/index420.js.map +1 -1
- package/dist/index421.js +452 -250
- package/dist/index421.js.map +1 -1
- package/dist/index422.js +272 -0
- package/dist/index422.js.map +1 -0
- package/package.json +2 -1
package/dist/index298.js
CHANGED
|
@@ -1,810 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { Loader2 as s, Maximize2 as c, Plus as l, X as u } from "lucide-react";
|
|
6
|
-
import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
7
|
-
import { createPortal as ee } from "react-dom";
|
|
8
|
-
import { DndContext as m, DragOverlay as h, KeyboardSensor as g, PointerSensor as _, closestCenter as v, defaultDropAnimationSideEffects as y, useSensor as b, useSensors as te } from "@dnd-kit/core";
|
|
9
|
-
import { SortableContext as ne, arrayMove as x, rectSortingStrategy as S, sortableKeyboardCoordinates as re, useSortable as ie } from "@dnd-kit/sortable";
|
|
10
|
-
import { CSS as C } from "@dnd-kit/utilities";
|
|
11
|
-
//#region src/components/FilesUploadField/index.tsx
|
|
12
|
-
var w = async (e) => {
|
|
13
|
-
if (typeof crypto > "u" || crypto.subtle === void 0) return null;
|
|
1
|
+
//#region src/components/FilesUploadField/sha256.worker.ts?worker&inline
|
|
2
|
+
var e = "(function(){var e=((e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports))(((e,t)=>{(function(e,n){var r={};n(r);var i=r.default;for(var a in r)i[a]=r[a];typeof t==`object`&&typeof t.exports==`object`?t.exports=i:typeof define==`function`&&define.amd?define(function(){return i}):e.sha256=i})(e,function(e){\"use strict\";e.__esModule=!0,e.digestLength=32,e.blockSize=64;var t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function n(e,n,r,i,a){for(var o,s,c,l,u,d,f,p,m,h,g,_,v;a>=64;){for(o=n[0],s=n[1],c=n[2],l=n[3],u=n[4],d=n[5],f=n[6],p=n[7],h=0;h<16;h++)g=i+h*4,e[h]=(r[g]&255)<<24|(r[g+1]&255)<<16|(r[g+2]&255)<<8|r[g+3]&255;for(h=16;h<64;h++)m=e[h-2],_=(m>>>17|m<<15)^(m>>>19|m<<13)^m>>>10,m=e[h-15],v=(m>>>7|m<<25)^(m>>>18|m<<14)^m>>>3,e[h]=(_+e[h-7]|0)+(v+e[h-16]|0);for(h=0;h<64;h++)_=(((u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+(u&d^~u&f)|0)+(p+(t[h]+e[h]|0)|0)|0,v=((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&s^o&c^s&c)|0,p=f,f=d,d=u,u=l+_|0,l=c,c=s,s=o,o=_+v|0;n[0]+=o,n[1]+=s,n[2]+=c,n[3]+=l,n[4]+=u,n[5]+=d,n[6]+=f,n[7]+=p,i+=64,a-=64}return i}var r=function(){function t(){this.digestLength=e.digestLength,this.blockSize=e.blockSize,this.state=new Int32Array(8),this.temp=new Int32Array(64),this.buffer=new Uint8Array(128),this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this.reset()}return t.prototype.reset=function(){return this.state[0]=1779033703,this.state[1]=3144134277,this.state[2]=1013904242,this.state[3]=2773480762,this.state[4]=1359893119,this.state[5]=2600822924,this.state[6]=528734635,this.state[7]=1541459225,this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this},t.prototype.clean=function(){for(var e=0;e<this.buffer.length;e++)this.buffer[e]=0;for(var e=0;e<this.temp.length;e++)this.temp[e]=0;this.reset()},t.prototype.update=function(e,t){if(t===void 0&&(t=e.length),this.finished)throw Error(`SHA256: can't update because hash was finished.`);var r=0;if(this.bytesHashed+=t,this.bufferLength>0){for(;this.bufferLength<64&&t>0;)this.buffer[this.bufferLength++]=e[r++],t--;this.bufferLength===64&&(n(this.temp,this.state,this.buffer,0,64),this.bufferLength=0)}for(t>=64&&(r=n(this.temp,this.state,e,r,t),t%=64);t>0;)this.buffer[this.bufferLength++]=e[r++],t--;return this},t.prototype.finish=function(e){if(!this.finished){var t=this.bytesHashed,r=this.bufferLength,i=t/536870912|0,a=t<<3,o=t%64<56?64:128;this.buffer[r]=128;for(var s=r+1;s<o-8;s++)this.buffer[s]=0;this.buffer[o-8]=i>>>24&255,this.buffer[o-7]=i>>>16&255,this.buffer[o-6]=i>>>8&255,this.buffer[o-5]=i>>>0&255,this.buffer[o-4]=a>>>24&255,this.buffer[o-3]=a>>>16&255,this.buffer[o-2]=a>>>8&255,this.buffer[o-1]=a>>>0&255,n(this.temp,this.state,this.buffer,0,o),this.finished=!0}for(var s=0;s<8;s++)e[s*4+0]=this.state[s]>>>24&255,e[s*4+1]=this.state[s]>>>16&255,e[s*4+2]=this.state[s]>>>8&255,e[s*4+3]=this.state[s]>>>0&255;return this},t.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},t.prototype._saveState=function(e){for(var t=0;t<this.state.length;t++)e[t]=this.state[t]},t.prototype._restoreState=function(e,t){for(var n=0;n<this.state.length;n++)this.state[n]=e[n];this.bytesHashed=t,this.finished=!1,this.bufferLength=0},t}();e.Hash=r;var i=function(){function e(e){this.inner=new r,this.outer=new r,this.blockSize=this.inner.blockSize,this.digestLength=this.inner.digestLength;var t=new Uint8Array(this.blockSize);if(e.length>this.blockSize)new r().update(e).finish(t).clean();else for(var n=0;n<e.length;n++)t[n]=e[n];for(var n=0;n<t.length;n++)t[n]^=54;this.inner.update(t);for(var n=0;n<t.length;n++)t[n]^=106;this.outer.update(t),this.istate=new Uint32Array(8),this.ostate=new Uint32Array(8),this.inner._saveState(this.istate),this.outer._saveState(this.ostate);for(var n=0;n<t.length;n++)t[n]=0}return e.prototype.reset=function(){return this.inner._restoreState(this.istate,this.inner.blockSize),this.outer._restoreState(this.ostate,this.outer.blockSize),this},e.prototype.clean=function(){for(var e=0;e<this.istate.length;e++)this.ostate[e]=this.istate[e]=0;this.inner.clean(),this.outer.clean()},e.prototype.update=function(e){return this.inner.update(e),this},e.prototype.finish=function(e){return this.outer.finished?this.outer.finish(e):(this.inner.finish(e),this.outer.update(e,this.digestLength).finish(e)),this},e.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},e}();e.HMAC=i;function a(e){var t=new r().update(e),n=t.digest();return t.clean(),n}e.hash=a,e.default=a;function o(e,t){var n=new i(e).update(t),r=n.digest();return n.clean(),r}e.hmac=o;function s(e,t,n,r){var i=r[0];if(i===0)throw Error(`hkdf: cannot expand more`);t.reset(),i>1&&t.update(e),n&&t.update(n),t.update(r),t.finish(e),r[0]++}var c=new Uint8Array(e.digestLength);function l(e,t,n,r){t===void 0&&(t=c),r===void 0&&(r=32);for(var a=new Uint8Array([1]),l=new i(o(t,e)),u=new Uint8Array(l.digestLength),d=u.length,f=new Uint8Array(r),p=0;p<r;p++)d===u.length&&(s(u,l,n,a),d=0),f[p]=u[d++];return l.clean(),u.fill(0),a.fill(0),f}e.hkdf=l;function u(e,t,n,r){for(var a=new i(e),o=a.digestLength,s=new Uint8Array(4),c=new Uint8Array(o),l=new Uint8Array(o),u=new Uint8Array(r),d=0;d*o<r;d++){var f=d+1;s[0]=f>>>24&255,s[1]=f>>>16&255,s[2]=f>>>8&255,s[3]=f>>>0&255,a.reset(),a.update(t),a.update(s),a.finish(l);for(var p=0;p<o;p++)c[p]=l[p];for(var p=2;p<=n;p++){a.reset(),a.update(l).finish(l);for(var m=0;m<o;m++)c[m]^=l[m]}for(var p=0;p<o&&d*o+p<r;p++)u[d*o+p]=c[p]}for(var d=0;d<o;d++)c[d]=l[d]=0;for(var d=0;d<4;d++)s[d]=0;return a.clean(),u}e.pbkdf2=u})}))();let t=async(t,n=4194304)=>{if(!Number.isInteger(n)||n<=0)throw Error(`Invalid hash chunk size`);let r=new e.Hash;try{for(let e=0;e<t.size;e+=n){let i=t.slice(e,Math.min(t.size,e+n));r.update(new Uint8Array(await i.arrayBuffer()))}return Array.from(r.digest()).map(e=>e.toString(16).padStart(2,`0`)).join(``)}finally{r.clean()}},n=typeof self>`u`?null:self;n&&n.addEventListener(`message`,e=>{(async()=>{try{let r=await t(e.data);n.postMessage({ok:!0,hash:r})}catch{n.postMessage({ok:!1,error:`hash_failed`})}})()})})();\n//# sourceMappingURL=sha256.worker-BEf4_Y9w.js.map", t = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", e], { type: "text/javascript;charset=utf-8" });
|
|
3
|
+
function n(n) {
|
|
4
|
+
let r;
|
|
14
5
|
try {
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
if (r = t && (self.URL || self.webkitURL).createObjectURL(t), !r) throw "";
|
|
7
|
+
let e = new Worker(r, { name: n?.name });
|
|
8
|
+
return e.addEventListener("error", () => {
|
|
9
|
+
(self.URL || self.webkitURL).revokeObjectURL(r);
|
|
10
|
+
}), e;
|
|
17
11
|
} catch {
|
|
18
|
-
return
|
|
12
|
+
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(e), { name: n?.name });
|
|
19
13
|
}
|
|
20
|
-
}, T = async (e, t, n) => {
|
|
21
|
-
let r = await fetch(e, {
|
|
22
|
-
method: "POST",
|
|
23
|
-
headers: {
|
|
24
|
-
"Content-Type": "application/json",
|
|
25
|
-
...n?.headers ?? {}
|
|
26
|
-
},
|
|
27
|
-
credentials: "include",
|
|
28
|
-
body: JSON.stringify(t),
|
|
29
|
-
signal: n?.signal
|
|
30
|
-
}), i = await r.json().catch(() => ({}));
|
|
31
|
-
return {
|
|
32
|
-
ok: r.ok,
|
|
33
|
-
status: r.status,
|
|
34
|
-
data: i
|
|
35
|
-
};
|
|
36
|
-
}, E = async (e, t) => {
|
|
37
|
-
let n = await fetch(e, {
|
|
38
|
-
credentials: "include",
|
|
39
|
-
headers: t?.headers,
|
|
40
|
-
signal: t?.signal
|
|
41
|
-
}), r = await n.json().catch(() => ({}));
|
|
42
|
-
return {
|
|
43
|
-
ok: n.ok,
|
|
44
|
-
status: n.status,
|
|
45
|
-
data: r
|
|
46
|
-
};
|
|
47
|
-
}, D = async ({ url: e, body: t, sha256: n, uploadKey: r, signal: i }) => {
|
|
48
|
-
let a = { "Content-Type": "application/octet-stream" };
|
|
49
|
-
n && (a["X-Chunk-SHA256"] = n), r && (a["X-Upload-Key"] = r);
|
|
50
|
-
let o = await fetch(e, {
|
|
51
|
-
method: "PUT",
|
|
52
|
-
credentials: "include",
|
|
53
|
-
headers: a,
|
|
54
|
-
body: t,
|
|
55
|
-
signal: i
|
|
56
|
-
});
|
|
57
|
-
return {
|
|
58
|
-
ok: o.ok,
|
|
59
|
-
status: o.status
|
|
60
|
-
};
|
|
61
|
-
}, ae = async (e, t, n) => {
|
|
62
|
-
let r = await T("/api/rb/file-uploads", {
|
|
63
|
-
filename: e.name,
|
|
64
|
-
mimeType: e.type || "application/octet-stream",
|
|
65
|
-
...typeof n?.isPublic == "boolean" ? { isPublic: n.isPublic } : {},
|
|
66
|
-
totalSize: e.size
|
|
67
|
-
}, { signal: n?.signal });
|
|
68
|
-
if (!r.ok || !r.data?.ok) throw Error(r.data?.error ?? `Init failed (${r.status})`);
|
|
69
|
-
let i = String(r.data?.uploadId ?? ""), a = typeof r.data?.uploadKey == "string" ? String(r.data.uploadKey) : null, o = Number(r.data?.chunkSize ?? 0), s = Number(r.data?.chunksTotal ?? 0);
|
|
70
|
-
if (!i || !o || !s) throw Error("Upload init missing required fields");
|
|
71
|
-
let c = async (t) => {
|
|
72
|
-
let r = t * o, s = Math.min(e.size, r + o), c = await e.slice(r, s).arrayBuffer(), l = await w(c), u = await D({
|
|
73
|
-
url: `/api/rb/file-uploads/${encodeURIComponent(i)}/chunks/${t}`,
|
|
74
|
-
body: c,
|
|
75
|
-
sha256: l ?? void 0,
|
|
76
|
-
uploadKey: a ?? void 0,
|
|
77
|
-
signal: n?.signal
|
|
78
|
-
});
|
|
79
|
-
if (u.status !== 204) throw Error(`Chunk ${t} failed (${u.status})`);
|
|
80
|
-
}, l = async (e, n = 0) => {
|
|
81
|
-
let r = n;
|
|
82
|
-
for (let n of e) await c(n), r += 1, t(Math.min(99, Math.floor(r / s * 99)));
|
|
83
|
-
};
|
|
84
|
-
await l(Array.from({ length: s }, (e, t) => t), 0);
|
|
85
|
-
let u = async () => {
|
|
86
|
-
let e = await T(`/api/rb/file-uploads/${encodeURIComponent(i)}/complete`, {}, {
|
|
87
|
-
headers: a ? { "X-Upload-Key": a } : void 0,
|
|
88
|
-
signal: n?.signal
|
|
89
|
-
});
|
|
90
|
-
if (e.ok && e.data?.ok) {
|
|
91
|
-
let t = String(e.data?.fileId ?? "");
|
|
92
|
-
if (!t) throw Error("Upload completed without fileId");
|
|
93
|
-
return t;
|
|
94
|
-
}
|
|
95
|
-
let t = String(e.data?.error ?? "");
|
|
96
|
-
if (e.status !== 409 || t !== "missing_chunks") throw Error(t || `Complete failed (${e.status})`);
|
|
97
|
-
let r = await E(`/api/rb/file-uploads/${encodeURIComponent(i)}/status`, {
|
|
98
|
-
headers: a ? { "X-Upload-Key": a } : void 0,
|
|
99
|
-
signal: n?.signal
|
|
100
|
-
});
|
|
101
|
-
if (!r.ok || !r.data?.ok) throw Error(r.data?.error ?? `Status failed (${r.status})`);
|
|
102
|
-
let o = Array.isArray(r.data?.received) ? r.data.received : [], c = new Set(o), d = [];
|
|
103
|
-
for (let e = 0; e < s; e += 1) c.has(e) || d.push(e);
|
|
104
|
-
if (!d.length) throw Error("missing_chunks");
|
|
105
|
-
return await l(d, c.size), u();
|
|
106
|
-
}, d = await u();
|
|
107
|
-
return t(100), {
|
|
108
|
-
id: d,
|
|
109
|
-
url: `/api/rb/files/${encodeURIComponent(d)}`,
|
|
110
|
-
alt: e.name,
|
|
111
|
-
...a ? { uploadKey: a } : {}
|
|
112
|
-
};
|
|
113
|
-
};
|
|
114
|
-
function oe(i) {
|
|
115
|
-
let l = n(80), { item: m, isHovered: h, enableImagePreview: g, renderItem: _, onHoverEnter: v, onHoverLeave: y, onRemove: b, onRetry: te, startFullscreen: ne, isUploading: x, isError: S, tileClasses: re, disabled: w, isDraggingExternal: T, removeButtonAriaLabel: E } = i, D;
|
|
116
|
-
l[0] !== w || l[1] !== m.id ? (D = {
|
|
117
|
-
id: m.id,
|
|
118
|
-
disabled: w
|
|
119
|
-
}, l[0] = w, l[1] = m.id, l[2] = D) : D = l[2];
|
|
120
|
-
let { setNodeRef: ae, attributes: oe, listeners: se, transform: ce, transition: k, isDragging: le } = ie(D), ue = a(null), de = a(null), [A, j] = o(null), M;
|
|
121
|
-
l[3] === Symbol.for("react.memo_cache_sentinel") ? (M = () => {
|
|
122
|
-
let e = ue.current;
|
|
123
|
-
if (!e) return;
|
|
124
|
-
let t = e.getBoundingClientRect();
|
|
125
|
-
j({
|
|
126
|
-
left: t.left + t.width / 2,
|
|
127
|
-
top: t.top - 10
|
|
128
|
-
});
|
|
129
|
-
}, l[3] = M) : M = l[3];
|
|
130
|
-
let N = M, P, F;
|
|
131
|
-
l[4] !== g || l[5] !== h ? (P = () => {
|
|
132
|
-
if (!g || !h) {
|
|
133
|
-
j(null);
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
N();
|
|
137
|
-
let e = 0, t = () => {
|
|
138
|
-
e && cancelAnimationFrame(e), e = requestAnimationFrame(() => {
|
|
139
|
-
e = 0, N();
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
|
-
return window.addEventListener("resize", t), window.addEventListener("scroll", t, !0), () => {
|
|
143
|
-
e && cancelAnimationFrame(e), window.removeEventListener("resize", t), window.removeEventListener("scroll", t, !0);
|
|
144
|
-
};
|
|
145
|
-
}, F = [g, h], l[4] = g, l[5] = h, l[6] = P, l[7] = F) : (P = l[6], F = l[7]), r(P, F);
|
|
146
|
-
let I;
|
|
147
|
-
l[8] === ce ? I = l[9] : (I = C.Transform.toString(ce), l[8] = ce, l[9] = I);
|
|
148
|
-
let L;
|
|
149
|
-
l[10] !== I || l[11] !== k ? (L = {
|
|
150
|
-
transform: I,
|
|
151
|
-
transition: k
|
|
152
|
-
}, l[10] = I, l[11] = k, l[12] = L) : L = l[12];
|
|
153
|
-
let R = L, z;
|
|
154
|
-
l[13] !== g || l[14] !== S || l[15] !== x || l[16] !== m.alt || l[17] !== m.fileName || l[18] !== m.id || l[19] !== m.previewUrl || l[20] !== m.progress || l[21] !== m.status || l[22] !== m.uploadKey || l[23] !== m.url || l[24] !== _ ? (z = _ ? _({
|
|
155
|
-
file: {
|
|
156
|
-
id: m.id,
|
|
157
|
-
url: m.url,
|
|
158
|
-
alt: m.alt,
|
|
159
|
-
uploadKey: m.uploadKey
|
|
160
|
-
},
|
|
161
|
-
previewUrl: m.previewUrl,
|
|
162
|
-
status: m.status,
|
|
163
|
-
progress: m.progress,
|
|
164
|
-
fileName: m.fileName
|
|
165
|
-
}) : g ? /* @__PURE__ */ f(t, {
|
|
166
|
-
src: m.previewUrl,
|
|
167
|
-
alt: m.alt ?? "Uploaded file",
|
|
168
|
-
sizes: "96px",
|
|
169
|
-
className: e("size-full rounded-md object-cover", x && "opacity-75", S && "grayscale")
|
|
170
|
-
}) : /* @__PURE__ */ f("div", {
|
|
171
|
-
className: "flex size-full items-center justify-center rounded-md bg-slate-100 px-2 text-center text-[10px] font-medium text-slate-700 dark:bg-slate-800 dark:text-slate-200",
|
|
172
|
-
children: /* @__PURE__ */ f("span", {
|
|
173
|
-
className: "w-full truncate",
|
|
174
|
-
children: m.fileName ?? m.alt ?? "Fichier"
|
|
175
|
-
})
|
|
176
|
-
}), l[13] = g, l[14] = S, l[15] = x, l[16] = m.alt, l[17] = m.fileName, l[18] = m.id, l[19] = m.previewUrl, l[20] = m.progress, l[21] = m.status, l[22] = m.uploadKey, l[23] = m.url, l[24] = _, l[25] = z) : z = l[25];
|
|
177
|
-
let fe = z, B;
|
|
178
|
-
l[26] === ae ? B = l[27] : (B = (e) => {
|
|
179
|
-
ue.current = e, ae(e);
|
|
180
|
-
}, l[26] = ae, l[27] = B);
|
|
181
|
-
let V = le && "z-20 ring-2 ring-primary shadow-xl", H = T && "opacity-0", U = !w && "cursor-grab active:cursor-grabbing", W = le && "cursor-grabbing", pe = w && "cursor-default", G;
|
|
182
|
-
l[28] !== H || l[29] !== U || l[30] !== W || l[31] !== pe || l[32] !== V || l[33] !== re ? (G = e(re, V, H, U, W, pe), l[28] = H, l[29] = U, l[30] = W, l[31] = pe, l[32] = V, l[33] = re, l[34] = G) : G = l[34];
|
|
183
|
-
let K;
|
|
184
|
-
l[35] === v ? K = l[36] : (K = () => {
|
|
185
|
-
N(), v();
|
|
186
|
-
}, l[35] = v, l[36] = K);
|
|
187
|
-
let q;
|
|
188
|
-
l[37] === y ? q = l[38] : (q = (e) => {
|
|
189
|
-
let t = e.relatedTarget;
|
|
190
|
-
t instanceof Node && de.current?.contains(t) || y();
|
|
191
|
-
}, l[37] = y, l[38] = q);
|
|
192
|
-
let J;
|
|
193
|
-
l[39] !== w || l[40] !== m.id || l[41] !== b ? (J = () => {
|
|
194
|
-
w || b(m.id);
|
|
195
|
-
}, l[39] = w, l[40] = m.id, l[41] = b, l[42] = J) : J = l[42];
|
|
196
|
-
let Y;
|
|
197
|
-
l[43] === Symbol.for("react.memo_cache_sentinel") ? (Y = /* @__PURE__ */ f(u, { className: "h-4 w-4" }), l[43] = Y) : Y = l[43];
|
|
198
|
-
let X;
|
|
199
|
-
l[44] !== w || l[45] !== E || l[46] !== J ? (X = /* @__PURE__ */ f("button", {
|
|
200
|
-
type: "button",
|
|
201
|
-
onClick: J,
|
|
202
|
-
disabled: w,
|
|
203
|
-
className: "absolute right-1 top-1 inline-flex size-6 items-center justify-center rounded-full bg-white text-slate-700 shadow-sm transition hover:scale-105 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary dark:bg-slate-900 dark:text-slate-200",
|
|
204
|
-
"aria-label": E,
|
|
205
|
-
children: Y
|
|
206
|
-
}), l[44] = w, l[45] = E, l[46] = J, l[47] = X) : X = l[47];
|
|
207
|
-
let Z;
|
|
208
|
-
l[48] !== g || l[49] !== h || l[50] !== m.alt || l[51] !== m.id || l[52] !== m.url || l[53] !== v || l[54] !== y || l[55] !== A || l[56] !== ne ? (Z = g && h && A && (() => {
|
|
209
|
-
let e = /* @__PURE__ */ f(d, { children: /* @__PURE__ */ f("div", {
|
|
210
|
-
ref: de,
|
|
211
|
-
className: "pointer-events-auto fixed z-[60] w-52 -translate-x-1/2 -translate-y-full rounded-xl border border-slate-200 bg-white/95 p-3 shadow-2xl backdrop-blur dark:border-slate-700 dark:bg-slate-900/95",
|
|
212
|
-
style: {
|
|
213
|
-
left: A.left,
|
|
214
|
-
top: A.top
|
|
215
|
-
},
|
|
216
|
-
onMouseEnter: () => {
|
|
217
|
-
N(), v();
|
|
218
|
-
},
|
|
219
|
-
onMouseLeave: (e) => {
|
|
220
|
-
let t = e.relatedTarget;
|
|
221
|
-
t instanceof Node && ue.current?.contains(t) || y();
|
|
222
|
-
},
|
|
223
|
-
children: /* @__PURE__ */ p("div", {
|
|
224
|
-
className: "relative overflow-hidden rounded-lg",
|
|
225
|
-
children: [/* @__PURE__ */ f(t, {
|
|
226
|
-
src: m.url,
|
|
227
|
-
alt: m.alt ?? "Preview",
|
|
228
|
-
sizes: "208px",
|
|
229
|
-
className: "h-40 w-full object-cover"
|
|
230
|
-
}), /* @__PURE__ */ f("button", {
|
|
231
|
-
type: "button",
|
|
232
|
-
onClick: () => ne(m.id),
|
|
233
|
-
className: "absolute right-2 top-2 inline-flex items-center justify-center rounded-full bg-black/70 p-2 text-white transition hover:bg-black",
|
|
234
|
-
"aria-label": "Plein écran",
|
|
235
|
-
children: /* @__PURE__ */ f(c, { className: "h-3.5 w-3.5" })
|
|
236
|
-
})]
|
|
237
|
-
})
|
|
238
|
-
}) });
|
|
239
|
-
return typeof document > "u" ? e : ee(e, document.body);
|
|
240
|
-
})(), l[48] = g, l[49] = h, l[50] = m.alt, l[51] = m.id, l[52] = m.url, l[53] = v, l[54] = y, l[55] = A, l[56] = ne, l[57] = Z) : Z = l[57];
|
|
241
|
-
let Q;
|
|
242
|
-
l[58] !== x || l[59] !== m.progress ? (Q = x && /* @__PURE__ */ p("div", {
|
|
243
|
-
className: "absolute inset-0 z-20 flex flex-col items-center justify-center gap-2 rounded-lg bg-black/40 text-white",
|
|
244
|
-
children: [
|
|
245
|
-
/* @__PURE__ */ f(s, { className: "h-5 w-5 animate-spin" }),
|
|
246
|
-
/* @__PURE__ */ f("div", {
|
|
247
|
-
className: "h-1.5 w-5/6 rounded-full bg-white/20",
|
|
248
|
-
children: /* @__PURE__ */ f("div", {
|
|
249
|
-
className: "h-full rounded-full bg-primary",
|
|
250
|
-
style: { width: `${m.progress}%` }
|
|
251
|
-
})
|
|
252
|
-
}),
|
|
253
|
-
/* @__PURE__ */ p("div", {
|
|
254
|
-
className: "text-xs font-semibold",
|
|
255
|
-
children: [m.progress, "%"]
|
|
256
|
-
})
|
|
257
|
-
]
|
|
258
|
-
}), l[58] = x, l[59] = m.progress, l[60] = Q) : Q = l[60];
|
|
259
|
-
let $;
|
|
260
|
-
l[61] !== w || l[62] !== S || l[63] !== m.errorMessage || l[64] !== m.id || l[65] !== te ? ($ = S && /* @__PURE__ */ p("div", {
|
|
261
|
-
className: "absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-lg bg-red-600/70 text-white",
|
|
262
|
-
children: [/* @__PURE__ */ f("div", {
|
|
263
|
-
className: "max-w-[92%] break-words text-center text-[10px] font-semibold leading-tight",
|
|
264
|
-
title: m.errorMessage,
|
|
265
|
-
children: O(m.errorMessage)
|
|
266
|
-
}), /* @__PURE__ */ f("button", {
|
|
267
|
-
type: "button",
|
|
268
|
-
onClick: () => te(m.id),
|
|
269
|
-
disabled: w,
|
|
270
|
-
className: "rounded-full bg-white/90 px-3 py-1 text-xs font-semibold text-red-700 shadow-sm transition hover:bg-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",
|
|
271
|
-
children: "Réessayer"
|
|
272
|
-
})]
|
|
273
|
-
}), l[61] = w, l[62] = S, l[63] = m.errorMessage, l[64] = m.id, l[65] = te, l[66] = $) : $ = l[66];
|
|
274
|
-
let me;
|
|
275
|
-
return l[67] !== oe || l[68] !== se || l[69] !== R || l[70] !== G || l[71] !== K || l[72] !== q || l[73] !== X || l[74] !== Z || l[75] !== Q || l[76] !== $ || l[77] !== B || l[78] !== fe ? (me = /* @__PURE__ */ p("div", {
|
|
276
|
-
ref: B,
|
|
277
|
-
style: R,
|
|
278
|
-
className: G,
|
|
279
|
-
onMouseEnter: K,
|
|
280
|
-
onMouseLeave: q,
|
|
281
|
-
...oe,
|
|
282
|
-
...se,
|
|
283
|
-
children: [
|
|
284
|
-
fe,
|
|
285
|
-
X,
|
|
286
|
-
Z,
|
|
287
|
-
Q,
|
|
288
|
-
$
|
|
289
|
-
]
|
|
290
|
-
}), l[67] = oe, l[68] = se, l[69] = R, l[70] = G, l[71] = K, l[72] = q, l[73] = X, l[74] = Z, l[75] = Q, l[76] = $, l[77] = B, l[78] = fe, l[79] = me) : me = l[79], me;
|
|
291
|
-
}
|
|
292
|
-
function se(e) {
|
|
293
|
-
return URL.createObjectURL(e);
|
|
294
|
-
}
|
|
295
|
-
var ce = (e) => e instanceof Error ? e.message : typeof e == "string" ? e : "Upload failed", O = (e) => e ? e.startsWith("heif_decode_unsupported") ? "HEIC/HEVC non supporté" : e : "Échec", k = /\.(png|jpe?g|gif|webp|avif|heic|heif|svg|bmp)$/i, le = 350, ue = y({ styles: { active: { opacity: "0" } } }), de = (e) => e.mimeType ? e.mimeType.startsWith("image/") : k.test(e.fileName ?? e.alt ?? "");
|
|
296
|
-
function A({ initialFiles: n = [], onChange: s, upload: c = ae, uploadIsPublic: d = !1, disabled: y = !1, onUploadingChange: ie, accept: C, renderHeader: w, renderItem: T, addButtonAriaLabel: E = "Ajouter un fichier", removeButtonAriaLabel: D = "Supprimer le fichier", variant: O = "card" }) {
|
|
297
|
-
let k = a(null), [A, j] = o(() => n.map((e) => ({
|
|
298
|
-
...e,
|
|
299
|
-
previewUrl: e.url,
|
|
300
|
-
status: "uploaded",
|
|
301
|
-
progress: 100
|
|
302
|
-
}))), [M, N] = o(!1), [P, F] = o(null), [I, L] = o(null), [R, z] = o(null), [fe, B] = o(null), V = a(null), H = a(null), U = a(!1), W = a(() => {}), pe = a({ sideEffects(e) {
|
|
303
|
-
let t = String(e.active.id), n = H.current;
|
|
304
|
-
n?.id === t && (window.clearTimeout(n.timeout), H.current = null);
|
|
305
|
-
let r = ue(e);
|
|
306
|
-
return () => {
|
|
307
|
-
r?.(), W.current(t);
|
|
308
|
-
};
|
|
309
|
-
} }), G = a(!0), K = a([]), q = a(n), J = a(s), Y = a(ie), X = a(/* @__PURE__ */ new Map()), Z = a(/* @__PURE__ */ new Map()), Q = a(/* @__PURE__ */ new Map()), $ = a(/* @__PURE__ */ new Map()), me = te(b(_, { activationConstraint: { distance: 6 } }), b(g, { coordinateGetter: re }));
|
|
310
|
-
r(() => () => {
|
|
311
|
-
for (let e of Q.current.values()) try {
|
|
312
|
-
e.abort();
|
|
313
|
-
} catch {}
|
|
314
|
-
Q.current.clear(), H.current !== null && (window.clearTimeout(H.current.timeout), H.current = null), Z.current.clear(), X.current.clear();
|
|
315
|
-
for (let e of $.current.values()) if (typeof URL < "u") try {
|
|
316
|
-
URL.revokeObjectURL(e);
|
|
317
|
-
} catch {}
|
|
318
|
-
$.current.clear();
|
|
319
|
-
}, []), W.current = (e) => {
|
|
320
|
-
let t = H.current;
|
|
321
|
-
t?.id === e && (window.clearTimeout(t.timeout), H.current = null), B((t) => t === e ? null : t);
|
|
322
|
-
}, r(() => {
|
|
323
|
-
if (!(typeof document > "u")) {
|
|
324
|
-
if (R) return document.body.style.cursor = "grabbing", () => {
|
|
325
|
-
document.body.style.cursor = "";
|
|
326
|
-
};
|
|
327
|
-
document.body.style.cursor = "";
|
|
328
|
-
}
|
|
329
|
-
}, [R]), r(() => {
|
|
330
|
-
K.current = A;
|
|
331
|
-
}, [A]), r(() => {
|
|
332
|
-
J.current = s;
|
|
333
|
-
}, [s]), r(() => {
|
|
334
|
-
Y.current = ie;
|
|
335
|
-
}, [ie]), r(() => {
|
|
336
|
-
let e = q.current;
|
|
337
|
-
if (e.length === n.length && e.every((e, t) => {
|
|
338
|
-
let r = n[t];
|
|
339
|
-
return r && e.id === r.id && e.url === r.url && e.alt === r.alt;
|
|
340
|
-
})) return;
|
|
341
|
-
q.current = n;
|
|
342
|
-
let t = n.map((e) => ({
|
|
343
|
-
...e,
|
|
344
|
-
previewUrl: e.url,
|
|
345
|
-
status: "uploaded",
|
|
346
|
-
progress: 100
|
|
347
|
-
})), r = new Set(t.map((e) => e.id));
|
|
348
|
-
for (let [e, t] of X.current.entries()) r.has(t) && X.current.delete(e);
|
|
349
|
-
let i = new Set(K.current.map((e) => e.id));
|
|
350
|
-
if (t.some((e) => {
|
|
351
|
-
let t = X.current.get(e.id);
|
|
352
|
-
return t ? i.has(t) : !1;
|
|
353
|
-
})) return;
|
|
354
|
-
let a = new Set(t.map((e) => e.id));
|
|
355
|
-
for (let e of K.current) {
|
|
356
|
-
if (a.has(e.id)) continue;
|
|
357
|
-
let t = Q.current.get(e.id);
|
|
358
|
-
if (t) {
|
|
359
|
-
Q.current.delete(e.id);
|
|
360
|
-
try {
|
|
361
|
-
t.abort();
|
|
362
|
-
} catch {}
|
|
363
|
-
}
|
|
364
|
-
Z.current.delete(e.id);
|
|
365
|
-
let n = $.current.get(e.id);
|
|
366
|
-
if (n) {
|
|
367
|
-
$.current.delete(e.id);
|
|
368
|
-
try {
|
|
369
|
-
URL.revokeObjectURL(n);
|
|
370
|
-
} catch {}
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
j((e) => e.length === t.length && e.every((e, n) => {
|
|
374
|
-
let r = t[n];
|
|
375
|
-
return r && e.id === r.id && e.url === r.url && e.alt === r.alt && e.uploadKey === r.uploadKey;
|
|
376
|
-
}) ? e : (G.current = !0, t));
|
|
377
|
-
}, [n]), r(() => {
|
|
378
|
-
if (G.current) {
|
|
379
|
-
G.current = !1;
|
|
380
|
-
return;
|
|
381
|
-
}
|
|
382
|
-
J.current?.(A.map(({ id: e, url: t, alt: n, uploadKey: r }) => ({
|
|
383
|
-
id: e,
|
|
384
|
-
url: t,
|
|
385
|
-
alt: n,
|
|
386
|
-
uploadKey: r
|
|
387
|
-
})));
|
|
388
|
-
}, [A]), r(() => {
|
|
389
|
-
Y.current?.(A.some((e) => e.status === "uploading"));
|
|
390
|
-
}, [A]), r(() => {
|
|
391
|
-
if (P === null) return;
|
|
392
|
-
let e = (e) => {
|
|
393
|
-
if (e.key === "Escape") {
|
|
394
|
-
F(null);
|
|
395
|
-
return;
|
|
396
|
-
}
|
|
397
|
-
if (e.key === "ArrowRight") {
|
|
398
|
-
F((e) => e === null ? e : (e + 1) % A.length);
|
|
399
|
-
return;
|
|
400
|
-
}
|
|
401
|
-
e.key === "ArrowLeft" && F((e) => e === null ? e : (e - 1 + A.length) % A.length);
|
|
402
|
-
};
|
|
403
|
-
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
404
|
-
}, [P, A.length]);
|
|
405
|
-
let he = async (e) => {
|
|
406
|
-
if (y) return;
|
|
407
|
-
let t = Array.from(e).map((e) => {
|
|
408
|
-
let t = se(e), n = crypto.randomUUID();
|
|
409
|
-
$.current.set(n, t), Z.current.set(n, e);
|
|
410
|
-
let r = {
|
|
411
|
-
id: n,
|
|
412
|
-
url: t,
|
|
413
|
-
previewUrl: t,
|
|
414
|
-
alt: e.name,
|
|
415
|
-
status: "uploading",
|
|
416
|
-
progress: 0,
|
|
417
|
-
fileName: e.name,
|
|
418
|
-
mimeType: e.type
|
|
419
|
-
};
|
|
420
|
-
j((e) => [...e, r]);
|
|
421
|
-
let i = (e) => {
|
|
422
|
-
let t = Math.max(0, Math.min(99, e));
|
|
423
|
-
j((e) => e.map((e) => e.id === n ? {
|
|
424
|
-
...e,
|
|
425
|
-
progress: t,
|
|
426
|
-
status: "uploading"
|
|
427
|
-
} : e));
|
|
428
|
-
};
|
|
429
|
-
return (async () => {
|
|
430
|
-
let t = new AbortController();
|
|
431
|
-
Q.current.set(n, t);
|
|
432
|
-
try {
|
|
433
|
-
let r = await c(e, i, {
|
|
434
|
-
signal: t.signal,
|
|
435
|
-
isPublic: d
|
|
436
|
-
});
|
|
437
|
-
X.current.set(n, r.id);
|
|
438
|
-
let a = $.current.get(n);
|
|
439
|
-
if (a) {
|
|
440
|
-
$.current.delete(n);
|
|
441
|
-
try {
|
|
442
|
-
URL.revokeObjectURL(a);
|
|
443
|
-
} catch {}
|
|
444
|
-
}
|
|
445
|
-
Q.current.delete(n), Z.current.delete(n), j((e) => e.map((e) => e.id === n ? {
|
|
446
|
-
...e,
|
|
447
|
-
...r,
|
|
448
|
-
previewUrl: r.url,
|
|
449
|
-
url: r.url,
|
|
450
|
-
status: "uploaded",
|
|
451
|
-
progress: 100,
|
|
452
|
-
errorMessage: void 0
|
|
453
|
-
} : e));
|
|
454
|
-
} catch (e) {
|
|
455
|
-
if (Q.current.delete(n), t.signal.aborted) {
|
|
456
|
-
Z.current.delete(n);
|
|
457
|
-
let e = $.current.get(n);
|
|
458
|
-
if (e) {
|
|
459
|
-
$.current.delete(n);
|
|
460
|
-
try {
|
|
461
|
-
URL.revokeObjectURL(e);
|
|
462
|
-
} catch {}
|
|
463
|
-
}
|
|
464
|
-
return;
|
|
465
|
-
}
|
|
466
|
-
console.error("Upload failed", e);
|
|
467
|
-
let r = ce(e);
|
|
468
|
-
j((e) => e.map((e) => e.id === n ? {
|
|
469
|
-
...e,
|
|
470
|
-
status: "error",
|
|
471
|
-
progress: Math.max(0, Math.min(99, e.progress)),
|
|
472
|
-
errorMessage: r
|
|
473
|
-
} : e));
|
|
474
|
-
}
|
|
475
|
-
})();
|
|
476
|
-
});
|
|
477
|
-
await Promise.allSettled(t);
|
|
478
|
-
}, ge = (e) => {
|
|
479
|
-
e.target.files && (he(e.target.files), e.target.value = "");
|
|
480
|
-
}, _e = () => {
|
|
481
|
-
y || k.current?.click();
|
|
482
|
-
}, ve = (e) => {
|
|
483
|
-
let t = Q.current.get(e);
|
|
484
|
-
if (t) {
|
|
485
|
-
Q.current.delete(e);
|
|
486
|
-
try {
|
|
487
|
-
t.abort();
|
|
488
|
-
} catch {}
|
|
489
|
-
}
|
|
490
|
-
Z.current.delete(e);
|
|
491
|
-
let n = $.current.get(e);
|
|
492
|
-
if (n) {
|
|
493
|
-
$.current.delete(e);
|
|
494
|
-
try {
|
|
495
|
-
URL.revokeObjectURL(n);
|
|
496
|
-
} catch {}
|
|
497
|
-
}
|
|
498
|
-
j((t) => t.filter((t) => t.id !== e));
|
|
499
|
-
}, ye = (e) => {
|
|
500
|
-
if (y) return;
|
|
501
|
-
let t = Z.current.get(e);
|
|
502
|
-
if (!t) return;
|
|
503
|
-
let n = Q.current.get(e);
|
|
504
|
-
if (n) {
|
|
505
|
-
try {
|
|
506
|
-
n.abort();
|
|
507
|
-
} catch {}
|
|
508
|
-
Q.current.delete(e);
|
|
509
|
-
}
|
|
510
|
-
j((t) => t.map((t) => t.id === e ? {
|
|
511
|
-
...t,
|
|
512
|
-
status: "uploading",
|
|
513
|
-
progress: 0,
|
|
514
|
-
errorMessage: void 0
|
|
515
|
-
} : t));
|
|
516
|
-
let r = (t) => {
|
|
517
|
-
let n = Math.max(0, Math.min(99, t));
|
|
518
|
-
j((t) => t.map((t) => t.id === e ? {
|
|
519
|
-
...t,
|
|
520
|
-
progress: n,
|
|
521
|
-
status: "uploading"
|
|
522
|
-
} : t));
|
|
523
|
-
}, i = new AbortController();
|
|
524
|
-
Q.current.set(e, i), (async () => {
|
|
525
|
-
try {
|
|
526
|
-
let n = await c(t, r, {
|
|
527
|
-
signal: i.signal,
|
|
528
|
-
isPublic: d
|
|
529
|
-
});
|
|
530
|
-
X.current.set(e, n.id);
|
|
531
|
-
let a = $.current.get(e);
|
|
532
|
-
if (a) {
|
|
533
|
-
$.current.delete(e);
|
|
534
|
-
try {
|
|
535
|
-
URL.revokeObjectURL(a);
|
|
536
|
-
} catch {}
|
|
537
|
-
}
|
|
538
|
-
Q.current.delete(e), Z.current.delete(e), j((t) => t.map((t) => t.id === e ? {
|
|
539
|
-
...t,
|
|
540
|
-
...n,
|
|
541
|
-
previewUrl: n.url,
|
|
542
|
-
url: n.url,
|
|
543
|
-
status: "uploaded",
|
|
544
|
-
progress: 100,
|
|
545
|
-
errorMessage: void 0
|
|
546
|
-
} : t));
|
|
547
|
-
} catch (t) {
|
|
548
|
-
if (Q.current.delete(e), i.signal.aborted) return;
|
|
549
|
-
console.error("Retry failed", t);
|
|
550
|
-
let n = ce(t);
|
|
551
|
-
j((t) => t.map((t) => t.id === e ? {
|
|
552
|
-
...t,
|
|
553
|
-
status: "error",
|
|
554
|
-
errorMessage: n
|
|
555
|
-
} : t));
|
|
556
|
-
}
|
|
557
|
-
})();
|
|
558
|
-
}, be = (e) => {
|
|
559
|
-
let t = A.findIndex((t) => t.id === e);
|
|
560
|
-
t !== -1 && F(t);
|
|
561
|
-
}, xe = () => {
|
|
562
|
-
H.current !== null && (window.clearTimeout(H.current.timeout), H.current = null), B(null);
|
|
563
|
-
}, Se = (e) => {
|
|
564
|
-
H.current !== null && window.clearTimeout(H.current.timeout), H.current = {
|
|
565
|
-
id: e,
|
|
566
|
-
timeout: window.setTimeout(() => {
|
|
567
|
-
H.current = null, B((t) => t === e ? null : t);
|
|
568
|
-
}, le)
|
|
569
|
-
};
|
|
570
|
-
}, Ce = (e) => {
|
|
571
|
-
U.current && (B(e), Se(e)), z(null);
|
|
572
|
-
}, we = (e) => {
|
|
573
|
-
xe(), z(String(e.active.id));
|
|
574
|
-
}, Te = (e) => {
|
|
575
|
-
let { active: t, over: n } = e, r = String(t.id);
|
|
576
|
-
if (!n) {
|
|
577
|
-
Ce(r);
|
|
578
|
-
return;
|
|
579
|
-
}
|
|
580
|
-
let i = String(n.id);
|
|
581
|
-
r !== i && j((e) => {
|
|
582
|
-
let t = e.findIndex((e) => e.id === r), n = e.findIndex((e) => e.id === i);
|
|
583
|
-
return t === -1 || n === -1 ? e : x(e, t, n);
|
|
584
|
-
}), Ce(r);
|
|
585
|
-
}, Ee = () => {
|
|
586
|
-
if (R) {
|
|
587
|
-
Ce(R);
|
|
588
|
-
return;
|
|
589
|
-
}
|
|
590
|
-
z(null);
|
|
591
|
-
}, De = () => {
|
|
592
|
-
V.current !== null && (window.clearTimeout(V.current), V.current = null);
|
|
593
|
-
}, Oe = i(() => P === null ? null : A[P] ?? null, [P, A]), ke = e(O === "bare" ? "rounded-lg transition-colors" : "rounded-xl border border-dashed border-slate-300 bg-white/70 p-4 shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/60", M && (O === "bare" ? "bg-primary/5 ring-2 ring-primary/50" : "border-primary ring-2 ring-primary/50"), y && "opacity-70"), Ae = "group relative size-20 overflow-visible rounded-lg border border-slate-200 bg-slate-50 shadow-inner transition hover:shadow md:size-24 dark:border-slate-700 dark:bg-slate-800", je = i(() => {
|
|
594
|
-
if (C) return Array.isArray(C) ? C.join(",") : C;
|
|
595
|
-
}, [C]), Me = i(() => {
|
|
596
|
-
if (T || !je) return !1;
|
|
597
|
-
let e = je.split(",").map((e) => e.trim()).filter(Boolean);
|
|
598
|
-
return e.length ? e.every((e) => e === "image/*" || e.startsWith("image/") || e === ".heic" || e === ".heif" || e === ".heics" || e === ".heifs") : !1;
|
|
599
|
-
}, [je, T]), Ne = (e) => Me || !T && de(e), Pe = (e) => ({
|
|
600
|
-
file: {
|
|
601
|
-
id: e.id,
|
|
602
|
-
url: e.url,
|
|
603
|
-
alt: e.alt,
|
|
604
|
-
uploadKey: e.uploadKey
|
|
605
|
-
},
|
|
606
|
-
previewUrl: e.previewUrl,
|
|
607
|
-
status: e.status,
|
|
608
|
-
progress: e.progress,
|
|
609
|
-
fileName: e.fileName
|
|
610
|
-
}), Fe = R ? (() => {
|
|
611
|
-
let e = A.find((e) => e.id === R);
|
|
612
|
-
if (!e) return null;
|
|
613
|
-
if (T) {
|
|
614
|
-
let t = T(Pe(e));
|
|
615
|
-
return t == null || t === !1 ? null : /* @__PURE__ */ f("div", {
|
|
616
|
-
className: "pointer-events-none",
|
|
617
|
-
children: /* @__PURE__ */ f("div", {
|
|
618
|
-
className: "h-24 w-24 overflow-hidden rounded-lg shadow-2xl",
|
|
619
|
-
children: t
|
|
620
|
-
})
|
|
621
|
-
});
|
|
622
|
-
}
|
|
623
|
-
return Ne(e) ? /* @__PURE__ */ f("div", {
|
|
624
|
-
className: "pointer-events-none",
|
|
625
|
-
children: /* @__PURE__ */ f(t, {
|
|
626
|
-
src: e.previewUrl,
|
|
627
|
-
alt: e.alt ?? "Dragged image",
|
|
628
|
-
sizes: "96px",
|
|
629
|
-
className: "h-24 w-24 rounded-lg object-cover shadow-2xl"
|
|
630
|
-
})
|
|
631
|
-
}) : null;
|
|
632
|
-
})() : null, Ie = Fe != null, Le = Ie ? R : fe;
|
|
633
|
-
return U.current = Ie, /* @__PURE__ */ p("div", {
|
|
634
|
-
onDragOver: (e) => {
|
|
635
|
-
e.preventDefault(), y || N(!0);
|
|
636
|
-
},
|
|
637
|
-
onDragLeave: () => N(!1),
|
|
638
|
-
onDrop: (e) => {
|
|
639
|
-
e.preventDefault(), N(!1), e.dataTransfer.files?.length && he(e.dataTransfer.files);
|
|
640
|
-
},
|
|
641
|
-
className: ke,
|
|
642
|
-
children: [
|
|
643
|
-
w ? /* @__PURE__ */ f("div", {
|
|
644
|
-
className: "mb-3",
|
|
645
|
-
children: w()
|
|
646
|
-
}) : null,
|
|
647
|
-
/* @__PURE__ */ p(m, {
|
|
648
|
-
sensors: y ? void 0 : me,
|
|
649
|
-
collisionDetection: v,
|
|
650
|
-
onDragStart: we,
|
|
651
|
-
onDragEnd: Te,
|
|
652
|
-
onDragCancel: Ee,
|
|
653
|
-
children: [/* @__PURE__ */ f(ne, {
|
|
654
|
-
items: A.map((e) => e.id),
|
|
655
|
-
strategy: S,
|
|
656
|
-
children: /* @__PURE__ */ p("div", {
|
|
657
|
-
className: "flex flex-wrap gap-3",
|
|
658
|
-
children: [A.map((e) => {
|
|
659
|
-
let t = e.status === "uploading", n = e.status === "error";
|
|
660
|
-
return /* @__PURE__ */ f(oe, {
|
|
661
|
-
item: e,
|
|
662
|
-
isHovered: I === e.id,
|
|
663
|
-
enableImagePreview: Ne(e),
|
|
664
|
-
renderItem: T,
|
|
665
|
-
onHoverEnter: () => {
|
|
666
|
-
De(), L(e.id);
|
|
667
|
-
},
|
|
668
|
-
onHoverLeave: () => {
|
|
669
|
-
De(), V.current = window.setTimeout(() => {
|
|
670
|
-
L((t) => t === e.id ? null : t), V.current = null;
|
|
671
|
-
}, 120);
|
|
672
|
-
},
|
|
673
|
-
onRemove: ve,
|
|
674
|
-
onRetry: ye,
|
|
675
|
-
startFullscreen: be,
|
|
676
|
-
isUploading: t,
|
|
677
|
-
isError: n,
|
|
678
|
-
tileClasses: Ae,
|
|
679
|
-
disabled: y,
|
|
680
|
-
isDraggingExternal: Le === e.id,
|
|
681
|
-
removeButtonAriaLabel: D
|
|
682
|
-
}, e.id);
|
|
683
|
-
}), O === "bare" && A.length === 0 ? /* @__PURE__ */ p("button", {
|
|
684
|
-
type: "button",
|
|
685
|
-
onClick: _e,
|
|
686
|
-
disabled: y,
|
|
687
|
-
className: "flex w-full flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-slate-300 px-4 py-6 text-slate-500 transition-colors hover:border-slate-400 hover:bg-slate-50 hover:text-slate-600 dark:border-slate-700 dark:hover:bg-slate-800/50",
|
|
688
|
-
"aria-label": E,
|
|
689
|
-
children: [
|
|
690
|
-
/* @__PURE__ */ f(l, { className: "h-5 w-5" }),
|
|
691
|
-
/* @__PURE__ */ f("span", {
|
|
692
|
-
className: "text-xs font-medium",
|
|
693
|
-
children: E
|
|
694
|
-
}),
|
|
695
|
-
/* @__PURE__ */ f("span", {
|
|
696
|
-
className: "text-[11px] text-slate-400 dark:text-slate-500",
|
|
697
|
-
children: "ou glissez-déposez ici"
|
|
698
|
-
})
|
|
699
|
-
]
|
|
700
|
-
}) : O === "bare" ? /* @__PURE__ */ f("button", {
|
|
701
|
-
type: "button",
|
|
702
|
-
onClick: _e,
|
|
703
|
-
disabled: y,
|
|
704
|
-
className: "flex size-20 items-center justify-center rounded-lg border border-dashed border-slate-300 text-slate-400 transition-colors hover:border-slate-400 hover:bg-slate-50 hover:text-slate-600 md:size-24 dark:border-slate-700 dark:hover:bg-slate-800/50 dark:hover:text-slate-300",
|
|
705
|
-
"aria-label": E,
|
|
706
|
-
children: /* @__PURE__ */ p("div", {
|
|
707
|
-
className: "flex flex-col items-center gap-1",
|
|
708
|
-
children: [/* @__PURE__ */ f(l, { className: "h-4 w-4" }), /* @__PURE__ */ f("span", {
|
|
709
|
-
className: "text-[11px] font-medium",
|
|
710
|
-
children: "Ajouter"
|
|
711
|
-
})]
|
|
712
|
-
})
|
|
713
|
-
}) : /* @__PURE__ */ f("button", {
|
|
714
|
-
type: "button",
|
|
715
|
-
onClick: _e,
|
|
716
|
-
disabled: y,
|
|
717
|
-
className: e(Ae, "flex items-center justify-center border-dashed bg-white text-slate-500 hover:border-slate-300 dark:bg-slate-900"),
|
|
718
|
-
"aria-label": E,
|
|
719
|
-
children: /* @__PURE__ */ p("div", {
|
|
720
|
-
className: "flex flex-col items-center gap-1",
|
|
721
|
-
children: [/* @__PURE__ */ f("div", {
|
|
722
|
-
className: "flex size-9 items-center justify-center rounded-full border border-slate-300 bg-slate-100 text-slate-600 shadow-inner dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200",
|
|
723
|
-
children: /* @__PURE__ */ f(l, { className: "h-5 w-5" })
|
|
724
|
-
}), /* @__PURE__ */ f("span", {
|
|
725
|
-
className: "text-xs font-medium",
|
|
726
|
-
children: "Ajouter"
|
|
727
|
-
})]
|
|
728
|
-
})
|
|
729
|
-
})]
|
|
730
|
-
})
|
|
731
|
-
}), (() => {
|
|
732
|
-
let e = /* @__PURE__ */ f(h, {
|
|
733
|
-
dropAnimation: pe.current,
|
|
734
|
-
children: Fe
|
|
735
|
-
});
|
|
736
|
-
return typeof document > "u" ? e : ee(e, document.body);
|
|
737
|
-
})()]
|
|
738
|
-
}),
|
|
739
|
-
/* @__PURE__ */ f("input", {
|
|
740
|
-
ref: k,
|
|
741
|
-
type: "file",
|
|
742
|
-
accept: je,
|
|
743
|
-
multiple: !0,
|
|
744
|
-
className: "hidden",
|
|
745
|
-
onChange: ge,
|
|
746
|
-
"aria-hidden": !0
|
|
747
|
-
}),
|
|
748
|
-
Oe && Ne(Oe) && /* @__PURE__ */ p("div", {
|
|
749
|
-
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/90",
|
|
750
|
-
children: [
|
|
751
|
-
/* @__PURE__ */ f("button", {
|
|
752
|
-
type: "button",
|
|
753
|
-
className: "absolute left-6 top-1/2 -translate-y-1/2 rounded-full bg-white/10 p-3 text-white shadow-lg transition hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",
|
|
754
|
-
onClick: () => F((e) => e === null ? e : (e - 1 + A.length) % A.length),
|
|
755
|
-
"aria-label": "Précédent",
|
|
756
|
-
children: /* @__PURE__ */ f("svg", {
|
|
757
|
-
viewBox: "0 0 24 24",
|
|
758
|
-
className: "h-6 w-6",
|
|
759
|
-
stroke: "currentColor",
|
|
760
|
-
strokeWidth: 2,
|
|
761
|
-
fill: "none",
|
|
762
|
-
children: /* @__PURE__ */ f("path", {
|
|
763
|
-
d: "M15 18l-6-6 6-6",
|
|
764
|
-
strokeLinecap: "round",
|
|
765
|
-
strokeLinejoin: "round"
|
|
766
|
-
})
|
|
767
|
-
})
|
|
768
|
-
}),
|
|
769
|
-
/* @__PURE__ */ p("div", {
|
|
770
|
-
className: "relative max-h-[80vh] max-w-4xl",
|
|
771
|
-
children: [/* @__PURE__ */ f(t, {
|
|
772
|
-
src: Oe.url,
|
|
773
|
-
alt: Oe.alt ?? "Fullscreen",
|
|
774
|
-
sizes: "(max-width: 1024px) 100vw, 1024px",
|
|
775
|
-
className: "max-h-[80vh] max-w-full rounded-lg object-contain shadow-2xl"
|
|
776
|
-
}), /* @__PURE__ */ f("button", {
|
|
777
|
-
type: "button",
|
|
778
|
-
className: "absolute right-3 top-3 inline-flex size-9 items-center justify-center rounded-full bg-black/70 text-white transition hover:bg-black focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",
|
|
779
|
-
onClick: () => F(null),
|
|
780
|
-
"aria-label": "Fermer",
|
|
781
|
-
children: /* @__PURE__ */ f(u, { className: "h-5 w-5" })
|
|
782
|
-
})]
|
|
783
|
-
}),
|
|
784
|
-
/* @__PURE__ */ f("button", {
|
|
785
|
-
type: "button",
|
|
786
|
-
className: "absolute right-6 top-1/2 -translate-y-1/2 rounded-full bg-white/10 p-3 text-white shadow-lg transition hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",
|
|
787
|
-
onClick: () => F((e) => e === null ? e : (e + 1) % A.length),
|
|
788
|
-
"aria-label": "Suivant",
|
|
789
|
-
children: /* @__PURE__ */ f("svg", {
|
|
790
|
-
viewBox: "0 0 24 24",
|
|
791
|
-
className: "h-6 w-6",
|
|
792
|
-
stroke: "currentColor",
|
|
793
|
-
strokeWidth: 2,
|
|
794
|
-
fill: "none",
|
|
795
|
-
children: /* @__PURE__ */ f("path", {
|
|
796
|
-
d: "M9 6l6 6-6 6",
|
|
797
|
-
strokeLinecap: "round",
|
|
798
|
-
strokeLinejoin: "round"
|
|
799
|
-
})
|
|
800
|
-
})
|
|
801
|
-
})
|
|
802
|
-
]
|
|
803
|
-
})
|
|
804
|
-
]
|
|
805
|
-
});
|
|
806
14
|
}
|
|
807
15
|
//#endregion
|
|
808
|
-
export {
|
|
16
|
+
export { n as default };
|
|
809
17
|
|
|
810
18
|
//# sourceMappingURL=index298.js.map
|