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,39 +1,39 @@
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
7
  import { createExtensionManager as P } from "../../core/extensionManager.js";
8
8
  import { createEntryTree as B } from "../../core/entryTree.js";
9
- import { setBooleanAttribute as l, setStringAttribute as o, getAttribute as h, getFileSizeAttributeValue as p, createStyleSheet as M, h as f, setAttributes as T, getAttributeFromElements as E, addListener as q, dispatchCustomEvent as g } from "../../utils/dom.js";
10
- import { isFileEntry as w, isNumber as A, isString as c, isFile as b, isObject as y, isDataTransfer as I, isDirectoryEntry as R, isBlobOrFile as D, isCanvas as _ } from "../../utils/test.js";
9
+ import { setBooleanAttribute as l, setStringAttribute as o, getAttribute as h, getFileSizeAttributeValue as p, createStyleSheet as T, h as f, setAttributes as D, getAttributeFromElements as E, addListener as M, dispatchCustomEvent as g } from "../../utils/dom.js";
10
+ import { isFileEntry as k, isNumber as w, isString as c, isFile as b, isObject as y, isDataTransfer as I, isDirectoryEntry as R, isBlobOrFile as _, isCanvas as q } from "../../utils/test.js";
11
11
  import { stringReplaceVariables as u, statusToLabel as j, statusCodeToLocaleKey as U } from "../common/string.js";
12
12
  import { toCamelCase as K } from "../../utils/string.js";
13
13
  import { debounce as x } from "../../utils/debounce.js";
14
14
  import { copyFilePropsToObject as V } from "../../utils/file.js";
15
- import { Status as $ } from "../../common/status.js";
16
- import { HTMLElementSafe as G } from "../../common/ssr.js";
17
- import { getFilenameFromURL as H } from "../../utils/url.js";
15
+ import { Status as N } from "../../common/status.js";
16
+ import { HTMLElementSafe as $ } from "../../common/ssr.js";
17
+ import { getFilenameFromURL as G } from "../../utils/url.js";
18
18
  import { arrayRemoveFalsy as S } from "../../utils/array.js";
19
- import J from "./index.css.js";
20
- function W(r) {
19
+ import H from "./index.css.js";
20
+ function J(r) {
21
21
  const { beforeInsertEntries: t } = r || {};
22
22
  return B({
23
23
  // allows limiting the total entries added
24
24
  beforeInsertEntries: t,
25
25
  // formats the entry so all entries in the dataset follow the same data structure
26
26
  beforeOnboardEntry(e) {
27
- return z(e) ? C(e) : !1;
27
+ return z(e) ? O(e) : !1;
28
28
  },
29
29
  // makes modifications to the props the entry is updated with
30
30
  beforeUpdateEntryWithProps(e, i, s) {
31
- if (w(e) && s && V(i.file, i), i.extension) {
31
+ if (k(e) && s && V(i.file, i), i.extension) {
32
32
  const d = Object.values(
33
33
  i.extension
34
34
  );
35
35
  for (const { status: a } of d)
36
- a && (a.values = a.values ?? null, a.progress = A(a.progress) ? a.progress : null);
36
+ a && (a.values = a.values ?? null, a.progress = w(a.progress) ? a.progress : null);
37
37
  }
38
38
  }
39
39
  });
@@ -50,12 +50,12 @@ const F = [
50
50
  // if is required and value is missing
51
51
  "valueMissing"
52
52
  ];
53
- function X(r) {
54
- return c(r) || D(r) || _(r) || I(r);
53
+ function W(r) {
54
+ return c(r) || _(r) || q(r) || I(r);
55
55
  }
56
56
  function z(r) {
57
- if (c(r) || w(r)) {
58
- const t = c(r) ? H(r) ?? "" : r.name ?? (b(r?.src) ? r.src.name : "");
57
+ if (c(r) || k(r)) {
58
+ const t = c(r) ? G(r) ?? "" : r.name ?? (b(r?.src) ? r.src.name : "");
59
59
  return ![
60
60
  /\.git/,
61
61
  /thumbs\.db/,
@@ -67,21 +67,24 @@ function z(r) {
67
67
  }
68
68
  return !0;
69
69
  }
70
- function C(r) {
71
- const t = X(r) ? { src: r } : { ...r };
70
+ function O(r) {
71
+ const t = W(r) ? { src: r } : { ...r };
72
72
  if (t.state = y(t.state) ? t.state : {}, t.extension = y(t.extension) ? t.extension : {}, t.origin = t.origin ?? "api", t.containerId = t.containerId ?? null, I(t.src))
73
73
  return t;
74
74
  if (t.path = t.path ?? t.src?.path ?? null, R(t)) {
75
75
  const { entries: i } = t;
76
- return t.entries = i.filter(z).map(C), t;
76
+ return t.entries = i.filter(z).map(O), t;
77
77
  }
78
78
  const e = t;
79
79
  return e.file = e.file ?? void 0, b(e.src) && (e.file = e.src), b(e.file) && V(e.file, e), e;
80
80
  }
81
- function N(r) {
82
- return r.some((t) => Object.values(t.extension ?? {}).some(({ status: e }) => e ? A(e.progress) : !1));
81
+ function X(r) {
82
+ return r.some((t) => Object.values(t.extension ?? {}).some(({ status: e }) => e ? w(e.progress) : !1));
83
+ }
84
+ function Q(r) {
85
+ return r.some((t) => Object.values(t.extension ?? {}).some(({ status: e }) => e ? e.type === "error" : !1));
83
86
  }
84
- function Q(r, t) {
87
+ function Y(r, t) {
85
88
  const e = Array.isArray(t) ? t : [t], i = new FormData();
86
89
  for (const s of e) {
87
90
  if (b(s)) {
@@ -92,8 +95,8 @@ function Q(r, t) {
92
95
  }
93
96
  return i;
94
97
  }
95
- const Y = ["required", "name", "id"], v = ["disabled", "accept", "capture", "webkitdirectory"], k = ["disabled", "required", "webkitdirectory"];
96
- class dt extends G {
98
+ const Z = ["required", "name", "id"], v = ["disabled", "accept", "capture", "webkitdirectory"], A = ["disabled", "required", "webkitdirectory"];
99
+ class mt extends $ {
97
100
  /** FilePond element shadowRoot */
98
101
  #u;
99
102
  /** Div element that wraps styleable children */
@@ -183,7 +186,7 @@ class dt extends G {
183
186
  /** Syncs file-pond interaction attributes (attributes that impact file system file selection UX) to source input attributes */
184
187
  #b(t, e) {
185
188
  if (v.includes(t)) {
186
- if (k.includes(t)) {
189
+ if (A.includes(t)) {
187
190
  l(this.#o, t, e === !0 || e === "");
188
191
  return;
189
192
  }
@@ -193,7 +196,7 @@ class dt extends G {
193
196
  /** Looks up the extension(s) linked to this attribute and assigns the matched props */
194
197
  #g(t, e) {
195
198
  const i = K(t);
196
- e = k.includes(t) && e === "" ? !0 : e, this.#i.propagateExtensionProperty(i, e);
199
+ e = A.includes(t) && e === "" ? !0 : e, this.#i.propagateExtensionProperty(i, e);
197
200
  }
198
201
  /** Disable the field and sets the disabled attribute */
199
202
  set disabled(t) {
@@ -385,7 +388,7 @@ class dt extends G {
385
388
  constructor(t) {
386
389
  super();
387
390
  const { styles: e = [] } = t || {};
388
- this.#u = this.attachShadow({ mode: "open", delegatesFocus: !0 }), this.#u.adoptedStyleSheets = [J, ...e].map(M), this.#n = f("div"), this.#n.tabIndex = -1, this.#u.append(this.#n), this.#a = f("slot"), this.#n.append(this.#a), this.#o = f("input", {
391
+ this.#u = this.attachShadow({ mode: "open", delegatesFocus: !0 }), this.#u.adoptedStyleSheets = [H, ...e].map(T), this.#n = f("div"), this.#n.tabIndex = -1, this.#u.append(this.#n), this.#a = f("slot"), this.#n.append(this.#a), this.#o = f("input", {
389
392
  type: "file",
390
393
  "aria-hidden": !0,
391
394
  hidden: !0,
@@ -394,7 +397,7 @@ class dt extends G {
394
397
  }), this.#n.prepend(this.#o), this.#s = f("button", {
395
398
  type: "button",
396
399
  part: "browse-button"
397
- }), this.#n.prepend(this.#s), this.#r = this.attachInternals(), this.#t = W({
400
+ }), this.#n.prepend(this.#s), this.#r = this.attachInternals(), this.#t = J({
398
401
  // handles one or multiple files state
399
402
  beforeInsertEntries: (i, s) => this.maxFiles < 1 / 0 && s.length + i.length > this.maxFiles ? i.toSpliced(this.maxFiles - s.length) : i
400
403
  }), this.#i = P(this.#t), this.#i.on("setExtensions", ({ extensionNames: i }) => {
@@ -432,7 +435,7 @@ class dt extends G {
432
435
  };
433
436
  if (this.#e) {
434
437
  const i = t === 0 ? "ariaNoEntries" : t === 1 ? "ariaSingleEntry" : "ariaMultipleEntries";
435
- T(this.#s, {
438
+ D(this.#s, {
436
439
  // aria label is always base browse button
437
440
  "aria-label": u(this.#e.browse, e, this.#e),
438
441
  // aria description is always base browse button
@@ -450,7 +453,7 @@ class dt extends G {
450
453
  );
451
454
  }
452
455
  #y() {
453
- const t = this.#a.assignedElements({ flatten: !0 }).filter((i) => i.matches('input[type="file"]')), e = [...Y, ...v];
456
+ const t = this.#a.assignedElements({ flatten: !0 }).filter((i) => i.matches('input[type="file"]')), e = [...Z, ...v];
454
457
  for (const i of e) {
455
458
  const s = E(i, ...t, this);
456
459
  s !== void 0 && (this[i] = s);
@@ -462,7 +465,7 @@ class dt extends G {
462
465
  this.#y();
463
466
  const t = (e) => {
464
467
  this.#r.setFormValue(
465
- e.length > 0 ? Q(this.name ?? "filepond", e) : null
468
+ e.length > 0 ? Y(this.name ?? "filepond", e) : null
466
469
  ), this.checkValidity(), g(this, "change");
467
470
  };
468
471
  this.#i.setExtensionProperties("FileInputSource", {
@@ -472,12 +475,12 @@ class dt extends G {
472
475
  required: this.required,
473
476
  onChange: t
474
477
  }), this.#E(), this.#h.push(
475
- q(this, "click", (e) => {
478
+ M(this, "click", (e) => {
476
479
  const i = e.composedPath()[0];
477
480
  i !== this && i !== this.#s && !this.#s.contains(i) || (e.stopPropagation(), e.preventDefault(), this.browse());
478
481
  }),
479
482
  // fire update events
480
- this.#t.on("update", () => {
483
+ this.#t.on("updateEntries", () => {
481
484
  g(this, "update");
482
485
  })
483
486
  ), g(this, "connected");
@@ -520,11 +523,11 @@ class dt extends G {
520
523
  #E() {
521
524
  this.#h.push(
522
525
  this.#t.on(
523
- "update",
526
+ "updateEntries",
524
527
  x(() => this.checkValidity())
525
528
  ),
526
529
  this.#i.on(
527
- "update",
530
+ "updateExtensionState",
528
531
  x(() => this.checkValidity())
529
532
  )
530
533
  ), this.checkValidity();
@@ -532,17 +535,31 @@ class dt extends G {
532
535
  /** Validates the current state of the field */
533
536
  checkValidity() {
534
537
  const { validationInvalidBusy: t = "", validationInvalidState: e = "" } = this.#e || {};
535
- if (N(this.entries)) {
538
+ if (X(this.entries)) {
536
539
  if (this.#r.validity.customError === !0)
537
540
  return;
538
541
  this.#d({ customError: !0 }, u(t));
539
542
  return;
540
543
  }
541
- const i = this.#i.getState(), s = {};
544
+ const i = {
545
+ // add generic item state, for when an extension doesn't set a generic state on the extension manager (this allows for more extension specific error messages like "not all items have been stored")
546
+ ...Q(this.entries) ? {
547
+ FilePondItemValidator: {
548
+ status: {
549
+ type: "error",
550
+ code: "VALIDATION_INVALID_ENTRIES",
551
+ meta: null,
552
+ values: []
553
+ }
554
+ }
555
+ } : {},
556
+ // overwrite with specific extension states
557
+ ...this.#i.getState()
558
+ }, s = {};
542
559
  for (const { status: n } of Object.values(i)) {
543
- if (!n || n.type !== $.Error)
560
+ if (!n || n.type !== N.Error)
544
561
  continue;
545
- const { flag: m = "customError" } = n?.meta ?? {}, L = this.#e ? j(
562
+ const { flag: m = "customError" } = n?.meta ?? {}, C = this.#e ? j(
546
563
  {
547
564
  ...n,
548
565
  values: {
@@ -554,17 +571,17 @@ class dt extends G {
554
571
  },
555
572
  this.#e
556
573
  ) : U(n.code);
557
- s[m] = L ?? u(e);
574
+ s[m] = C ?? u(e);
558
575
  }
559
576
  if (Object.keys(s).length === 0)
560
577
  return this.#d();
561
578
  const a = S(F.map((n) => s[n])).at(
562
579
  0
563
- ), O = F.reduce(
580
+ ), L = F.reduce(
564
581
  (n, m) => (n[m] = !!s[m], n),
565
582
  {}
566
583
  );
567
- return this.#d(O, a);
584
+ return this.#d(L, a);
568
585
  }
569
586
  /** Sets the validity state on the element internals. Returns `true` if valid, `false` if invalid */
570
587
  #d(t, e) {
@@ -603,6 +620,6 @@ class dt extends G {
603
620
  //#endregion
604
621
  }
605
622
  export {
606
- dt as FilePondInputElement,
607
- W as createFilePondEntryTree
623
+ mt as FilePondInputElement,
624
+ J as createFilePondEntryTree
608
625
  };
@@ -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
@@ -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
@@ -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
@@ -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