@rpcbase/ui 0.261.0 → 0.263.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.
Files changed (261) hide show
  1. package/dist/assets/sha256.worker-BEf4_Y9w.js.map +1 -0
  2. package/dist/components/FilesUploadField/index.d.ts +19 -6
  3. package/dist/components/FilesUploadField/index.d.ts.map +1 -1
  4. package/dist/components/FilesUploadField/sha256.d.ts +5 -0
  5. package/dist/components/FilesUploadField/sha256.d.ts.map +1 -0
  6. package/dist/components/FilesUploadField/sha256.worker.d.ts +4 -0
  7. package/dist/components/FilesUploadField/sha256.worker.d.ts.map +1 -0
  8. package/dist/components/ImagesField/index.d.ts +4 -2
  9. package/dist/components/ImagesField/index.d.ts.map +1 -1
  10. package/dist/index.js +10 -10
  11. package/dist/index298.js +11 -803
  12. package/dist/index298.js.map +1 -1
  13. package/dist/index299.js +865 -28
  14. package/dist/index299.js.map +1 -1
  15. package/dist/index300.js +26 -510
  16. package/dist/index300.js.map +1 -1
  17. package/dist/index301.js +481 -755
  18. package/dist/index301.js.map +1 -1
  19. package/dist/index302.js +786 -7428
  20. package/dist/index302.js.map +1 -1
  21. package/dist/index303.js +7429 -7
  22. package/dist/index303.js.map +1 -1
  23. package/dist/index304.js +6 -12
  24. package/dist/index304.js.map +1 -1
  25. package/dist/index305.js +12 -5
  26. package/dist/index305.js.map +1 -1
  27. package/dist/index306.js +3 -3
  28. package/dist/index306.js.map +1 -1
  29. package/dist/index307.js +5 -469
  30. package/dist/index307.js.map +1 -1
  31. package/dist/index308.js +464 -32
  32. package/dist/index308.js.map +1 -1
  33. package/dist/index309.js +36 -18
  34. package/dist/index309.js.map +1 -1
  35. package/dist/index310.js +17 -28
  36. package/dist/index310.js.map +1 -1
  37. package/dist/index311.js +30 -4
  38. package/dist/index311.js.map +1 -1
  39. package/dist/index312.js +4 -59
  40. package/dist/index312.js.map +1 -1
  41. package/dist/index313.js +59 -9
  42. package/dist/index313.js.map +1 -1
  43. package/dist/index314.js +9 -5
  44. package/dist/index314.js.map +1 -1
  45. package/dist/index315.js +5 -9
  46. package/dist/index315.js.map +1 -1
  47. package/dist/index316.js +9 -12
  48. package/dist/index316.js.map +1 -1
  49. package/dist/index317.js +13 -3
  50. package/dist/index317.js.map +1 -1
  51. package/dist/index318.js +3 -17
  52. package/dist/index318.js.map +1 -1
  53. package/dist/index319.js +14 -23
  54. package/dist/index319.js.map +1 -1
  55. package/dist/index320.js +23 -39
  56. package/dist/index320.js.map +1 -1
  57. package/dist/index321.js +41 -5
  58. package/dist/index321.js.map +1 -1
  59. package/dist/index322.js +5 -25
  60. package/dist/index322.js.map +1 -1
  61. package/dist/index323.js +24 -18
  62. package/dist/index323.js.map +1 -1
  63. package/dist/index324.js +17 -32
  64. package/dist/index324.js.map +1 -1
  65. package/dist/index325.js +34 -5
  66. package/dist/index325.js.map +1 -1
  67. package/dist/index326.js +5 -9
  68. package/dist/index326.js.map +1 -1
  69. package/dist/index327.js +8 -7
  70. package/dist/index327.js.map +1 -1
  71. package/dist/index328.js +8 -9
  72. package/dist/index328.js.map +1 -1
  73. package/dist/index329.js +9 -10
  74. package/dist/index329.js.map +1 -1
  75. package/dist/index330.js +10 -7
  76. package/dist/index330.js.map +1 -1
  77. package/dist/index331.js +7 -75
  78. package/dist/index331.js.map +1 -1
  79. package/dist/index332.js +66 -153
  80. package/dist/index332.js.map +1 -1
  81. package/dist/index333.js +147 -99
  82. package/dist/index333.js.map +1 -1
  83. package/dist/index334.js +113 -13
  84. package/dist/index334.js.map +1 -1
  85. package/dist/index335.js +12 -78
  86. package/dist/index335.js.map +1 -1
  87. package/dist/index336.js +57 -23
  88. package/dist/index336.js.map +1 -1
  89. package/dist/index337.js +45 -12
  90. package/dist/index337.js.map +1 -1
  91. package/dist/index338.js +13 -16
  92. package/dist/index338.js.map +1 -1
  93. package/dist/index339.js +15 -100
  94. package/dist/index339.js.map +1 -1
  95. package/dist/index340.js +95 -50
  96. package/dist/index340.js.map +1 -1
  97. package/dist/index341.js +5 -57
  98. package/dist/index341.js.map +1 -1
  99. package/dist/index342.js +78 -41
  100. package/dist/index342.js.map +1 -1
  101. package/dist/index343.js +58 -100
  102. package/dist/index343.js.map +1 -1
  103. package/dist/index344.js +104 -46
  104. package/dist/index344.js.map +1 -1
  105. package/dist/index345.js +51 -39
  106. package/dist/index345.js.map +1 -1
  107. package/dist/index346.js +42 -142
  108. package/dist/index346.js.map +1 -1
  109. package/dist/index347.js +123 -120
  110. package/dist/index347.js.map +1 -1
  111. package/dist/index348.js +108 -224
  112. package/dist/index348.js.map +1 -1
  113. package/dist/index349.js +174 -158
  114. package/dist/index349.js.map +1 -1
  115. package/dist/index350.js +144 -213
  116. package/dist/index350.js.map +1 -1
  117. package/dist/index351.js +309 -5
  118. package/dist/index351.js.map +1 -1
  119. package/dist/index352.js +5 -6
  120. package/dist/index352.js.map +1 -1
  121. package/dist/index353.js +6 -7
  122. package/dist/index353.js.map +1 -1
  123. package/dist/index354.js +5 -4
  124. package/dist/index354.js.map +1 -1
  125. package/dist/index355.js +4 -4
  126. package/dist/index355.js.map +1 -1
  127. package/dist/index356.js +6 -21
  128. package/dist/index356.js.map +1 -1
  129. package/dist/index357.js +21 -10
  130. package/dist/index357.js.map +1 -1
  131. package/dist/index358.js +10 -128
  132. package/dist/index358.js.map +1 -1
  133. package/dist/index359.js +122 -36
  134. package/dist/index359.js.map +1 -1
  135. package/dist/index360.js +38 -64
  136. package/dist/index360.js.map +1 -1
  137. package/dist/index361.js +66 -115
  138. package/dist/index361.js.map +1 -1
  139. package/dist/index362.js +112 -485
  140. package/dist/index362.js.map +1 -1
  141. package/dist/index363.js +490 -13
  142. package/dist/index363.js.map +1 -1
  143. package/dist/index364.js +13 -4
  144. package/dist/index364.js.map +1 -1
  145. package/dist/index365.js +4 -47
  146. package/dist/index365.js.map +1 -1
  147. package/dist/index366.js +44 -15
  148. package/dist/index366.js.map +1 -1
  149. package/dist/index367.js +19 -5
  150. package/dist/index367.js.map +1 -1
  151. package/dist/index368.js +5 -27
  152. package/dist/index368.js.map +1 -1
  153. package/dist/index369.js +27 -48
  154. package/dist/index369.js.map +1 -1
  155. package/dist/index370.js +46 -27
  156. package/dist/index370.js.map +1 -1
  157. package/dist/index371.js +27 -16
  158. package/dist/index371.js.map +1 -1
  159. package/dist/index372.js +16 -41
  160. package/dist/index372.js.map +1 -1
  161. package/dist/index373.js +42 -14
  162. package/dist/index373.js.map +1 -1
  163. package/dist/index374.js +14 -10
  164. package/dist/index374.js.map +1 -1
  165. package/dist/index375.js +9 -51
  166. package/dist/index375.js.map +1 -1
  167. package/dist/index376.js +53 -43
  168. package/dist/index376.js.map +1 -1
  169. package/dist/index377.js +43 -16
  170. package/dist/index377.js.map +1 -1
  171. package/dist/index378.js +15 -4
  172. package/dist/index378.js.map +1 -1
  173. package/dist/index379.js +4 -4
  174. package/dist/index379.js.map +1 -1
  175. package/dist/index380.js +4 -9
  176. package/dist/index380.js.map +1 -1
  177. package/dist/index381.js +9 -340
  178. package/dist/index381.js.map +1 -1
  179. package/dist/index382.js +339 -4
  180. package/dist/index382.js.map +1 -1
  181. package/dist/index383.js +5 -16
  182. package/dist/index383.js.map +1 -1
  183. package/dist/index384.js +16 -111
  184. package/dist/index384.js.map +1 -1
  185. package/dist/index385.js +109 -19
  186. package/dist/index385.js.map +1 -1
  187. package/dist/index386.js +18 -18
  188. package/dist/index386.js.map +1 -1
  189. package/dist/index387.js +21 -5
  190. package/dist/index387.js.map +1 -1
  191. package/dist/index388.js +5 -20
  192. package/dist/index388.js.map +1 -1
  193. package/dist/index389.js +19 -13
  194. package/dist/index389.js.map +1 -1
  195. package/dist/index390.js +13 -84
  196. package/dist/index390.js.map +1 -1
  197. package/dist/index391.js +84 -7
  198. package/dist/index391.js.map +1 -1
  199. package/dist/index392.js +9 -29
  200. package/dist/index392.js.map +1 -1
  201. package/dist/index393.js +28 -9
  202. package/dist/index393.js.map +1 -1
  203. package/dist/index394.js +9 -5
  204. package/dist/index394.js.map +1 -1
  205. package/dist/index395.js +6 -252
  206. package/dist/index395.js.map +1 -1
  207. package/dist/index396.js +250 -10
  208. package/dist/index396.js.map +1 -1
  209. package/dist/index397.js +11 -10
  210. package/dist/index397.js.map +1 -1
  211. package/dist/index398.js +10 -6
  212. package/dist/index398.js.map +1 -1
  213. package/dist/index399.js +6 -22
  214. package/dist/index399.js.map +1 -1
  215. package/dist/index400.js +21 -21
  216. package/dist/index400.js.map +1 -1
  217. package/dist/index401.js +21 -107
  218. package/dist/index401.js.map +1 -1
  219. package/dist/index402.js +109 -15
  220. package/dist/index402.js.map +1 -1
  221. package/dist/index403.js +15 -12
  222. package/dist/index403.js.map +1 -1
  223. package/dist/index404.js +10 -8
  224. package/dist/index404.js.map +1 -1
  225. package/dist/index405.js +8 -242
  226. package/dist/index405.js.map +1 -1
  227. package/dist/index406.js +238 -25
  228. package/dist/index406.js.map +1 -1
  229. package/dist/index407.js +29 -51
  230. package/dist/index407.js.map +1 -1
  231. package/dist/index408.js +51 -10
  232. package/dist/index408.js.map +1 -1
  233. package/dist/index409.js +11 -128
  234. package/dist/index409.js.map +1 -1
  235. package/dist/index410.js +124 -35
  236. package/dist/index410.js.map +1 -1
  237. package/dist/index411.js +36 -23
  238. package/dist/index411.js.map +1 -1
  239. package/dist/index412.js +26 -11
  240. package/dist/index412.js.map +1 -1
  241. package/dist/index413.js +11 -23
  242. package/dist/index413.js.map +1 -1
  243. package/dist/index414.js +19 -13
  244. package/dist/index414.js.map +1 -1
  245. package/dist/index415.js +14 -13
  246. package/dist/index415.js.map +1 -1
  247. package/dist/index416.js +14 -322
  248. package/dist/index416.js.map +1 -1
  249. package/dist/index417.js +323 -61
  250. package/dist/index417.js.map +1 -1
  251. package/dist/index418.js +63 -4
  252. package/dist/index418.js.map +1 -1
  253. package/dist/index419.js +4 -28
  254. package/dist/index419.js.map +1 -1
  255. package/dist/index420.js +25 -468
  256. package/dist/index420.js.map +1 -1
  257. package/dist/index421.js +452 -250
  258. package/dist/index421.js.map +1 -1
  259. package/dist/index422.js +272 -0
  260. package/dist/index422.js.map +1 -0
  261. package/package.json +2 -1
package/dist/index298.js CHANGED
@@ -1,810 +1,18 @@
1
- import { cn as e } from "./index12.js";
2
- import { Image as t } from "./index297.js";
3
- import { c as n } from "react/compiler-runtime";
4
- import { useEffect as r, useMemo as i, useRef as a, useState as o } from "react";
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
- let t = await crypto.subtle.digest("SHA-256", e);
16
- return Array.from(new Uint8Array(t)).map((e) => e.toString(16).padStart(2, "0")).join("");
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 null;
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 { A as FilesUploadField };
16
+ export { n as default };
809
17
 
810
18
  //# sourceMappingURL=index298.js.map