@visulima/storage-client 1.0.0-alpha.1

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 (268) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/LICENSE.md +27 -0
  3. package/README.md +71 -0
  4. package/dist/core/chunked-rest-adapter.d.ts +43 -0
  5. package/dist/core/index.d.ts +11 -0
  6. package/dist/core/multipart-adapter.d.ts +34 -0
  7. package/dist/core/query-client.d.ts +57 -0
  8. package/dist/core/query-keys.d.ts +34 -0
  9. package/dist/core/tus-adapter.d.ts +43 -0
  10. package/dist/core/uploader.d.ts +183 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +1 -0
  13. package/dist/packem_shared/createAbortAll-B5vFFliA.js +1 -0
  14. package/dist/packem_shared/createAbortAll-D-x-LWNg.js +1 -0
  15. package/dist/packem_shared/createAbortBatch-CYtSbWfz.js +1 -0
  16. package/dist/packem_shared/createAbortBatch-zA0PTnOB.js +1 -0
  17. package/dist/packem_shared/createAbortItem-0f0bigbq.js +1 -0
  18. package/dist/packem_shared/createAbortItem-CIRlRD4X.js +1 -0
  19. package/dist/packem_shared/createAllAbortListener-CDrnG87k.js +1 -0
  20. package/dist/packem_shared/createAllAbortListener-CYLEWan0.js +1 -0
  21. package/dist/packem_shared/createBatchCancelledListener-Deq8lrIn.js +1 -0
  22. package/dist/packem_shared/createBatchCancelledListener-l9c0mi15.js +1 -0
  23. package/dist/packem_shared/createBatchDeleteFiles-B0SYSdYj.js +1 -0
  24. package/dist/packem_shared/createBatchDeleteFiles-Z4S-30eN.js +1 -0
  25. package/dist/packem_shared/createBatchErrorListener-CGJPEngL.js +1 -0
  26. package/dist/packem_shared/createBatchErrorListener-CJQFdXW2.js +1 -0
  27. package/dist/packem_shared/createBatchFinalizeListener-B2rEps7g.js +1 -0
  28. package/dist/packem_shared/createBatchFinalizeListener-Og0rELSL.js +1 -0
  29. package/dist/packem_shared/createBatchFinishListener-BeE6-b6E.js +1 -0
  30. package/dist/packem_shared/createBatchFinishListener-D9AOd6Cl.js +1 -0
  31. package/dist/packem_shared/createBatchProgressListener-1KpCpw7e.js +1 -0
  32. package/dist/packem_shared/createBatchProgressListener-BWW_tnse.js +1 -0
  33. package/dist/packem_shared/createBatchRetry-6E_Ivzh4.js +1 -0
  34. package/dist/packem_shared/createBatchRetry-D_F4v9oA.js +1 -0
  35. package/dist/packem_shared/createBatchStartListener-CkcMX3tq.js +1 -0
  36. package/dist/packem_shared/createBatchStartListener-DBHjoANG.js +1 -0
  37. package/dist/packem_shared/createBatchUpload-8yahZiID.js +1 -0
  38. package/dist/packem_shared/createBatchUpload-DWcVWF9h.js +1 -0
  39. package/dist/packem_shared/createChunkedRestAdapter-Df1E_Adn.js +1 -0
  40. package/dist/packem_shared/createChunkedRestUpload-CJNQp68Z.js +1 -0
  41. package/dist/packem_shared/createChunkedRestUpload-DZIOry7M.js +1 -0
  42. package/dist/packem_shared/createDeleteFile-DsUMoSxn.js +1 -0
  43. package/dist/packem_shared/createDeleteFile-_Znrnika.js +1 -0
  44. package/dist/packem_shared/createFileInput-B7WPz_-r.js +1 -0
  45. package/dist/packem_shared/createFileInput-TTI-EsSq.js +1 -0
  46. package/dist/packem_shared/createGetFile-BOV5S7mX.js +1 -0
  47. package/dist/packem_shared/createGetFile-CY2ohQF-.js +1 -0
  48. package/dist/packem_shared/createGetFileList-DGZQymc5.js +1 -0
  49. package/dist/packem_shared/createGetFileList-ZF0Luf6h.js +1 -0
  50. package/dist/packem_shared/createGetFileMeta-50LymNvf.js +1 -0
  51. package/dist/packem_shared/createGetFileMeta-DmC_OvP4.js +1 -0
  52. package/dist/packem_shared/createHeadFile-CGD6bHDS.js +1 -0
  53. package/dist/packem_shared/createHeadFile-DYb9FeQ1.js +1 -0
  54. package/dist/packem_shared/createMultipartAdapter-CoJpvX9z.js +1 -0
  55. package/dist/packem_shared/createMultipartUpload-CTats5BN.js +1 -0
  56. package/dist/packem_shared/createMultipartUpload-DF3XyOX3.js +1 -0
  57. package/dist/packem_shared/createPasteUpload-BS7pMOvb.js +1 -0
  58. package/dist/packem_shared/createPasteUpload-DemCREgp.js +1 -0
  59. package/dist/packem_shared/createPatchChunk-DqCMbHjI.js +1 -0
  60. package/dist/packem_shared/createPatchChunk-Zy6I60LN.js +1 -0
  61. package/dist/packem_shared/createPutFile-D8hN-9Ai.js +1 -0
  62. package/dist/packem_shared/createPutFile-DJraow7z.js +1 -0
  63. package/dist/packem_shared/createRetry-DPaN9i_a.js +1 -0
  64. package/dist/packem_shared/createRetry-D_fXIQUj.js +1 -0
  65. package/dist/packem_shared/createRetryListener-DonB2P-g.js +1 -0
  66. package/dist/packem_shared/createRetryListener-bMqMm13Y.js +1 -0
  67. package/dist/packem_shared/createTransformFile-C2fVfiwL.js +1 -0
  68. package/dist/packem_shared/createTransformFile-CJXLJEfg.js +1 -0
  69. package/dist/packem_shared/createTransformMetadata-BImjFF_i.js +1 -0
  70. package/dist/packem_shared/createTransformMetadata-zyl5UymO.js +1 -0
  71. package/dist/packem_shared/createTusAdapter-DM31lujI.js +1 -0
  72. package/dist/packem_shared/createTusUpload-BoM0S0Or.js +1 -0
  73. package/dist/packem_shared/createTusUpload-ClmXqmcz.js +1 -0
  74. package/dist/packem_shared/createUpload-CuZqq0nu.js +1 -0
  75. package/dist/packem_shared/createUpload-LRQ4N_cF.js +1 -0
  76. package/dist/packem_shared/createUploader-B_IjjBxw.js +1 -0
  77. package/dist/packem_shared/parseApiError-CUagSahh.js +1 -0
  78. package/dist/packem_shared/storageQueryKeys-cD4rL4b1.js +1 -0
  79. package/dist/packem_shared/useAbortAll-DeTTc8gX.js +1 -0
  80. package/dist/packem_shared/useAbortAll-DrHBz3kQ.js +1 -0
  81. package/dist/packem_shared/useAbortBatch-BoXLZH9d.js +1 -0
  82. package/dist/packem_shared/useAbortBatch-gVI48Gqa.js +1 -0
  83. package/dist/packem_shared/useAbortItem-Blw0eI13.js +1 -0
  84. package/dist/packem_shared/useAbortItem-DOVDiZFG.js +1 -0
  85. package/dist/packem_shared/useAllAbortListener-CadZ6Ohd.js +1 -0
  86. package/dist/packem_shared/useAllAbortListener-DiliYPra.js +1 -0
  87. package/dist/packem_shared/useBatchCancelledListener-CADhAnT8.js +1 -0
  88. package/dist/packem_shared/useBatchCancelledListener-CD0CULd_.js +1 -0
  89. package/dist/packem_shared/useBatchDeleteFiles-ASYuAVXn.js +1 -0
  90. package/dist/packem_shared/useBatchDeleteFiles-KthW4bon.js +1 -0
  91. package/dist/packem_shared/useBatchErrorListener-C3KwlH_D.js +1 -0
  92. package/dist/packem_shared/useBatchErrorListener-D-M1xGbQ.js +1 -0
  93. package/dist/packem_shared/useBatchFinalizeListener-BjnW3Lst.js +1 -0
  94. package/dist/packem_shared/useBatchFinalizeListener-CuVe9PGl.js +1 -0
  95. package/dist/packem_shared/useBatchFinishListener-4RjAPVhl.js +1 -0
  96. package/dist/packem_shared/useBatchFinishListener-DedP4Rm_.js +1 -0
  97. package/dist/packem_shared/useBatchProgressListener-CBAjGzmu.js +1 -0
  98. package/dist/packem_shared/useBatchProgressListener-CoYeF3Zj.js +1 -0
  99. package/dist/packem_shared/useBatchRetry-C53msBuL.js +1 -0
  100. package/dist/packem_shared/useBatchRetry-CAqFm7V8.js +1 -0
  101. package/dist/packem_shared/useBatchStartListener-BAOxxo1Y.js +1 -0
  102. package/dist/packem_shared/useBatchStartListener-DwAzFph7.js +1 -0
  103. package/dist/packem_shared/useBatchUpload-DLQNW410.js +1 -0
  104. package/dist/packem_shared/useBatchUpload-xPQlYOIK.js +1 -0
  105. package/dist/packem_shared/useChunkedRestUpload-DmXiSpyb.js +1 -0
  106. package/dist/packem_shared/useChunkedRestUpload-cKHvYQN3.js +1 -0
  107. package/dist/packem_shared/useDeleteFile-CND-6aNW.js +1 -0
  108. package/dist/packem_shared/useDeleteFile-CZUMjbYV.js +1 -0
  109. package/dist/packem_shared/useFileInput-Dvy2fNU7.js +1 -0
  110. package/dist/packem_shared/useFileInput-hIbzJ_JN.js +1 -0
  111. package/dist/packem_shared/useGetFile-CuST4rUN.js +1 -0
  112. package/dist/packem_shared/useGetFile-DvgluPgA.js +1 -0
  113. package/dist/packem_shared/useGetFileList-BiYDlEAl.js +1 -0
  114. package/dist/packem_shared/useGetFileList-D0tKDYAc.js +1 -0
  115. package/dist/packem_shared/useGetFileMeta-C2U1PExr.js +1 -0
  116. package/dist/packem_shared/useGetFileMeta-Ekre98Sg.js +1 -0
  117. package/dist/packem_shared/useHeadFile-CCu61b-B.js +1 -0
  118. package/dist/packem_shared/useHeadFile-DBQdkWZG.js +1 -0
  119. package/dist/packem_shared/useMultipartUpload-B9Vi7f5z.js +1 -0
  120. package/dist/packem_shared/useMultipartUpload-CIp4NLzf.js +1 -0
  121. package/dist/packem_shared/usePasteUpload-COdUC9xU.js +1 -0
  122. package/dist/packem_shared/usePasteUpload-_YqkCkrL.js +1 -0
  123. package/dist/packem_shared/usePatchChunk-BO3S0Tx4.js +1 -0
  124. package/dist/packem_shared/usePatchChunk-DoKsCbBH.js +1 -0
  125. package/dist/packem_shared/usePutFile-B6cFjClD.js +1 -0
  126. package/dist/packem_shared/usePutFile-bQl10v42.js +1 -0
  127. package/dist/packem_shared/useRetry-Dsq4jvkt.js +1 -0
  128. package/dist/packem_shared/useRetry-mkTUERYR.js +1 -0
  129. package/dist/packem_shared/useRetryListener-B45dL00Q.js +1 -0
  130. package/dist/packem_shared/useRetryListener-BEONt1sx.js +1 -0
  131. package/dist/packem_shared/useTransformFile-DmfsqTjp.js +1 -0
  132. package/dist/packem_shared/useTransformFile-sIkJLAwo.js +1 -0
  133. package/dist/packem_shared/useTransformMetadata-B0JbX1Ni.js +1 -0
  134. package/dist/packem_shared/useTransformMetadata-DK1561-K.js +1 -0
  135. package/dist/packem_shared/useTusUpload-CDRjQl0e.js +1 -0
  136. package/dist/packem_shared/useTusUpload-Cn1UeWo4.js +1 -0
  137. package/dist/packem_shared/useUpload-B_RxNnHC.js +1 -0
  138. package/dist/packem_shared/useUpload-CjLWLpyn.js +1 -0
  139. package/dist/react/index.d.ts +61 -0
  140. package/dist/react/index.js +1 -0
  141. package/dist/react/types.d.ts +65 -0
  142. package/dist/react/use-abort-all.d.ts +16 -0
  143. package/dist/react/use-abort-batch.d.ts +16 -0
  144. package/dist/react/use-abort-item.d.ts +16 -0
  145. package/dist/react/use-all-abort-listener.d.ts +14 -0
  146. package/dist/react/use-batch-cancelled-listener.d.ts +14 -0
  147. package/dist/react/use-batch-delete-files.d.ts +32 -0
  148. package/dist/react/use-batch-error-listener.d.ts +14 -0
  149. package/dist/react/use-batch-finalize-listener.d.ts +15 -0
  150. package/dist/react/use-batch-finish-listener.d.ts +14 -0
  151. package/dist/react/use-batch-progress-listener.d.ts +14 -0
  152. package/dist/react/use-batch-retry.d.ts +16 -0
  153. package/dist/react/use-batch-start-listener.d.ts +14 -0
  154. package/dist/react/use-batch-upload.d.ts +42 -0
  155. package/dist/react/use-chunked-rest-upload.d.ts +55 -0
  156. package/dist/react/use-delete-file.d.ts +25 -0
  157. package/dist/react/use-file-input.d.ts +32 -0
  158. package/dist/react/use-get-file-list.d.ts +46 -0
  159. package/dist/react/use-get-file-meta.d.ts +29 -0
  160. package/dist/react/use-get-file.d.ts +34 -0
  161. package/dist/react/use-head-file.d.ts +49 -0
  162. package/dist/react/use-multipart-upload.d.ts +35 -0
  163. package/dist/react/use-paste-upload.d.ts +20 -0
  164. package/dist/react/use-patch-chunk.d.ts +29 -0
  165. package/dist/react/use-put-file.d.ts +32 -0
  166. package/dist/react/use-retry-listener.d.ts +15 -0
  167. package/dist/react/use-retry.d.ts +16 -0
  168. package/dist/react/use-transform-file.d.ts +48 -0
  169. package/dist/react/use-transform-metadata.d.ts +33 -0
  170. package/dist/react/use-tus-upload.d.ts +55 -0
  171. package/dist/react/use-upload.d.ts +69 -0
  172. package/dist/solid/create-abort-all.d.ts +8 -0
  173. package/dist/solid/create-abort-batch.d.ts +8 -0
  174. package/dist/solid/create-abort-item.d.ts +8 -0
  175. package/dist/solid/create-all-abort-listener.d.ts +7 -0
  176. package/dist/solid/create-batch-cancelled-listener.d.ts +7 -0
  177. package/dist/solid/create-batch-delete-files.d.ts +29 -0
  178. package/dist/solid/create-batch-error-listener.d.ts +7 -0
  179. package/dist/solid/create-batch-finalize-listener.d.ts +7 -0
  180. package/dist/solid/create-batch-finish-listener.d.ts +7 -0
  181. package/dist/solid/create-batch-progress-listener.d.ts +7 -0
  182. package/dist/solid/create-batch-retry.d.ts +8 -0
  183. package/dist/solid/create-batch-start-listener.d.ts +7 -0
  184. package/dist/solid/create-batch-upload.d.ts +43 -0
  185. package/dist/solid/create-chunked-rest-upload.d.ts +56 -0
  186. package/dist/solid/create-delete-file.d.ts +22 -0
  187. package/dist/solid/create-file-input.d.ts +20 -0
  188. package/dist/solid/create-get-file-list.d.ts +46 -0
  189. package/dist/solid/create-get-file-meta.d.ts +29 -0
  190. package/dist/solid/create-get-file.d.ts +38 -0
  191. package/dist/solid/create-head-file.d.ts +46 -0
  192. package/dist/solid/create-multipart-upload.d.ts +36 -0
  193. package/dist/solid/create-paste-upload.d.ts +11 -0
  194. package/dist/solid/create-patch-chunk.d.ts +26 -0
  195. package/dist/solid/create-put-file.d.ts +29 -0
  196. package/dist/solid/create-retry-listener.d.ts +7 -0
  197. package/dist/solid/create-retry.d.ts +8 -0
  198. package/dist/solid/create-transform-file.d.ts +45 -0
  199. package/dist/solid/create-transform-metadata.d.ts +30 -0
  200. package/dist/solid/create-tus-upload.d.ts +56 -0
  201. package/dist/solid/create-upload.d.ts +70 -0
  202. package/dist/solid/index.d.ts +60 -0
  203. package/dist/solid/index.js +1 -0
  204. package/dist/svelte/create-abort-all.d.ts +8 -0
  205. package/dist/svelte/create-abort-batch.d.ts +8 -0
  206. package/dist/svelte/create-abort-item.d.ts +8 -0
  207. package/dist/svelte/create-all-abort-listener.d.ts +7 -0
  208. package/dist/svelte/create-batch-cancelled-listener.d.ts +7 -0
  209. package/dist/svelte/create-batch-delete-files.d.ts +29 -0
  210. package/dist/svelte/create-batch-error-listener.d.ts +7 -0
  211. package/dist/svelte/create-batch-finalize-listener.d.ts +7 -0
  212. package/dist/svelte/create-batch-finish-listener.d.ts +7 -0
  213. package/dist/svelte/create-batch-progress-listener.d.ts +7 -0
  214. package/dist/svelte/create-batch-retry.d.ts +8 -0
  215. package/dist/svelte/create-batch-start-listener.d.ts +7 -0
  216. package/dist/svelte/create-batch-upload.d.ts +23 -0
  217. package/dist/svelte/create-chunked-rest-upload.d.ts +56 -0
  218. package/dist/svelte/create-delete-file.d.ts +26 -0
  219. package/dist/svelte/create-file-input.d.ts +19 -0
  220. package/dist/svelte/create-get-file-list.d.ts +43 -0
  221. package/dist/svelte/create-get-file-meta.d.ts +26 -0
  222. package/dist/svelte/create-get-file.d.ts +41 -0
  223. package/dist/svelte/create-head-file.d.ts +46 -0
  224. package/dist/svelte/create-multipart-upload.d.ts +36 -0
  225. package/dist/svelte/create-paste-upload.d.ts +11 -0
  226. package/dist/svelte/create-patch-chunk.d.ts +26 -0
  227. package/dist/svelte/create-put-file.d.ts +29 -0
  228. package/dist/svelte/create-retry-listener.d.ts +7 -0
  229. package/dist/svelte/create-retry.d.ts +8 -0
  230. package/dist/svelte/create-transform-file.d.ts +45 -0
  231. package/dist/svelte/create-transform-metadata.d.ts +30 -0
  232. package/dist/svelte/create-tus-upload.d.ts +56 -0
  233. package/dist/svelte/create-upload.d.ts +68 -0
  234. package/dist/svelte/index.d.ts +60 -0
  235. package/dist/svelte/index.js +1 -0
  236. package/dist/vue/index.d.ts +60 -0
  237. package/dist/vue/index.js +1 -0
  238. package/dist/vue/use-abort-all.d.ts +16 -0
  239. package/dist/vue/use-abort-batch.d.ts +16 -0
  240. package/dist/vue/use-abort-item.d.ts +16 -0
  241. package/dist/vue/use-all-abort-listener.d.ts +14 -0
  242. package/dist/vue/use-batch-cancelled-listener.d.ts +14 -0
  243. package/dist/vue/use-batch-delete-files.d.ts +29 -0
  244. package/dist/vue/use-batch-error-listener.d.ts +14 -0
  245. package/dist/vue/use-batch-finalize-listener.d.ts +15 -0
  246. package/dist/vue/use-batch-finish-listener.d.ts +14 -0
  247. package/dist/vue/use-batch-progress-listener.d.ts +14 -0
  248. package/dist/vue/use-batch-retry.d.ts +16 -0
  249. package/dist/vue/use-batch-start-listener.d.ts +14 -0
  250. package/dist/vue/use-batch-upload.d.ts +43 -0
  251. package/dist/vue/use-chunked-rest-upload.d.ts +56 -0
  252. package/dist/vue/use-delete-file.d.ts +22 -0
  253. package/dist/vue/use-file-input.d.ts +33 -0
  254. package/dist/vue/use-get-file-list.d.ts +43 -0
  255. package/dist/vue/use-get-file-meta.d.ts +26 -0
  256. package/dist/vue/use-get-file.d.ts +35 -0
  257. package/dist/vue/use-head-file.d.ts +46 -0
  258. package/dist/vue/use-multipart-upload.d.ts +36 -0
  259. package/dist/vue/use-paste-upload.d.ts +21 -0
  260. package/dist/vue/use-patch-chunk.d.ts +26 -0
  261. package/dist/vue/use-put-file.d.ts +29 -0
  262. package/dist/vue/use-retry-listener.d.ts +15 -0
  263. package/dist/vue/use-retry.d.ts +16 -0
  264. package/dist/vue/use-transform-file.d.ts +45 -0
  265. package/dist/vue/use-transform-metadata.d.ts +30 -0
  266. package/dist/vue/use-tus-upload.d.ts +56 -0
  267. package/dist/vue/use-upload.d.ts +68 -0
  268. package/package.json +101 -0
@@ -0,0 +1 @@
1
+ var h=Object.defineProperty;var p=(u,e)=>h(u,"name",{value:e,configurable:!0});import{useQueryClient as y,useMutation as v}from"@tanstack/vue-query";import{computed as m}from"vue";import s from"./storageQueryKeys-cD4rL4b1.js";import{buildUrl as k,patchChunk as C}from"./parseApiError-CUagSahh.js";var g=Object.defineProperty,c=p((u,e)=>g(u,"name",{value:e,configurable:!0}),"u");const F=c(u=>{const{endpoint:e}=u,r=y(),a=v({mutationFn:c(async({checksum:i,chunk:t,id:n,offset:d})=>{const f=k(e,n),o=await C(f,t,d,i),l={id:n,offset:o.uploadOffset,url:o.location||f};return o.etag&&(l.metadata={etag:o.etag}),o.uploadComplete&&(l.status="completed"),l},"mutationFn"),onSuccess:c((i,t)=>{i.status==="completed"?(r.invalidateQueries({queryKey:s.files.all(e)}),r.removeQueries({queryKey:s.files.detail(e,t.id)}),r.removeQueries({queryKey:s.files.meta(e,t.id)}),r.removeQueries({queryKey:s.files.head(e,t.id)})):r.invalidateQueries({queryKey:s.files.head(e,t.id)})},"onSuccess")});return{data:m(()=>a.data.value||void 0),error:m(()=>a.error.value||void 0),isLoading:m(()=>a.isPending.value),patchChunk:c((i,t,n,d)=>a.mutateAsync({checksum:d,chunk:t,id:i,offset:n}),"patchChunk"),reset:a.reset}},"usePatchChunk");export{F as usePatchChunk};
@@ -0,0 +1 @@
1
+ var y=Object.defineProperty;var f=(o,e)=>y(o,"name",{value:e,configurable:!0});import{useQueryClient as v,useMutation as k}from"@tanstack/react-query";import s from"./storageQueryKeys-cD4rL4b1.js";import{buildUrl as C,patchChunk as g}from"./parseApiError-CUagSahh.js";var Q=Object.defineProperty,n=f((o,e)=>Q(o,"name",{value:e,configurable:!0}),"o");const E=n(o=>{const{endpoint:e,onError:h,onSuccess:p}=o,u=v(),a=k({mutationFn:n(async({checksum:t,chunk:r,id:c,offset:d})=>{const m=C(e,c),i=await g(m,r,d,t),l={id:c,offset:i.uploadOffset,url:i.location||m};return i.etag&&(l.metadata={etag:i.etag}),i.uploadComplete&&(l.status="completed"),l},"mutationFn"),onError:n(t=>{h?.(t)},"onError"),onSuccess:n((t,r)=>{t.status==="completed"?(u.invalidateQueries({queryKey:s.files.all(e)}),u.removeQueries({queryKey:s.files.detail(e,r.id)}),u.removeQueries({queryKey:s.files.meta(e,r.id)}),u.removeQueries({queryKey:s.files.head(e,r.id)})):u.invalidateQueries({queryKey:s.files.head(e,r.id)}),p?.(t)},"onSuccess")});return{data:a.data||void 0,error:a.error||void 0,isLoading:a.isPending,patchChunk:n((t,r,c,d)=>a.mutateAsync({checksum:d,chunk:r,id:t,offset:c}),"patchChunk"),reset:a.reset}},"usePatchChunk");export{E as usePatchChunk};
@@ -0,0 +1 @@
1
+ var g=Object.defineProperty;var c=(o,e)=>g(o,"name",{value:e,configurable:!0});import{useQueryClient as F,useMutation as P}from"@tanstack/react-query";import{useState as Q}from"react";import n from"./storageQueryKeys-cD4rL4b1.js";import{buildUrl as q,putFile as K}from"./parseApiError-CUagSahh.js";var S=Object.defineProperty,t=c((o,e)=>S(o,"name",{value:e,configurable:!0}),"o");const x=t(o=>{const{endpoint:e,onError:f,onProgress:y,onSuccess:p}=o,u=F(),[v,a]=Q(0),s=P({mutationFn:t(async({file:i,id:r})=>{const d=q(e,r),l=await K(d,i,m=>{a(m),y?.(m)});return{id:r,metadata:l.etag?{etag:l.etag}:void 0,url:l.location||d}},"mutationFn"),onError:t(i=>{a(0),f?.(i)},"onError"),onSuccess:t((i,r)=>{u.invalidateQueries({queryKey:n.files.all(e)}),u.removeQueries({queryKey:n.files.detail(e,r.id)}),u.removeQueries({queryKey:n.files.meta(e,r.id)}),u.removeQueries({queryKey:n.files.head(e,r.id)}),a(0),p?.(i)},"onSuccess")});return{data:s.data||void 0,error:s.error||void 0,isLoading:s.isPending,progress:v,putFile:t((i,r)=>s.mutateAsync({file:r,id:i}),"putFile"),reset:t(()=>{a(0),s.reset()},"reset")}},"usePutFile");export{x as usePutFile};
@@ -0,0 +1 @@
1
+ var y=Object.defineProperty;var c=(t,e)=>y(t,"name",{value:e,configurable:!0});import{useQueryClient as f,useMutation as g}from"@tanstack/vue-query";import{ref as F,computed as d}from"vue";import l from"./storageQueryKeys-cD4rL4b1.js";import{buildUrl as P,putFile as Q}from"./parseApiError-CUagSahh.js";var q=Object.defineProperty,i=c((t,e)=>q(t,"name",{value:e,configurable:!0}),"t");const j=i(t=>{const{endpoint:e,onProgress:p}=t,a=f(),o=F(0),u=g({mutationFn:i(async({file:s,id:r})=>{const m=P(e,r),n=await Q(m,s,v=>{o.value=v,p?.(v)});return{id:r,metadata:n.etag?{etag:n.etag}:void 0,url:n.location||m}},"mutationFn"),onError:i(()=>{o.value=0},"onError"),onSuccess:i((s,r)=>{a.invalidateQueries({queryKey:l.files.all(e)}),a.removeQueries({queryKey:l.files.detail(e,r.id)}),a.removeQueries({queryKey:l.files.meta(e,r.id)}),a.removeQueries({queryKey:l.files.head(e,r.id)}),o.value=0},"onSuccess")});return{data:d(()=>u.data.value||void 0),error:d(()=>u.error.value||void 0),isLoading:d(()=>u.isPending.value),progress:o,putFile:i((s,r)=>u.mutateAsync({file:r,id:s}),"putFile"),reset:i(()=>{o.value=0,u.reset()},"reset")}},"usePutFile");export{j as usePutFile};
@@ -0,0 +1 @@
1
+ var p=Object.defineProperty;var r=(e,t)=>p(e,"name",{value:t,configurable:!0});import{computed as u}from"vue";import{createMultipartAdapter as d}from"./createMultipartAdapter-CoJpvX9z.js";var i=Object.defineProperty,a=r((e,t)=>i(e,"name",{value:t,configurable:!0}),"r");const s=a(e=>{const{endpoint:t,metadata:o}=e,m=u(()=>d({endpoint:t,metadata:o}));return{retryItem:a(n=>{m.value.uploader.retryItem(n)},"retryItem")}},"useRetry");export{s as useRetry};
@@ -0,0 +1 @@
1
+ var m=Object.defineProperty;var o=(t,e)=>m(t,"name",{value:e,configurable:!0});import{useMemo as u,useCallback as p}from"react";import{createMultipartAdapter as i}from"./createMultipartAdapter-CoJpvX9z.js";var d=Object.defineProperty,c=o((t,e)=>d(t,"name",{value:e,configurable:!0}),"o");const f=c(t=>{const{endpoint:e,metadata:r}=t,a=u(()=>i({endpoint:e,metadata:r}),[e,r]);return{retryItem:p(n=>{a.uploader.retryItem(n)},[a])}},"useRetry");export{f as useRetry};
@@ -0,0 +1 @@
1
+ var s=Object.defineProperty;var p=(t,e)=>s(t,"name",{value:e,configurable:!0});import{useRef as d,useEffect as c}from"react";import{createMultipartAdapter as l}from"./createMultipartAdapter-CoJpvX9z.js";var m=Object.defineProperty,f=p((t,e)=>m(t,"name",{value:e,configurable:!0}),"n");const v=f(t=>{const{endpoint:e,metadata:o,onRetry:n}=t,a=d(n);c(()=>{a.current=n},[n]),c(()=>{const u=l({endpoint:e,metadata:o}),i=f(r=>{"file"in r&&r.retryCount&&r.retryCount>0&&a.current(r)},"handler");return u.uploader.on("ITEM_START",i),()=>{u.uploader.off("ITEM_START",i)}},[e,o])},"useRetryListener");export{v as useRetryListener};
@@ -0,0 +1 @@
1
+ var p=Object.defineProperty;var a=(e,r)=>p(e,"name",{value:r,configurable:!0});import{onMounted as f,onBeforeUnmount as m}from"vue";import{createMultipartAdapter as l}from"./createMultipartAdapter-CoJpvX9z.js";var s=Object.defineProperty,i=a((e,r)=>s(e,"name",{value:r,configurable:!0}),"r");const R=i(e=>{const{endpoint:r,metadata:u,onRetry:d}=e;f(()=>{const o=l({endpoint:r,metadata:u}),n=i(t=>{"file"in t&&t.retryCount&&t.retryCount>0&&d(t)},"handler");o.uploader.on("ITEM_START",n),m(()=>{o.uploader.off("ITEM_START",n)})})},"useRetryListener");export{R as useRetryListener};
@@ -0,0 +1 @@
1
+ var h=Object.defineProperty;var f=(a,o)=>h(a,"name",{value:o,configurable:!0});import{useQuery as y}from"@tanstack/vue-query";import{computed as t,toValue as r}from"vue";import F from"./storageQueryKeys-cD4rL4b1.js";import{buildUrl as g,extractFileMetaFromHeaders as w}from"./parseApiError-CUagSahh.js";var T=Object.defineProperty,d=f((a,o)=>T(a,"name",{value:o,configurable:!0}),"a");const L=d(a=>{const{enabled:o=!0,endpoint:c,id:n,transform:u}=a,s=y({enabled:t(()=>r(o)&&!!r(n)&&!!r(u)),queryFn:d(async()=>{const i=r(n),m=r(u),l=g(c,i,m),e=await fetch(l,{method:"GET"});if(!e.ok){const p=await e.json().catch(()=>({error:{code:"RequestFailed",message:e.statusText}}));throw new Error(p.error?.message||`Failed to get transformed file: ${e.status} ${e.statusText}`)}const b=await e.blob(),v=w(i,e.headers);return{blob:b,meta:v}},"queryFn"),queryKey:t(()=>{const i=r(u),m=r(n),l=Object.fromEntries(Object.entries(i).filter(([,e])=>e!==void 0));return F.transform.file(c,m,l)})});return{data:t(()=>s.data.value?.blob),error:t(()=>s.error.value||void 0),isLoading:t(()=>s.isLoading.value),meta:t(()=>s.data.value?.meta||void 0),refetch:d(()=>{s.refetch()},"refetch")}},"useTransformFile");export{L as useTransformFile};
@@ -0,0 +1 @@
1
+ var E=Object.defineProperty;var h=(t,o)=>E(t,"name",{value:o,configurable:!0});import{useQuery as w}from"@tanstack/react-query";import{useMemo as T,useRef as F,useEffect as s}from"react";import j from"./storageQueryKeys-cD4rL4b1.js";import{buildUrl as q,extractFileMetaFromHeaders as x}from"./parseApiError-CUagSahh.js";var O=Object.defineProperty,b=h((t,o)=>O(t,"name",{value:o,configurable:!0}),"o");const G=b(t=>{const{enabled:o=!0,endpoint:i,id:a,onError:u,onSuccess:c,transform:n}=t,p=T(()=>{const l=Object.fromEntries(Object.entries(n).filter(([,e])=>e!==void 0));return j.transform.file(i,a,l)},[i,a,n]),r=w({enabled:o&&!!a&&!!n,queryFn:b(async()=>{const l=q(i,a,n),e=await fetch(l,{method:"GET"});if(!e.ok){const v=await e.json().catch(()=>({error:{code:"RequestFailed",message:e.statusText}}));throw new Error(v.error?.message||`Failed to get transformed file: ${e.status} ${e.statusText}`)}const y=await e.blob(),g=x(a,e.headers);return{blob:y,meta:g}},"queryFn"),queryKey:p}),d=r.data?.meta||void 0,f=F(c),m=F(u);return s(()=>{f.current=c},[c]),s(()=>{m.current=u},[u]),s(()=>{r.data&&f.current&&f.current(r.data.blob,d)},[r.data,d]),s(()=>{r.error&&m.current&&m.current(r.error)},[r.error]),{data:r.data?.blob,error:r.error||void 0,isLoading:r.isLoading,meta:d,refetch:b(()=>{r.refetch()},"refetch")}},"useTransformFile");export{G as useTransformFile};
@@ -0,0 +1 @@
1
+ var d=Object.defineProperty;var u=(r,e)=>d(r,"name",{value:e,configurable:!0});import{useQuery as f}from"@tanstack/vue-query";import{computed as a,toValue as i}from"vue";import c from"./storageQueryKeys-cD4rL4b1.js";import{buildUrl as l,fetchJson as p}from"./parseApiError-CUagSahh.js";var v=Object.defineProperty,o=u((r,e)=>v(r,"name",{value:e,configurable:!0}),"r");const F=o(r=>{const{enabled:e=!0,endpoint:n}=r,t=f({enabled:a(()=>i(e)),queryFn:o(async()=>{const s=l(n,"metadata"),m=await p(s);return{formats:m.formats,parameters:m.parameters}},"queryFn"),queryKey:a(()=>c.transform.metadata(n))});return{data:a(()=>t.data.value),error:a(()=>t.error.value||void 0),isLoading:a(()=>t.isLoading.value),refetch:o(()=>{t.refetch()},"refetch")}},"useTransformMetadata");export{F as useTransformMetadata};
@@ -0,0 +1 @@
1
+ var y=Object.defineProperty;var d=(e,t)=>y(e,"name",{value:t,configurable:!0});import{useQuery as l}from"@tanstack/react-query";import{useRef as i,useEffect as a}from"react";import b from"./storageQueryKeys-cD4rL4b1.js";import{buildUrl as h,fetchJson as v}from"./parseApiError-CUagSahh.js";var g=Object.defineProperty,c=d((e,t)=>g(e,"name",{value:t,configurable:!0}),"e");const T=c(e=>{const{enabled:t=!0,endpoint:f,onError:o,onSuccess:n}=e,r=l({enabled:t,queryFn:c(async()=>{const p=h(f,"metadata"),m=await v(p);return{formats:m.formats,parameters:m.parameters}},"queryFn"),queryKey:b.transform.metadata(f)}),u=i(n),s=i(o);return a(()=>{u.current=n},[n]),a(()=>{s.current=o},[o]),a(()=>{r.data&&u.current&&u.current(r.data)},[r.data]),a(()=>{r.error&&s.current&&s.current(r.error)},[r.error]),{data:r.data,error:r.error||void 0,isLoading:r.isLoading,refetch:c(()=>{r.refetch()},"refetch")}},"useTransformMetadata");export{T as useTransformMetadata};
@@ -0,0 +1 @@
1
+ var _=Object.defineProperty;var k=(i,u)=>_(i,"name",{value:u,configurable:!0});import{useState as c,useMemo as B,useRef as x,useEffect as T,useCallback as f}from"react";import{createTusAdapter as D}from"./createTusAdapter-DM31lujI.js";var G=Object.defineProperty,H=k((i,u)=>G(i,"name",{value:u,configurable:!0}),"T");const V=H(i=>{const{chunkSize:u,endpoint:h,maxRetries:y,metadata:R,onError:m,onPause:S,onProgress:p,onResume:E,onStart:P,onSuccess:g,retry:b}=i,[U,d]=c(0),[z,n]=c(!1),[F,a]=c(!1),[I,l]=c(void 0),[j,w]=c(void 0),[A,v]=c(0),r=B(()=>D({chunkSize:u,endpoint:h,maxRetries:y,metadata:R,retry:b}),[u,h,y,R,b]),t=x({onError:m,onPause:S,onProgress:p,onResume:E,onStart:P,onSuccess:g}),o=x(void 0);T(()=>{t.current={onError:m,onPause:S,onProgress:p,onResume:E,onStart:P,onSuccess:g}},[m,p,S,E,P,g]),T(()=>(r.setOnStart(()=>{n(!0),a(!1),d(0),l(void 0),v(0),t.current.onStart?.()}),r.setOnProgress((e,s)=>{d(e),v(s),t.current.onProgress?.(e)}),r.setOnFinish(e=>{d(100),w(e),n(!1),a(!1),t.current.onSuccess?.(e)}),r.setOnError(e=>{l(e),n(!1),t.current.onError?.(e)}),o.current=setInterval(()=>{o.current&&(v(r.getOffset()),a(r.isPaused()))},100),()=>{o.current&&(clearInterval(o.current),o.current=void 0),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)}),[r]);const C=f(async e=>{try{return await r.upload(e)}catch(s){const O=s instanceof Error?s:new Error(String(s));throw l(O),t.current.onError?.(O),O}},[r]),M=f(()=>{r.pause(),a(!0),t.current.onPause?.()},[r]),q=f(async()=>{a(!1),n(!0),t.current.onResume?.();try{await r.resume()}catch(e){const s=e instanceof Error?e:new Error(String(e));throw l(s),n(!1),t.current.onError?.(s),s}},[r]),J=f(()=>{o.current&&(clearInterval(o.current),o.current=void 0),r.abort(),n(!1),a(!1)},[r]),N=f(()=>{r.clear(),d(0),n(!1),a(!1),l(void 0),w(void 0),v(0)},[r]);return{abort:J,error:I,isPaused:F,isUploading:z,offset:A,pause:M,progress:U,reset:N,result:j,resume:q,upload:C}},"useTusUpload");export{V as useTusUpload};
@@ -0,0 +1 @@
1
+ var U=Object.defineProperty;var m=(n,v)=>U(n,"name",{value:v,configurable:!0});import{ref as u,onMounted as R,onBeforeUnmount as x}from"vue";import{createTusAdapter as T}from"./createTusAdapter-DM31lujI.js";var k=Object.defineProperty,l=m((n,v)=>k(n,"name",{value:v,configurable:!0}),"a");const j=l(n=>{const{chunkSize:v,endpoint:O,maxRetries:g,metadata:h,onError:c,onPause:S,onProgress:E,onResume:P,onStart:y,onSuccess:b,retry:w}=n,i=u(0),r=u(!1),t=u(!1),o=u(void 0),p=u(void 0),d=u(0),a=T({chunkSize:v,endpoint:O,maxRetries:g,metadata:h,retry:w});return R(()=>{a.setOnStart(()=>{r.value=!0,t.value=!1,i.value=0,o.value=void 0,d.value=0,y?.()}),a.setOnProgress((e,f)=>{i.value=e,d.value=f,E?.(e)}),a.setOnFinish(e=>{i.value=100,p.value=e,r.value=!1,t.value=!1,b?.(e)}),a.setOnError(e=>{o.value=e,r.value=!1,c?.(e)});const s=setInterval(()=>{d.value=a.getOffset(),t.value=a.isPaused()},100);x(()=>{clearInterval(s),a.setOnStart(void 0),a.setOnProgress(void 0),a.setOnFinish(void 0),a.setOnError(void 0)})}),{abort:l(()=>{a.abort(),r.value=!1,t.value=!1},"abort"),error:o,isPaused:t,isUploading:r,offset:d,pause:l(()=>{a.pause(),t.value=!0,S?.()},"pause"),progress:i,reset:l(()=>{a.clear(),i.value=0,r.value=!1,t.value=!1,o.value=void 0,p.value=void 0,d.value=0},"reset"),result:p,resume:l(async()=>{t.value=!1,r.value=!0,P?.();try{await a.resume()}catch(s){const e=s instanceof Error?s:new Error(String(s));throw o.value=e,r.value=!1,c?.(e),e}},"resume"),upload:l(async s=>{try{return await a.upload(s)}catch(e){const f=e instanceof Error?e:new Error(String(e));throw o.value=f,c?.(f),f}},"upload")}},"useTusUpload");export{j as useTusUpload};
@@ -0,0 +1 @@
1
+ var j=Object.defineProperty;var T=(d,a)=>j(d,"name",{value:a,configurable:!0});import{computed as o}from"vue";import{useChunkedRestUpload as A}from"./useChunkedRestUpload-DmXiSpyb.js";import{useMultipartUpload as B}from"./useMultipartUpload-CIp4NLzf.js";import{useTusUpload as F}from"./useTusUpload-Cn1UeWo4.js";var H=Object.defineProperty,l=T((d,a)=>H(d,"name",{value:a,configurable:!0}),"i");const N=10*1024*1024,K=l(d=>{const{chunkSize:a,endpointChunkedRest:s,endpointMultipart:p,endpointTus:i,maxRetries:k,metadata:c,method:S,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w,tusThreshold:y=N}=d,v=o(()=>{if(S!==void 0)return S;const e=[s,p,i].filter(Boolean);if(e.length===1)return s?"chunked-rest":i?"tus":"multipart";if(e.length>1)return"auto";throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")}),E=s?{chunkSize:a,endpoint:s,maxRetries:k,metadata:c,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w}:void 0,R=p?{endpoint:p,metadata:c,onError:f,onProgress:h,onStart:m,onSuccess:g}:void 0,b=i?{chunkSize:a,endpoint:i,maxRetries:k,metadata:c,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w}:void 0,r=E?A(E):void 0,u=R?B(R):void 0,t=b?F(b):void 0,x=l(e=>{if(v.value!=="auto")return v.value;if(e.size>y){if(i)return"tus";if(s)return"chunked-rest"}if(s)return"chunked-rest";if(p)return"multipart";throw new Error("No available endpoint for upload")},"determineMethod"),C=l(async e=>{const M=x(e);if(M==="tus"){if(!t)throw new Error("TUS endpoint not configured");return t.upload(e)}if(M==="chunked-rest"){if(!r)throw new Error("Chunked REST endpoint not configured");return r.upload(e)}if(!u)throw new Error("Multipart endpoint not configured");return u.upload(e)},"upload"),z=l(()=>{t?.abort(),r?.abort(),u?.reset()},"abort"),O=l(()=>{t?.reset(),r?.reset(),u?.reset()},"reset"),n=o(()=>v.value!=="auto"?v.value:t&&(t.isUploading.value||t.result.value)?"tus":r&&(r.isUploading.value||r.result.value)?"chunked-rest":u&&(u.isUploading.value||u.result.value)?"multipart":s?"chunked-rest":i?"tus":"multipart");return{abort:z,currentMethod:n,error:o(()=>{const e=n.value;return e==="tus"?t?.error.value??void 0:e==="chunked-rest"?r?.error.value??void 0:u?.error.value??void 0}),isPaused:o(()=>{const e=n.value;if(e==="tus")return t?.isPaused.value;if(e==="chunked-rest")return r?.isPaused.value}),isUploading:o(()=>{const e=n.value;return e==="tus"?t?.isUploading.value??!1:e==="chunked-rest"?r?.isUploading.value??!1:u?.isUploading.value??!1}),offset:o(()=>{const e=n.value;if(e==="tus")return t?.offset.value;if(e==="chunked-rest")return r?.offset.value}),pause:o(()=>{const e=n.value;if(e==="tus")return t?.pause;if(e==="chunked-rest")return r?.pause}),progress:o(()=>{const e=n.value;return e==="tus"?t?.progress.value??0:e==="chunked-rest"?r?.progress.value??0:u?.progress.value??0}),reset:O,result:o(()=>{const e=n.value;return e==="tus"?t?.result.value??void 0:e==="chunked-rest"?r?.result.value??void 0:u?.result.value??void 0}),resume:o(()=>{const e=n.value;if(e==="tus")return t?.resume;if(e==="chunked-rest")return r?.resume}),upload:C}},"useUpload");export{K as useUpload};
@@ -0,0 +1 @@
1
+ var K=Object.defineProperty;var x=(m,a)=>K(m,"name",{value:a,configurable:!0});import{useMemo as k,useCallback as R}from"react";import{useChunkedRestUpload as L}from"./useChunkedRestUpload-cKHvYQN3.js";import{useMultipartUpload as _}from"./useMultipartUpload-B9Vi7f5z.js";import{useTusUpload as q}from"./useTusUpload-CDRjQl0e.js";var G=Object.defineProperty,i=x((m,a)=>G(m,"name",{value:a,configurable:!0}),"s");const Q=10*1024*1024,$=i(m=>{const{chunkSize:a,endpointChunkedRest:s,endpointMultipart:d,endpointTus:n,maxRetries:v,metadata:p,method:E,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S,tusThreshold:w=Q}=m,h=k(()=>{if(E!==void 0)return E;const u=[s,d,n].filter(Boolean);if(u.length===1)return s?"chunked-rest":n?"tus":"multipart";if(u.length>1)return"auto";throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")},[E,s,d,n]),b=k(()=>{if(s)return{chunkSize:a,endpoint:s,maxRetries:v,metadata:p,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S}},[s,a,p,c,g,l,f,P,U,S,v]),T=k(()=>{if(d)return{endpoint:d,metadata:p,onError:l,onProgress:f,onStart:c,onSuccess:g}},[d,p,c,g,l,f]),y=k(()=>{if(n)return{chunkSize:a,endpoint:n,maxRetries:v,metadata:p,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S}},[n,a,p,c,g,l,f,P,U,S,v]),e=b?L(b):void 0,o=T?_(T):void 0,r=y?q(y):void 0,C=R(u=>{if(h!=="auto")return h;if(u.size>w){if(n)return"tus";if(s)return"chunked-rest"}if(s)return"chunked-rest";if(d)return"multipart";throw new Error("No available endpoint for upload")},[h,w,s,d,n]),z=R(async u=>{const M=C(u);if(M==="tus"){if(!r)throw new Error("TUS endpoint not configured");return r.upload(u)}if(M==="chunked-rest"){if(!e)throw new Error("Chunked REST endpoint not configured");return e.upload(u)}if(!o)throw new Error("Multipart endpoint not configured");return o.upload(u)},[C,r,e,o]),I=R(()=>{r?.abort(),e?.abort(),o?.reset()},[r,e,o]),O=R(()=>{r?.reset(),e?.reset(),o?.reset()},[r,e,o]),t=k(()=>h!=="auto"?h:r&&(r.isUploading||r.result)?"tus":e&&(e.isUploading||e.result)?"chunked-rest":o&&(o.isUploading||o.result)?"multipart":s?"chunked-rest":n?"tus":"multipart",[h,r,e,o,s,d,n]),A=i(()=>t==="tus"?r?.error??void 0:t==="chunked-rest"?e?.error??void 0:o?.error??void 0,"getError"),B=i(()=>{if(t==="tus")return r?.isPaused;if(t==="chunked-rest")return e?.isPaused},"getIsPaused"),N=i(()=>t==="tus"?r?.isUploading??!1:t==="chunked-rest"?e?.isUploading??!1:o?.isUploading??!1,"getIsUploading"),j=i(()=>{if(t==="tus")return r?.offset;if(t==="chunked-rest")return e?.offset},"getOffset"),D=i(()=>{if(t==="tus")return r?.pause;if(t==="chunked-rest")return e?.pause},"getPause"),F=i(()=>t==="tus"?r?.progress??0:t==="chunked-rest"?e?.progress??0:o?.progress??0,"getProgress"),H=i(()=>t==="tus"?r?.result??void 0:t==="chunked-rest"?e?.result??void 0:o?.result??void 0,"getResult"),J=i(()=>{if(t==="tus")return r?.resume;if(t==="chunked-rest")return e?.resume},"getResume");return{abort:I,currentMethod:t,error:A(),isPaused:B(),isUploading:N(),offset:j(),pause:D(),progress:F(),reset:O,result:H(),resume:J(),upload:z}},"useUpload");export{$ as useUpload};
@@ -0,0 +1,61 @@
1
+ export type { UploadMethod, UploadResult } from "./types.d.ts";
2
+ export type { UseAbortAllOptions, UseAbortAllReturn } from "./use-abort-all.d.ts";
3
+ export { useAbortAll } from "./use-abort-all.d.ts";
4
+ export type { UseAbortBatchOptions, UseAbortBatchReturn } from "./use-abort-batch.d.ts";
5
+ export { useAbortBatch } from "./use-abort-batch.d.ts";
6
+ export type { UseAbortItemOptions, UseAbortItemReturn } from "./use-abort-item.d.ts";
7
+ export { useAbortItem } from "./use-abort-item.d.ts";
8
+ export type { UseAllAbortListenerOptions } from "./use-all-abort-listener.d.ts";
9
+ export { useAllAbortListener } from "./use-all-abort-listener.d.ts";
10
+ export type { UseBatchCancelledListenerOptions } from "./use-batch-cancelled-listener.d.ts";
11
+ export { useBatchCancelledListener } from "./use-batch-cancelled-listener.d.ts";
12
+ export type { BatchDeleteResult, UseBatchDeleteFilesOptions, UseBatchDeleteFilesReturn } from "./use-batch-delete-files.d.ts";
13
+ export { useBatchDeleteFiles } from "./use-batch-delete-files.d.ts";
14
+ export type { UseBatchErrorListenerOptions } from "./use-batch-error-listener.d.ts";
15
+ export { useBatchErrorListener } from "./use-batch-error-listener.d.ts";
16
+ export type { UseBatchFinalizeListenerOptions } from "./use-batch-finalize-listener.d.ts";
17
+ export { useBatchFinalizeListener } from "./use-batch-finalize-listener.d.ts";
18
+ export type { UseBatchFinishListenerOptions } from "./use-batch-finish-listener.d.ts";
19
+ export { useBatchFinishListener } from "./use-batch-finish-listener.d.ts";
20
+ export type { UseBatchProgressListenerOptions } from "./use-batch-progress-listener.d.ts";
21
+ export { useBatchProgressListener } from "./use-batch-progress-listener.d.ts";
22
+ export type { UseBatchRetryOptions, UseBatchRetryReturn } from "./use-batch-retry.d.ts";
23
+ export { useBatchRetry } from "./use-batch-retry.d.ts";
24
+ export type { UseBatchStartListenerOptions } from "./use-batch-start-listener.d.ts";
25
+ export { useBatchStartListener } from "./use-batch-start-listener.d.ts";
26
+ export type { UseBatchUploadOptions, UseBatchUploadReturn } from "./use-batch-upload.d.ts";
27
+ export { useBatchUpload } from "./use-batch-upload.d.ts";
28
+ export type { UseChunkedRestUploadOptions, UseChunkedRestUploadReturn } from "./use-chunked-rest-upload.d.ts";
29
+ export { useChunkedRestUpload } from "./use-chunked-rest-upload.d.ts";
30
+ export type { UseDeleteFileOptions, UseDeleteFileReturn } from "./use-delete-file.d.ts";
31
+ export { useDeleteFile } from "./use-delete-file.d.ts";
32
+ export type { UseFileInputOptions, UseFileInputReturn } from "./use-file-input.d.ts";
33
+ export { useFileInput } from "./use-file-input.d.ts";
34
+ export type { UseGetFileOptions, UseGetFileReturn } from "./use-get-file.d.ts";
35
+ export { useGetFile } from "./use-get-file.d.ts";
36
+ export type { FileListResponse, UseGetFileListOptions, UseGetFileListReturn } from "./use-get-file-list.d.ts";
37
+ export { useGetFileList } from "./use-get-file-list.d.ts";
38
+ export type { UseGetFileMetaOptions, UseGetFileMetaReturn } from "./use-get-file-meta.d.ts";
39
+ export { useGetFileMeta } from "./use-get-file-meta.d.ts";
40
+ export type { FileHeadMetadata, UseHeadFileOptions, UseHeadFileReturn } from "./use-head-file.d.ts";
41
+ export { useHeadFile } from "./use-head-file.d.ts";
42
+ export type { UseMultipartUploadOptions, UseMultipartUploadReturn } from "./use-multipart-upload.d.ts";
43
+ export { useMultipartUpload } from "./use-multipart-upload.d.ts";
44
+ export type { UsePasteUploadOptions, UsePasteUploadReturn } from "./use-paste-upload.d.ts";
45
+ export { usePasteUpload } from "./use-paste-upload.d.ts";
46
+ export type { UsePatchChunkOptions, UsePatchChunkReturn } from "./use-patch-chunk.d.ts";
47
+ export { usePatchChunk } from "./use-patch-chunk.d.ts";
48
+ export type { UsePutFileOptions, UsePutFileReturn } from "./use-put-file.d.ts";
49
+ export { usePutFile } from "./use-put-file.d.ts";
50
+ export type { UseRetryOptions, UseRetryReturn } from "./use-retry.d.ts";
51
+ export { useRetry } from "./use-retry.d.ts";
52
+ export type { UseRetryListenerOptions } from "./use-retry-listener.d.ts";
53
+ export { useRetryListener } from "./use-retry-listener.d.ts";
54
+ export type { TransformOptions, UseTransformFileOptions, UseTransformFileReturn } from "./use-transform-file.d.ts";
55
+ export { useTransformFile } from "./use-transform-file.d.ts";
56
+ export type { TransformMetadata, UseTransformMetadataOptions, UseTransformMetadataReturn } from "./use-transform-metadata.d.ts";
57
+ export { useTransformMetadata } from "./use-transform-metadata.d.ts";
58
+ export type { UseTusUploadOptions, UseTusUploadReturn } from "./use-tus-upload.d.ts";
59
+ export { useTusUpload } from "./use-tus-upload.d.ts";
60
+ export type { UseUploadOptions, UseUploadReturn } from "./use-upload.d.ts";
61
+ export { useUpload } from "./use-upload.d.ts";
@@ -0,0 +1 @@
1
+ import{useAbortAll as o}from"../packem_shared/useAbortAll-DrHBz3kQ.js";import{useAbortBatch as s}from"../packem_shared/useAbortBatch-gVI48Gqa.js";import{useAbortItem as u}from"../packem_shared/useAbortItem-Blw0eI13.js";import{useAllAbortListener as f}from"../packem_shared/useAllAbortListener-DiliYPra.js";import{useBatchCancelledListener as a}from"../packem_shared/useBatchCancelledListener-CD0CULd_.js";import{useBatchDeleteFiles as i}from"../packem_shared/useBatchDeleteFiles-KthW4bon.js";import{useBatchErrorListener as h}from"../packem_shared/useBatchErrorListener-D-M1xGbQ.js";import{useBatchFinalizeListener as F}from"../packem_shared/useBatchFinalizeListener-BjnW3Lst.js";import{useBatchFinishListener as B}from"../packem_shared/useBatchFinishListener-DedP4Rm_.js";import{useBatchProgressListener as A}from"../packem_shared/useBatchProgressListener-CBAjGzmu.js";import{useBatchRetry as b}from"../packem_shared/useBatchRetry-C53msBuL.js";import{useBatchStartListener as R}from"../packem_shared/useBatchStartListener-BAOxxo1Y.js";import{useBatchUpload as C}from"../packem_shared/useBatchUpload-DLQNW410.js";import{useChunkedRestUpload as M}from"../packem_shared/useChunkedRestUpload-cKHvYQN3.js";import{useDeleteFile as k}from"../packem_shared/useDeleteFile-CND-6aNW.js";import{useFileInput as I}from"../packem_shared/useFileInput-hIbzJ_JN.js";import{useGetFile as z}from"../packem_shared/useGetFile-DvgluPgA.js";import{useGetFileList as H}from"../packem_shared/useGetFileList-D0tKDYAc.js";import{useGetFileMeta as j}from"../packem_shared/useGetFileMeta-Ekre98Sg.js";import{useHeadFile as v}from"../packem_shared/useHeadFile-CCu61b-B.js";import{useMultipartUpload as J}from"../packem_shared/useMultipartUpload-B9Vi7f5z.js";import{usePasteUpload as N}from"../packem_shared/usePasteUpload-_YqkCkrL.js";import{usePatchChunk as Q}from"../packem_shared/usePatchChunk-DoKsCbBH.js";import{usePutFile as W}from"../packem_shared/usePutFile-B6cFjClD.js";import{useRetry as Y}from"../packem_shared/useRetry-mkTUERYR.js";import{useRetryListener as _}from"../packem_shared/useRetryListener-B45dL00Q.js";import{useTransformFile as ee}from"../packem_shared/useTransformFile-sIkJLAwo.js";import{useTransformMetadata as oe}from"../packem_shared/useTransformMetadata-DK1561-K.js";import{useTusUpload as se}from"../packem_shared/useTusUpload-CDRjQl0e.js";import{useUpload as ue}from"../packem_shared/useUpload-CjLWLpyn.js";export{o as useAbortAll,s as useAbortBatch,u as useAbortItem,f as useAllAbortListener,a as useBatchCancelledListener,i as useBatchDeleteFiles,h as useBatchErrorListener,F as useBatchFinalizeListener,B as useBatchFinishListener,A as useBatchProgressListener,b as useBatchRetry,R as useBatchStartListener,C as useBatchUpload,M as useChunkedRestUpload,k as useDeleteFile,I as useFileInput,z as useGetFile,H as useGetFileList,j as useGetFileMeta,v as useHeadFile,J as useMultipartUpload,N as usePasteUpload,Q as usePatchChunk,W as usePutFile,Y as useRetry,_ as useRetryListener,ee as useTransformFile,oe as useTransformMetadata,se as useTusUpload,ue as useUpload};
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Upload method type for useUpload hook
3
+ */
4
+ export type UploadMethod = "auto" | "chunked-rest" | "multipart" | "tus";
5
+ /**
6
+ * File metadata returned from the server (matches OpenAPI FileMeta schema)
7
+ */
8
+ export interface FileMeta {
9
+ /** Bytes written to storage */
10
+ bytesWritten?: number;
11
+ /** Content type of the uploaded file */
12
+ contentType?: string;
13
+ /** File creation timestamp */
14
+ createdAt?: string;
15
+ /** Unique identifier for the uploaded file */
16
+ id: string;
17
+ /** Additional metadata associated with the file */
18
+ metadata?: Record<string, unknown>;
19
+ /** Storage name of the file */
20
+ name?: string;
21
+ /** Original filename of the uploaded file */
22
+ originalName?: string;
23
+ /** Size of the uploaded file in bytes */
24
+ size?: number;
25
+ /** Upload status: 'completed', 'part', 'deleted', or 'created' */
26
+ status?: "completed" | "part" | "deleted" | "created";
27
+ }
28
+ /**
29
+ * Result returned after a successful file upload
30
+ * Extends FileMeta with additional client-side fields
31
+ */
32
+ export interface UploadResult extends FileMeta {
33
+ /** Original filename of the uploaded file (alias for originalName) */
34
+ filename?: string;
35
+ /** Current upload offset in bytes (TUS only) */
36
+ offset?: number;
37
+ /** URL to access the uploaded file */
38
+ url?: string;
39
+ }
40
+ /**
41
+ * Upload item state (used by internal uploader)
42
+ */
43
+ export interface UploadItem {
44
+ /** Upload progress percentage (0-100) */
45
+ completed: number;
46
+ /** Error message if upload failed */
47
+ error?: string;
48
+ /** The file being uploaded */
49
+ file: File;
50
+ /** Unique item ID */
51
+ id: string;
52
+ /** Bytes uploaded so far */
53
+ loaded: number;
54
+ /** Total file size in bytes */
55
+ size: number;
56
+ /** Upload status */
57
+ status: "pending" | "uploading" | "completed" | "error" | "aborted";
58
+ /** Upload response data */
59
+ uploadResponse?: {
60
+ data?: unknown;
61
+ response?: string;
62
+ };
63
+ /** File URL after upload */
64
+ url?: string;
65
+ }
@@ -0,0 +1,16 @@
1
+ export interface UseAbortAllOptions {
2
+ /** Upload endpoint URL (used to create uploader instance) */
3
+ endpoint: string;
4
+ /** Additional metadata to include with the upload */
5
+ metadata?: Record<string, string>;
6
+ }
7
+ export interface UseAbortAllReturn {
8
+ /** Abort all active uploads */
9
+ abortAll: () => void;
10
+ }
11
+ /**
12
+ * React hook to abort all active uploads.
13
+ * @param options Configuration options
14
+ * @returns Abort all function
15
+ */
16
+ export declare const useAbortAll: (options: UseAbortAllOptions) => UseAbortAllReturn;
@@ -0,0 +1,16 @@
1
+ export interface UseAbortBatchOptions {
2
+ /** Upload endpoint URL (used to create uploader instance) */
3
+ endpoint: string;
4
+ /** Additional metadata to include with the upload */
5
+ metadata?: Record<string, string>;
6
+ }
7
+ export interface UseAbortBatchReturn {
8
+ /** Abort a batch of uploads by batch ID */
9
+ abortBatch: (batchId: string) => void;
10
+ }
11
+ /**
12
+ * React hook to abort a batch of uploads.
13
+ * @param options Configuration options
14
+ * @returns Abort batch function
15
+ */
16
+ export declare const useAbortBatch: (options: UseAbortBatchOptions) => UseAbortBatchReturn;
@@ -0,0 +1,16 @@
1
+ export interface UseAbortItemOptions {
2
+ /** Upload endpoint URL (used to create uploader instance) */
3
+ endpoint: string;
4
+ /** Additional metadata to include with the upload */
5
+ metadata?: Record<string, string>;
6
+ }
7
+ export interface UseAbortItemReturn {
8
+ /** Abort a specific upload item by ID */
9
+ abortItem: (id: string) => void;
10
+ }
11
+ /**
12
+ * React hook to abort a specific upload item.
13
+ * @param options Configuration options
14
+ * @returns Abort function
15
+ */
16
+ export declare const useAbortItem: (options: UseAbortItemOptions) => UseAbortItemReturn;
@@ -0,0 +1,14 @@
1
+ import type { UploadItem } from "../core/uploader.d.ts";
2
+ export interface UseAllAbortListenerOptions {
3
+ /** Upload endpoint URL (used to create uploader instance) */
4
+ endpoint: string;
5
+ /** Additional metadata to include with the upload */
6
+ metadata?: Record<string, string>;
7
+ /** Callback when any item is aborted */
8
+ onAbort: (item: UploadItem) => void;
9
+ }
10
+ /**
11
+ * React hook to listen to all abort events (item aborts).
12
+ * @param options Listener configuration options
13
+ */
14
+ export declare const useAllAbortListener: (options: UseAllAbortListenerOptions) => void;
@@ -0,0 +1,14 @@
1
+ import type { BatchState } from "../core/uploader.d.ts";
2
+ export interface UseBatchCancelledListenerOptions {
3
+ /** Upload endpoint URL (used to create uploader instance) */
4
+ endpoint: string;
5
+ /** Additional metadata to include with the upload */
6
+ metadata?: Record<string, string>;
7
+ /** Callback when batch is cancelled */
8
+ onBatchCancelled: (batch: BatchState) => void;
9
+ }
10
+ /**
11
+ * React hook to listen to batch cancelled events.
12
+ * @param options Listener configuration options
13
+ */
14
+ export declare const useBatchCancelledListener: (options: UseBatchCancelledListenerOptions) => void;
@@ -0,0 +1,32 @@
1
+ export interface BatchDeleteResult {
2
+ /** Number of files that failed to delete */
3
+ failed?: number;
4
+ /** Number of files successfully deleted */
5
+ successful?: number;
6
+ }
7
+ export interface UseBatchDeleteFilesOptions {
8
+ /** Base endpoint URL for file operations */
9
+ endpoint: string;
10
+ /** Callback when request fails */
11
+ onError?: (error: Error) => void;
12
+ /** Callback when request succeeds */
13
+ onSuccess?: (result: BatchDeleteResult) => void;
14
+ }
15
+ export interface UseBatchDeleteFilesReturn {
16
+ /** Delete multiple files by IDs */
17
+ batchDeleteFiles: (ids: string[]) => Promise<BatchDeleteResult>;
18
+ /** Last request error, if any */
19
+ error: Error | undefined;
20
+ /** Whether a request is currently in progress */
21
+ isLoading: boolean;
22
+ /** Reset mutation state */
23
+ reset: () => void;
24
+ }
25
+ /**
26
+ * React hook for batch deleting files using TanStack Query.
27
+ * Supports both query parameter and JSON body methods.
28
+ * Automatically invalidates related queries.
29
+ * @param options Hook configuration options
30
+ * @returns Batch file deletion functions and state
31
+ */
32
+ export declare const useBatchDeleteFiles: (options: UseBatchDeleteFilesOptions) => UseBatchDeleteFilesReturn;
@@ -0,0 +1,14 @@
1
+ import type { BatchState } from "../core/uploader.d.ts";
2
+ export interface UseBatchErrorListenerOptions {
3
+ /** Upload endpoint URL (used to create uploader instance) */
4
+ endpoint: string;
5
+ /** Additional metadata to include with the upload */
6
+ metadata?: Record<string, string>;
7
+ /** Callback when batch encounters an error */
8
+ onBatchError: (batch: BatchState) => void;
9
+ }
10
+ /**
11
+ * React hook to listen to batch error events.
12
+ * @param options Listener configuration options
13
+ */
14
+ export declare const useBatchErrorListener: (options: UseBatchErrorListenerOptions) => void;
@@ -0,0 +1,15 @@
1
+ import type { BatchState } from "../core/uploader.d.ts";
2
+ export interface UseBatchFinalizeListenerOptions {
3
+ /** Upload endpoint URL (used to create uploader instance) */
4
+ endpoint: string;
5
+ /** Additional metadata to include with the upload */
6
+ metadata?: Record<string, string>;
7
+ /** Callback when batch finalizes (after all items complete) */
8
+ onBatchFinalize: (batch: BatchState) => void;
9
+ }
10
+ /**
11
+ * React hook to listen to batch finalize events.
12
+ * This event fires after all items in a batch have completed (successfully or with errors).
13
+ * @param options Listener configuration options
14
+ */
15
+ export declare const useBatchFinalizeListener: (options: UseBatchFinalizeListenerOptions) => void;
@@ -0,0 +1,14 @@
1
+ import type { BatchState } from "../core/uploader.d.ts";
2
+ export interface UseBatchFinishListenerOptions {
3
+ /** Upload endpoint URL (used to create uploader instance) */
4
+ endpoint: string;
5
+ /** Additional metadata to include with the upload */
6
+ metadata?: Record<string, string>;
7
+ /** Callback when batch finishes successfully */
8
+ onBatchFinish: (batch: BatchState) => void;
9
+ }
10
+ /**
11
+ * React hook to listen to batch finish events.
12
+ * @param options Listener configuration options
13
+ */
14
+ export declare const useBatchFinishListener: (options: UseBatchFinishListenerOptions) => void;
@@ -0,0 +1,14 @@
1
+ import type { BatchState } from "../core/uploader.d.ts";
2
+ export interface UseBatchProgressListenerOptions {
3
+ /** Upload endpoint URL (used to create uploader instance) */
4
+ endpoint: string;
5
+ /** Additional metadata to include with the upload */
6
+ metadata?: Record<string, string>;
7
+ /** Callback when batch progress updates */
8
+ onBatchProgress: (batch: BatchState) => void;
9
+ }
10
+ /**
11
+ * React hook to listen to batch progress events.
12
+ * @param options Listener configuration options
13
+ */
14
+ export declare const useBatchProgressListener: (options: UseBatchProgressListenerOptions) => void;
@@ -0,0 +1,16 @@
1
+ export interface UseBatchRetryOptions {
2
+ /** Upload endpoint URL (used to create uploader instance) */
3
+ endpoint: string;
4
+ /** Additional metadata to include with the upload */
5
+ metadata?: Record<string, string>;
6
+ }
7
+ export interface UseBatchRetryReturn {
8
+ /** Retry all failed items in a batch */
9
+ retryBatch: (batchId: string) => void;
10
+ }
11
+ /**
12
+ * React hook to retry all failed items in a batch.
13
+ * @param options Configuration options
14
+ * @returns Retry batch function
15
+ */
16
+ export declare const useBatchRetry: (options: UseBatchRetryOptions) => UseBatchRetryReturn;
@@ -0,0 +1,14 @@
1
+ import type { BatchState } from "../core/uploader.d.ts";
2
+ export interface UseBatchStartListenerOptions {
3
+ /** Upload endpoint URL (used to create uploader instance) */
4
+ endpoint: string;
5
+ /** Additional metadata to include with the upload */
6
+ metadata?: Record<string, string>;
7
+ /** Callback when batch starts */
8
+ onBatchStart: (batch: BatchState) => void;
9
+ }
10
+ /**
11
+ * React hook to listen to batch start events.
12
+ * @param options Listener configuration options
13
+ */
14
+ export declare const useBatchStartListener: (options: UseBatchStartListenerOptions) => void;
@@ -0,0 +1,42 @@
1
+ import type { UploadItem } from "../core/uploader.d.ts";
2
+ import type { UploadResult } from "./types.d.ts";
3
+ export interface UseBatchUploadOptions {
4
+ /** Upload endpoint URL */
5
+ endpoint: string;
6
+ /** Additional metadata to include with the upload */
7
+ metadata?: Record<string, string>;
8
+ /** Callback when batch fails */
9
+ onError?: (error: Error, batchId: string) => void;
10
+ /** Callback when batch progress updates */
11
+ onProgress?: (progress: number, batchId: string) => void;
12
+ /** Callback when batch starts */
13
+ onStart?: (batchId: string) => void;
14
+ /** Callback when batch completes successfully */
15
+ onSuccess?: (results: UploadResult[], batchId: string) => void;
16
+ }
17
+ export interface UseBatchUploadReturn {
18
+ /** Abort a specific batch */
19
+ abortBatch: (batchId: string) => void;
20
+ /** Number of completed items in current batch */
21
+ completedCount: number;
22
+ /** Last batch error, if any */
23
+ error: Error | undefined;
24
+ /** Number of failed items in current batch */
25
+ errorCount: number;
26
+ /** Whether a batch is currently uploading */
27
+ isUploading: boolean;
28
+ /** All upload items in current batch */
29
+ items: UploadItem[];
30
+ /** Current batch progress (0-100) */
31
+ progress: number;
32
+ /** Reset batch state */
33
+ reset: () => void;
34
+ /** Upload multiple files as a batch */
35
+ uploadBatch: (files: File[]) => string[];
36
+ }
37
+ /**
38
+ * React hook for batch file uploads using multipart/form-data.
39
+ * @param options Upload configuration options
40
+ * @returns Batch upload functions and state
41
+ */
42
+ export declare const useBatchUpload: (options: UseBatchUploadOptions) => UseBatchUploadReturn;
@@ -0,0 +1,55 @@
1
+ import type { UploadResult } from "./types.d.ts";
2
+ export interface UseChunkedRestUploadOptions {
3
+ /** Chunk size for chunked REST uploads (default: 5MB) */
4
+ chunkSize?: number;
5
+ /** Chunked REST upload endpoint URL */
6
+ endpoint: string;
7
+ /** Maximum number of retry attempts */
8
+ maxRetries?: number;
9
+ /** Additional metadata to include with the upload */
10
+ metadata?: Record<string, string>;
11
+ /** Callback when upload fails */
12
+ onError?: (error: Error) => void;
13
+ /** Callback when upload is paused */
14
+ onPause?: () => void;
15
+ /** Callback when upload progress updates */
16
+ onProgress?: (progress: number, offset: number) => void;
17
+ /** Callback when upload is resumed */
18
+ onResume?: () => void;
19
+ /** Callback when upload starts */
20
+ onStart?: () => void;
21
+ /** Callback when upload completes successfully */
22
+ onSuccess?: (file: UploadResult) => void;
23
+ /** Enable automatic retry on failure */
24
+ retry?: boolean;
25
+ }
26
+ export interface UseChunkedRestUploadReturn {
27
+ /** Abort the current upload */
28
+ abort: () => void;
29
+ /** Last upload error, if any */
30
+ error: Error | undefined;
31
+ /** Whether the upload is paused */
32
+ isPaused: boolean;
33
+ /** Whether an upload is currently in progress */
34
+ isUploading: boolean;
35
+ /** Current upload offset (bytes uploaded) */
36
+ offset: number;
37
+ /** Pause the current upload */
38
+ pause: () => void;
39
+ /** Current upload progress (0-100) */
40
+ progress: number;
41
+ /** Reset upload state */
42
+ reset: () => void;
43
+ /** Last upload result, if any */
44
+ result: UploadResult | undefined;
45
+ /** Resume a paused upload */
46
+ resume: () => Promise<void>;
47
+ /** Upload a file using chunked REST protocol */
48
+ upload: (file: File) => Promise<UploadResult>;
49
+ }
50
+ /**
51
+ * React hook for chunked REST file uploads.
52
+ * @param options Upload configuration options
53
+ * @returns Upload functions and state
54
+ */
55
+ export declare const useChunkedRestUpload: (options: UseChunkedRestUploadOptions) => UseChunkedRestUploadReturn;
@@ -0,0 +1,25 @@
1
+ export interface UseDeleteFileOptions {
2
+ /** Base endpoint URL for file operations */
3
+ endpoint: string;
4
+ /** Callback when request fails */
5
+ onError?: (error: Error) => void;
6
+ /** Callback when request succeeds */
7
+ onSuccess?: () => void;
8
+ }
9
+ export interface UseDeleteFileReturn {
10
+ /** Delete a file by ID */
11
+ deleteFile: (id: string) => Promise<void>;
12
+ /** Last request error, if any */
13
+ error: Error | undefined;
14
+ /** Whether a request is currently in progress */
15
+ isLoading: boolean;
16
+ /** Reset mutation state */
17
+ reset: () => void;
18
+ }
19
+ /**
20
+ * React hook for deleting a single file using TanStack Query.
21
+ * Automatically invalidates related queries.
22
+ * @param options Hook configuration options
23
+ * @returns File deletion functions and state
24
+ */
25
+ export declare const useDeleteFile: (options: UseDeleteFileOptions) => UseDeleteFileReturn;
@@ -0,0 +1,32 @@
1
+ export interface UseFileInputOptions {
2
+ /** Accept file types (e.g., "image/*", ".pdf") */
3
+ accept?: string;
4
+ /** Whether to allow multiple file selection */
5
+ multiple?: boolean;
6
+ /** Callback when files are selected */
7
+ onFilesSelected?: (files: File[]) => void;
8
+ }
9
+ export interface UseFileInputReturn {
10
+ /** Currently selected files */
11
+ files: File[];
12
+ /** Handle drag leave event */
13
+ handleDragLeave: (event: React.DragEvent<HTMLElement>) => void;
14
+ /** Handle drag and drop events */
15
+ handleDragOver: (event: React.DragEvent<HTMLElement>) => void;
16
+ /** Handle drop event */
17
+ handleDrop: (event: React.DragEvent<HTMLElement>) => void;
18
+ /** Handle file input change event */
19
+ handleFileChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
20
+ /** File input element ref */
21
+ inputRef: React.RefObject<HTMLInputElement | null>;
22
+ /** Open file dialog programmatically */
23
+ openFileDialog: () => void;
24
+ /** Reset selected files */
25
+ reset: () => void;
26
+ }
27
+ /**
28
+ * React hook for file input handling with drag & drop support.
29
+ * @param options Configuration options
30
+ * @returns File input functions and state
31
+ */
32
+ export declare const useFileInput: (options?: UseFileInputOptions) => UseFileInputReturn;