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
@@ -0,0 +1,45 @@
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
+ function g({
8
+ url: l,
9
+ method: s = "GET",
10
+ formData: a,
11
+ data: p,
12
+ headers: i = [],
13
+ timeout: d = 0,
14
+ withCredentials: f = !1,
15
+ responseType: c = "text"
16
+ }, u, { abortController: E = new AbortController(), onprogress: T, onabort: h }) {
17
+ function n() {
18
+ u(e.status + " (" + e.statusText + ")");
19
+ }
20
+ function q() {
21
+ const t = {
22
+ response: e.response,
23
+ responseHeaders: e.getAllResponseHeaders()
24
+ };
25
+ u(null, t, typeof t.response != "string" ? [t.response] : void 0);
26
+ }
27
+ function H(t) {
28
+ const o = new FormData();
29
+ return t.filter(Boolean).forEach((R) => {
30
+ o.append(...R);
31
+ }), o;
32
+ }
33
+ const e = new XMLHttpRequest();
34
+ e.responseType = c, E.signal.onabort = () => {
35
+ e.abort();
36
+ };
37
+ const r = p || (a ? H(a) : null);
38
+ (r ? e.upload : e).onprogress = T, e.onload = () => {
39
+ e.status >= 200 && e.status < 300 ? q() : n();
40
+ }, e.onerror = n, e.ontimeout = n, e.onabort = h, e.open(r && (s === "GET" || s === "HEAD") ? "POST" : s, l), e.withCredentials = f, e.timeout = d, i.forEach(([t, o]) => e.setRequestHeader(t, o)), e.send(r);
41
+ }
42
+ g.fileName = "httpRequest";
43
+ export {
44
+ g as httpRequest
45
+ };
@@ -0,0 +1,37 @@
1
+ function g({
2
+ url: l,
3
+ method: s = "GET",
4
+ formData: a,
5
+ data: p,
6
+ headers: i = [],
7
+ timeout: d = 0,
8
+ withCredentials: f = !1,
9
+ responseType: c = "text"
10
+ }, u, { abortController: E = new AbortController(), onprogress: T, onabort: h }) {
11
+ function n() {
12
+ u(e.status + " (" + e.statusText + ")");
13
+ }
14
+ function q() {
15
+ const t = {
16
+ response: e.response,
17
+ responseHeaders: e.getAllResponseHeaders()
18
+ };
19
+ u(null, t, typeof t.response != "string" ? [t.response] : void 0);
20
+ }
21
+ function H(t) {
22
+ const o = new FormData();
23
+ return t.filter(Boolean).forEach((R) => {
24
+ o.append(...R);
25
+ }), o;
26
+ }
27
+ const e = new XMLHttpRequest();
28
+ e.responseType = c, E.signal.onabort = () => {
29
+ e.abort();
30
+ };
31
+ const r = p || (a ? H(a) : null);
32
+ (r ? e.upload : e).onprogress = T, e.onload = () => {
33
+ e.status >= 200 && e.status < 300 ? q() : n();
34
+ }, e.onerror = n, e.ontimeout = n, e.onabort = h, e.open(r && (s === "GET" || s === "HEAD") ? "POST" : s, l), e.withCredentials = f, e.timeout = d, i.forEach(([t, o]) => e.setRequestHeader(t, o)), e.send(r);
35
+ }
36
+ g.fileName = "httpRequest";
37
+ self.onmessage = function (message) {g.apply(null, message.data.concat([function (err, response, transferList = []) {const message = { content: response, error: err };return self.postMessage(message, transferList);},{onprogress: function({ lengthComputable, loaded, total }) {self.postMessage({ type: 'progress', content: { lengthComputable, loaded, total }, error: null })}}]))}
@@ -0,0 +1,14 @@
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
+ function d(a, r, { onprogress: n }) {
8
+ const e = new FileReader();
9
+ e.onprogress = n, e.onloadend = () => r(null, { dataURL: e.result }), e.onerror = (o) => r(o), e.readAsDataURL(a);
10
+ }
11
+ d.fileName = "readFile";
12
+ export {
13
+ d as readFile
14
+ };
@@ -0,0 +1,6 @@
1
+ function d(a, r, { onprogress: n }) {
2
+ const e = new FileReader();
3
+ e.onprogress = n, e.onloadend = () => r(null, { dataURL: e.result }), e.onerror = (o) => r(o), e.readAsDataURL(a);
4
+ }
5
+ d.fileName = "readFile";
6
+ self.onmessage = function (message) {d.apply(null, message.data.concat([function (err, response, transferList = []) {const message = { content: response, error: err };return self.postMessage(message, transferList);},{onprogress: function({ lengthComputable, loaded, total }) {self.postMessage({ type: 'progress', content: { lengthComputable, loaded, total }, error: null })}}]))}
@@ -0,0 +1,16 @@
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
+ function r(a, e, m, l) {
8
+ const n = e ? [a, ...Object.values(e), m] : [a, m];
9
+ createImageBitmap.apply(null, n).then((t) => {
10
+ l(null, t, [t]);
11
+ });
12
+ }
13
+ r.fileName = "transformImage";
14
+ export {
15
+ r as transformImage
16
+ };
@@ -0,0 +1,8 @@
1
+ function r(a, e, m, l) {
2
+ const n = e ? [a, ...Object.values(e), m] : [a, m];
3
+ createImageBitmap.apply(null, n).then((t) => {
4
+ l(null, t, [t]);
5
+ });
6
+ }
7
+ r.fileName = "transformImage";
8
+ self.onmessage = function (message) {r.apply(null, message.data.concat([function (err, response, transferList = []) {const message = { content: response, error: err };return self.postMessage(message, transferList);},{onprogress: function({ lengthComputable, loaded, total }) {self.postMessage({ type: 'progress', content: { lengthComputable, loaded, total }, error: null })}}]))}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "tag": "beta"
4
4
  },
5
5
  "name": "filepond",
6
- "version": "5.0.0-beta.2",
6
+ "version": "5.0.0-beta.21",
7
7
  "description": "FilePond, where files go to stretch their bits.",
8
8
  "author": "Rik Schennink",
9
9
  "license": "MIT",
@@ -11,11 +11,12 @@
11
11
  "scripts": {
12
12
  "dev": "vite --host",
13
13
  "dev-optimal": "NODE_ENV=production vite --host",
14
- "test": "vite --port 5175 --open /test/",
15
- "build": "npm run esm && npm run cdn && npm run types",
14
+ "test": "vitest run --config vitest.config.ts",
15
+ "build": "npm run test && npm run esm && npm run cdn && npm run types",
16
16
  "esm": "rm -rf ./esm && vite build",
17
17
  "types": "rm -rf ./types && tsc -p ./tsconfig.build.json && cp src/types/*.d.ts types && echo 'import \"./custom-element.js\";\nimport \"./default-extensions.js\";' >> types/index.d.ts",
18
18
  "cdn": "rm -rf ./cdn && rollup -c rollup.config.js",
19
+ "dev-cdn": "npx ws --stack lws-redirect lws-static --redirect 'http://localhost:8000/cdn-redirect/ -> http://localhost:8000/cdn/'",
19
20
  "prepublishOnly": "npm run build && node prepublish.js"
20
21
  },
21
22
  "files": [
@@ -58,32 +59,36 @@
58
59
  "./assets": {
59
60
  "types": "./types/locales/index.d.ts",
60
61
  "import": "./esm/assets/index.js"
62
+ },
63
+ "./workers": {
64
+ "types": "./types/workers/*.d.ts",
65
+ "import": "./esm/workers/*.js"
66
+ },
67
+ "./dev": {
68
+ "types": "./types/dev/index.d.ts",
69
+ "import": "./esm/dev/index.js"
61
70
  }
62
71
  },
63
72
  "devDependencies": {
64
73
  "@rollup/plugin-terser": "^0.4.4",
65
74
  "@sveltejs/vite-plugin-svelte": "^6.0.0",
66
75
  "@typescript-eslint/types": "^8.48.1",
67
- "chai": "^4.3.7",
68
- "chokidar-cli": "^3.0.0",
76
+ "@vitest/browser-playwright": "^4.0.18",
69
77
  "eslint-plugin-svelte": "^2.46.1",
70
78
  "glob": "^11.0.3",
71
- "http-server": "^14.1.1",
72
- "mocha": "^10.2.0",
73
- "mocha-headless-chrome": "^4.0.0",
79
+ "mock-xmlhttprequest": "^8.4.1",
74
80
  "prettier-plugin-jsdoc": "^1.3.0",
75
81
  "prettier-plugin-svelte": "^3.4.0",
76
82
  "replace-in-files-cli": "^3.0.0",
77
83
  "rollup": "^4.53.3",
78
84
  "rollup-plugin-cleanup": "^3.2.1",
79
85
  "rollup-plugin-license": "^3.6.0",
80
- "sinon": "^15.0.1",
81
- "svelte": "^5.45.6",
86
+ "svelte": "^5.53.12",
82
87
  "svelte-check": "^4.3.1",
83
88
  "typescript": "^5.9.2",
84
- "unplugin-dts": "^1.0.0-beta.0",
85
89
  "vite": "^7.2.6",
86
90
  "vite-plugin-dts": "^4.5.4",
87
- "vite-plugin-static-copy": "^3.1.2"
91
+ "vite-plugin-static-copy": "^3.1.2",
92
+ "vitest": "^4.0.18"
88
93
  }
89
94
  }
@@ -1,10 +1,14 @@
1
1
  import type { FilePondEntry, FilePondEntrySource } from '../types/index.js';
2
2
  export interface EntryTreeOptions {
3
+ /**
4
+ * Called before inserting entries into the tree, allows limiting the amount of entries inserted
5
+ */
6
+ beforeInsertEntries?: (entriesToInsert: FilePondEntry[], currentEntries: FilePondEntry[]) => FilePondEntry[];
3
7
  /**
4
8
  * Called before an entry is added to the tree, allows manipulating the entry, or returning
5
- * false to prevent adding it
9
+ * false to prevent adding it, can be called multiple times
6
10
  */
7
- beforeAddEntry?: (entry: FilePondEntrySource) => false | FilePondEntry;
11
+ beforeOnboardEntry?: (entry: FilePondEntrySource) => false | FilePondEntry;
8
12
  /** Called before an `entry` is updated with `props`, allows manipulating the props */
9
13
  beforeUpdateEntryWithProps?: (entry: FilePondEntry, props: {
10
14
  [key: string]: any;
@@ -5,6 +5,19 @@ import type { createEntryTree, Needle } from './entryTree.js';
5
5
  export type ExtensionFactory = Extension | [Extension, {
6
6
  [key: string]: unknown;
7
7
  }];
8
+ export type ExtensionFactoryInsertInstructions = Extension | [Extension, {
9
+ [key: string]: unknown;
10
+ }] | [Extension, {
11
+ [key: string]: unknown;
12
+ }, {
13
+ before: string;
14
+ after?: undefined;
15
+ }] | [Extension, {
16
+ [key: string]: unknown;
17
+ }, {
18
+ before?: undefined;
19
+ after: string;
20
+ }];
8
21
  export interface LoadedExtension {
9
22
  current?: any;
10
23
  index: number;
@@ -42,7 +55,7 @@ export interface ExtensionManagerAPI {
42
55
  setExtensionStatus: (status: ExtensionStatus) => void;
43
56
  getExtensionStatus: () => ExtensionStatus;
44
57
  }
45
- export declare function createExtensionManager(tree: ReturnType<typeof createEntryTree>): {
58
+ export interface ExtensionMangerInstance {
46
59
  on: (event: string, callback: (detail?: any) => void) => () => void;
47
60
  get extensions(): Extension[];
48
61
  set extensions(newExtensionFactories: ExtensionFactory[]);
@@ -57,4 +70,5 @@ export declare function createExtensionManager(tree: ReturnType<typeof createEnt
57
70
  [name: string]: ExtensionState;
58
71
  };
59
72
  destroy(): void;
60
- };
73
+ }
74
+ export declare function createExtensionManager(tree: ReturnType<typeof createEntryTree>): ExtensionMangerInstance;
@@ -1,5 +1,5 @@
1
1
  export interface TaskSchedulerOptions {
2
- logState?: boolean;
2
+ log?: (tasks: Task[]) => void;
3
3
  }
4
4
  export interface TaskFnOptions {
5
5
  abortController: AbortController;
@@ -21,7 +21,7 @@ export interface Task {
21
21
  state: number;
22
22
  /** Used to abort the task */
23
23
  abortController: AbortController;
24
- /** Run this task even when an earlier task has a soft failure */
24
+ /** Run this task even when an earlier task has a soft failure (for example file failed to validate) */
25
25
  isOptional: boolean;
26
26
  }
27
27
  export interface TaskOptions {
@@ -10,6 +10,13 @@ export interface GenerateImageOptions extends GenerateFileOptions {
10
10
  quality?: number;
11
11
  fillStyle?: string | CanvasGradient | CanvasPattern;
12
12
  }
13
+ export interface GenerateVideoOptions extends GenerateFileOptions {
14
+ width?: number;
15
+ height?: number;
16
+ fps?: number;
17
+ frames?: number;
18
+ fillStyle?: string | CanvasGradient | CanvasPattern;
19
+ }
13
20
  export interface TimeInfo {
14
21
  ms: number;
15
22
  step: number;
@@ -23,11 +30,12 @@ export interface TimeInfo {
23
30
  export declare function generateFile(options?: GenerateFileOptions): Promise<File | null>;
24
31
  /**
25
32
  * Generates a mock image file with a colorful gradient and type information overlay.
26
- *
27
- * Creates a canvas-based image with random gradient colors and text showing the file type and
28
- * dimensions. Useful for testing image handling functionality.
29
33
  */
30
34
  export declare function generateImage(options?: GenerateImageOptions): Promise<File>;
35
+ /**
36
+ * Generates a mock video file with silver frames and type information overlay.
37
+ */
38
+ export declare function generateVideo(options?: GenerateVideoOptions): Promise<File | null>;
31
39
  /**
32
40
  * Generates a mock text document for testing purposes.
33
41
  *
@@ -1,12 +1,14 @@
1
1
  import type { ExtensionFactory } from '../../core/extensionManager.ts';
2
- import type { AnimationMode, Locale, SpringOptions } from '../../types/index.js';
2
+ import type { AnimationMode, Extension, Locale, SpringOptions } from '../../types/index.js';
3
3
  import { FilePondInputElement } from '../FilePondInput/index.js';
4
4
  import '../../extensions/file-input-source.js';
5
5
  import '../../extensions/data-transfer-loader.js';
6
6
  import '../../extensions/value-callback-store.js';
7
+ import '../../extensions/file-extension-validator.js';
8
+ import '../../extensions/file-mime-type-validator.js';
7
9
  import '../../extensions/entry-list-view.js';
8
- /** Wraps a set of extensions in with the default FilePond custom element extensions */
9
- export declare function createFilePondExtensionSet(extensions?: ExtensionFactory[]): ExtensionFactory[];
10
+ /** Wraps a set of extensions in with the default FilePond custom element extensions, this extension selection makes switching from a default input to a file-pond element as frictionless as possible */
11
+ export declare function createFilePondExtensionSet(extensions?: ExtensionFactory[]): Extension[];
10
12
  export declare class FilePondElement extends FilePondInputElement {
11
13
  #private;
12
14
  /** Pass spring and animaton config to children */
@@ -17,7 +19,13 @@ export declare class FilePondElement extends FilePondInputElement {
17
19
  /** Set to false to hide credits */
18
20
  static get observedAttributes(): string[];
19
21
  attributeChangedCallback(name: string, _: string, value: string | boolean): void;
22
+ /** Set to `true` to remove drop area */
23
+ set noDrop(value: boolean);
24
+ /** Returns current nodrop state */
25
+ get noDrop(): boolean;
26
+ /** Set to `true` to remove the attribution link */
20
27
  set noAttribution(value: boolean);
28
+ /** Returns current noattribution state */
21
29
  get noAttribution(): boolean;
22
30
  constructor();
23
31
  connectedCallback(): void;
@@ -31,10 +39,12 @@ export interface defineFilePondOptions {
31
39
  extensions?: ExtensionFactory[];
32
40
  /** Initial Spring configuration */
33
41
  springDefaults?: SpringOptions;
42
+ /** Location of web workers */
43
+ workersURL?: URL;
34
44
  }
35
45
  /**
36
46
  * Registers the `<file-pond>` custom element, `initialOptions` passed will be assigned as props,
37
- * returns an array of `<file-pond>` elements on the page at time of registration
38
- * @param initialOptions - The initial options to pass to the FilePond elements
47
+ * returns an array of `<file-pond>` components on the page at time of registration
48
+ * @param initialOptions - The initial options to pass to the FilePond components
39
49
  */
40
50
  export declare function defineFilePond(initialOptions?: defineFilePondOptions): FilePondElement[];
@@ -8,7 +8,7 @@ export interface MediaImageOptions {
8
8
  /** Media height in pixels */
9
9
  resizeQuality?: MediaResizeQuality;
10
10
  /** How to present image in viewer, defaults to 'cover', alternative is 'contain' */
11
- objectSize?: 'cover' | 'contain';
11
+ objectFit?: 'cover' | 'contain';
12
12
  /** The amount we should overflowAmount the image when we move it around */
13
13
  overflowAmount?: number;
14
14
  /** Enable parralax effects while dragging images */
@@ -5,7 +5,7 @@ export interface MediaVideoOptions {
5
5
  /** The amount we should overflowAmount the image when we move it around */
6
6
  overflowAmount?: number;
7
7
  /** How to present image in viewer, defaults to 'cover', alternative is 'contain' */
8
- objectSize?: 'cover' | 'contain';
8
+ objectFit?: 'cover' | 'contain';
9
9
  /** Enable parallax on media */
10
10
  enableParallax?: boolean;
11
11
  /** Set to false to enable audio by default */
@@ -3,6 +3,7 @@ import type { Rect } from '../../../utils/rect.js';
3
3
  import type { AnimatedEntry, AppCallbacks } from '../index.js';
4
4
  export interface AppContext extends AppCallbacks {
5
5
  readonly enableAnimations: boolean;
6
+ readonly enableDrag: boolean;
6
7
  readonly locale: Locale;
7
8
  readonly assets: {
8
9
  [key: string]: string;
@@ -1,6 +1,7 @@
1
1
  import type { FilePondEntry } from '../../../types/index.js';
2
2
  interface EntryContext {
3
3
  readonly current: FilePondEntry;
4
+ readonly ariaId: string;
4
5
  }
5
6
  export declare function setEntryContext(value: EntryContext): void;
6
7
  export declare function getEntryContext(): EntryContext;
@@ -1,4 +1,4 @@
1
- import type { Needle, FilePondEntry, FilePondEntrySource, TemplateNode } from '../../types/index.js';
1
+ import type { Needle, FilePondEntry, FilePondEntrySource } from '../../types/index.js';
2
2
  import type { Vector } from '../../utils/vector.js';
3
3
  import { FilePondSvelteComponentElement } from '../FilePondSvelteComponent/index.svelte.js';
4
4
  export interface AnimatedEntry {
@@ -11,10 +11,11 @@ export interface AnimatedEntry {
11
11
  export interface DragInteraction {
12
12
  id: string;
13
13
  element: HTMLElement | undefined;
14
- offset: Vector;
15
- translation: Vector;
16
- vector: Vector;
17
- viewPosition: Vector;
14
+ offset?: Vector;
15
+ translation?: Vector;
16
+ vector?: Vector;
17
+ viewPosition?: Vector;
18
+ direction?: 'none' | 'up' | 'down' | 'left' | 'right';
18
19
  }
19
20
  export interface DropState {
20
21
  id?: string;
@@ -24,10 +25,10 @@ export interface DragState {
24
25
  id: string;
25
26
  index: number;
26
27
  element: HTMLElement | undefined;
27
- offset: Vector;
28
- translation: Vector;
29
- parentTranslation: Vector;
30
- outside: boolean;
28
+ offset?: Vector;
29
+ translation?: Vector;
30
+ parentTranslation?: Vector;
31
+ outside?: boolean;
31
32
  }
32
33
  export interface AppCallbacks {
33
34
  setEntries: (entries: FilePondEntry[]) => void;
@@ -55,8 +56,6 @@ export interface AppCallbacks {
55
56
  export declare const COMPONENT_PROPS: string[];
56
57
  /** FilePond EntryList Element */
57
58
  export declare class FilePondEntryListElement extends FilePondSvelteComponentElement {
58
- #private;
59
- set template(value: TemplateNode[]);
60
59
  constructor();
61
60
  connectedCallback(): void;
62
61
  }
@@ -1,9 +1,10 @@
1
1
  import type { AnimationMode, Locale } from '../../types/index.js';
2
2
  import type { FilePondEntrySource, FilePondEntry } from '../../types/index.js';
3
3
  import type { ExtensionFactory } from '../../core/extensionManager.js';
4
- import { type Needle } from '../../core/entryTree.js';
4
+ import { type EntryTreeOptions, type Needle } from '../../core/entryTree.js';
5
5
  import { HTMLElementSafe } from '../../common/ssr.js';
6
- export declare function createFilePondEntryTree(): {
6
+ export type createFilePondEntryTreeOptions = Omit<EntryTreeOptions, 'beforeOnboardEntry' | 'beforeUpdateEntryWithProps'>;
7
+ export declare function createFilePondEntryTree(options?: createFilePondEntryTreeOptions): {
7
8
  on: (event: string, callback: (detail?: any) => void) => () => void;
8
9
  insertEntries: (rawEntries: FilePondEntrySource | FilePondEntrySource[], index?: number | number[]) => void;
9
10
  findEntries: (...needles: (void | Needle)[]) => FilePondEntry | (FilePondEntry | undefined)[] | undefined;
@@ -35,23 +36,23 @@ export interface FilePondInputElementEvents {
35
36
  export declare class FilePondInputElement extends HTMLElementSafe implements FilePondInputElementEvents {
36
37
  #private;
37
38
  /** Returns a reference to the shadow root element */
38
- get _root(): ShadowRoot;
39
+ get _root(): HTMLDivElement;
39
40
  /** Returns a reference to the slot element */
40
41
  get _slot(): HTMLSlotElement;
41
42
  /** Attributes being observed for changes */
42
43
  static get observedAttributes(): string[];
43
44
  /** Called when attributes are changed, added, removed, or replaced */
44
45
  attributeChangedCallback(name: string, _: string, value: string | boolean): void;
45
- /** Sets the inner input element id */
46
- set inputId(value: string);
47
- /** Returns the inner input element id */
48
- get inputId(): string;
49
46
  /** Disable the field and sets the disabled attribute */
50
47
  set disabled(value: boolean);
51
48
  /** Gets the field disabled state */
52
49
  get disabled(): boolean;
50
+ /** Set the field webkitdirectory state */
51
+ set webkitdirectory(value: boolean);
52
+ /** Gets the field webkitdirectory state */
53
+ get webkitdirectory(): boolean;
53
54
  /** Toggle the field multiple state */
54
- set multiple(value: boolean);
55
+ set multiple(allowMultiple: boolean);
55
56
  /** Gets the field multiple state */
56
57
  get multiple(): boolean;
57
58
  /**
@@ -72,7 +73,12 @@ export declare class FilePondInputElement extends HTMLElementSafe implements Fil
72
73
  get accept(): string;
73
74
  /** Setting to toggle animations */
74
75
  set animations(value: AnimationMode);
76
+ /** Returns the current animation mode */
75
77
  get animations(): AnimationMode;
78
+ /** Toggle browse button */
79
+ set noBrowse(value: boolean);
80
+ /** Returns the current browse button state */
81
+ get noBrowse(): boolean;
76
82
  /** Min file size setter, accepts a number of bytes or a natural filesize string like 1MB */
77
83
  set minSize(value: number | string);
78
84
  /** Returns the currently set min file size */
@@ -104,9 +110,13 @@ export declare class FilePondInputElement extends HTMLElementSafe implements Fil
104
110
  /** Sets the locale */
105
111
  set locale(value: Locale);
106
112
  /** Returns the current locale object, so it's easier to extend */
107
- get locale(): Locale | null;
113
+ get locale(): Locale | undefined;
108
114
  /** Sets custom extensions to load */
109
115
  set extensions(extensions: ExtensionFactory[]);
116
+ /** Update worker url */
117
+ set workersURL(value: URL);
118
+ /** Browse files */
119
+ browse(): void;
110
120
  /** Listen for events */
111
121
  on(type: string, handler: (...args: any[]) => void): () => void;
112
122
  /** Add/Insert entries in the entry tree */
@@ -133,6 +143,7 @@ export declare class FilePondInputElement extends HTMLElementSafe implements Fil
133
143
  constructor(options: {
134
144
  styles: string[];
135
145
  });
146
+ setBrowseButtonLabelKey(key: string): void;
136
147
  /** Called each time the element is added to the document */
137
148
  connectedCallback(): void;
138
149
  /** Called each time the element is removed from the document. */
@@ -158,9 +169,9 @@ export declare class FilePondInputElement extends HTMLElementSafe implements Fil
158
169
  /** Proxy for element internals `reportValidity()` method */
159
170
  reportValidity(): void;
160
171
  /** Proxy for element internals `validity` getter */
161
- get validity(): ValidityState | undefined;
172
+ get validity(): ValidityState;
162
173
  /** Proxy for element internals `validationMessage` getter */
163
- get validationMessage(): string | undefined;
174
+ get validationMessage(): string;
164
175
  /** Called when element or parent element (for example a `<fieldset>`) is set to disabled */
165
176
  formDisabledCallback(isDisabled: boolean): void;
166
177
  /**
@@ -1,4 +1,7 @@
1
- export declare function createAnimationState(initial?: 'auto' | 'always' | 'never'): {
2
- setPreference(value: "auto" | "always" | "never"): void;
3
- readonly current: boolean;
1
+ export declare function getGlobalPreventAnimations(): {
2
+ current: boolean | null;
4
3
  };
4
+ export declare function getShouldReduceMotion(): {
5
+ current: boolean;
6
+ };
7
+ export declare function computeAnimationPreference(preference: "auto" | "always" | "never" | undefined, preventGlobal: boolean | null, reduceMotion: boolean): boolean;
@@ -83,7 +83,7 @@ export interface NodeTree {
83
83
  remove: (key: string) => NodeTree;
84
84
  replace: (key: string, ...nodes: (NodeTree | TemplateNode)[]) => NodeTree;
85
85
  update: (key: string, updater: (node: TemplateNode) => void) => NodeTree;
86
- append: (...nodes: (NodeTree | TemplateNode)[]) => NodeTree;
86
+ append: (...nodes: (NodeTree | TemplateNode | false)[]) => NodeTree;
87
87
  prepend: (...nodes: (NodeTree | TemplateNode)[]) => NodeTree;
88
88
  insert: (index: number, ...nodes: (NodeTree | TemplateNode)[]) => NodeTree;
89
89
  }
@@ -5,7 +5,7 @@ export declare function statusCodeToLocaleKey(code: string): string;
5
5
  /** Drills down into an objecto find a prop value, if is null or undefined, returns empty string */
6
6
  export declare function getObjectValueByString(selector: string, value: any): any;
7
7
  export declare function stringReplaceVariables(label: string | DynamicLocale, data?: {
8
- [key: string]: string;
8
+ [key: string]: string | number | boolean | null;
9
9
  }, locale?: Locale): string;
10
10
  export declare function getValueByKeyFromData(key: string, data: {
11
11
  [key: string]: string;
@@ -36,7 +36,7 @@ export interface TransformExtensionOptions {
36
36
  * automatically. When this prop is set the `actionTransform` prop cannot be set to `false` to
37
37
  * reset the transform
38
38
  */
39
- shouldTransform?: (entry: FilePondEntry) => Promise<boolean>;
39
+ shouldTransform?: (entry: FilePondEntry) => Promise<boolean> | boolean;
40
40
  /** How many transform operations can run in parallel, defaults to `1` */
41
41
  parallel?: number;
42
42
  }
@@ -1,5 +1,7 @@
1
1
  import type { StoreExtensionOptions } from './common/createStoreExtension.js';
2
2
  export interface DataURLStoreOptions extends StoreExtensionOptions {
3
+ /** Where the extension can find the WebWorker to use */
4
+ workersURL?: URL;
3
5
  }
4
6
  export declare const DataURLStore: import("./common/createExtension.js").Extension;
5
7
  declare module '../index.js' {
@@ -8,7 +8,7 @@ export interface FileNameTransformOptions extends TransformExtensionOptions {
8
8
  /** Allows requesting a new filename. */
9
9
  renameEntry?: (entry: FilePondFileEntry, options: {
10
10
  basename: string;
11
- extentsion: string;
11
+ extension: string;
12
12
  history: string[];
13
13
  }) => Promise<string>;
14
14
  }
@@ -4,6 +4,8 @@ export interface FileSizeValidatorOptions extends ValidatorExtensionOptions {
4
4
  minSize?: number | string;
5
5
  /** Max file size in bytes or a natural file size. Defaults to `Infinity` */
6
6
  maxSize?: number | string;
7
+ /** The natural file size format to use, defaults to `'mega'` if no natural file size supplied for `minSize` or `maxSize` */
8
+ byteUnits?: 'mega' | 'mebi';
7
9
  }
8
10
  export declare const FileSizeValidator: (pond: import("../core/extensionManager.js").ExtensionManagerAPI) => import("./common/createExtension.js").ExtensionInstance;
9
11
  declare module '../index.js' {
@@ -0,0 +1,32 @@
1
+ import { type TransformExtensionOptions } from './common/createTransformExtension.js';
2
+ export interface ImageBitmapTransformOptions extends TransformExtensionOptions {
3
+ /** Image target width, defaults to `undefined` */
4
+ width?: number;
5
+ /** Image target height, defaults to `undefined` */
6
+ height?: number;
7
+ /** How to fit image in target size bounds, defaults to `'contain'` */
8
+ fit?: 'cover' | 'contain' | 'force';
9
+ /** Should we upscale images, defaults to `false` */
10
+ upscale?: boolean;
11
+ /** Output aspect ratio, defaults to input image aspect ratio */
12
+ aspectRatio?: number;
13
+ /** Output format type, defaults to input image type, some example types are `'image/jpeg'`, `'image/wepb'`, and `'image/png'`, limited to what the canvas `toBlob` method can output for the current browser */
14
+ type?: string;
15
+ /** Resize quality. Defaults to `'medium'` */
16
+ quality?: 'pixelated' | 'low' | 'medium' | 'high';
17
+ /** Compression quality. Value between `0` and `1`, defaults to `.98`, only applies to JPEG and WEBP output */
18
+ compression?: number;
19
+ /** Where the extension can find the WebWorker to use */
20
+ workersURL?: URL;
21
+ /** Action name to use for rename. Defaults to `'transformImage'` */
22
+ actionTransform?: string;
23
+ }
24
+ export declare const ImageBitmapTransform: (pond: import("../core/extensionManager.js").ExtensionManagerAPI) => import("./common/createExtension.js").ExtensionInstance;
25
+ declare module '../index.js' {
26
+ interface FilePondElement {
27
+ ImageBitmapTransform: ImageBitmapTransformOptions;
28
+ }
29
+ interface defineFilePondOptions {
30
+ ImageBitmapTransform: ImageBitmapTransformOptions;
31
+ }
32
+ }
@@ -27,4 +27,5 @@ export { ChunkedUploadStore } from './chunked-upload-store.js';
27
27
  export { DataURLStore } from './data-url-store.js';
28
28
  export { SimulatedStore } from './simulated-store.js';
29
29
  export { FileNameTransform } from './file-name-transform.js';
30
+ export { ImageBitmapTransform } from './image-bitmap-transform.js';
30
31
  export { ConsoleView } from './console-view.js';