@visulima/storage-client 1.0.0-alpha.1 → 1.0.0-alpha.11

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 (90) hide show
  1. package/CHANGELOG.md +125 -2
  2. package/LICENSE.md +1 -1
  3. package/README.md +271 -14
  4. package/dist/index.js +1 -1
  5. package/dist/packem_shared/{createAbortAll-B5vFFliA.js → createAbortAll-CIaZJY9f.js} +1 -1
  6. package/dist/packem_shared/{createAbortAll-D-x-LWNg.js → createAbortAll-D3DlfIUX.js} +1 -1
  7. package/dist/packem_shared/{createAbortBatch-CYtSbWfz.js → createAbortBatch-CYc_weio.js} +1 -1
  8. package/dist/packem_shared/{createAbortBatch-zA0PTnOB.js → createAbortBatch-r3kaxuh8.js} +1 -1
  9. package/dist/packem_shared/{createAbortItem-0f0bigbq.js → createAbortItem-CDuIUi-c.js} +1 -1
  10. package/dist/packem_shared/{createAbortItem-CIRlRD4X.js → createAbortItem-Dvd4L_J4.js} +1 -1
  11. package/dist/packem_shared/{createAllAbortListener-CYLEWan0.js → createAllAbortListener-BehqWMv-.js} +1 -1
  12. package/dist/packem_shared/{createAllAbortListener-CDrnG87k.js → createAllAbortListener-DWB1otpM.js} +1 -1
  13. package/dist/packem_shared/{createBatchCancelledListener-l9c0mi15.js → createBatchCancelledListener-BXElG-Zl.js} +1 -1
  14. package/dist/packem_shared/{createBatchCancelledListener-Deq8lrIn.js → createBatchCancelledListener-c6KcP08b.js} +1 -1
  15. package/dist/packem_shared/{createBatchErrorListener-CGJPEngL.js → createBatchErrorListener-DFJkCUjM.js} +1 -1
  16. package/dist/packem_shared/{createBatchErrorListener-CJQFdXW2.js → createBatchErrorListener-Qe8LXCAz.js} +1 -1
  17. package/dist/packem_shared/{createBatchFinalizeListener-B2rEps7g.js → createBatchFinalizeListener-C-VHli8S.js} +1 -1
  18. package/dist/packem_shared/{createBatchFinalizeListener-Og0rELSL.js → createBatchFinalizeListener-Dd2Fiw8Z.js} +1 -1
  19. package/dist/packem_shared/{createBatchFinishListener-D9AOd6Cl.js → createBatchFinishListener-DZHov2gR.js} +1 -1
  20. package/dist/packem_shared/{createBatchFinishListener-BeE6-b6E.js → createBatchFinishListener-m7KNLv_1.js} +1 -1
  21. package/dist/packem_shared/{createBatchProgressListener-1KpCpw7e.js → createBatchProgressListener-C6EL7w7m.js} +1 -1
  22. package/dist/packem_shared/{createBatchProgressListener-BWW_tnse.js → createBatchProgressListener-DXfegOiX.js} +1 -1
  23. package/dist/packem_shared/{createBatchRetry-6E_Ivzh4.js → createBatchRetry-BnTMC2im.js} +1 -1
  24. package/dist/packem_shared/{createBatchRetry-D_F4v9oA.js → createBatchRetry-DssYfupW.js} +1 -1
  25. package/dist/packem_shared/{createBatchStartListener-DBHjoANG.js → createBatchStartListener-D9gG-BHX.js} +1 -1
  26. package/dist/packem_shared/{createBatchStartListener-CkcMX3tq.js → createBatchStartListener-e0RcceTB.js} +1 -1
  27. package/dist/packem_shared/{createBatchUpload-8yahZiID.js → createBatchUpload-BAhrDNle.js} +1 -1
  28. package/dist/packem_shared/{createBatchUpload-DWcVWF9h.js → createBatchUpload-DCzjYF4B.js} +1 -1
  29. package/dist/packem_shared/{createGetFileList-DGZQymc5.js → createGetFileList-DZHiTR4D.js} +1 -1
  30. package/dist/packem_shared/{createHeadFile-DYb9FeQ1.js → createHeadFile-DHJXsk3i.js} +1 -1
  31. package/dist/packem_shared/{createHeadFile-CGD6bHDS.js → createHeadFile-DR8CwK_B.js} +1 -1
  32. package/dist/packem_shared/{createMultipartAdapter-CoJpvX9z.js → createMultipartAdapter-BNppwu8z.js} +1 -1
  33. package/dist/packem_shared/{createMultipartUpload-CTats5BN.js → createMultipartUpload-BMu5EO-f.js} +1 -1
  34. package/dist/packem_shared/{createMultipartUpload-DF3XyOX3.js → createMultipartUpload-D5jXlOpN.js} +1 -1
  35. package/dist/packem_shared/{createPutFile-DJraow7z.js → createPutFile-C95UgrTJ.js} +1 -1
  36. package/dist/packem_shared/{createRetry-DPaN9i_a.js → createRetry-2YY79v45.js} +1 -1
  37. package/dist/packem_shared/{createRetry-D_fXIQUj.js → createRetry-DOYZZbrG.js} +1 -1
  38. package/dist/packem_shared/{createRetryListener-DonB2P-g.js → createRetryListener-CW4sOuow.js} +1 -1
  39. package/dist/packem_shared/{createRetryListener-bMqMm13Y.js → createRetryListener-ISvMl_3n.js} +1 -1
  40. package/dist/packem_shared/{createTransformFile-C2fVfiwL.js → createTransformFile-BlttN909.js} +1 -1
  41. package/dist/packem_shared/{createTusAdapter-DM31lujI.js → createTusAdapter-CIQM8UR2.js} +1 -1
  42. package/dist/packem_shared/{createTusUpload-ClmXqmcz.js → createTusUpload-60ceH2dH.js} +1 -1
  43. package/dist/packem_shared/{createTusUpload-BoM0S0Or.js → createTusUpload-DiGPefD0.js} +1 -1
  44. package/dist/packem_shared/{createUpload-LRQ4N_cF.js → createUpload-hMh93Gt9.js} +1 -1
  45. package/dist/packem_shared/{createUpload-CuZqq0nu.js → createUpload-zv3qcpf1.js} +1 -1
  46. package/dist/packem_shared/createUploader-DzBPRYBP.js +1 -0
  47. package/dist/packem_shared/{useAbortAll-DrHBz3kQ.js → useAbortAll-BQ8eXNKW.js} +1 -1
  48. package/dist/packem_shared/{useAbortAll-DeTTc8gX.js → useAbortAll-Dwl12wn5.js} +1 -1
  49. package/dist/packem_shared/{useAbortBatch-gVI48Gqa.js → useAbortBatch-CZpDT_VG.js} +1 -1
  50. package/dist/packem_shared/{useAbortBatch-BoXLZH9d.js → useAbortBatch-CyHnX3HT.js} +1 -1
  51. package/dist/packem_shared/{useAbortItem-Blw0eI13.js → useAbortItem-D-5h_Oyx.js} +1 -1
  52. package/dist/packem_shared/{useAbortItem-DOVDiZFG.js → useAbortItem-D_F-QSoR.js} +1 -1
  53. package/dist/packem_shared/{useAllAbortListener-CadZ6Ohd.js → useAllAbortListener-BTmWEsU9.js} +1 -1
  54. package/dist/packem_shared/{useAllAbortListener-DiliYPra.js → useAllAbortListener-XvIsxprv.js} +1 -1
  55. package/dist/packem_shared/{useBatchCancelledListener-CD0CULd_.js → useBatchCancelledListener-C0LDRfcv.js} +1 -1
  56. package/dist/packem_shared/{useBatchCancelledListener-CADhAnT8.js → useBatchCancelledListener-CYR2wnxk.js} +1 -1
  57. package/dist/packem_shared/{useBatchErrorListener-C3KwlH_D.js → useBatchErrorListener-B_6NFnd9.js} +1 -1
  58. package/dist/packem_shared/{useBatchErrorListener-D-M1xGbQ.js → useBatchErrorListener-Czidx586.js} +1 -1
  59. package/dist/packem_shared/{useBatchFinalizeListener-CuVe9PGl.js → useBatchFinalizeListener-CHCTeAHu.js} +1 -1
  60. package/dist/packem_shared/{useBatchFinalizeListener-BjnW3Lst.js → useBatchFinalizeListener-DPMYtpeD.js} +1 -1
  61. package/dist/packem_shared/{useBatchFinishListener-DedP4Rm_.js → useBatchFinishListener-BU_oqITL.js} +1 -1
  62. package/dist/packem_shared/{useBatchFinishListener-4RjAPVhl.js → useBatchFinishListener-C757MrUE.js} +1 -1
  63. package/dist/packem_shared/{useBatchProgressListener-CBAjGzmu.js → useBatchProgressListener-DLvO3sOl.js} +1 -1
  64. package/dist/packem_shared/{useBatchProgressListener-CoYeF3Zj.js → useBatchProgressListener-VgV-UnUC.js} +1 -1
  65. package/dist/packem_shared/{useBatchRetry-C53msBuL.js → useBatchRetry-DPDRWaAZ.js} +1 -1
  66. package/dist/packem_shared/{useBatchRetry-CAqFm7V8.js → useBatchRetry-DgtOIHZS.js} +1 -1
  67. package/dist/packem_shared/{useBatchStartListener-BAOxxo1Y.js → useBatchStartListener-BtJWkFZl.js} +1 -1
  68. package/dist/packem_shared/{useBatchStartListener-DwAzFph7.js → useBatchStartListener-VhNPXaew.js} +1 -1
  69. package/dist/packem_shared/{useBatchUpload-xPQlYOIK.js → useBatchUpload-DQPzqa6X.js} +1 -1
  70. package/dist/packem_shared/{useBatchUpload-DLQNW410.js → useBatchUpload-OtoOJPyD.js} +1 -1
  71. package/dist/packem_shared/useChunkedRestUpload-ByEGSmgy.js +1 -0
  72. package/dist/packem_shared/{useMultipartUpload-CIp4NLzf.js → useMultipartUpload-CIZ1b2I0.js} +1 -1
  73. package/dist/packem_shared/{useMultipartUpload-B9Vi7f5z.js → useMultipartUpload-DmdEn3r3.js} +1 -1
  74. package/dist/packem_shared/{useRetry-Dsq4jvkt.js → useRetry-BKB7OLhh.js} +1 -1
  75. package/dist/packem_shared/{useRetry-mkTUERYR.js → useRetry-CrCiJNIu.js} +1 -1
  76. package/dist/packem_shared/{useRetryListener-B45dL00Q.js → useRetryListener-CnCl5adt.js} +1 -1
  77. package/dist/packem_shared/{useRetryListener-BEONt1sx.js → useRetryListener-DJuOCZP7.js} +1 -1
  78. package/dist/packem_shared/{useTransformFile-sIkJLAwo.js → useTransformFile-weII4bx_.js} +1 -1
  79. package/dist/packem_shared/{useTusUpload-Cn1UeWo4.js → useTusUpload-BkaFKsSN.js} +1 -1
  80. package/dist/packem_shared/useTusUpload-CNRlzFRm.js +1 -0
  81. package/dist/packem_shared/{useUpload-B_RxNnHC.js → useUpload-DHgLmMri.js} +1 -1
  82. package/dist/packem_shared/{useUpload-CjLWLpyn.js → useUpload-hVpmaxT3.js} +1 -1
  83. package/dist/react/index.js +1 -1
  84. package/dist/solid/index.js +1 -1
  85. package/dist/svelte/index.js +1 -1
  86. package/dist/vue/index.js +1 -1
  87. package/package.json +4 -4
  88. package/dist/packem_shared/createUploader-B_IjjBxw.js +0 -1
  89. package/dist/packem_shared/useChunkedRestUpload-cKHvYQN3.js +0 -1
  90. package/dist/packem_shared/useTusUpload-CDRjQl0e.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,10 +1,133 @@
1
- ## @visulima/storage-client 1.0.0-alpha.1 (2025-12-01)
1
+ ## @visulima/storage-client [1.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.10...@visulima/storage-client@1.0.0-alpha.11) (2026-04-15)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **storage-client:** exclude tests from tsconfig include ([438ab1d](https://github.com/visulima/visulima/commit/438ab1d8da0407e9dfa8010a7ce3446a9c402ba1))
6
+
7
+ ### Code Refactoring
8
+
9
+ * **storage:** format code with prettier ([21477ce](https://github.com/visulima/visulima/commit/21477ce4354f83f68fbcbd11e07621e3329357e2))
10
+
11
+ ## @visulima/storage-client [1.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.9...@visulima/storage-client@1.0.0-alpha.10) (2026-04-08)
12
+
13
+ ### Bug Fixes
14
+
15
+ * remove deprecated baseUrl and downlevelIteration from tsconfigs ([a708366](https://github.com/visulima/visulima/commit/a708366b5c3bc73cfde480a712ed397bd921fb93))
16
+
17
+ ### Miscellaneous Chores
18
+
19
+ * **storage-client:** add tsconfig.eslint.json for type-aware linting ([1186874](https://github.com/visulima/visulima/commit/1186874ad63ee5425715cc4d3b6478f0ea0a40a9))
20
+ * **storage-client:** apply prettier formatting ([276d731](https://github.com/visulima/visulima/commit/276d731dc9a4acc60522c65dc8cf4ec6095beaa5))
21
+ * **storage-client:** migrate .prettierrc.cjs to prettier.config.js ([e4e463b](https://github.com/visulima/visulima/commit/e4e463b3a2246062891db1a4bcbc967781e0e14f))
22
+ * **storage:** remove empty dependency objects from package.json ([ddfeb08](https://github.com/visulima/visulima/commit/ddfeb08fd392ad2553a1ce833dd331540ecc8b09))
23
+
24
+ ## @visulima/storage-client [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.8...@visulima/storage-client@1.0.0-alpha.9) (2026-03-26)
2
25
 
3
26
  ### Features
4
27
 
5
- * new storage and storage-client package ([#574](https://github.com/visulima/visulima/issues/574)) ([33db3c1](https://github.com/visulima/visulima/commit/33db3c1ebb5718f4e2c1228b5a53d3b901bb1383))
28
+ * **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
29
+
30
+ ## @visulima/storage-client [1.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.7...@visulima/storage-client@1.0.0-alpha.8) (2026-03-26)
31
+
32
+ ### Bug Fixes
33
+
34
+ * **docs:** correct code examples found during verification ([8e4f8c4](https://github.com/visulima/visulima/commit/8e4f8c4b0b1664c232fe5ae721b771c72d29a152))
35
+ * **storage-client:** guard setInterval against unmounted component and migrate deps to pnpm catalogs ([a6618bc](https://github.com/visulima/visulima/commit/a6618bc7b3f866592a73ba79bf310ffe272f253a))
36
+ * **storage-client:** resolve TanStack Query v5.94+ source-only packages in tests ([1c1b39f](https://github.com/visulima/visulima/commit/1c1b39fd4b259768ffd5b18eb676a146ce5bfb40))
37
+ * updated deps and migrated web app build deps to pnpm catalog ([dd4f515](https://github.com/visulima/visulima/commit/dd4f5153a07d0e46de0b3fc091878d66bb70f2d3))
38
+ * **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
39
+
40
+ ### Documentation
41
+
42
+ * add missing documentation pages for email, string, and storage-client ([623f8af](https://github.com/visulima/visulima/commit/623f8afd2ea03dd2805fb2d7a9d10083571224bb))
43
+
44
+ ### Miscellaneous Chores
45
+
46
+ * **storage-client:** update dependencies ([7976708](https://github.com/visulima/visulima/commit/7976708758d06d3424a0a659b7f074cd25f9b1b9))
47
+ * visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
48
+
49
+ ### Code Refactoring
50
+
51
+ * **storage-client:** replace vite-tsconfig-paths with native Vite 8 resolve.tsconfigPaths ([7d528f1](https://github.com/visulima/visulima/commit/7d528f1a6d3b1b9ec93c891e89af7bdbf78d090c))
52
+
53
+ ## @visulima/storage-client [1.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.6...@visulima/storage-client@1.0.0-alpha.7) (2026-03-06)
54
+
55
+ ### Bug Fixes
56
+
57
+ * **storage-client:** update packem to 2.0.0-alpha.54 ([98984dd](https://github.com/visulima/visulima/commit/98984dd6f3c9d7b007a4ae723d80f27cd1cce1cc))
58
+
59
+ ### Miscellaneous Chores
60
+
61
+ * **storage-client:** update dependencies ([df3b47d](https://github.com/visulima/visulima/commit/df3b47dc7d961dd242b460384cbb26f91048548f))
62
+ * year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
63
+
64
+ ## @visulima/storage-client [1.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.5...@visulima/storage-client@1.0.0-alpha.6) (2026-02-16)
65
+
66
+ ### Bug Fixes
67
+
68
+ * **storage-client:** prevent state updates after component unmount in useTusUpload ([e40716e](https://github.com/visulima/visulima/commit/e40716e3389c63c609b9f0464e1fad6959d69e20))
69
+
70
+ ### Miscellaneous Chores
71
+
72
+ * **storage:** update dependencies ([f591768](https://github.com/visulima/visulima/commit/f591768de337c1b201191e4b78dd7e3fb79ca42b))
73
+ * update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
74
+
75
+ ## @visulima/storage-client [1.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.4...@visulima/storage-client@1.0.0-alpha.5) (2026-01-17)
76
+
77
+ ### Bug Fixes
78
+
79
+ * added removed Svelte ([d78857a](https://github.com/visulima/visulima/commit/d78857a4b62020a38db38db568ebe54fc9bf7b05))
80
+
81
+ ### Miscellaneous Chores
82
+
83
+ * **storage-client:** update dependencies ([733b7b3](https://github.com/visulima/visulima/commit/733b7b3f929114e769436633ceb9b4923a289257))
84
+
85
+ ## @visulima/storage-client [1.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.3...@visulima/storage-client@1.0.0-alpha.4) (2025-12-27)
86
+
87
+ ### Bug Fixes
88
+
89
+ * **storage-client:** update @testing-library/svelte to version 5.3.1 and improve README for Svelte support ([43e8ea5](https://github.com/visulima/visulima/commit/43e8ea5b01399d5dd0f98882629bceedd411e710))
90
+ * **storage-client:** update package files ([ba9d079](https://github.com/visulima/visulima/commit/ba9d079a5b25169e88836fd23af13796250452b1))
91
+
92
+ ### Miscellaneous Chores
93
+
94
+ * **dependencies:** update file-type to version 21.2.0, hono to version 4.11.3, and improve README for storage-client with detailed usage examples ([90bebfa](https://github.com/visulima/visulima/commit/90bebfa9b732afd8d80c133ca0636192b8496801))
95
+ * fixed project.json names and schema path ([964722f](https://github.com/visulima/visulima/commit/964722f691db205c7edb9aa6db29e849a647500b))
96
+
97
+ ## @visulima/storage-client [1.0.0-alpha.3](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.2...@visulima/storage-client@1.0.0-alpha.3) (2025-12-11)
98
+
99
+ ### Bug Fixes
100
+
101
+ * update package OG images across multiple packages ([f08e4dd](https://github.com/visulima/visulima/commit/f08e4dd2b105ccb29c8412020a9c2be36d6c1e9e))
102
+
103
+ ## @visulima/storage-client [1.0.0-alpha.2](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.1...@visulima/storage-client@1.0.0-alpha.2) (2025-12-06)
104
+
105
+ ### Bug Fixes
106
+
107
+ * add new package image, fixed readme rendering on npm, fixed building of packages ([b790ba2](https://github.com/visulima/visulima/commit/b790ba253ea07fef83528fd822a678facf021b5f))
108
+
109
+ ### Miscellaneous Chores
110
+
111
+ * **release:** @visulima/storage-client@1.0.0-alpha.1 [skip ci]\n\n## @visulima/storage-client 1.0.0-alpha.1 (2025-12-05) ([9145099](https://github.com/visulima/visulima/commit/9145099002a34b52837b39172507108ebe7a8756))
112
+ * **release:** @visulima/storage-client@1.0.0-alpha.1 [skip ci]\n\n## @visulima/storage-client 1.0.0-alpha.1 (2025-12-05) ([719c655](https://github.com/visulima/visulima/commit/719c655552f3543f7cf787f676043efec314692a))
113
+ * update @anolilab/semantic-release-pnpm and @anolilab/semantic-release-preset to versions 3.2.2 and 12.1.2 across multiple package.json files for improved compatibility ([3921626](https://github.com/visulima/visulima/commit/3921626141fe5da398749bf0ba675f1596f18afb))
114
+ * update CHANGELOG.md to remove duplicate entries and streamline release notes for @visulima/storage-client ([3358ac0](https://github.com/visulima/visulima/commit/3358ac0199534efdebf5b86faa1852bd064f362f))
115
+
116
+ ## @visulima/storage-client 1.0.0-alpha.1 (2025-12-05)
117
+
118
+ ### ⚠ BREAKING CHANGES
119
+
120
+ * change min node version to 22.13
121
+
122
+ ### Bug Fixes
123
+
124
+ * update Node.js engine version requirement to >=22.13 in multiple package.json files for improved compatibility ([b828e9a](https://github.com/visulima/visulima/commit/b828e9aeaebfc798eecddccd90e6ec7560c6d36a))
6
125
 
7
126
  ### Miscellaneous Chores
8
127
 
128
+ * moved all packages into groups ([0615e9d](https://github.com/visulima/visulima/commit/0615e9d14a8a886e11da529ce150cf31ca973c10))
129
+ * **release:** @visulima/storage-client@1.0.0-alpha.1 [skip ci]\n\n## @visulima/storage-client 1.0.0-alpha.1 (2025-12-04) ([d2baf1c](https://github.com/visulima/visulima/commit/d2baf1cb65b9c3bc2b892c91eb25f2097a8b52b9))
130
+ * **release:** @visulima/storage-client@1.0.0-alpha.1 [skip ci]\n\n## @visulima/storage-client 1.0.0-alpha.1 (2025-12-05) ([719c655](https://github.com/visulima/visulima/commit/719c655552f3543f7cf787f676043efec314692a))
131
+ * update dependencies across multiple packages to improve compatibility and performance, including upgrading `@anolilab/semantic-release-pnpm` and `@anolilab/semantic-release-preset` to versions 3.2.0 and 12.1.0 respectively, and updating `react`, `react-dom`, and `next` versions to 19.2.1 and 16.0.7 in various package.json files ([aee8fcd](https://github.com/visulima/visulima/commit/aee8fcd796ae9b8d055903260e7150996ea9f53d))
9
132
  * update @visulima/packem version to 2.0.0-alpha.40 across multiple packages ([e5be373](https://github.com/visulima/visulima/commit/e5be373fef8f8dda20c1dee7a1ac30d9b7a7712e))
10
133
  * update package dependencies and versions across multiple packages ([9a9ac80](https://github.com/visulima/visulima/commit/9a9ac8046f7138cf37bec9e2041bc2125e97f212))
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 visulima
3
+ Copyright (c) 2026 visulima
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,15 +1,24 @@
1
- <div align="center">
2
- <h3>visulima storage-client</h3>
3
- <p>
4
- &quot;The upload client library. Simple and easy file uploads for React | Vue | Solid | .
5
- </p>
6
- </div>
1
+ <!-- START_PACKAGE_OG_IMAGE_PLACEHOLDER -->
2
+
3
+ <a href="https://www.anolilab.com/open-source" align="center">
4
+
5
+ <img src="__assets__/package-og.svg" alt="storage-client" />
6
+
7
+ </a>
8
+
9
+ <h3 align="center">The upload client library. Simple and easy file uploads for React | Vue | Solid | Svelte.</h3>
10
+
11
+ <!-- END_PACKAGE_OG_IMAGE_PLACEHOLDER -->
7
12
 
8
13
  <br />
9
14
 
10
15
  <div align="center">
11
16
 
12
- [![typescript-image]][typescript-url] [![npm-image]][npm-url] [![license-image]][license-url]
17
+ [![typescript-image][typescript-badge]][typescript-url]
18
+ [![mit licence][license-badge]][license]
19
+ [![npm downloads][npm-downloads-badge]][npm-downloads]
20
+ [![Chat][chat-badge]][chat]
21
+ [![PRs Welcome][prs-welcome-badge]][prs-welcome]
13
22
 
14
23
  </div>
15
24
 
@@ -39,10 +48,248 @@ yarn add @visulima/storage-client
39
48
  pnpm add @visulima/storage-client
40
49
  ```
41
50
 
51
+ ## Description
52
+
53
+ The Visulima Storage Client is a powerful, framework-agnostic library for handling file uploads in modern web applications. It provides a unified API across React, Vue, Nuxt, Solid, and Svelte with support for multiple upload methods, progress tracking, retry mechanisms, and batch operations.
54
+
55
+ ## Features
56
+
57
+ - **Framework Support** - First-class support for React, Vue/Nuxt, Solid, and Svelte
58
+ - **Multiple Upload Methods** - Multipart (form-based), TUS (resumable), and chunked REST uploads
59
+ - **Auto-detection** - Automatically selects the best upload method based on file size and available endpoints
60
+ - **Progress Tracking** - Real-time upload progress with percentage and byte-level tracking
61
+ - **Batch Operations** - Upload multiple files simultaneously with batch progress tracking
62
+ - **Retry Mechanism** - Built-in retry with exponential backoff for failed uploads
63
+ - **File Management** - Get, list, delete files with full metadata support
64
+ - **TypeScript Ready** - Full TypeScript support with comprehensive type definitions
65
+ - **TanStack Query Integration** - Built on TanStack Query for powerful caching and state management
66
+ - **Drag & Drop Support** - Built-in file input hooks with drag & drop functionality
67
+ - **Paste Upload** - Support for pasting images from clipboard
68
+ - **Transform Support** - Transform files and metadata on upload
69
+ - **Abort Control** - Cancel uploads at any time with abort functionality
70
+
71
+ ## Prerequisites
72
+
73
+ The storage client requires TanStack Query (formerly React Query) for state management. You'll need to install the appropriate version for your framework:
74
+
75
+ - **React**: `@tanstack/react-query` >= 5.90.10
76
+ - **Vue**: `@tanstack/vue-query` >= 5.91.2
77
+ - **Solid**: `@tanstack/solid-query` >= 5.90.13
78
+ - **Svelte**: `@tanstack/svelte-query` >= 6.0.8
79
+
42
80
  ## Usage
43
81
 
82
+ ### React
83
+
84
+ ```tsx
85
+ import { useUpload } from "@visulima/storage-client/react";
86
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
87
+
88
+ const queryClient = new QueryClient();
89
+
90
+ function App() {
91
+ return (
92
+ <QueryClientProvider client={queryClient}>
93
+ <UploadComponent />
94
+ </QueryClientProvider>
95
+ );
96
+ }
97
+
98
+ function UploadComponent() {
99
+ const { upload, progress, isUploading, error, result } = useUpload({
100
+ endpointMultipart: "/api/upload/multipart",
101
+ onSuccess: (result) => console.log("Upload successful:", result),
102
+ });
103
+
104
+ const handleFileChange = async (e: React.ChangeEvent<HTMLInputElement>) => {
105
+ const file = e.target.files?.[0];
106
+ if (file) {
107
+ await upload(file);
108
+ }
109
+ };
110
+
111
+ return (
112
+ <div>
113
+ <input type="file" onChange={handleFileChange} />
114
+ {isUploading && <div>Progress: {progress}%</div>}
115
+ {error && <div>Error: {error.message}</div>}
116
+ {result && <div>File ID: {result.id}</div>}
117
+ </div>
118
+ );
119
+ }
120
+ ```
121
+
122
+ ### Vue / Nuxt
123
+
124
+ ```vue
125
+ <template>
126
+ <div>
127
+ <input type="file" @change="handleFileChange" />
128
+ <div v-if="isUploading">Progress: {{ progress }}%</div>
129
+ <div v-if="error">Error: {{ error.message }}</div>
130
+ <div v-if="result">File ID: {{ result.id }}</div>
131
+ </div>
132
+ </template>
133
+
134
+ <script setup lang="ts">
135
+ import { useUpload } from "@visulima/storage-client/vue";
136
+
137
+ const { upload, progress, isUploading, error, result } = useUpload({
138
+ endpointMultipart: "/api/upload/multipart",
139
+ });
140
+
141
+ const handleFileChange = async (e: Event) => {
142
+ const target = e.target as HTMLInputElement;
143
+ const file = target.files?.[0];
144
+ if (file) {
145
+ await upload(file);
146
+ }
147
+ };
148
+ </script>
149
+ ```
150
+
151
+ ### Solid
152
+
153
+ ```tsx
154
+ import { createUpload } from "@visulima/storage-client/solid";
155
+ import { QueryClient, QueryClientProvider } from "@tanstack/solid-query";
156
+
157
+ const queryClient = new QueryClient();
158
+
159
+ function App() {
160
+ return (
161
+ <QueryClientProvider client={queryClient}>
162
+ <UploadComponent />
163
+ </QueryClientProvider>
164
+ );
165
+ }
166
+
167
+ function UploadComponent() {
168
+ const { upload, progress, isUploading, error, result } = createUpload({
169
+ endpointMultipart: "/api/upload/multipart",
170
+ });
171
+
172
+ const handleFileChange = async (e: Event) => {
173
+ const target = e.target as HTMLInputElement;
174
+ const file = target.files?.[0];
175
+ if (file) {
176
+ await upload(file);
177
+ }
178
+ };
179
+
180
+ return (
181
+ <div>
182
+ <input type="file" onChange={handleFileChange} />
183
+ {isUploading() && <div>Progress: {progress()}%</div>}
184
+ {error() && <div>Error: {error()?.message}</div>}
185
+ {result() && <div>File ID: {result()?.id}</div>}
186
+ </div>
187
+ );
188
+ }
189
+ ```
190
+
191
+ ### Svelte
192
+
193
+ ```svelte
194
+ <script lang="ts">
195
+ import { createUpload } from "@visulima/storage-client/svelte";
196
+ import { QueryClient, QueryClientProvider } from "@tanstack/svelte-query";
197
+
198
+ const queryClient = new QueryClient();
199
+
200
+ const { upload, progress, isUploading, error, result } = createUpload({
201
+ endpointMultipart: "/api/upload/multipart",
202
+ });
203
+
204
+ async function handleFileChange(e: Event) {
205
+ const target = e.target as HTMLInputElement;
206
+ const file = target.files?.[0];
207
+ if (file) {
208
+ await upload(file);
209
+ }
210
+ }
211
+ </script>
212
+
213
+ <QueryClientProvider client={queryClient}>
214
+ <div>
215
+ <input type="file" on:change={handleFileChange} />
216
+ {#if $isUploading}
217
+ <div>Progress: {$progress}%</div>
218
+ {/if}
219
+ {#if $error}
220
+ <div>Error: {$error.message}</div>
221
+ {/if}
222
+ {#if $result}
223
+ <div>File ID: {$result.id}</div>
224
+ {/if}
225
+ </div>
226
+ </QueryClientProvider>
227
+ ```
228
+
229
+ ## Upload Methods
230
+
231
+ ### Multipart Upload
232
+
233
+ Traditional `multipart/form-data` uploads, perfect for small to medium files and web forms.
234
+
235
+ ```tsx
236
+ import { useMultipartUpload } from "@visulima/storage-client/react";
237
+
238
+ const { upload, progress, isUploading } = useMultipartUpload({
239
+ endpoint: "/api/upload/multipart",
240
+ });
241
+
242
+ await upload(file);
243
+ ```
244
+
245
+ ### TUS Upload
246
+
247
+ Resumable uploads using the TUS protocol, ideal for large files and unreliable networks.
248
+
249
+ ```tsx
250
+ import { useTusUpload } from "@visulima/storage-client/react";
251
+
252
+ const { upload, pause, resume, progress } = useTusUpload({
253
+ endpoint: "/api/upload/tus",
254
+ });
255
+
256
+ await upload(file);
257
+ // Can pause and resume later
258
+ pause();
259
+ resume();
260
+ ```
261
+
262
+ ### Chunked REST Upload
263
+
264
+ Client-side chunked uploads for large files without requiring TUS server support.
265
+
266
+ ```tsx
267
+ import { useChunkedRestUpload } from "@visulima/storage-client/react";
268
+
269
+ const { upload, progress } = useChunkedRestUpload({
270
+ endpoint: "/api/upload/chunked-rest",
271
+ chunkSize: 5 * 1024 * 1024, // 5MB chunks
272
+ });
273
+
274
+ await upload(file);
275
+ ```
276
+
277
+ ## Documentation
278
+
279
+ For complete documentation and examples, visit:
280
+
281
+ - [Installation Guide](https://visulima.com/docs/package/storage-client/installation)
282
+ - [React Guide](https://visulima.com/docs/package/storage-client/react)
283
+ - [Vue / Nuxt Guide](https://visulima.com/docs/package/storage-client/vue)
284
+ - [Solid Guide](https://visulima.com/docs/package/storage-client/solid)
285
+ - [Svelte Guide](https://visulima.com/docs/package/storage-client/svelte)
286
+ - [Next.js Guide](https://visulima.com/docs/package/storage-client/nextjs)
287
+ - [TanStack Start Guide](https://visulima.com/docs/package/storage-client/tanstack-start)
288
+
44
289
  ## Related
45
290
 
291
+ - [@visulima/storage-server](../storage-server) - Server-side storage implementation
292
+
46
293
  ## Supported Node.js Versions
47
294
 
48
295
  Libraries in this ecosystem make the best effort to track [Node.js’ release schedule](https://github.com/nodejs/release#release-schedule).
@@ -59,13 +306,23 @@ If you would like to help take a look at the [list of issues](https://github.com
59
306
  - [Daniel Bannert](https://github.com/prisis)
60
307
  - [All Contributors](https://github.com/visulima/visulima/graphs/contributors)
61
308
 
309
+ ## Made with ❤️ at Anolilab
310
+
311
+ This is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Anolilab](https://www.anolilab.com/open-source) is a Development and AI Studio. Contact us at [hello@anolilab.com](mailto:hello@anolilab.com) if you need any help with these technologies or just want to say hi!
312
+
62
313
  ## License
63
314
 
64
- The visulima storage-client is open-sourced software licensed under the [MIT][license-url]
315
+ The visulima storage-client is open-sourced software licensed under the [MIT][license]
316
+
317
+ <!-- badges -->
65
318
 
66
- [typescript-image]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
67
- [typescript-url]: https://www.typescriptlang.org/ "TypeScript"
68
- [license-image]: https://img.shields.io/npm/l/@visulima/storage-client?color=blueviolet&style=for-the-badge
69
- [license-url]: LICENSE.md "license"
70
- [npm-image]: https://img.shields.io/npm/v/@visulima/storage-client/latest.svg?style=for-the-badge&logo=npm
71
- [npm-url]: https://www.npmjs.com/package/@visulima/storage-client/v/latest "npm"
319
+ [license-badge]: https://img.shields.io/npm/l/@visulima/storage-client?style=for-the-badge
320
+ [license]: https://github.com/visulima/visulima/blob/main/LICENSE
321
+ [npm-downloads-badge]: https://img.shields.io/npm/dm/@visulima/storage-client?style=for-the-badge
322
+ [npm-downloads]: https://www.npmjs.com/package/@visulima/storage-client
323
+ [prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge
324
+ [prs-welcome]: https://github.com/visulima/visulima/blob/main/.github/CONTRIBUTING.md
325
+ [chat-badge]: https://img.shields.io/discord/932323359193186354.svg?style=for-the-badge
326
+ [chat]: https://discord.gg/TtFJY8xkFK
327
+ [typescript-badge]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
328
+ [typescript-url]: https://www.typescriptlang.org/
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{default as t}from"./packem_shared/storageQueryKeys-cD4rL4b1.js";import{createChunkedRestAdapter as o}from"./packem_shared/createChunkedRestAdapter-Df1E_Adn.js";import{createMultipartAdapter as d}from"./packem_shared/createMultipartAdapter-CoJpvX9z.js";import{buildUrl as c,deleteRequest as l,extractFileMetaFromHeaders as s,fetchFile as u,fetchHead as m,fetchJson as x,parseApiError as h,patchChunk as i,putFile as A}from"./packem_shared/parseApiError-CUagSahh.js";import{createTusAdapter as n}from"./packem_shared/createTusAdapter-DM31lujI.js";import{createUploader as y}from"./packem_shared/createUploader-B_IjjBxw.js";export{c as buildUrl,o as createChunkedRestAdapter,d as createMultipartAdapter,n as createTusAdapter,y as createUploader,l as deleteRequest,s as extractFileMetaFromHeaders,u as fetchFile,m as fetchHead,x as fetchJson,h as parseApiError,i as patchChunk,A as putFile,t as storageQueryKeys};
1
+ import{default as t}from"./packem_shared/storageQueryKeys-cD4rL4b1.js";import{buildUrl as o,deleteRequest as p,extractFileMetaFromHeaders as d,fetchFile as f,fetchHead as c,fetchJson as l,parseApiError as s,patchChunk as u,putFile as m}from"./packem_shared/parseApiError-CUagSahh.js";import{createChunkedRestAdapter as h}from"./packem_shared/createChunkedRestAdapter-Df1E_Adn.js";import{createMultipartAdapter as A}from"./packem_shared/createMultipartAdapter-BNppwu8z.js";import{createTusAdapter as n}from"./packem_shared/createTusAdapter-CIQM8UR2.js";import{createUploader as y}from"./packem_shared/createUploader-DzBPRYBP.js";export{o as buildUrl,h as createChunkedRestAdapter,A as createMultipartAdapter,n as createTusAdapter,y as createUploader,p as deleteRequest,d as extractFileMetaFromHeaders,f as fetchFile,c as fetchHead,l as fetchJson,s as parseApiError,u as patchChunk,m as putFile,t as storageQueryKeys};
@@ -1 +1 @@
1
- var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-CoJpvX9z.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
1
+ var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-BNppwu8z.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
@@ -1 +1 @@
1
- var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-CoJpvX9z.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
1
+ var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-BNppwu8z.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-CoJpvX9z.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
1
+ var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-BNppwu8z.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-CoJpvX9z.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
1
+ var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-BNppwu8z.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-CoJpvX9z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
1
+ var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-BNppwu8z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-CoJpvX9z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
1
+ var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-BNppwu8z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onCleanup as u}from"solid-js";import{createMultipartAdapter as A}from"./createMultipartAdapter-CoJpvX9z.js";var f=Object.defineProperty,i=n((e,t)=>f(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=A({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),u(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
1
+ var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onCleanup as u}from"solid-js";import{createMultipartAdapter as A}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,i=n((e,t)=>f(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=A({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),u(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onDestroy as A}from"svelte";import{createMultipartAdapter as f}from"./createMultipartAdapter-CoJpvX9z.js";var m=Object.defineProperty,i=n((e,t)=>m(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=f({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),A(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
1
+ var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onDestroy as A}from"svelte";import{createMultipartAdapter as f}from"./createMultipartAdapter-BNppwu8z.js";var m=Object.defineProperty,i=n((e,t)=>m(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=f({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),A(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
@@ -1 +1 @@
1
- var i=Object.defineProperty;var r=(e,t)=>i(e,"name",{value:t,configurable:!0});import{onMount as p,onCleanup as C}from"solid-js";import{createMultipartAdapter as m}from"./createMultipartAdapter-CoJpvX9z.js";var u=Object.defineProperty,c=r((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:l}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&l(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
1
+ var i=Object.defineProperty;var r=(e,t)=>i(e,"name",{value:t,configurable:!0});import{onMount as p,onCleanup as C}from"solid-js";import{createMultipartAdapter as m}from"./createMultipartAdapter-BNppwu8z.js";var u=Object.defineProperty,c=r((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:l}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&l(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
@@ -1 +1 @@
1
- var l=Object.defineProperty;var r=(e,t)=>l(e,"name",{value:t,configurable:!0});import{onMount as p,onDestroy as C}from"svelte";import{createMultipartAdapter as m}from"./createMultipartAdapter-CoJpvX9z.js";var s=Object.defineProperty,c=r((e,t)=>s(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:i}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&i(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
1
+ var l=Object.defineProperty;var r=(e,t)=>l(e,"name",{value:t,configurable:!0});import{onMount as p,onDestroy as C}from"svelte";import{createMultipartAdapter as m}from"./createMultipartAdapter-BNppwu8z.js";var s=Object.defineProperty,c=r((e,t)=>s(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:i}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&i(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-CoJpvX9z.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=u({endpoint:e,metadata:i}),o=c(a=>{"itemIds"in a&&p(a)},"handler");t.uploader.on("BATCH_ERROR",o),s(()=>{t.uploader.off("BATCH_ERROR",o)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
1
+ var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=u({endpoint:e,metadata:i}),o=c(a=>{"itemIds"in a&&p(a)},"handler");t.uploader.on("BATCH_ERROR",o),s(()=>{t.uploader.off("BATCH_ERROR",o)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-CoJpvX9z.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=l({endpoint:e,metadata:i}),a=c(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_ERROR",a),u(()=>{t.uploader.off("BATCH_ERROR",a)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
1
+ var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=l({endpoint:e,metadata:i}),a=c(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_ERROR",a),u(()=>{t.uploader.off("BATCH_ERROR",a)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onDestroy as m}from"svelte";import{createMultipartAdapter as s}from"./createMultipartAdapter-CoJpvX9z.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=s({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINALIZE",r),m(()=>{a.uploader.off("BATCH_FINALIZE",r)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
1
+ var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onDestroy as m}from"svelte";import{createMultipartAdapter as s}from"./createMultipartAdapter-BNppwu8z.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=s({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINALIZE",r),m(()=>{a.uploader.off("BATCH_FINALIZE",r)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-CoJpvX9z.js";var f=Object.defineProperty,i=o((e,t)=>f(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=u({endpoint:t,metadata:c}),n=i(r=>{"itemIds"in r&&p(r)},"handler");a.uploader.on("BATCH_FINALIZE",n),m(()=>{a.uploader.off("BATCH_FINALIZE",n)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
1
+ var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,i=o((e,t)=>f(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=u({endpoint:t,metadata:c}),n=i(r=>{"itemIds"in r&&p(r)},"handler");a.uploader.on("BATCH_FINALIZE",n),m(()=>{a.uploader.off("BATCH_FINALIZE",n)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
@@ -1 +1 @@
1
- var s=Object.defineProperty;var n=(e,t)=>s(e,"name",{value:t,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as h}from"./createMultipartAdapter-CoJpvX9z.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"o");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinish:p}=e;d(()=>{const a=h({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINISH",r),m(()=>{a.uploader.off("BATCH_FINISH",r)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
1
+ var s=Object.defineProperty;var n=(e,t)=>s(e,"name",{value:t,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as h}from"./createMultipartAdapter-BNppwu8z.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"o");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinish:p}=e;d(()=>{const a=h({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINISH",r),m(()=>{a.uploader.off("BATCH_FINISH",r)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as s,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-CoJpvX9z.js";var h=Object.defineProperty,i=o((e,t)=>h(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:p,onBatchFinish:c}=e;s(()=>{const a=u({endpoint:t,metadata:p}),n=i(r=>{"itemIds"in r&&c(r)},"handler");a.uploader.on("BATCH_FINISH",n),m(()=>{a.uploader.off("BATCH_FINISH",n)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
1
+ var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as s,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var h=Object.defineProperty,i=o((e,t)=>h(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:p,onBatchFinish:c}=e;s(()=>{const a=u({endpoint:t,metadata:p}),n=i(r=>{"itemIds"in r&&c(r)},"handler");a.uploader.on("BATCH_FINISH",n),m(()=>{a.uploader.off("BATCH_FINISH",n)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
@@ -1 +1 @@
1
- var c=Object.defineProperty;var n=(e,r)=>c(e,"name",{value:r,configurable:!0});import{onMount as d,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-CoJpvX9z.js";var l=Object.defineProperty,s=n((e,r)=>l(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:p}=e;d(()=>{const t=u({endpoint:r,metadata:i}),a=s(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_PROGRESS",a),m(()=>{t.uploader.off("BATCH_PROGRESS",a)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
1
+ var c=Object.defineProperty;var n=(e,r)=>c(e,"name",{value:r,configurable:!0});import{onMount as d,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var l=Object.defineProperty,s=n((e,r)=>l(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:p}=e;d(()=>{const t=u({endpoint:r,metadata:i}),a=s(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_PROGRESS",a),m(()=>{t.uploader.off("BATCH_PROGRESS",a)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
@@ -1 +1 @@
1
- var p=Object.defineProperty;var n=(e,r)=>p(e,"name",{value:r,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-CoJpvX9z.js";var f=Object.defineProperty,s=n((e,r)=>f(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:c}=e;d(()=>{const t=u({endpoint:r,metadata:i}),o=s(a=>{"itemIds"in a&&c(a)},"handler");t.uploader.on("BATCH_PROGRESS",o),m(()=>{t.uploader.off("BATCH_PROGRESS",o)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
1
+ var p=Object.defineProperty;var n=(e,r)=>p(e,"name",{value:r,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,s=n((e,r)=>f(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:c}=e;d(()=>{const t=u({endpoint:r,metadata:i}),o=s(a=>{"itemIds"in a&&c(a)},"handler");t.uploader.on("BATCH_PROGRESS",o),m(()=>{t.uploader.off("BATCH_PROGRESS",o)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
@@ -1 +1 @@
1
- var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-CoJpvX9z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
1
+ var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-BNppwu8z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
@@ -1 +1 @@
1
- var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-CoJpvX9z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
1
+ var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-BNppwu8z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-CoJpvX9z.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=u({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),s(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
1
+ var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=u({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),s(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-CoJpvX9z.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=l({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),u(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
1
+ var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=l({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),u(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
@@ -1 +1 @@
1
- var N=Object.defineProperty;var S=(l,p)=>N(l,"name",{value:p,configurable:!0});import{onMount as O,onDestroy as P}from"svelte";import{writable as n,get as A}from"svelte/store";import{createMultipartAdapter as L}from"./createMultipartAdapter-CoJpvX9z.js";var U=Object.defineProperty,a=S((l,p)=>U(l,"name",{value:p,configurable:!0}),"r");const w=a(l=>{const{endpoint:p,metadata:E,onError:_,onProgress:b,onStart:y,onSuccess:v}=l,u=n([]),i=n(0),d=n(!1),B=n(void 0),f=n(0),m=n(0),c=n(void 0),C=L({endpoint:p,metadata:E});return O(()=>{const{uploader:t}=C,R=a(o=>{if("itemIds"in o){const e=o;c.set(e.id),d.set(!0),i.set(0),B.set(void 0),f.set(0),m.set(0),u.set(t.getBatchItems(e.id)),y?.(e.id)}},"onBatchStart"),T=a(o=>{if("itemIds"in o){const e=o;e.id===A(c)&&(i.set(e.progress),f.set(e.completedCount),m.set(e.errorCount),u.set(t.getBatchItems(e.id)),b?.(e.progress,e.id))}},"onBatchProgress"),g=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=t.getBatchItems(e.id).filter(s=>s.status==="completed").map(s=>{let r={};try{s.uploadResponse?.data&&typeof s.uploadResponse.data=="object"?r=s.uploadResponse.data:s.uploadResponse?.response&&(r=JSON.parse(s.uploadResponse.response))}catch{}return{bytesWritten:r.bytesWritten,contentType:r.contentType??s.file.type,createdAt:r.createdAt,filename:r.originalName??s.file.name,id:r.id??s.id,metadata:r.metadata,name:r.name,originalName:r.originalName??s.file.name,size:r.size??s.file.size,status:r.status??"completed",url:s.url}});i.set(100),d.set(!1),v?.(h,e.id)}}},"onBatchFinish"),H=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=new Error(`Batch upload failed: ${e.errorCount} file(s) failed`);B.set(h),d.set(!1),m.set(e.errorCount),f.set(e.completedCount),_?.(h,e.id)}}},"onBatchError"),I=a(o=>{"itemIds"in o&&o.id===A(c)&&(d.set(!1),i.set(0))},"onBatchCancelled");t.on("BATCH_START",R),t.on("BATCH_PROGRESS",T),t.on("BATCH_FINISH",g),t.on("BATCH_ERROR",H),t.on("BATCH_CANCELLED",I),P(()=>{t.off("BATCH_START",R),t.off("BATCH_PROGRESS",T),t.off("BATCH_FINISH",g),t.off("BATCH_ERROR",H),t.off("BATCH_CANCELLED",I)})}),{abortBatch:a(t=>{C.abortBatch(t)},"abortBatch"),completedCount:f,error:B,errorCount:m,isUploading:d,items:u,progress:i,reset:a(()=>{C.clear(),i.set(0),d.set(!1),B.set(void 0),u.set([]),f.set(0),m.set(0),c.set(void 0)},"reset"),uploadBatch:a(t=>t.length===0?[]:C.uploadBatch(t),"uploadBatch")}},"createBatchUpload");export{w as createBatchUpload};
1
+ var N=Object.defineProperty;var S=(l,p)=>N(l,"name",{value:p,configurable:!0});import{onMount as O,onDestroy as P}from"svelte";import{writable as n,get as A}from"svelte/store";import{createMultipartAdapter as L}from"./createMultipartAdapter-BNppwu8z.js";var U=Object.defineProperty,a=S((l,p)=>U(l,"name",{value:p,configurable:!0}),"r");const w=a(l=>{const{endpoint:p,metadata:E,onError:_,onProgress:b,onStart:y,onSuccess:v}=l,u=n([]),i=n(0),d=n(!1),B=n(void 0),f=n(0),m=n(0),c=n(void 0),C=L({endpoint:p,metadata:E});return O(()=>{const{uploader:t}=C,R=a(o=>{if("itemIds"in o){const e=o;c.set(e.id),d.set(!0),i.set(0),B.set(void 0),f.set(0),m.set(0),u.set(t.getBatchItems(e.id)),y?.(e.id)}},"onBatchStart"),T=a(o=>{if("itemIds"in o){const e=o;e.id===A(c)&&(i.set(e.progress),f.set(e.completedCount),m.set(e.errorCount),u.set(t.getBatchItems(e.id)),b?.(e.progress,e.id))}},"onBatchProgress"),g=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=t.getBatchItems(e.id).filter(s=>s.status==="completed").map(s=>{let r={};try{s.uploadResponse?.data&&typeof s.uploadResponse.data=="object"?r=s.uploadResponse.data:s.uploadResponse?.response&&(r=JSON.parse(s.uploadResponse.response))}catch{}return{bytesWritten:r.bytesWritten,contentType:r.contentType??s.file.type,createdAt:r.createdAt,filename:r.originalName??s.file.name,id:r.id??s.id,metadata:r.metadata,name:r.name,originalName:r.originalName??s.file.name,size:r.size??s.file.size,status:r.status??"completed",url:s.url}});i.set(100),d.set(!1),v?.(h,e.id)}}},"onBatchFinish"),H=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=new Error(`Batch upload failed: ${e.errorCount} file(s) failed`);B.set(h),d.set(!1),m.set(e.errorCount),f.set(e.completedCount),_?.(h,e.id)}}},"onBatchError"),I=a(o=>{"itemIds"in o&&o.id===A(c)&&(d.set(!1),i.set(0))},"onBatchCancelled");t.on("BATCH_START",R),t.on("BATCH_PROGRESS",T),t.on("BATCH_FINISH",g),t.on("BATCH_ERROR",H),t.on("BATCH_CANCELLED",I),P(()=>{t.off("BATCH_START",R),t.off("BATCH_PROGRESS",T),t.off("BATCH_FINISH",g),t.off("BATCH_ERROR",H),t.off("BATCH_CANCELLED",I)})}),{abortBatch:a(t=>{C.abortBatch(t)},"abortBatch"),completedCount:f,error:B,errorCount:m,isUploading:d,items:u,progress:i,reset:a(()=>{C.clear(),i.set(0),d.set(!1),B.set(void 0),u.set([]),f.set(0),m.set(0),c.set(void 0)},"reset"),uploadBatch:a(t=>t.length===0?[]:C.uploadBatch(t),"uploadBatch")}},"createBatchUpload");export{w as createBatchUpload};