filepond 5.0.0-beta.2 → 5.0.0-beta.21

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 (368) hide show
  1. package/README.md +27 -4
  2. package/cdn/assets/index.js +1 -1
  3. package/cdn/dev/index.js +1 -0
  4. package/cdn/extensions/blob-loader.js +1 -1
  5. package/cdn/extensions/canvas-loader.js +1 -1
  6. package/cdn/extensions/chunked-upload-store.js +1 -1
  7. package/cdn/extensions/clipboard-source.js +1 -1
  8. package/cdn/extensions/console-view.js +1 -1
  9. package/cdn/extensions/data-transfer-loader.js +1 -1
  10. package/cdn/extensions/data-url-store.js +1 -1
  11. package/cdn/extensions/drag-drop-source.js +1 -1
  12. package/cdn/extensions/dropbox-source.js +1 -1
  13. package/cdn/extensions/entry-list-view.js +1 -1
  14. package/cdn/extensions/file-extension-validator.js +1 -1
  15. package/cdn/extensions/file-input-source.js +1 -1
  16. package/cdn/extensions/file-input-store.js +1 -1
  17. package/cdn/extensions/file-mime-type-validator.js +1 -1
  18. package/cdn/extensions/file-name-transform.js +1 -1
  19. package/cdn/extensions/file-name-validator.js +1 -1
  20. package/cdn/extensions/file-size-validator.js +1 -1
  21. package/cdn/extensions/form-post-store.js +1 -1
  22. package/cdn/extensions/image-bitmap-transform.js +1 -0
  23. package/cdn/extensions/index.js +1 -1
  24. package/cdn/extensions/list-count-validator.js +1 -1
  25. package/cdn/extensions/list-size-validator.js +1 -1
  26. package/cdn/extensions/media-resolution-validator.js +1 -1
  27. package/cdn/extensions/object-url-store.js +1 -1
  28. package/cdn/extensions/simulated-loader.js +1 -1
  29. package/cdn/extensions/simulated-store.js +1 -1
  30. package/cdn/extensions/text-input-store.js +1 -1
  31. package/cdn/extensions/url-loader.js +1 -1
  32. package/cdn/extensions/value-callback-store.js +1 -1
  33. package/cdn/index.js +1 -7
  34. package/cdn/locales/ar-ar.js +72 -48
  35. package/cdn/locales/bn-bd.js +72 -48
  36. package/cdn/locales/cs-cz.js +83 -59
  37. package/cdn/locales/da-dk.js +74 -50
  38. package/cdn/locales/de-de.js +72 -42
  39. package/cdn/locales/el-gr.js +72 -48
  40. package/cdn/locales/en-gb.js +85 -62
  41. package/cdn/locales/es-es.js +69 -39
  42. package/cdn/locales/fi-fi.js +69 -45
  43. package/cdn/locales/fr-fr.js +78 -48
  44. package/cdn/locales/hi-in.js +72 -42
  45. package/cdn/locales/hu-hu.js +66 -42
  46. package/cdn/locales/index.js +1 -1
  47. package/cdn/locales/is-is.js +71 -47
  48. package/cdn/locales/it-it.js +73 -43
  49. package/cdn/locales/ja-jp.js +72 -42
  50. package/cdn/locales/ko-kr.js +72 -42
  51. package/cdn/locales/nb-no.js +74 -44
  52. package/cdn/locales/nl-nl.js +71 -48
  53. package/cdn/locales/pl-pl.js +76 -52
  54. package/cdn/locales/pt-pt.js +71 -41
  55. package/cdn/locales/sv-se.js +73 -43
  56. package/cdn/locales/tr-tr.js +83 -59
  57. package/cdn/locales/uk-ua.js +72 -48
  58. package/cdn/locales/vi-vn.js +82 -58
  59. package/cdn/locales/zh-cn.js +72 -42
  60. package/cdn/main.js +7 -0
  61. package/cdn/templates/entry.js +1 -1
  62. package/cdn/templates/helpers.js +1 -1
  63. package/cdn/templates/index.js +1 -1
  64. package/cdn/templates/media.js +1 -1
  65. package/cdn/workers/httpRequest.js +45 -0
  66. package/cdn/workers/httpRequestWorker.js +37 -0
  67. package/cdn/workers/readFile.js +14 -0
  68. package/cdn/workers/readFileWorker.js +6 -0
  69. package/cdn/workers/transformImage.js +16 -0
  70. package/cdn/workers/transformImageWorker.js +8 -0
  71. package/esm/assets/index.js +1 -1
  72. package/esm/common/console.js +1 -1
  73. package/esm/common/entry.js +1 -1
  74. package/esm/common/perceivedPerformanceProxy.js +1 -1
  75. package/esm/common/readEntriesFromDataTransfer.js +1 -1
  76. package/esm/common/ssr.js +1 -1
  77. package/esm/common/status.js +1 -1
  78. package/esm/core/entryTree.js +142 -133
  79. package/esm/core/extensionManager.js +89 -86
  80. package/esm/core/taskScheduler.js +78 -97
  81. package/esm/dev/index.js +122 -0
  82. package/esm/elements/FilePondDefault/index.css.js +2 -2
  83. package/esm/elements/FilePondDefault/index.js +164 -125
  84. package/esm/elements/FilePondDropArea/index.css.js +1 -1
  85. package/esm/elements/FilePondDropArea/index.js +1 -1
  86. package/esm/elements/FilePondDropArea/index.svelte.js +38 -40
  87. package/esm/elements/FilePondDropIndicator/index.css.js +1 -1
  88. package/esm/elements/FilePondDropIndicator/index.js +1 -1
  89. package/esm/elements/FilePondDropIndicator/index.svelte.js +65 -67
  90. package/esm/elements/FilePondEntryList/components/Entry/index.css.js +2 -2
  91. package/esm/elements/FilePondEntryList/components/Entry/index.js +1 -1
  92. package/esm/elements/FilePondEntryList/components/Entry/index.svelte.js +37 -37
  93. package/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.css.js +2 -2
  94. package/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.js +1 -2
  95. package/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.svelte.js +115 -86
  96. package/esm/elements/FilePondEntryList/components/EntryList/index.css.js +1 -1
  97. package/esm/elements/FilePondEntryList/components/EntryList/index.js +1 -1
  98. package/esm/elements/FilePondEntryList/components/EntryList/index.svelte.js +159 -154
  99. package/esm/elements/FilePondEntryList/components/EntryListItem/index.css.js +1 -1
  100. package/esm/elements/FilePondEntryList/components/EntryListItem/index.js +1 -2
  101. package/esm/elements/FilePondEntryList/components/EntryListItem/index.svelte.js +70 -46
  102. package/esm/elements/FilePondEntryList/components/EntryListItemPlaceholder/index.svelte.js +1 -1
  103. package/esm/elements/FilePondEntryList/components/EntryStatus/index.css.js +1 -1
  104. package/esm/elements/FilePondEntryList/components/EntryStatus/index.js +1 -2
  105. package/esm/elements/FilePondEntryList/components/EntryStatus/index.svelte.js +62 -62
  106. package/esm/elements/FilePondEntryList/components/MediaImage/components/BitmapRenderer.svelte.js +65 -60
  107. package/esm/elements/FilePondEntryList/components/MediaImage/components/BitmapRendererCache.js +1 -1
  108. package/esm/elements/FilePondEntryList/components/MediaImage/index.css.js +1 -1
  109. package/esm/elements/FilePondEntryList/components/MediaImage/index.js +2 -1
  110. package/esm/elements/FilePondEntryList/components/MediaImage/index.svelte.js +91 -83
  111. package/esm/elements/FilePondEntryList/components/MediaPane/index.css.js +2 -2
  112. package/esm/elements/FilePondEntryList/components/MediaPane/index.js +1 -1
  113. package/esm/elements/FilePondEntryList/components/MediaPane/index.svelte.js +33 -35
  114. package/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.css.js +1 -1
  115. package/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.js +1 -1
  116. package/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.svelte.js +1 -1
  117. package/esm/elements/FilePondEntryList/components/MediaVideo/index.css.js +1 -1
  118. package/esm/elements/FilePondEntryList/components/MediaVideo/index.js +1 -1
  119. package/esm/elements/FilePondEntryList/components/MediaVideo/index.svelte.js +88 -88
  120. package/esm/elements/FilePondEntryList/contexts/appContext.js +1 -1
  121. package/esm/elements/FilePondEntryList/contexts/dragContext.js +1 -1
  122. package/esm/elements/FilePondEntryList/contexts/dropContext.js +1 -1
  123. package/esm/elements/FilePondEntryList/contexts/entryContext.js +1 -1
  124. package/esm/elements/FilePondEntryList/contexts/springElementTreeContext.js +1 -1
  125. package/esm/elements/FilePondEntryList/index.css.js +2 -2
  126. package/esm/elements/FilePondEntryList/index.js +11 -14
  127. package/esm/elements/FilePondEntryList/index.svelte.js +351 -271
  128. package/esm/elements/FilePondInput/index.css.js +3 -3
  129. package/esm/elements/FilePondInput/index.js +252 -191
  130. package/esm/elements/FilePondSvelteComponent/index.svelte.js +11 -11
  131. package/esm/elements/attachments/dragarea.js +62 -63
  132. package/esm/elements/attachments/droparea.js +1 -1
  133. package/esm/elements/attachments/measurable.js +1 -1
  134. package/esm/elements/attachments/resizable.js +1 -1
  135. package/esm/elements/attachments/transitions.js +1 -1
  136. package/esm/elements/common/animationGuard.js +1 -1
  137. package/esm/elements/common/animationPreference.svelte.js +35 -41
  138. package/esm/elements/common/dragDrop.js +1 -1
  139. package/esm/elements/common/event.js +1 -1
  140. package/esm/elements/common/extendStyles.js +1 -1
  141. package/esm/elements/common/getClosestElement.js +1 -1
  142. package/esm/elements/common/html.js +4 -4
  143. package/esm/elements/common/nodeTree.js +9 -9
  144. package/esm/elements/common/store.svelte.js +1 -1
  145. package/esm/elements/common/string.js +75 -55
  146. package/esm/elements/common/transition.js +1 -1
  147. package/esm/elements/components/BooleanInput/index.css.js +1 -1
  148. package/esm/elements/components/BooleanInput/index.js +1 -1
  149. package/esm/elements/components/BooleanInput/index.svelte.js +31 -33
  150. package/esm/elements/components/Button/index.css.js +2 -2
  151. package/esm/elements/components/Button/index.js +1 -1
  152. package/esm/elements/components/Button/index.svelte.js +49 -49
  153. package/esm/elements/components/ElementPane/index.css.js +1 -1
  154. package/esm/elements/components/ElementPane/index.js +1 -1
  155. package/esm/elements/components/ElementPane/index.svelte.js +1 -1
  156. package/esm/elements/components/ElementSkeleton/index.css.js +1 -1
  157. package/esm/elements/components/ElementSkeleton/index.js +1 -1
  158. package/esm/elements/components/ElementSkeleton/index.svelte.js +1 -1
  159. package/esm/elements/components/FilenameInput/index.css.js +2 -2
  160. package/esm/elements/components/FilenameInput/index.js +1 -1
  161. package/esm/elements/components/FilenameInput/index.svelte.js +1 -1
  162. package/esm/elements/components/NodeList/index.svelte.js +174 -200
  163. package/esm/elements/components/ProgressIndicator/index.css.js +2 -2
  164. package/esm/elements/components/ProgressIndicator/index.js +1 -1
  165. package/esm/elements/components/ProgressIndicator/index.svelte.js +98 -124
  166. package/esm/elements/components/RangeInput/index.css.js +2 -2
  167. package/esm/elements/components/RangeInput/index.js +1 -1
  168. package/esm/elements/components/RangeInput/index.svelte.js +86 -85
  169. package/esm/elements/components/SpringElement/index.svelte.js +91 -90
  170. package/esm/elements/components/TextInput/index.css.js +1 -1
  171. package/esm/elements/components/TextInput/index.js +1 -1
  172. package/esm/elements/components/TextInput/index.svelte.js +25 -27
  173. package/esm/extensions/blob-loader.js +1 -1
  174. package/esm/extensions/canvas-loader.js +1 -1
  175. package/esm/extensions/chunked-upload-store.js +1 -1
  176. package/esm/extensions/clipboard-source.js +1 -1
  177. package/esm/extensions/common/createExtension.js +38 -37
  178. package/esm/extensions/common/createStoreExtension.js +1 -1
  179. package/esm/extensions/common/createTransformExtension.js +1 -1
  180. package/esm/extensions/common/createValidatorExtension.js +1 -1
  181. package/esm/extensions/console-view.js +36 -33
  182. package/esm/extensions/data-transfer-loader.js +1 -1
  183. package/esm/extensions/data-url-store.js +24 -19
  184. package/esm/extensions/drag-drop-source.js +1 -1
  185. package/esm/extensions/dropbox-source.js +1 -1
  186. package/esm/extensions/entry-list-view.js +35 -29
  187. package/esm/extensions/file-extension-validator.js +1 -1
  188. package/esm/extensions/file-input-source.js +1 -1
  189. package/esm/extensions/file-input-store.js +1 -1
  190. package/esm/extensions/file-mime-type-validator.js +21 -17
  191. package/esm/extensions/file-name-transform.js +1 -1
  192. package/esm/extensions/file-name-validator.js +1 -1
  193. package/esm/extensions/file-size-validator.js +33 -22
  194. package/esm/extensions/form-post-store.js +1 -1
  195. package/esm/extensions/image-bitmap-transform.js +109 -0
  196. package/esm/extensions/index.js +23 -21
  197. package/esm/extensions/list-count-validator.js +21 -21
  198. package/esm/extensions/list-size-validator.js +42 -31
  199. package/esm/extensions/media-resolution-validator.js +57 -47
  200. package/esm/extensions/object-url-store.js +1 -1
  201. package/esm/extensions/simulated-loader.js +74 -65
  202. package/esm/extensions/simulated-store.js +1 -1
  203. package/esm/extensions/text-input-store.js +1 -1
  204. package/esm/extensions/url-loader.js +74 -71
  205. package/esm/extensions/value-callback-store.js +1 -1
  206. package/esm/index.js +1 -1
  207. package/esm/locales/ar-ar.js +72 -48
  208. package/esm/locales/bn-bd.js +72 -48
  209. package/esm/locales/cs-cz.js +83 -59
  210. package/esm/locales/da-dk.js +74 -50
  211. package/esm/locales/de-de.js +72 -42
  212. package/esm/locales/el-gr.js +72 -48
  213. package/esm/locales/en-gb.js +85 -62
  214. package/esm/locales/es-es.js +69 -39
  215. package/esm/locales/fi-fi.js +69 -45
  216. package/esm/locales/fr-fr.js +78 -48
  217. package/esm/locales/hi-in.js +72 -42
  218. package/esm/locales/hu-hu.js +66 -42
  219. package/esm/locales/index.js +1 -1
  220. package/esm/locales/is-is.js +71 -47
  221. package/esm/locales/it-it.js +73 -43
  222. package/esm/locales/ja-jp.js +72 -42
  223. package/esm/locales/ko-kr.js +72 -42
  224. package/esm/locales/nb-no.js +74 -44
  225. package/esm/locales/nl-nl.js +71 -48
  226. package/esm/locales/pl-pl.js +76 -52
  227. package/esm/locales/pt-pt.js +71 -41
  228. package/esm/locales/sv-se.js +73 -43
  229. package/esm/locales/tr-tr.js +83 -59
  230. package/esm/locales/uk-ua.js +72 -48
  231. package/esm/locales/vi-vn.js +82 -58
  232. package/esm/locales/zh-cn.js +72 -42
  233. package/esm/svelte/svelte/src/constants.js +13 -12
  234. package/esm/svelte/svelte/src/internal/client/constants.js +29 -24
  235. package/esm/svelte/svelte/src/internal/client/context.js +33 -28
  236. package/esm/svelte/svelte/src/internal/client/dom/blocks/boundary.js +185 -126
  237. package/esm/svelte/svelte/src/internal/client/dom/blocks/branches.js +42 -43
  238. package/esm/svelte/svelte/src/internal/client/dom/blocks/each.js +175 -150
  239. package/esm/svelte/svelte/src/internal/client/dom/blocks/html.js +55 -32
  240. package/esm/svelte/svelte/src/internal/client/dom/blocks/if.js +12 -12
  241. package/esm/svelte/svelte/src/internal/client/dom/blocks/svelte-element.js +17 -17
  242. package/esm/svelte/svelte/src/internal/client/dom/elements/attributes.js +111 -113
  243. package/esm/svelte/svelte/src/internal/client/dom/elements/bindings/this.js +29 -16
  244. package/esm/svelte/svelte/src/internal/client/dom/elements/events.js +65 -60
  245. package/esm/svelte/svelte/src/internal/client/dom/elements/transitions.js +54 -54
  246. package/esm/svelte/svelte/src/internal/client/dom/operations.js +30 -22
  247. package/esm/svelte/svelte/src/internal/client/dom/reconciler.js +19 -4
  248. package/esm/svelte/svelte/src/internal/client/error-handling.js +17 -17
  249. package/esm/svelte/svelte/src/internal/client/errors.js +24 -20
  250. package/esm/svelte/svelte/src/internal/client/proxy.js +1 -1
  251. package/esm/svelte/svelte/src/internal/client/reactivity/async.js +60 -40
  252. package/esm/svelte/svelte/src/internal/client/reactivity/batch.js +273 -236
  253. package/esm/svelte/svelte/src/internal/client/reactivity/deriveds.js +110 -84
  254. package/esm/svelte/svelte/src/internal/client/reactivity/effects.js +160 -157
  255. package/esm/svelte/svelte/src/internal/client/reactivity/props.js +2 -1
  256. package/esm/svelte/svelte/src/internal/client/reactivity/sources.js +69 -70
  257. package/esm/svelte/svelte/src/internal/client/reactivity/status.js +12 -0
  258. package/esm/svelte/svelte/src/internal/client/reactivity/utils.js +16 -0
  259. package/esm/svelte/svelte/src/internal/client/render.js +68 -64
  260. package/esm/svelte/svelte/src/internal/client/runtime.js +174 -170
  261. package/esm/svelte/svelte/src/internal/shared/attributes.js +32 -32
  262. package/esm/svelte/svelte/src/internal/shared/utils.js +16 -15
  263. package/esm/svelte/svelte/src/motion/spring.js +7 -7
  264. package/esm/svelte/svelte/src/reactivity/map.js +17 -21
  265. package/esm/templates/entry.js +194 -159
  266. package/esm/templates/helpers.js +85 -75
  267. package/esm/templates/index.js +1 -1
  268. package/esm/templates/media.js +163 -131
  269. package/esm/utils/array.js +1 -1
  270. package/esm/utils/bounds.js +1 -1
  271. package/esm/utils/cache.js +1 -1
  272. package/esm/utils/canvasToBlob.js +1 -1
  273. package/esm/utils/date.js +1 -1
  274. package/esm/utils/debounce.js +1 -1
  275. package/esm/utils/dom.js +84 -74
  276. package/esm/utils/file.js +82 -69
  277. package/esm/utils/functionToBlob.js +1 -1
  278. package/esm/utils/keyboard.js +34 -0
  279. package/esm/utils/math.js +14 -7
  280. package/esm/utils/media.js +1 -1
  281. package/esm/utils/number.js +11 -16
  282. package/esm/utils/object.js +1 -1
  283. package/esm/utils/objectURL.js +1 -1
  284. package/esm/utils/placeholder.js +1 -1
  285. package/esm/utils/poly.js +1 -1
  286. package/esm/utils/pubsub.js +1 -1
  287. package/esm/utils/rect.js +39 -30
  288. package/esm/utils/size.js +1 -1
  289. package/esm/utils/sleep.js +1 -1
  290. package/esm/utils/string.js +25 -21
  291. package/esm/utils/support.js +5 -6
  292. package/esm/utils/test.js +1 -1
  293. package/esm/utils/thread.js +50 -43
  294. package/esm/utils/tree.js +1 -1
  295. package/esm/utils/url.js +2 -2
  296. package/esm/utils/vector.js +1 -1
  297. package/esm/utils/window.js +1 -1
  298. package/esm/utils/xhr.js +88 -113
  299. package/esm/workers/httpRequest.js +45 -0
  300. package/esm/workers/httpRequestWorker.js +37 -0
  301. package/esm/workers/readFile.js +14 -0
  302. package/esm/workers/readFileWorker.js +6 -0
  303. package/esm/workers/transformImage.js +16 -0
  304. package/esm/workers/transformImageWorker.js +8 -0
  305. package/package.json +17 -12
  306. package/types/core/entryTree.d.ts +6 -2
  307. package/types/core/extensionManager.d.ts +16 -2
  308. package/types/core/taskScheduler.d.ts +2 -2
  309. package/types/dev/index.d.ts +11 -3
  310. package/types/elements/FilePondDefault/index.d.ts +15 -5
  311. package/types/elements/FilePondEntryList/components/MediaImage/index.d.ts +1 -1
  312. package/types/elements/FilePondEntryList/components/MediaVideo/index.d.ts +1 -1
  313. package/types/elements/FilePondEntryList/contexts/appContext.d.ts +1 -0
  314. package/types/elements/FilePondEntryList/contexts/entryContext.d.ts +1 -0
  315. package/types/elements/FilePondEntryList/index.d.ts +10 -11
  316. package/types/elements/FilePondInput/index.d.ts +22 -11
  317. package/types/elements/common/animationPreference.svelte.d.ts +6 -3
  318. package/types/elements/common/nodeTree.d.ts +1 -1
  319. package/types/elements/common/string.d.ts +1 -1
  320. package/types/extensions/common/createTransformExtension.d.ts +1 -1
  321. package/types/extensions/data-url-store.d.ts +2 -0
  322. package/types/extensions/file-name-transform.d.ts +1 -1
  323. package/types/extensions/file-size-validator.d.ts +2 -0
  324. package/types/extensions/image-bitmap-transform.d.ts +32 -0
  325. package/types/extensions/index.d.ts +1 -0
  326. package/types/extensions/list-size-validator.d.ts +2 -0
  327. package/types/extensions/simulated-loader.d.ts +2 -0
  328. package/types/extensions/simulated-store.d.ts +1 -1
  329. package/types/extensions/url-loader.d.ts +2 -0
  330. package/types/locales/ar-ar.d.ts +101 -76
  331. package/types/locales/bn-bd.d.ts +101 -76
  332. package/types/locales/cs-cz.d.ts +101 -76
  333. package/types/locales/da-dk.d.ts +101 -76
  334. package/types/locales/de-de.d.ts +101 -76
  335. package/types/locales/el-gr.d.ts +101 -76
  336. package/types/locales/en-gb.d.ts +102 -82
  337. package/types/locales/es-es.d.ts +101 -76
  338. package/types/locales/fi-fi.d.ts +101 -76
  339. package/types/locales/fr-fr.d.ts +101 -76
  340. package/types/locales/hi-in.d.ts +101 -76
  341. package/types/locales/hu-hu.d.ts +101 -76
  342. package/types/locales/is-is.d.ts +101 -76
  343. package/types/locales/it-it.d.ts +101 -76
  344. package/types/locales/ja-jp.d.ts +101 -76
  345. package/types/locales/ko-kr.d.ts +101 -76
  346. package/types/locales/nb-no.d.ts +101 -76
  347. package/types/locales/nl-nl.d.ts +101 -76
  348. package/types/locales/pl-pl.d.ts +101 -76
  349. package/types/locales/pt-pt.d.ts +101 -76
  350. package/types/locales/sv-se.d.ts +101 -76
  351. package/types/locales/tr-tr.d.ts +101 -76
  352. package/types/locales/uk-ua.d.ts +101 -76
  353. package/types/locales/vi-vn.d.ts +101 -76
  354. package/types/locales/zh-cn.d.ts +101 -76
  355. package/types/templates/entry.d.ts +15 -16
  356. package/types/templates/helpers.d.ts +5 -1
  357. package/types/templates/media.d.ts +43 -6
  358. package/types/types/index.d.ts +9 -15
  359. package/types/utils/file.d.ts +7 -15
  360. package/types/utils/keyboard.d.ts +5 -0
  361. package/types/utils/rect.d.ts +5 -0
  362. package/types/utils/string.d.ts +1 -0
  363. package/types/utils/thread.d.ts +6 -0
  364. package/types/utils/xhr.d.ts +1 -0
  365. package/types/workers/httpRequest.d.ts +23 -0
  366. package/types/workers/readFile.d.ts +9 -0
  367. package/types/workers/transformImage.d.ts +6 -0
  368. package/types/elements/FilePondEntryList/components/EntryContext/index.d.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -10,23 +10,24 @@ import { isDirectoryEntry as D, isNumber as G } from "../utils/test.js";
10
10
  import { Status as u } from "../common/status.js";
11
11
  import { clamp as N } from "../utils/math.js";
12
12
  import { arrayRemoveFalsy as $ } from "../utils/array.js";
13
- import { log as m, clear as R } from "../common/console.js";
14
- let w = 0;
15
- const K = I(
13
+ import { log as p, clear as R } from "../common/console.js";
14
+ import { toSpaceSeparatedString as T } from "../elements/common/string.js";
15
+ let S = 0;
16
+ const X = I(
16
17
  "ConsoleView",
17
18
  {
18
19
  clearBeforeLog: !1,
19
20
  debounce: !0
20
21
  },
21
- ({ props: x, extensionName: S }, C) => {
22
+ ({ props: w, extensionName: x }, C) => {
22
23
  const { on: b, insertEntries: F, updateEntry: L, removeEntries: B } = C;
23
- function d(e, r = /* @__PURE__ */ new WeakSet()) {
24
+ function m(e, r = /* @__PURE__ */ new WeakSet()) {
24
25
  if (e === null || typeof e != "object")
25
26
  return e;
26
27
  if (r.has(e))
27
28
  return null;
28
29
  if (r.add(e), Array.isArray(e))
29
- return e.map((t) => d(t, r));
30
+ return e.map((o) => m(o, r));
30
31
  try {
31
32
  return structuredClone(e);
32
33
  } catch {
@@ -35,34 +36,36 @@ const K = I(
35
36
  code: e.code,
36
37
  message: e.message
37
38
  };
38
- let o = {};
39
+ let t = {};
39
40
  for (const [l, a] of Object.entries(e))
40
- o[l] = d(a);
41
- return o;
41
+ t[l] = m(a);
42
+ return t;
42
43
  }
43
44
  }
44
45
  function O(e) {
45
- return d(e);
46
+ return m(e);
46
47
  }
47
48
  function U(e) {
48
49
  if (!G(e))
49
50
  return;
50
51
  if (e === 1 / 0)
51
52
  return "∞ busy";
52
- const r = N(e), t = 15, o = Math.round(r * t);
53
- return "█".repeat(o) + "░".repeat(t - o) + " " + Math.round(r * 100) + "%";
53
+ const r = N(e), o = 15, t = Math.round(r * o);
54
+ return "█".repeat(t) + "░".repeat(o - t) + " " + Math.round(r * 100) + "%";
54
55
  }
55
- function k(e, r, t) {
56
+ function k(e, r, o) {
56
57
  return !!e.status;
57
58
  }
58
- function p(e, r, t, o = "") {
59
+ function d(e, r, o, t = "") {
59
60
  let l = "inherit";
60
61
  const f = $(Object.values(e.extension ?? {})).filter(k).map(({ status: n }) => {
61
62
  let E = [], s = l, h = "", c = "";
62
63
  return n.type === u.Warning && (c = "▲", s = "Orange"), n.type === u.Error && (c = "✖︎", s = "OrangeRed"), n.type === u.Success && (c = "✔", s = "YellowGreen"), n.type === u.Info && (c = "i", s = "SkyBlue"), n.type === u.System && (n.code.includes("BUSY") ? (c = "⧗", h = ` ${U(n.progress)}`) : n.code.includes("COMPLETE") ? c = "✔" : c = "•", s = "Grey"), E.push({ label: `${c} ${n.code}${h}`, color: s }), E;
63
64
  }).flat();
64
- let i = `%c%s %o %c${r}%c${t}%c${o} ${f.map(({ label: n }) => `%c ${n}`).join(" ")}`;
65
- i += " ".repeat(Math.max(0, 60 - i.length)) + "", m(
65
+ let i = `%c%s %o %c${r}%c${o}%c${t} ${T(
66
+ ...f.map(({ label: n }) => `%c ${n}`)
67
+ )}`;
68
+ i += " ".repeat(Math.max(0, 60 - i.length)) + "", p(
66
69
  ...$([
67
70
  i,
68
71
  "color:grey",
@@ -76,7 +79,7 @@ const K = I(
76
79
  );
77
80
  }
78
81
  function A(e, r) {
79
- p(
82
+ d(
80
83
  e,
81
84
  r,
82
85
  e.name ?? e?.state.src ?? "",
@@ -85,43 +88,43 @@ const K = I(
85
88
  );
86
89
  }
87
90
  function M(e, r) {
88
- p(e, r, e.name + "/");
91
+ d(e, r, e.name + "/");
89
92
  }
90
- function g(e, r, t) {
91
- e.forEach((o, l) => {
93
+ function g(e, r, o) {
94
+ e.forEach((t, l) => {
92
95
  let a = "";
93
96
  const f = l === e.length - 1;
94
- let i = [...t];
95
- if (r > 0 && (a = (f ? "└──" : "├──") + " "), D(o))
96
- return M(o, i.join("") + a), r > 0 && i.push(f ? " " : "│ "), g(o.entries, r + 1, i);
97
- A(o, i.join("") + a);
97
+ let i = [...o];
98
+ if (r > 0 && (a = (f ? "└──" : "├──") + " "), D(t))
99
+ return M(t, i.join("") + a), r > 0 && i.push(f ? " " : "│ "), g(t.entries, r + 1, i);
100
+ A(t, i.join("") + a);
98
101
  });
99
102
  }
100
103
  let y;
101
104
  function v(e) {
102
- const { debounce: r, clearBeforeLog: t } = x, o = () => {
103
- t && R(), (e.length > 1 || t) && m(`
105
+ const { debounce: r, clearBeforeLog: o } = w, t = () => {
106
+ o && R(), (e.length > 1 || o) && p(`
104
107
  handleUpdateEntries(%o)
105
108
 
106
109
  `, e), g(e, 0, []);
107
110
  };
108
- cancelAnimationFrame(y), r ? y = requestAnimationFrame(o) : o();
111
+ cancelAnimationFrame(y), r ? y = requestAnimationFrame(t) : t();
109
112
  }
110
113
  if (window) {
111
- const e = `$pond${w}`, r = window[e] = {
114
+ const e = `$pond${S}`, r = window[e] = {
112
115
  insertEntries: F,
113
116
  removeEntries: B,
114
117
  updateEntry: L
115
118
  };
116
- m(
117
- `%c${S}: %cFilePond instance available for debugging at %cwindow%c.%c${e}`,
119
+ p(
120
+ `%c${x}: %cFilePond instance available for debugging at %cwindow%c.%c${e}`,
118
121
  "color:grey",
119
122
  "color:auto",
120
123
  "color:grey",
121
124
  "color:grey",
122
125
  "color:auto",
123
126
  { "🔍": r }
124
- ), w++;
127
+ ), S++;
125
128
  }
126
129
  const z = b("updateEntries", v);
127
130
  return {
@@ -132,5 +135,5 @@ const K = I(
132
135
  }
133
136
  );
134
137
  export {
135
- K as ConsoleView
138
+ X as ConsoleView
136
139
  };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,27 +1,32 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
6
6
  */
7
- import { createStoreExtension as a } from "./common/createStoreExtension.js";
8
- import { thread as s } from "../utils/thread.js";
9
- import { isFileEntry as i } from "../utils/test.js";
10
- const d = (t, e, { onprogress: o }) => {
11
- const r = new FileReader();
12
- r.onprogress = o, r.onloadend = () => e(null, { dataURL: r.result }), r.onerror = (n) => e(n), r.readAsDataURL(t);
13
- }, u = a("DataURLStore", {}, () => {
14
- async function t(e, { abortController: o, onprogress: r, onabort: n }) {
15
- return i(e) ? (await s(d, [e.file], {
16
- abortController: o,
17
- onprogress: r,
18
- onabort: n
19
- })).dataURL : void 0;
7
+ import { createStoreExtension as s } from "./common/createStoreExtension.js";
8
+ import { thread as m, createThreadWorker as c } from "../utils/thread.js";
9
+ import { isFileEntry as f } from "../utils/test.js";
10
+ import { readFile as d } from "../workers/readFile.js";
11
+ const k = s(
12
+ "DataURLStore",
13
+ {
14
+ workersURL: void 0
15
+ },
16
+ ({ props: t }) => {
17
+ async function e(r, { abortController: o, onprogress: a, onabort: i }) {
18
+ const { workersURL: n } = t;
19
+ return f(r) ? (await m(c(n, d), [r.file], {
20
+ abortController: o,
21
+ onprogress: a,
22
+ onabort: i
23
+ })).dataURL : void 0;
24
+ }
25
+ return {
26
+ storeEntry: e
27
+ };
20
28
  }
21
- return {
22
- storeEntry: t
23
- };
24
- });
29
+ );
25
30
  export {
26
- u as DataURLStore
31
+ k as DataURLStore
27
32
  };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,57 +1,63 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
6
6
  */
7
- import { createExtension as x } from "./common/createExtension.js";
8
- import { COMPONENT_PROPS as h } from "../elements/FilePondEntryList/index.js";
9
- const P = h.reduce((n, r) => (n[r] = void 0, n), {}), O = x(
7
+ import { createExtension as P } from "./common/createExtension.js";
8
+ import { COMPONENT_PROPS as R } from "../elements/FilePondEntryList/index.js";
9
+ import { addListener as T } from "../utils/dom.js";
10
+ const L = R.reduce((n, s) => (n[s] = void 0, n), {}), U = P(
10
11
  "EntryListView",
11
12
  {
12
13
  // props available on this element
13
- ...P,
14
+ ...L,
14
15
  // element reference
15
16
  element: void 0
16
17
  },
17
- (n, r) => {
18
- const { didSetProps: E } = n, {
19
- on: s,
20
- getEntries: c,
21
- setEntries: l,
22
- pushTask: u,
23
- abortTask: y,
24
- insertEntries: d,
25
- removeEntries: b,
26
- updateEntry: k,
27
- getEntryExtensionState: p,
28
- setEntryExtensionState: m
29
- } = r;
30
- let t;
31
- E(
32
- ({ element: e, ...v }) => {
33
- e && (t = e, t.setSetEntriesCallback(l), t.setInsertEntriesCallback(d), t.setRemoveEntriesCallback(b), t.setUpdateEntryCallback(k), t.setSetEntryExtensionStateCallback(m), t.setGetEntryExtensionStateCallback(p), t.setPushTaskCallback(u), t.setAbortTaskCallback(y), Object.assign(t, {
34
- ...v
35
- }), t.onSetEntries(c()));
18
+ (n, s) => {
19
+ const { didSetProps: l } = n, {
20
+ on: o,
21
+ getEntries: u,
22
+ setEntries: d,
23
+ pushTask: y,
24
+ abortTask: b,
25
+ insertEntries: m,
26
+ removeEntries: p,
27
+ updateEntry: f,
28
+ getEntryExtensionState: k,
29
+ setEntryExtensionState: C
30
+ } = s;
31
+ let t, r;
32
+ l(
33
+ ({ element: e, ...h }) => {
34
+ e && (t = e, Object.assign(t, {
35
+ ...h
36
+ }), i(), r?.(), r = T(t, "connected", () => {
37
+ i();
38
+ }));
36
39
  }
37
40
  );
41
+ function i() {
42
+ t.setSetEntriesCallback(d), t.setInsertEntriesCallback(m), t.setRemoveEntriesCallback(p), t.setUpdateEntryCallback(f), t.setSetEntryExtensionStateCallback(C), t.setGetEntryExtensionStateCallback(k), t.setPushTaskCallback(y), t.setAbortTaskCallback(b), t.onSetEntries(u());
43
+ }
38
44
  function S(e) {
39
45
  t?.onRemoveEntry(e);
40
46
  }
41
- function f(e) {
47
+ function v(e) {
42
48
  t?.onInsertEntry(e);
43
49
  }
44
- function C(e) {
50
+ function x(e) {
45
51
  t?.onSetEntries(e);
46
52
  }
47
- const o = s("insertEntry", f), i = s("removeEntry", S), a = s("updateEntries", C);
53
+ const a = o("insertEntry", v), E = o("removeEntry", S), c = o("updateEntries", x);
48
54
  return {
49
55
  destroy() {
50
- a && a(), o && o(), i && i();
56
+ r && r(), c && c(), a && a(), E && E();
51
57
  }
52
58
  };
53
59
  }
54
60
  );
55
61
  export {
56
- O as EntryListView
62
+ U as EntryListView
57
63
  };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,27 +1,31 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
6
6
  */
7
- import { createValidatorExtension as c } from "./common/createValidatorExtension.js";
8
- import { isString as i, isFileEntry as d, isBlobOrFile as p } from "../utils/test.js";
9
- const h = c(
7
+ import { createValidatorExtension as p } from "./common/createValidatorExtension.js";
8
+ import { isString as n, isFileEntry as c, isBlobOrFile as d } from "../utils/test.js";
9
+ import { upperCaseFirstLetter as M } from "../utils/string.js";
10
+ const I = p(
10
11
  "FileMimeTypeValidator",
11
12
  {
12
13
  accept: [],
13
- format: (n) => n.map((l) => l.split("/")[1]).join(", ").toUpperCase()
14
+ format: (l) => l.map((o) => {
15
+ const [r, i] = o.split("/");
16
+ return i === "*" ? `fileMainType${M(r)}` : i.toUpperCase();
17
+ }).join(", ")
14
18
  },
15
- ({ props: n, didSetProps: l }) => {
16
- let r = [], a = [];
17
- l(({ accept: e }) => {
18
- r = (i(e) ? e.split(",") : e).map(
19
- (t) => i(t) ? t.trim() : t
20
- ).filter((t) => i(t) ? t.length === 0 ? !1 : !t.startsWith(".") : !0), a = r.map((t) => i(t) ? t.includes("*") ? new RegExp("^" + t.split("*")[0], "i") : new RegExp("^" + t + "$", "i") : t);
19
+ ({ props: l, didSetProps: o }) => {
20
+ let r = [], i = [];
21
+ o(({ accept: e }) => {
22
+ r = (n(e) ? e.split(",") : e).map(
23
+ (t) => n(t) ? t.trim() : t
24
+ ).filter((t) => n(t) ? t.length === 0 ? !1 : !t.startsWith(".") : !0), i = r.map((t) => n(t) ? t.includes("*") ? new RegExp("^" + t.split("*")[0], "i") : new RegExp("^" + t + "$", "i") : t);
21
25
  });
22
- function o(e) {
23
- const { format: t } = n, { type: f } = e.file;
24
- return a.some((u) => u.test(f)) ? null : {
26
+ function a(e) {
27
+ const { format: t } = l, { type: f } = e.file;
28
+ return i.some((u) => u.test(f)) ? null : {
25
29
  code: "VALIDATION_FILE_MIME_TYPE_MISMATCH",
26
30
  values: {
27
31
  accept: t(r),
@@ -30,14 +34,14 @@ const h = c(
30
34
  };
31
35
  }
32
36
  function s(e) {
33
- return !d(e) || !p(e.file) || a.length === 0 ? !1 : !!e.file.type;
37
+ return !c(e) || !d(e.file) || i.length === 0 ? !1 : !!e.file.type;
34
38
  }
35
39
  return {
36
- validateEntry: o,
40
+ validateEntry: a,
37
41
  canValidateEntry: s
38
42
  };
39
43
  }
40
44
  );
41
45
  export {
42
- h as FileMimeTypeValidator
46
+ I as FileMimeTypeValidator
43
47
  };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,48 +1,59 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
6
6
  */
7
- import { createValidatorExtension as u } from "./common/createValidatorExtension.js";
8
- import { isFileEntry as s, isBlobOrFile as f } from "../utils/test.js";
9
- import { naturalFileSizeToBytes as t, bytesToNaturalFileSize as r } from "../utils/file.js";
10
- const F = u(
7
+ import { createValidatorExtension as S } from "./common/createValidatorExtension.js";
8
+ import { isFileEntry as z, isBlobOrFile as E } from "../utils/test.js";
9
+ import { naturalFileSizeToBytes as m, bytesToNaturalFileSize as l, getFormatFromFileSize as r } from "../utils/file.js";
10
+ const V = S(
11
11
  "FileSizeValidator",
12
12
  {
13
13
  minSize: 0,
14
- maxSize: 1 / 0
14
+ maxSize: 1 / 0,
15
+ byteUnits: void 0
15
16
  },
16
- ({ didSetProps: l }) => {
17
- const i = {
17
+ ({ didSetProps: o }) => {
18
+ const t = {
18
19
  min: 0,
19
20
  max: 1 / 0
20
- }, e = {
21
+ }, i = {
21
22
  min: null,
22
- max: null
23
+ minUnit: null,
24
+ max: null,
25
+ maxUnit: null
23
26
  };
24
- l(({ minSize: n, maxSize: a }) => {
25
- i.min = t(n), i.max = t(a), e.min = r(i.min), e.max = r(i.max);
27
+ o(({ minSize: n, maxSize: a, byteUnits: e }) => {
28
+ e = e || r(a) || r(n) || "mega", t.min = m(n), t.max = m(a);
29
+ const [s, F] = l(t.min, { byteUnits: e }).split(" "), [c, f] = l(t.max, { byteUnits: e }).split(" ");
30
+ i.min = s, i.minUnit = F, i.max = c, i.maxUnit = f;
26
31
  });
27
- function m(n) {
32
+ function u(n) {
28
33
  const { size: a } = n.file;
29
- return a < i.min ? {
34
+ return a < t.min ? {
30
35
  code: "VALIDATION_FILE_SIZE_UNDERFLOW",
31
- values: { minSize: e.min }
32
- } : a > i.max ? {
36
+ values: {
37
+ minSize: i.min,
38
+ minSizeUnit: `unit${i.minUnit}`
39
+ }
40
+ } : a > t.max ? {
33
41
  code: "VALIDATION_FILE_SIZE_OVERFLOW",
34
- values: { maxSize: e.max }
42
+ values: {
43
+ maxSize: i.max,
44
+ maxSizeUnit: `unit${i.maxUnit}`
45
+ }
35
46
  } : null;
36
47
  }
37
- function o(n) {
38
- return s(n) && f(n.file);
48
+ function x(n) {
49
+ return z(n) && E(n.file);
39
50
  }
40
51
  return {
41
- validateEntry: m,
42
- canValidateEntry: o
52
+ validateEntry: u,
53
+ canValidateEntry: x
43
54
  };
44
55
  }
45
56
  );
46
57
  export {
47
- F as FileSizeValidator
58
+ V as FileSizeValidator
48
59
  };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.2
2
+ * FilePond v5.0.0-beta.21
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -0,0 +1,109 @@
1
+ /*!
2
+ * FilePond v5.0.0-beta.21
3
+ * Copyright (c) 2017-2026 Pqina B.V.
4
+ * Released under the MIT License
5
+ * https://filepond.com
6
+ */
7
+ import { blobToFile as S } from "../utils/file.js";
8
+ import { getImageSize as k } from "../utils/media.js";
9
+ import { rectApply as q, rectFromSize as A } from "../utils/rect.js";
10
+ import { sizeFromRect as H } from "../utils/size.js";
11
+ import { isFileEntry as W, isImageFile as C } from "../utils/test.js";
12
+ import { thread as L, createThreadWorker as O } from "../utils/thread.js";
13
+ import { createTransformExtension as U } from "./common/createTransformExtension.js";
14
+ import { transformImage as Q } from "../workers/transformImage.js";
15
+ const Y = U(
16
+ "ImageBitmapTransform",
17
+ {
18
+ actionTransform: "transformImage",
19
+ width: void 0,
20
+ height: void 0,
21
+ upscale: !1,
22
+ fit: "contain",
23
+ aspectRatio: void 0,
24
+ type: void 0,
25
+ quality: "medium",
26
+ compression: 0.98,
27
+ workersURL: void 0,
28
+ shouldTransform: () => !0
29
+ },
30
+ ({ props: v, extensionName: b }) => {
31
+ function F(o) {
32
+ return W(o) && C(o.file) && !/svg/.test(o.file.type);
33
+ }
34
+ async function z(o, { abortController: T }) {
35
+ const {
36
+ aspectRatio: m,
37
+ width: c,
38
+ height: f,
39
+ upscale: R,
40
+ fit: l,
41
+ quality: x,
42
+ compression: I,
43
+ type: E,
44
+ workersURL: B
45
+ } = v, { file: n } = o, M = [...o.extension[b].history ?? []], d = await k(n);
46
+ if (d === null)
47
+ throw "Failed to read image size";
48
+ const e = q(A(d, m), Math.round);
49
+ let t = H(e);
50
+ if (c || f) {
51
+ const h = e.width / e.height, a = m || h;
52
+ let i = c, r = f;
53
+ if (r ? i || (i = r * a) : r = i / a, t.width = i, t.height = r, l === "contain" ? i > r ? t.width = r * a : t.height = i / a : l === "cover" && (i > r ? t.height = i / a : t.width = r * a), !R && (t.width > e.width || t.height > e.height)) {
54
+ const y = Math.min(
55
+ e.width / t.width,
56
+ e.height / t.height
57
+ );
58
+ t.width *= y, t.height *= y;
59
+ }
60
+ }
61
+ let s;
62
+ try {
63
+ s = await L(
64
+ O(B, Q),
65
+ [
66
+ n,
67
+ e,
68
+ {
69
+ resizeWidth: Math.round(t.width),
70
+ resizeHeight: Math.round(t.height),
71
+ resizeQuality: x,
72
+ imageOrientation: "from-image"
73
+ }
74
+ ],
75
+ {
76
+ abortController: T
77
+ }
78
+ );
79
+ } catch {
80
+ throw "Failed to create image bitmap";
81
+ }
82
+ const p = new OffscreenCanvas(s.width, s.height), g = p.getContext("bitmaprenderer");
83
+ if (g === null)
84
+ throw "Failed to create bitmap renderer";
85
+ g.transferFromImageBitmap(s);
86
+ let u;
87
+ try {
88
+ u = await p.convertToBlob({
89
+ type: E || n.type,
90
+ quality: I
91
+ });
92
+ } catch {
93
+ throw "Failed to convert canvas to blob";
94
+ }
95
+ const w = S(u, n.name);
96
+ return {
97
+ file: w,
98
+ history: [...M, w]
99
+ };
100
+ }
101
+ return {
102
+ canTransformEntry: F,
103
+ transformEntry: z
104
+ };
105
+ }
106
+ );
107
+ export {
108
+ Y as ImageBitmapTransform
109
+ };