filepond 5.0.0-beta.21 → 5.0.0-beta.23

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 (237) hide show
  1. package/cdn/assets/index.js +1 -1
  2. package/cdn/locales/ar-ar.js +1 -1
  3. package/cdn/locales/bn-bd.js +1 -1
  4. package/cdn/locales/cs-cz.js +1 -1
  5. package/cdn/locales/da-dk.js +1 -1
  6. package/cdn/locales/de-de.js +1 -1
  7. package/cdn/locales/el-gr.js +1 -1
  8. package/cdn/locales/en-gb.js +1 -1
  9. package/cdn/locales/es-es.js +1 -1
  10. package/cdn/locales/fi-fi.js +1 -1
  11. package/cdn/locales/fr-fr.js +1 -1
  12. package/cdn/locales/hi-in.js +1 -1
  13. package/cdn/locales/hu-hu.js +1 -1
  14. package/cdn/locales/index.js +1 -1
  15. package/cdn/locales/is-is.js +1 -1
  16. package/cdn/locales/it-it.js +1 -1
  17. package/cdn/locales/ja-jp.js +1 -1
  18. package/cdn/locales/ko-kr.js +1 -1
  19. package/cdn/locales/nb-no.js +1 -1
  20. package/cdn/locales/nl-nl.js +1 -1
  21. package/cdn/locales/pl-pl.js +1 -1
  22. package/cdn/locales/pt-pt.js +1 -1
  23. package/cdn/locales/sv-se.js +1 -1
  24. package/cdn/locales/tr-tr.js +1 -1
  25. package/cdn/locales/uk-ua.js +1 -1
  26. package/cdn/locales/vi-vn.js +1 -1
  27. package/cdn/locales/zh-cn.js +1 -1
  28. package/cdn/main.js +2 -2
  29. package/cdn/workers/httpRequest.js +1 -1
  30. package/cdn/workers/readFile.js +1 -1
  31. package/cdn/workers/transformImage.js +1 -1
  32. package/esm/assets/index.js +1 -1
  33. package/esm/common/console.js +1 -1
  34. package/esm/common/entry.js +1 -1
  35. package/esm/common/perceivedPerformanceProxy.js +1 -1
  36. package/esm/common/readEntriesFromDataTransfer.js +1 -1
  37. package/esm/common/ssr.js +1 -1
  38. package/esm/common/status.js +1 -1
  39. package/esm/core/entryTree.js +1 -1
  40. package/esm/core/extensionManager.js +29 -29
  41. package/esm/core/taskScheduler.js +106 -100
  42. package/esm/dev/index.js +1 -1
  43. package/esm/elements/FilePondDefault/index.css.js +1 -1
  44. package/esm/elements/FilePondDefault/index.js +1 -1
  45. package/esm/elements/FilePondDropArea/index.css.js +1 -1
  46. package/esm/elements/FilePondDropArea/index.js +1 -1
  47. package/esm/elements/FilePondDropArea/index.svelte.js +1 -1
  48. package/esm/elements/FilePondDropIndicator/index.css.js +1 -1
  49. package/esm/elements/FilePondDropIndicator/index.js +1 -1
  50. package/esm/elements/FilePondDropIndicator/index.svelte.js +1 -1
  51. package/esm/elements/FilePondEntryList/components/Entry/index.css.js +1 -1
  52. package/esm/elements/FilePondEntryList/components/Entry/index.js +1 -1
  53. package/esm/elements/FilePondEntryList/components/Entry/index.svelte.js +1 -1
  54. package/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.css.js +1 -1
  55. package/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.js +1 -1
  56. package/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.svelte.js +1 -1
  57. package/esm/elements/FilePondEntryList/components/EntryList/index.css.js +1 -1
  58. package/esm/elements/FilePondEntryList/components/EntryList/index.js +1 -1
  59. package/esm/elements/FilePondEntryList/components/EntryList/index.svelte.js +1 -1
  60. package/esm/elements/FilePondEntryList/components/EntryListItem/index.css.js +1 -1
  61. package/esm/elements/FilePondEntryList/components/EntryListItem/index.js +1 -1
  62. package/esm/elements/FilePondEntryList/components/EntryListItem/index.svelte.js +1 -1
  63. package/esm/elements/FilePondEntryList/components/EntryListItemPlaceholder/index.svelte.js +1 -1
  64. package/esm/elements/FilePondEntryList/components/EntryStatus/index.css.js +1 -1
  65. package/esm/elements/FilePondEntryList/components/EntryStatus/index.js +1 -1
  66. package/esm/elements/FilePondEntryList/components/EntryStatus/index.svelte.js +1 -1
  67. package/esm/elements/FilePondEntryList/components/MediaImage/components/BitmapRenderer.svelte.js +43 -43
  68. package/esm/elements/FilePondEntryList/components/MediaImage/components/BitmapRendererCache.js +1 -1
  69. package/esm/elements/FilePondEntryList/components/MediaImage/index.css.js +1 -1
  70. package/esm/elements/FilePondEntryList/components/MediaImage/index.js +1 -1
  71. package/esm/elements/FilePondEntryList/components/MediaImage/index.svelte.js +1 -1
  72. package/esm/elements/FilePondEntryList/components/MediaPane/index.css.js +1 -1
  73. package/esm/elements/FilePondEntryList/components/MediaPane/index.js +1 -1
  74. package/esm/elements/FilePondEntryList/components/MediaPane/index.svelte.js +1 -1
  75. package/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.css.js +1 -1
  76. package/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.js +1 -1
  77. package/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.svelte.js +1 -1
  78. package/esm/elements/FilePondEntryList/components/MediaVideo/index.css.js +1 -1
  79. package/esm/elements/FilePondEntryList/components/MediaVideo/index.js +1 -1
  80. package/esm/elements/FilePondEntryList/components/MediaVideo/index.svelte.js +54 -51
  81. package/esm/elements/FilePondEntryList/contexts/appContext.js +1 -1
  82. package/esm/elements/FilePondEntryList/contexts/dragContext.js +1 -1
  83. package/esm/elements/FilePondEntryList/contexts/dropContext.js +1 -1
  84. package/esm/elements/FilePondEntryList/contexts/entryContext.js +1 -1
  85. package/esm/elements/FilePondEntryList/contexts/springElementTreeContext.js +1 -1
  86. package/esm/elements/FilePondEntryList/index.css.js +1 -1
  87. package/esm/elements/FilePondEntryList/index.js +1 -1
  88. package/esm/elements/FilePondEntryList/index.svelte.js +1 -1
  89. package/esm/elements/FilePondInput/index.css.js +1 -1
  90. package/esm/elements/FilePondInput/index.js +60 -43
  91. package/esm/elements/FilePondSvelteComponent/index.svelte.js +1 -1
  92. package/esm/elements/attachments/dragarea.js +1 -1
  93. package/esm/elements/attachments/droparea.js +1 -1
  94. package/esm/elements/attachments/measurable.js +1 -1
  95. package/esm/elements/attachments/resizable.js +1 -1
  96. package/esm/elements/attachments/transitions.js +1 -1
  97. package/esm/elements/common/animationGuard.js +1 -1
  98. package/esm/elements/common/animationPreference.svelte.js +1 -1
  99. package/esm/elements/common/dragDrop.js +1 -1
  100. package/esm/elements/common/event.js +1 -1
  101. package/esm/elements/common/extendStyles.js +1 -1
  102. package/esm/elements/common/getClosestElement.js +1 -1
  103. package/esm/elements/common/html.js +1 -1
  104. package/esm/elements/common/nodeTree.js +1 -1
  105. package/esm/elements/common/store.svelte.js +1 -1
  106. package/esm/elements/common/string.js +1 -1
  107. package/esm/elements/common/transition.js +1 -1
  108. package/esm/elements/components/BooleanInput/index.css.js +1 -1
  109. package/esm/elements/components/BooleanInput/index.js +1 -1
  110. package/esm/elements/components/BooleanInput/index.svelte.js +1 -1
  111. package/esm/elements/components/Button/index.css.js +1 -1
  112. package/esm/elements/components/Button/index.js +1 -1
  113. package/esm/elements/components/Button/index.svelte.js +1 -1
  114. package/esm/elements/components/ElementPane/index.css.js +1 -1
  115. package/esm/elements/components/ElementPane/index.js +1 -1
  116. package/esm/elements/components/ElementPane/index.svelte.js +1 -1
  117. package/esm/elements/components/ElementSkeleton/index.css.js +1 -1
  118. package/esm/elements/components/ElementSkeleton/index.js +1 -1
  119. package/esm/elements/components/ElementSkeleton/index.svelte.js +1 -1
  120. package/esm/elements/components/FilenameInput/index.css.js +1 -1
  121. package/esm/elements/components/FilenameInput/index.js +1 -1
  122. package/esm/elements/components/FilenameInput/index.svelte.js +1 -1
  123. package/esm/elements/components/NodeList/index.svelte.js +1 -1
  124. package/esm/elements/components/ProgressIndicator/index.css.js +1 -1
  125. package/esm/elements/components/ProgressIndicator/index.js +1 -1
  126. package/esm/elements/components/ProgressIndicator/index.svelte.js +1 -1
  127. package/esm/elements/components/RangeInput/index.css.js +1 -1
  128. package/esm/elements/components/RangeInput/index.js +1 -1
  129. package/esm/elements/components/RangeInput/index.svelte.js +1 -1
  130. package/esm/elements/components/SpringElement/index.svelte.js +1 -1
  131. package/esm/elements/components/TextInput/index.css.js +1 -1
  132. package/esm/elements/components/TextInput/index.js +1 -1
  133. package/esm/elements/components/TextInput/index.svelte.js +1 -1
  134. package/esm/extensions/blob-loader.js +1 -1
  135. package/esm/extensions/canvas-loader.js +1 -1
  136. package/esm/extensions/chunked-upload-store.js +1 -1
  137. package/esm/extensions/clipboard-source.js +1 -1
  138. package/esm/extensions/common/createExtension.js +1 -1
  139. package/esm/extensions/common/createStoreExtension.js +39 -39
  140. package/esm/extensions/common/createTransformExtension.js +57 -56
  141. package/esm/extensions/common/createValidatorExtension.js +64 -82
  142. package/esm/extensions/console-view.js +1 -1
  143. package/esm/extensions/data-transfer-loader.js +1 -1
  144. package/esm/extensions/data-url-store.js +1 -1
  145. package/esm/extensions/drag-drop-source.js +1 -1
  146. package/esm/extensions/dropbox-source.js +1 -1
  147. package/esm/extensions/entry-list-view.js +1 -1
  148. package/esm/extensions/file-extension-validator.js +1 -1
  149. package/esm/extensions/file-input-source.js +1 -1
  150. package/esm/extensions/file-input-store.js +1 -1
  151. package/esm/extensions/file-mime-type-validator.js +1 -1
  152. package/esm/extensions/file-name-transform.js +1 -1
  153. package/esm/extensions/file-name-validator.js +1 -1
  154. package/esm/extensions/file-size-validator.js +1 -1
  155. package/esm/extensions/form-post-store.js +1 -1
  156. package/esm/extensions/image-bitmap-transform.js +32 -32
  157. package/esm/extensions/index.js +1 -1
  158. package/esm/extensions/list-count-validator.js +1 -1
  159. package/esm/extensions/list-size-validator.js +1 -1
  160. package/esm/extensions/media-resolution-validator.js +1 -1
  161. package/esm/extensions/object-url-store.js +1 -1
  162. package/esm/extensions/simulated-loader.js +1 -1
  163. package/esm/extensions/simulated-store.js +61 -38
  164. package/esm/extensions/text-input-store.js +1 -1
  165. package/esm/extensions/url-loader.js +1 -1
  166. package/esm/extensions/value-callback-store.js +13 -13
  167. package/esm/index.js +1 -1
  168. package/esm/locales/ar-ar.js +1 -1
  169. package/esm/locales/bn-bd.js +1 -1
  170. package/esm/locales/cs-cz.js +1 -1
  171. package/esm/locales/da-dk.js +1 -1
  172. package/esm/locales/de-de.js +1 -1
  173. package/esm/locales/el-gr.js +1 -1
  174. package/esm/locales/en-gb.js +1 -1
  175. package/esm/locales/es-es.js +1 -1
  176. package/esm/locales/fi-fi.js +1 -1
  177. package/esm/locales/fr-fr.js +1 -1
  178. package/esm/locales/hi-in.js +1 -1
  179. package/esm/locales/hu-hu.js +1 -1
  180. package/esm/locales/index.js +1 -1
  181. package/esm/locales/is-is.js +1 -1
  182. package/esm/locales/it-it.js +1 -1
  183. package/esm/locales/ja-jp.js +1 -1
  184. package/esm/locales/ko-kr.js +1 -1
  185. package/esm/locales/nb-no.js +1 -1
  186. package/esm/locales/nl-nl.js +1 -1
  187. package/esm/locales/pl-pl.js +1 -1
  188. package/esm/locales/pt-pt.js +1 -1
  189. package/esm/locales/sv-se.js +1 -1
  190. package/esm/locales/tr-tr.js +1 -1
  191. package/esm/locales/uk-ua.js +1 -1
  192. package/esm/locales/vi-vn.js +1 -1
  193. package/esm/locales/zh-cn.js +1 -1
  194. package/esm/templates/entry.js +1 -1
  195. package/esm/templates/helpers.js +1 -1
  196. package/esm/templates/index.js +1 -1
  197. package/esm/templates/media.js +111 -118
  198. package/esm/utils/array.js +1 -1
  199. package/esm/utils/bounds.js +1 -1
  200. package/esm/utils/cache.js +1 -1
  201. package/esm/utils/canvasToBlob.js +1 -1
  202. package/esm/utils/date.js +1 -1
  203. package/esm/utils/debounce.js +1 -1
  204. package/esm/utils/dom.js +1 -1
  205. package/esm/utils/file.js +1 -1
  206. package/esm/utils/functionToBlob.js +1 -1
  207. package/esm/utils/keyboard.js +1 -1
  208. package/esm/utils/math.js +1 -1
  209. package/esm/utils/media.js +1 -1
  210. package/esm/utils/number.js +1 -1
  211. package/esm/utils/object.js +1 -1
  212. package/esm/utils/objectURL.js +1 -1
  213. package/esm/utils/placeholder.js +1 -1
  214. package/esm/utils/poly.js +1 -1
  215. package/esm/utils/pubsub.js +1 -1
  216. package/esm/utils/rect.js +1 -1
  217. package/esm/utils/size.js +13 -9
  218. package/esm/utils/sleep.js +1 -1
  219. package/esm/utils/string.js +1 -1
  220. package/esm/utils/support.js +1 -1
  221. package/esm/utils/test.js +1 -1
  222. package/esm/utils/thread.js +1 -1
  223. package/esm/utils/tree.js +1 -1
  224. package/esm/utils/url.js +1 -1
  225. package/esm/utils/vector.js +1 -1
  226. package/esm/utils/window.js +1 -1
  227. package/esm/utils/xhr.js +1 -1
  228. package/esm/workers/httpRequest.js +1 -1
  229. package/esm/workers/readFile.js +1 -1
  230. package/esm/workers/transformImage.js +1 -1
  231. package/package.json +2 -1
  232. package/types/core/taskScheduler.d.ts +3 -3
  233. package/types/elements/FilePondEntryList/index.d.ts +1 -1
  234. package/types/extensions/simulated-store.d.ts +6 -0
  235. package/types/templates/media.d.ts +6 -18
  236. package/types/utils/array.d.ts +1 -1
  237. package/types/utils/size.d.ts +2 -0
@@ -1,42 +1,41 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.21
2
+ * FilePond v5.0.0-beta.23
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 M } from "./createExtension.js";
8
- import { isFileEntry as V, isBlobOrFile as C, isFile as g } from "../../utils/test.js";
7
+ import { createExtension as w } from "./createExtension.js";
8
+ import { isFileEntry as V, isBlobOrFile as F, isFile as b } from "../../utils/test.js";
9
9
  import { Status as n } from "../../common/status.js";
10
- import { debounce as P } from "../../utils/debounce.js";
11
- import { upperCaseFirstLetter as B } from "../../utils/string.js";
12
- function H(y, A, L) {
13
- return M(y, A, (d, c) => {
14
- const { didSetProps: m, props: E } = d, {
15
- setExtensionStatus: f,
16
- getEntries: T,
17
- on: i,
18
- pushTask: r,
10
+ import { upperCaseFirstLetter as M } from "../../utils/string.js";
11
+ function j(I, y, A) {
12
+ return w(I, y, (u, d) => {
13
+ const { didSetProps: h, props: c } = u, {
14
+ setExtensionStatus: U,
15
+ getEntries: L,
16
+ on: f,
17
+ pushTask: o,
19
18
  abortTask: D,
20
- setEntryExtensionStatus: o,
21
- getEntryExtensionStatus: O,
19
+ setEntryExtensionStatus: i,
20
+ getEntryExtensionStatus: g,
22
21
  setEntryExtensionState: l,
23
- getEntryExtensionState: u
24
- } = c, {
22
+ getEntryExtensionState: r
23
+ } = d, {
25
24
  // by default can only validate a blob/file
26
- canValidateEntry: h = (t) => V(t) && C(t.file),
25
+ canValidateEntry: O = (t) => V(t) && F(t.file),
27
26
  // by default all validate entry returns "all is well" state
28
27
  validateEntry: S = () => null
29
- } = L(d, c);
30
- m(() => {
31
- N();
28
+ } = A(u, d);
29
+ h(() => {
30
+ T();
32
31
  });
33
- function N() {
34
- for (const t of T())
35
- p(t);
32
+ function T() {
33
+ for (const t of L())
34
+ E(t);
36
35
  }
37
- function p(t) {
38
- const { canValidate: e } = u(t);
39
- e !== null && l(t, {
36
+ function E(t) {
37
+ const { canValidate: a } = r(t);
38
+ a !== null && l(t, {
40
39
  // null means it's undetermined if we can validate, need to retest
41
40
  canValidate: null,
42
41
  // null means it's undetermined if we should validate, need to retest
@@ -50,47 +49,47 @@ function H(y, A, L) {
50
49
  }
51
50
  });
52
51
  }
53
- async function _(t) {
54
- o(t, {
52
+ async function m(t) {
53
+ i(t, {
55
54
  type: n.System,
56
55
  code: "VALIDATION_BUSY",
57
56
  progress: 1 / 0
58
57
  });
59
- let e;
58
+ let a;
60
59
  try {
61
- e = await S(t);
60
+ a = await S(t);
62
61
  } catch (s) {
63
- throw o(t, {
62
+ throw i(t, {
64
63
  type: n.Error,
65
64
  code: "VALIDATION_ERROR",
66
65
  values: { error: s }
67
66
  }), s;
68
67
  }
69
- let a = "unknown";
70
- if (V(t) && g(t.file) && (a = `fileMainType${B(t.file.type.split("/").shift() ?? "")}`), o(
68
+ let e = "unknown";
69
+ if (V(t) && b(t.file) && (e = `fileMainType${M(t.file.type.split("/").shift() ?? "")}`), i(
71
70
  t,
72
- e ? {
71
+ a ? {
73
72
  type: n.Error,
74
73
  code: "VALIDATION_INVALID",
75
- subcode: e.code,
74
+ subcode: a.code,
76
75
  values: {
77
- ...e.values,
78
- fileMainType: a
76
+ ...a.values,
77
+ fileMainType: e
79
78
  }
80
79
  } : {
81
80
  type: n.System,
82
81
  code: "VALIDATION_COMPLETE"
83
82
  }
84
- ), e)
83
+ ), a)
85
84
  return !1;
86
85
  }
87
- async function x(t) {
88
- const { shouldValidate: e } = E;
89
- if (!e)
86
+ async function N(t) {
87
+ const { shouldValidate: a } = c;
88
+ if (!a)
90
89
  return;
91
- const a = await e(t);
90
+ const e = await a(t);
92
91
  l(t, {
93
- shouldValidate: a,
92
+ shouldValidate: e,
94
93
  // have determined if we should validate, switch to idle
95
94
  status: {
96
95
  type: n.System,
@@ -98,19 +97,19 @@ function H(y, A, L) {
98
97
  }
99
98
  });
100
99
  }
101
- async function I(t) {
102
- let e;
100
+ async function p(t) {
101
+ let a;
103
102
  try {
104
- e = await h(t);
105
- } catch (a) {
106
- throw o(t, {
103
+ a = await O(t);
104
+ } catch (e) {
105
+ throw i(t, {
107
106
  type: n.Error,
108
107
  code: "VALIDATION_ERROR",
109
- values: { error: a }
110
- }), a;
108
+ values: { error: e }
109
+ }), e;
111
110
  }
112
111
  l(t, {
113
- canValidate: e,
112
+ canValidate: a,
114
113
  // have determined if we can validate, switch to idle
115
114
  status: {
116
115
  type: n.System,
@@ -118,49 +117,32 @@ function H(y, A, L) {
118
117
  }
119
118
  });
120
119
  }
121
- function R(t) {
122
- const { canValidate: e } = u(t);
123
- e !== null && (D(t.id, I), p(t));
120
+ function _(t) {
121
+ const { canValidate: a } = r(t);
122
+ a !== null && (D(t.id, p), E(t));
124
123
  }
125
- function b(t) {
126
- const { canValidate: e, shouldValidate: a, status: s } = u(t), F = s?.code === "VALIDATION_COMPLETE";
127
- if (!(s?.type === "error" || F || e === !1 || a === !1)) {
128
- if (e === null) {
129
- r(t.id, I);
124
+ function x(t) {
125
+ const { canValidate: a, shouldValidate: e, status: s } = r(t), k = s?.code === "VALIDATION_COMPLETE";
126
+ if (!(s?.type === "error" || k || a === !1 || e === !1)) {
127
+ if (a === null) {
128
+ o(t.id, p);
130
129
  return;
131
130
  }
132
- if (E.shouldValidate && a === null) {
133
- r(t.id, x);
131
+ if (c.shouldValidate && e === null) {
132
+ o(t.id, N);
134
133
  return;
135
134
  }
136
- e === !0 && r(t.id, _);
135
+ a === !0 && o(t.id, m);
137
136
  }
138
137
  }
139
- function v(t) {
140
- for (const e of t) {
141
- const a = O(e);
142
- if (a.type === n.Error) {
143
- f({
144
- type: n.Error,
145
- code: "VALIDATION_INVALID_ENTRIES",
146
- meta: a.meta
147
- });
148
- return;
149
- }
150
- }
151
- f({
152
- type: n.System,
153
- code: "VALIDATION_COMPLETE"
154
- });
155
- }
156
- const U = i("updateEntryData", R), k = i("updateEntry", b), w = i("updateEntries", P(v));
138
+ const v = f("updateEntryData", _), R = f("updateEntry", x);
157
139
  return {
158
140
  destroy() {
159
- w(), k(), U();
141
+ R(), v();
160
142
  }
161
143
  };
162
144
  });
163
145
  }
164
146
  export {
165
- H as createValidatorExtension
147
+ j as createValidatorExtension
166
148
  };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -7,12 +7,12 @@
7
7
  import { blobToFile as S } from "../utils/file.js";
8
8
  import { getImageSize as k } from "../utils/media.js";
9
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(
10
+ import { sizeIsEmpty as H, sizeFromRect as W } from "../utils/size.js";
11
+ import { isFileEntry as C, isImageFile as L } from "../utils/test.js";
12
+ import { thread as O, createThreadWorker as U } from "../utils/thread.js";
13
+ import { createTransformExtension as Q } from "./common/createTransformExtension.js";
14
+ import { transformImage as j } from "../workers/transformImage.js";
15
+ const Z = Q(
16
16
  "ImageBitmapTransform",
17
17
  {
18
18
  actionTransform: "transformImage",
@@ -28,29 +28,29 @@ const Y = U(
28
28
  shouldTransform: () => !0
29
29
  },
30
30
  ({ props: v, extensionName: b }) => {
31
- function F(o) {
32
- return W(o) && C(o.file) && !/svg/.test(o.file.type);
31
+ function z(o) {
32
+ return C(o) && L(o.file) && !/svg/.test(o.file.type);
33
33
  }
34
- async function z(o, { abortController: T }) {
34
+ async function F(o, { abortController: T }) {
35
35
  const {
36
- aspectRatio: m,
37
- width: c,
38
- height: f,
39
- upscale: R,
40
- fit: l,
41
- quality: x,
42
- compression: I,
36
+ aspectRatio: c,
37
+ width: f,
38
+ height: l,
39
+ upscale: I,
40
+ fit: d,
41
+ quality: R,
42
+ compression: x,
43
43
  type: E,
44
44
  workersURL: B
45
- } = v, { file: n } = o, M = [...o.extension[b].history ?? []], d = await k(n);
46
- if (d === null)
45
+ } = v, { file: n } = o, M = [...o.extension[b].history ?? []], h = await k(n);
46
+ if (h === null || H(h))
47
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)) {
48
+ const e = q(A(h, c), Math.round);
49
+ let t = W(e);
50
+ if (f || l) {
51
+ const m = e.width / e.height, a = c || m;
52
+ let i = f, r = l;
53
+ if (r ? i || (i = r * a) : r = i / a, t.width = i, t.height = r, d === "contain" ? i > r ? t.width = r * a : t.height = i / a : d === "cover" && (i > r ? t.height = i / a : t.width = r * a), !I && (t.width > e.width || t.height > e.height)) {
54
54
  const y = Math.min(
55
55
  e.width / t.width,
56
56
  e.height / t.height
@@ -60,15 +60,15 @@ const Y = U(
60
60
  }
61
61
  let s;
62
62
  try {
63
- s = await L(
64
- O(B, Q),
63
+ s = await O(
64
+ U(B, j),
65
65
  [
66
66
  n,
67
67
  e,
68
68
  {
69
69
  resizeWidth: Math.round(t.width),
70
70
  resizeHeight: Math.round(t.height),
71
- resizeQuality: x,
71
+ resizeQuality: R,
72
72
  imageOrientation: "from-image"
73
73
  }
74
74
  ],
@@ -87,7 +87,7 @@ const Y = U(
87
87
  try {
88
88
  u = await p.convertToBlob({
89
89
  type: E || n.type,
90
- quality: I
90
+ quality: x
91
91
  });
92
92
  } catch {
93
93
  throw "Failed to convert canvas to blob";
@@ -99,11 +99,11 @@ const Y = U(
99
99
  };
100
100
  }
101
101
  return {
102
- canTransformEntry: F,
103
- transformEntry: z
102
+ canTransformEntry: z,
103
+ transformEntry: F
104
104
  };
105
105
  }
106
106
  );
107
107
  export {
108
- Y as ImageBitmapTransform
108
+ Z as ImageBitmapTransform
109
109
  };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com
@@ -1,16 +1,17 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.21
2
+ * FilePond v5.0.0-beta.23
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 b } from "./common/createStoreExtension.js";
8
- import { isFileEntry as x, isFile as D } from "../utils/test.js";
9
- import { getUniqueId as k } from "../utils/string.js";
10
- import { createProgressEvent as P } from "../utils/xhr.js";
11
- import { log as g } from "../common/console.js";
12
- import { sleep as m } from "../utils/sleep.js";
13
- const T = b(
7
+ import { createStoreExtension as k } from "./common/createStoreExtension.js";
8
+ import { isFileEntry as P, isFile as U } from "../utils/test.js";
9
+ import { getUniqueId as z } from "../utils/string.js";
10
+ import { createProgressEvent as I } from "../utils/xhr.js";
11
+ import { log as h } from "../common/console.js";
12
+ import { sleep as g } from "../utils/sleep.js";
13
+ import { noop as y } from "../utils/placeholder.js";
14
+ const H = k(
14
15
  "SimulatedStore",
15
16
  {
16
17
  bitrate: 1024e3,
@@ -19,57 +20,79 @@ const T = b(
19
20
  fetchStoredFile: void 0,
20
21
  log: !0
21
22
  },
22
- ({ extensionName: y, props: l, didSetProps: S }) => {
23
- let d;
24
- S(({ bitrate: e = 1024e3, tickrate: t = 250 }) => {
25
- d = e / 8 * (t / 1e3);
23
+ ({ extensionName: S, props: d, didSetProps: w }) => {
24
+ let p;
25
+ w(({ bitrate: e = 1024e3, tickrate: t = 250 }) => {
26
+ p = e / 8 * (t / 1e3);
26
27
  });
27
- const n = /* @__PURE__ */ new Map();
28
- async function p(e, { abortController: t, onprogress: i, onabort: o }) {
29
- if (!x(e) || !D(e.file))
28
+ const a = /* @__PURE__ */ new Map();
29
+ async function v(e, { abortController: t, onprogress: n, onabort: o }) {
30
+ if (!P(e) || !U(e.file))
30
31
  return;
31
32
  let r;
32
33
  t.signal.onabort = () => {
33
34
  clearInterval(r), o();
34
35
  };
35
- const { log: s, connectionDelay: h, tickrate: v } = l;
36
- if (await m(h), t.signal.aborted)
36
+ const { log: s, connectionDelay: f, tickrate: m, onstore: b = y } = d;
37
+ if (await g(f), t.signal.aborted)
37
38
  return;
38
- const f = e.size;
39
- return await new Promise((F) => {
40
- let a = 0;
39
+ const u = e.size;
40
+ return await new Promise((x, D) => {
41
+ let l = 0;
41
42
  r = setInterval(() => {
42
- if (!t.signal.aborted && (a = Math.min(f, a + d), i(P(!0, a, f)), a === f)) {
43
- const u = k();
44
- n.set(u, e), s && c(["did store", u]), clearInterval(r), F(u);
43
+ if (!t.signal.aborted) {
44
+ l = Math.min(u, l + p);
45
+ try {
46
+ b(l / u);
47
+ } catch (c) {
48
+ s && i(["error during store operation"]), clearInterval(r), D(c);
49
+ return;
50
+ }
51
+ if (n(I(!0, l, u)), l === u) {
52
+ const c = z();
53
+ a.set(c, e), s && i(["did store", c]), clearInterval(r), x(c);
54
+ }
45
55
  }
46
- }, v);
56
+ }, m);
47
57
  });
48
58
  }
49
- async function w(e, t, i) {
59
+ async function E(e, t, n) {
50
60
  const {
51
61
  log: o,
52
62
  connectionDelay: r,
53
- fetchStoredFile: s = () => new File(["Simulated"], "Untitled.txt", { type: "plain/text" })
54
- } = l;
55
- return o && c(["did restore", e]), n.has(e) ? (await m(r), n.get(e)) : await s(e, t, i);
63
+ fetchStoredFile: s = () => new File(["Simulated"], "Untitled.txt", { type: "plain/text" }),
64
+ onrestore: f = y
65
+ } = d;
66
+ await g(r);
67
+ try {
68
+ f();
69
+ } catch (m) {
70
+ throw o && i(["error during restore operation"]), m;
71
+ }
72
+ return a.has(e) ? (o && i(["did restore", e]), a.get(e)) : await s(e, t, n);
56
73
  }
57
- async function E(e) {
58
- const { log: t, connectionDelay: i } = l;
59
- return await m(i), n.delete(e), t && c(["did release", e]), !0;
74
+ async function F(e) {
75
+ const { log: t, connectionDelay: n, onrelease: o = y } = d;
76
+ await g(n);
77
+ try {
78
+ o();
79
+ } catch (r) {
80
+ throw t && i(["error during release operation"]), r;
81
+ }
82
+ return a.delete(e), t && i(["did release", e]), !0;
60
83
  }
61
- function c(e) {
62
- g("⛃", y, "(", ...e, ")"), Array.from(n).forEach(([t, i], o, r) => {
63
- g(" ", o < r.length - 1 ? "├─" : "└─", t, i);
84
+ function i(e) {
85
+ h("⛃", S, "(", ...e, ")"), Array.from(a).forEach(([t, n], o, r) => {
86
+ h(" ", o < r.length - 1 ? "├─" : "└─", t, n);
64
87
  });
65
88
  }
66
89
  return {
67
- storeEntry: p,
68
- restoreEntry: w,
69
- releaseEntry: E
90
+ storeEntry: v,
91
+ restoreEntry: E,
92
+ releaseEntry: F
70
93
  };
71
94
  }
72
95
  );
73
96
  export {
74
- T as SimulatedStore
97
+ H as SimulatedStore
75
98
  };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * FilePond v5.0.0-beta.21
2
+ * FilePond v5.0.0-beta.23
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.21
2
+ * FilePond v5.0.0-beta.23
3
3
  * Copyright (c) 2017-2026 Pqina B.V.
4
4
  * Released under the MIT License
5
5
  * https://filepond.com