filepond 4.32.9 → 5.0.0-alpha.0
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.
- package/{LICENSE → LICENSE.md} +1 -3
- package/README.md +38 -166
- package/dist/esm/assets/index.js +37 -0
- package/dist/esm/common/console.js +14 -0
- package/dist/esm/common/entry.js +39 -0
- package/dist/esm/common/perceivedPerformanceProxy.js +94 -0
- package/dist/esm/common/readEntriesFromDataTransfer.js +143 -0
- package/dist/esm/common/ssr.js +6 -0
- package/dist/esm/common/status.js +11 -0
- package/dist/esm/core/entryTree.js +416 -0
- package/dist/esm/core/extensionManager.js +244 -0
- package/dist/esm/core/index.js +8 -0
- package/dist/esm/core/taskScheduler.js +253 -0
- package/dist/esm/dev/index.js +124 -0
- package/dist/esm/elements/FilePondBase/index.css.js +37 -0
- package/dist/esm/elements/FilePondBase/index.js +622 -0
- package/dist/esm/elements/FilePondDefault/index.css.js +4 -0
- package/dist/esm/elements/FilePondDefault/index.js +270 -0
- package/dist/esm/elements/FilePondDropArea/index.css.js +4 -0
- package/dist/esm/elements/FilePondDropArea/index.js +33 -0
- package/dist/esm/elements/FilePondDropArea/index.svelte.js +71 -0
- package/dist/esm/elements/FilePondDropIndicator/index.css.js +4 -0
- package/dist/esm/elements/FilePondDropIndicator/index.js +18 -0
- package/dist/esm/elements/FilePondDropIndicator/index.svelte.js +141 -0
- package/dist/esm/elements/FilePondEntryList/components/Entry/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/Entry/index.js +6 -0
- package/dist/esm/elements/FilePondEntryList/components/Entry/index.svelte.js +74 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.js +14 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryActivityIndicator/index.svelte.js +256 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryList/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryList/index.js +13 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryList/index.svelte.js +318 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryStatus/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryStatus/index.js +14 -0
- package/dist/esm/elements/FilePondEntryList/components/EntryStatus/index.svelte.js +127 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaImage/components/BitmapRenderer.svelte.js +136 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaImage/components/BitmapRendererCache.js +11 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaImage/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaImage/index.js +8 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaImage/index.svelte.js +198 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaPane/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaPane/index.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaPane/index.svelte.js +139 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaTimeIndicator/index.svelte.js +26 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaVideo/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaVideo/index.js +6 -0
- package/dist/esm/elements/FilePondEntryList/components/MediaVideo/index.svelte.js +302 -0
- package/dist/esm/elements/FilePondEntryList/components/useEntryContext.svelte.js +22 -0
- package/dist/esm/elements/FilePondEntryList/contexts/appContext.js +12 -0
- package/dist/esm/elements/FilePondEntryList/contexts/dragContext.js +12 -0
- package/dist/esm/elements/FilePondEntryList/contexts/dropContext.js +12 -0
- package/dist/esm/elements/FilePondEntryList/contexts/entryContext.js +12 -0
- package/dist/esm/elements/FilePondEntryList/contexts/springElementTreeContext.js +16 -0
- package/dist/esm/elements/FilePondEntryList/index.css.js +4 -0
- package/dist/esm/elements/FilePondEntryList/index.js +142 -0
- package/dist/esm/elements/FilePondEntryList/index.svelte.js +604 -0
- package/dist/esm/elements/FilePondSvelteComponent/index.svelte.js +101 -0
- package/dist/esm/elements/attachments/dragarea.js +185 -0
- package/dist/esm/elements/attachments/droparea.js +124 -0
- package/dist/esm/elements/attachments/measurable.js +151 -0
- package/dist/esm/elements/attachments/resizable.js +51 -0
- package/dist/esm/elements/attachments/transitions.js +31 -0
- package/dist/esm/elements/common/animationGuard.js +37 -0
- package/dist/esm/elements/common/animationPreference.svelte.js +73 -0
- package/dist/esm/elements/common/dragDrop.js +73 -0
- package/dist/esm/elements/common/event.js +11 -0
- package/dist/esm/elements/common/extendStyles.js +38 -0
- package/dist/esm/elements/common/getClosestElement.js +38 -0
- package/dist/esm/elements/common/html.js +10 -0
- package/dist/esm/elements/common/nodeTree.js +154 -0
- package/dist/esm/elements/common/store.svelte.js +36 -0
- package/dist/esm/elements/common/string.js +115 -0
- package/dist/esm/elements/common/transition.js +12 -0
- package/dist/esm/elements/components/BooleanInput/index.css.js +4 -0
- package/dist/esm/elements/components/BooleanInput/index.js +4 -0
- package/dist/esm/elements/components/BooleanInput/index.svelte.js +4 -0
- package/dist/esm/elements/components/Button/index.css.js +4 -0
- package/dist/esm/elements/components/Button/index.js +7 -0
- package/dist/esm/elements/components/Button/index.svelte.js +79 -0
- package/dist/esm/elements/components/ElementPane/index.css.js +4 -0
- package/dist/esm/elements/components/ElementPane/index.js +5 -0
- package/dist/esm/elements/components/ElementPane/index.svelte.js +56 -0
- package/dist/esm/elements/components/ElementSkeleton/index.css.js +4 -0
- package/dist/esm/elements/components/ElementSkeleton/index.js +12 -0
- package/dist/esm/elements/components/ElementSkeleton/index.svelte.js +112 -0
- package/dist/esm/elements/components/FilenameInput/index.css.js +4 -0
- package/dist/esm/elements/components/FilenameInput/index.js +7 -0
- package/dist/esm/elements/components/NodeList/index.svelte.js +398 -0
- package/dist/esm/elements/components/ProgressIndicator/index.css.js +4 -0
- package/dist/esm/elements/components/ProgressIndicator/index.js +5 -0
- package/dist/esm/elements/components/ProgressIndicator/index.svelte.js +267 -0
- package/dist/esm/elements/components/RangeInput/index.css.js +4 -0
- package/dist/esm/elements/components/RangeInput/index.js +7 -0
- package/dist/esm/elements/components/RangeInput/index.svelte.js +187 -0
- package/dist/esm/elements/components/SpringElement.svelte.js +427 -0
- package/dist/esm/elements/components/TextInput/index.css.js +4 -0
- package/dist/esm/elements/components/TextInput/index.js +4 -0
- package/dist/esm/elements/components/TextInput/index.svelte.js +4 -0
- package/dist/esm/elements/index.js +14 -0
- package/dist/esm/extensions/blob-loader.js +57 -0
- package/dist/esm/extensions/canvas-loader.js +66 -0
- package/dist/esm/extensions/chunked-upload-store.js +249 -0
- package/dist/esm/extensions/clipboard-source.js +43 -0
- package/dist/esm/extensions/common/createExtension.js +89 -0
- package/dist/esm/extensions/common/createStoreExtension.js +484 -0
- package/dist/esm/extensions/common/createTransformExtension.js +284 -0
- package/dist/esm/extensions/common/createValidatorExtension.js +167 -0
- package/dist/esm/extensions/console-view.js +190 -0
- package/dist/esm/extensions/data-transfer-loader.js +126 -0
- package/dist/esm/extensions/data-url-store.js +29 -0
- package/dist/esm/extensions/drag-drop-source.js +53 -0
- package/dist/esm/extensions/dropbox-source.js +89 -0
- package/dist/esm/extensions/entry-list-view.js +79 -0
- package/dist/esm/extensions/file-extension-validator.js +50 -0
- package/dist/esm/extensions/file-input-source.js +56 -0
- package/dist/esm/extensions/file-input-store.js +58 -0
- package/dist/esm/extensions/file-mime-type-validator.js +63 -0
- package/dist/esm/extensions/file-name-transform.js +47 -0
- package/dist/esm/extensions/file-name-validator.js +48 -0
- package/dist/esm/extensions/file-size-validator.js +52 -0
- package/dist/esm/extensions/form-post-store.js +105 -0
- package/dist/esm/extensions/index.js +62 -0
- package/dist/esm/extensions/list-count-validator.js +49 -0
- package/dist/esm/extensions/list-size-validator.js +70 -0
- package/dist/esm/extensions/media-resolution-validator.js +144 -0
- package/dist/esm/extensions/object-url-store.js +27 -0
- package/dist/esm/extensions/simulated-loader.js +189 -0
- package/dist/esm/extensions/simulated-store.js +90 -0
- package/dist/esm/extensions/text-input-store.js +47 -0
- package/dist/esm/extensions/url-loader.js +189 -0
- package/dist/esm/extensions/value-callback-store.js +66 -0
- package/dist/esm/index.js +19 -0
- package/dist/esm/locales/de-de.js +157 -0
- package/dist/esm/locales/en-gb.js +173 -0
- package/dist/esm/locales/es-es.js +157 -0
- package/dist/esm/locales/fr-fr.js +157 -0
- package/dist/esm/locales/hi-in.js +157 -0
- package/dist/esm/locales/index.js +27 -0
- package/dist/esm/locales/js-jp.js +157 -0
- package/dist/esm/locales/ko-kr.js +157 -0
- package/dist/esm/locales/nb-no.js +157 -0
- package/dist/esm/locales/nl-nl.js +173 -0
- package/dist/esm/locales/pt-pt.js +157 -0
- package/dist/esm/locales/sv-se.js +157 -0
- package/dist/esm/locales/zh-cn.js +157 -0
- package/dist/esm/templates/entry.js +406 -0
- package/dist/esm/templates/helpers.js +172 -0
- package/dist/esm/templates/media.js +308 -0
- package/dist/esm/utils/array.js +83 -0
- package/dist/esm/utils/bounds.js +44 -0
- package/dist/esm/utils/cache.js +18 -0
- package/dist/esm/utils/canvasToBlob.js +17 -0
- package/dist/esm/utils/date.js +21 -0
- package/dist/esm/utils/debounce.js +25 -0
- package/dist/esm/utils/dom.js +254 -0
- package/dist/esm/utils/file.js +130 -0
- package/dist/esm/utils/functionToBlob.js +6 -0
- package/dist/esm/utils/math.js +26 -0
- package/dist/esm/utils/media.js +228 -0
- package/dist/esm/utils/number.js +27 -0
- package/dist/esm/utils/object.js +76 -0
- package/dist/esm/utils/objectURL.js +10 -0
- package/dist/esm/utils/placeholder.js +7 -0
- package/dist/esm/utils/poly.js +8 -0
- package/dist/esm/utils/pubsub.js +26 -0
- package/dist/esm/utils/rect.js +76 -0
- package/dist/esm/utils/size.js +32 -0
- package/dist/esm/utils/sleep.js +6 -0
- package/dist/esm/utils/string.js +39 -0
- package/dist/esm/utils/support.js +10 -0
- package/dist/esm/utils/test.js +154 -0
- package/dist/esm/utils/thread.js +121 -0
- package/dist/esm/utils/tree.js +94 -0
- package/dist/esm/utils/url.js +19 -0
- package/dist/esm/utils/vector.js +60 -0
- package/dist/esm/utils/window.js +9 -0
- package/dist/esm/utils/xhr.js +177 -0
- package/dist/esm/views/svelte/clsx/dist/clsx.js +17 -0
- package/dist/esm/views/svelte/esm-env/false.js +4 -0
- package/dist/esm/views/svelte/svelte/src/constants.js +34 -0
- package/dist/esm/views/svelte/svelte/src/easing/index.js +9 -0
- package/dist/esm/views/svelte/svelte/src/index-client.js +32 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/constants.js +59 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/context.js +79 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/blocks/boundary.js +317 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/blocks/branches.js +146 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/blocks/each.js +409 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/blocks/html.js +54 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/blocks/if.js +23 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/blocks/snippet.js +13 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/blocks/svelte-component.js +13 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/blocks/svelte-element.js +52 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/attachments.js +24 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/attributes.js +295 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/bindings/select.js +58 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/bindings/shared.js +31 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/bindings/this.js +36 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/bindings/window.js +7 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/class.js +28 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/events.js +140 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/misc.js +15 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/style.js +38 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/elements/transitions.js +217 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/hydration.js +4 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/operations.js +85 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/reconciler.js +8 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/task.js +19 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/dom/template.js +131 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/error-handling.js +35 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/errors.js +62 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/loop.js +30 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/proxy.js +213 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/reactivity/async.js +70 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/reactivity/batch.js +478 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/reactivity/deriveds.js +213 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/reactivity/effects.js +348 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/reactivity/equality.js +14 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/reactivity/props.js +178 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/reactivity/sources.js +147 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/reactivity/store.js +13 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/render.js +112 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/runtime.js +426 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/timing.js +15 -0
- package/dist/esm/views/svelte/svelte/src/internal/client/warnings.js +14 -0
- package/dist/esm/views/svelte/svelte/src/internal/disclose-version.js +4 -0
- package/dist/esm/views/svelte/svelte/src/internal/flags/index.js +4 -0
- package/dist/esm/views/svelte/svelte/src/internal/shared/attributes.js +129 -0
- package/dist/esm/views/svelte/svelte/src/internal/shared/errors.js +8 -0
- package/dist/esm/views/svelte/svelte/src/internal/shared/utils.js +45 -0
- package/dist/esm/views/svelte/svelte/src/motion/spring.js +189 -0
- package/dist/esm/views/svelte/svelte/src/motion/utils.js +6 -0
- package/dist/esm/views/svelte/svelte/src/reactivity/create-subscriber.js +33 -0
- package/dist/esm/views/svelte/svelte/src/reactivity/map.js +168 -0
- package/dist/esm/views/svelte/svelte/src/utils.js +60 -0
- package/dist/esm/views/svelte/svelte/src/version.js +4 -0
- package/dist/types/assets/index.d.ts +42 -0
- package/dist/types/common/console.d.ts +3 -0
- package/dist/types/common/entry.d.ts +24 -0
- package/dist/types/common/perceivedPerformanceProxy.d.ts +10 -0
- package/dist/types/common/readEntriesFromDataTransfer.d.ts +21 -0
- package/dist/types/common/ssr.d.ts +1 -0
- package/dist/types/common/status.d.ts +7 -0
- package/dist/types/core/entryTree.d.ts +40 -0
- package/dist/types/core/extensionManager.d.ts +60 -0
- package/dist/types/core/index.d.ts +3 -0
- package/dist/types/core/taskScheduler.d.ts +42 -0
- package/dist/types/custom-element.d.ts +9 -0
- package/dist/types/default-extensions.d.ts +16 -0
- package/dist/types/dev/index.d.ts +44 -0
- package/dist/types/elements/FilePondBase/index.d.ts +153 -0
- package/dist/types/elements/FilePondDefault/index.d.ts +38 -0
- package/dist/types/elements/FilePondDropArea/index.d.ts +5 -0
- package/dist/types/elements/FilePondDropIndicator/index.d.ts +6 -0
- package/dist/types/elements/FilePondEntryList/components/Entry/index.d.ts +1 -0
- package/dist/types/elements/FilePondEntryList/components/EntryActivityIndicator/index.d.ts +1 -0
- package/dist/types/elements/FilePondEntryList/components/EntryList/index.d.ts +1 -0
- package/dist/types/elements/FilePondEntryList/components/EntryStatus/index.d.ts +1 -0
- package/dist/types/elements/FilePondEntryList/components/MediaImage/components/BitmapRendererCache.d.ts +9 -0
- package/dist/types/elements/FilePondEntryList/components/MediaImage/index.d.ts +1 -0
- package/dist/types/elements/FilePondEntryList/components/MediaPane/index.d.ts +1 -0
- package/dist/types/elements/FilePondEntryList/components/MediaTimeIndicator/index.d.ts +1 -0
- package/dist/types/elements/FilePondEntryList/components/MediaVideo/index.d.ts +1 -0
- package/dist/types/elements/FilePondEntryList/components/index.d.ts +9 -0
- package/dist/types/elements/FilePondEntryList/contexts/appContext.d.ts +34 -0
- package/dist/types/elements/FilePondEntryList/contexts/dragContext.d.ts +6 -0
- package/dist/types/elements/FilePondEntryList/contexts/dropContext.d.ts +6 -0
- package/dist/types/elements/FilePondEntryList/contexts/entryContext.d.ts +7 -0
- package/dist/types/elements/FilePondEntryList/contexts/springElementTreeContext.d.ts +22 -0
- package/dist/types/elements/FilePondEntryList/index.d.ts +160 -0
- package/dist/types/elements/FilePondSvelteComponent/index.svelte.d.ts +20 -0
- package/dist/types/elements/attachments/dragarea.d.ts +24 -0
- package/dist/types/elements/attachments/droparea.d.ts +14 -0
- package/dist/types/elements/attachments/measurable.d.ts +9 -0
- package/dist/types/elements/attachments/resizable.d.ts +7 -0
- package/dist/types/elements/attachments/transitions.d.ts +12 -0
- package/dist/types/elements/common/animationGuard.d.ts +6 -0
- package/dist/types/elements/common/animationPreference.svelte.d.ts +4 -0
- package/dist/types/elements/common/dragDrop.d.ts +11 -0
- package/dist/types/elements/common/event.d.ts +1 -0
- package/dist/types/elements/common/extendStyles.d.ts +2 -0
- package/dist/types/elements/common/getClosestElement.d.ts +7 -0
- package/dist/types/elements/common/html.d.ts +4 -0
- package/dist/types/elements/common/nodeTree.d.ts +96 -0
- package/dist/types/elements/common/store.svelte.d.ts +3 -0
- package/dist/types/elements/common/string.d.ts +29 -0
- package/dist/types/elements/common/transition.d.ts +8 -0
- package/dist/types/elements/components/BooleanInput/index.d.ts +1 -0
- package/dist/types/elements/components/Button/index.d.ts +1 -0
- package/dist/types/elements/components/ElementPane/index.d.ts +1 -0
- package/dist/types/elements/components/ElementSkeleton/index.d.ts +2 -0
- package/dist/types/elements/components/FilenameInput/index.d.ts +1 -0
- package/dist/types/elements/components/ProgressIndicator/index.d.ts +1 -0
- package/dist/types/elements/components/RangeInput/index.d.ts +1 -0
- package/dist/types/elements/components/TextInput/index.d.ts +1 -0
- package/dist/types/elements/components/index.d.ts +10 -0
- package/dist/types/elements/index.d.ts +6 -0
- package/dist/types/elements/transitions/index.d.ts +10 -0
- package/dist/types/extensions/blob-loader.d.ts +22 -0
- package/dist/types/extensions/canvas-loader.d.ts +32 -0
- package/dist/types/extensions/chunked-upload-store.d.ts +24 -0
- package/dist/types/extensions/clipboard-source.d.ts +10 -0
- package/dist/types/extensions/common/createExtension.d.ts +60 -0
- package/dist/types/extensions/common/createStoreExtension.d.ts +39 -0
- package/dist/types/extensions/common/createTransformExtension.d.ts +43 -0
- package/dist/types/extensions/common/createValidatorExtension.d.ts +19 -0
- package/dist/types/extensions/console-view.d.ts +12 -0
- package/dist/types/extensions/data-transfer-loader.d.ts +20 -0
- package/dist/types/extensions/data-url-store.d.ts +9 -0
- package/dist/types/extensions/drag-drop-source.d.ts +10 -0
- package/dist/types/extensions/dropbox-source.d.ts +15 -0
- package/dist/types/extensions/entry-list-view.d.ts +9 -0
- package/dist/types/extensions/file-extension-validator.d.ts +12 -0
- package/dist/types/extensions/file-input-source.d.ts +12 -0
- package/dist/types/extensions/file-input-store.d.ts +11 -0
- package/dist/types/extensions/file-mime-type-validator.d.ts +12 -0
- package/dist/types/extensions/file-name-transform.d.ts +20 -0
- package/dist/types/extensions/file-name-validator.d.ts +10 -0
- package/dist/types/extensions/file-size-validator.d.ts +12 -0
- package/dist/types/extensions/form-post-store.d.ts +21 -0
- package/dist/types/extensions/index.d.ts +30 -0
- package/dist/types/extensions/list-count-validator.d.ts +12 -0
- package/dist/types/extensions/list-size-validator.d.ts +12 -0
- package/dist/types/extensions/media-resolution-validator.d.ts +25 -0
- package/dist/types/extensions/object-url-store.d.ts +9 -0
- package/dist/types/extensions/simulated-loader.d.ts +29 -0
- package/dist/types/extensions/simulated-store.d.ts +26 -0
- package/dist/types/extensions/text-input-store.d.ts +10 -0
- package/dist/types/extensions/url-loader.d.ts +27 -0
- package/dist/types/extensions/value-callback-store.d.ts +20 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/locales/de-de.d.ts +309 -0
- package/dist/types/locales/en-gb.d.ts +309 -0
- package/dist/types/locales/es-es.d.ts +309 -0
- package/dist/types/locales/fr-fr.d.ts +309 -0
- package/dist/types/locales/hi-in.d.ts +309 -0
- package/dist/types/locales/index.d.ts +13 -0
- package/dist/types/locales/it-it.d.ts +309 -0
- package/dist/types/locales/js-jp.d.ts +309 -0
- package/dist/types/locales/ko-kr.d.ts +309 -0
- package/dist/types/locales/nb-no.d.ts +309 -0
- package/dist/types/locales/nl-nl.d.ts +309 -0
- package/dist/types/locales/pt-pt.d.ts +309 -0
- package/dist/types/locales/sv-se.d.ts +309 -0
- package/dist/types/locales/zh-cn.d.ts +309 -0
- package/dist/types/templates/entry.d.ts +250 -0
- package/dist/types/templates/helpers.d.ts +40 -0
- package/dist/types/templates/media.d.ts +216 -0
- package/dist/types/types/index.d.ts +229 -0
- package/dist/types/utils/array.d.ts +27 -0
- package/dist/types/utils/bounds.d.ts +21 -0
- package/dist/types/utils/cache.d.ts +1 -0
- package/dist/types/utils/canvasToBlob.d.ts +4 -0
- package/dist/types/utils/date.d.ts +2 -0
- package/dist/types/utils/debounce.d.ts +5 -0
- package/dist/types/utils/dom.d.ts +77 -0
- package/dist/types/utils/file.d.ts +44 -0
- package/dist/types/utils/functionToBlob.d.ts +2 -0
- package/dist/types/utils/math.d.ts +8 -0
- package/dist/types/utils/media.d.ts +17 -0
- package/dist/types/utils/number.d.ts +3 -0
- package/dist/types/utils/object.d.ts +30 -0
- package/dist/types/utils/objectURL.d.ts +2 -0
- package/dist/types/utils/placeholder.d.ts +2 -0
- package/dist/types/utils/poly.d.ts +2 -0
- package/dist/types/utils/pubsub.d.ts +6 -0
- package/dist/types/utils/ray.d.ts +3 -0
- package/dist/types/utils/rect.d.ts +30 -0
- package/dist/types/utils/size.d.ts +20 -0
- package/dist/types/utils/sleep.d.ts +1 -0
- package/dist/types/utils/string.d.ts +14 -0
- package/dist/types/utils/support.d.ts +9 -0
- package/dist/types/utils/test.d.ts +61 -0
- package/dist/types/utils/thread.d.ts +9 -0
- package/dist/types/utils/tree.d.ts +18 -0
- package/dist/types/utils/url.d.ts +4 -0
- package/dist/types/utils/vector.d.ts +37 -0
- package/dist/types/utils/window.d.ts +2 -0
- package/dist/types/utils/xhr.d.ts +35 -0
- package/dist/types/views/FilePondBase/index.d.ts +151 -0
- package/dist/types/views/FilePondDefault/index.d.ts +35 -0
- package/dist/types/views/FilePondDropArea/index.d.ts +5 -0
- package/dist/types/views/FilePondDropArea/index.svelte.d.ts +17 -0
- package/dist/types/views/FilePondDropIndicator/index.d.ts +4 -0
- package/dist/types/views/FilePondDropIndicator/index.svelte.d.ts +17 -0
- package/dist/types/views/FilePondEntryList/components/Entry/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/EntryActivityIndicator/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/EntryBody/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/EntryHeader/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/EntryList/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/EntryStatus/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/MediaControls/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/MediaImage/components/BitmapRendererCache.d.ts +9 -0
- package/dist/types/views/FilePondEntryList/components/MediaImage/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/MediaPane/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/MediaTimeIndicator/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/MediaVideo/index.d.ts +1 -0
- package/dist/types/views/FilePondEntryList/components/index.d.ts +9 -0
- package/dist/types/views/FilePondEntryList/contexts/appContext.d.ts +34 -0
- package/dist/types/views/FilePondEntryList/contexts/dragContext.d.ts +6 -0
- package/dist/types/views/FilePondEntryList/contexts/dropContext.d.ts +6 -0
- package/dist/types/views/FilePondEntryList/contexts/entryContext.d.ts +7 -0
- package/dist/types/views/FilePondEntryList/contexts/springElementTreeContext.d.ts +22 -0
- package/dist/types/views/FilePondEntryList/index.d.ts +160 -0
- package/dist/types/views/FilePondEntryList/index.svelte.d.ts +63 -0
- package/dist/types/views/FilePondEntryList/templates/createEntryListTemplate.d.ts +4 -0
- package/dist/types/views/FilePondEntryList/templates/createImageViewTemplate.d.ts +8 -0
- package/dist/types/views/FilePondEntryList/templates/createVideoViewTemplate.d.ts +7 -0
- package/dist/types/views/FilePondEntryList/templates/entry.d.ts +237 -0
- package/dist/types/views/FilePondEntryList/templates/helpers.d.ts +24 -0
- package/dist/types/views/FilePondEntryList/templates/index.d.ts +8 -0
- package/dist/types/views/FilePondSvelteComponent/index.svelte.d.ts +20 -0
- package/dist/types/views/attachments/dragarea.d.ts +24 -0
- package/dist/types/views/attachments/droparea.d.ts +14 -0
- package/dist/types/views/attachments/measurable.d.ts +9 -0
- package/dist/types/views/attachments/resizable.d.ts +7 -0
- package/dist/types/views/attachments/transitions.d.ts +12 -0
- package/dist/types/views/common/animationGuard.d.ts +6 -0
- package/dist/types/views/common/animationPreference.svelte.d.ts +4 -0
- package/dist/types/views/common/attributeSync.d.ts +5 -0
- package/dist/types/views/common/dragDrop.d.ts +11 -0
- package/dist/types/views/common/event.d.ts +1 -0
- package/dist/types/views/common/extendFilePondStyles.d.ts +2 -0
- package/dist/types/views/common/extendStyles.d.ts +2 -0
- package/dist/types/views/common/getClosestElement.d.ts +7 -0
- package/dist/types/views/common/html.d.ts +4 -0
- package/dist/types/views/common/nodeTree.d.ts +96 -0
- package/dist/types/views/common/store.svelte.d.ts +3 -0
- package/dist/types/views/common/string.d.ts +29 -0
- package/dist/types/views/common/transition.d.ts +8 -0
- package/dist/types/views/components/BooleanInput/index.d.ts +1 -0
- package/dist/types/views/components/Button/index.d.ts +1 -0
- package/dist/types/views/components/Checkable/index.d.ts +1 -0
- package/dist/types/views/components/ElementPane/index.d.ts +1 -0
- package/dist/types/views/components/ElementSkeleton/index.d.ts +2 -0
- package/dist/types/views/components/FilenameInput/index.d.ts +1 -0
- package/dist/types/views/components/ProgressIndicator/index.d.ts +1 -0
- package/dist/types/views/components/RangeInput/index.d.ts +1 -0
- package/dist/types/views/components/TextInput/index.d.ts +1 -0
- package/dist/types/views/components/index.d.ts +10 -0
- package/dist/types/views/transitions/index.d.ts +10 -0
- package/package.json +65 -62
- package/CHANGELOG.md +0 -987
- package/dist/filepond.css +0 -1049
- package/dist/filepond.esm.js +0 -9767
- package/dist/filepond.esm.min.js +0 -9
- package/dist/filepond.js +0 -12782
- package/dist/filepond.min.css +0 -8
- package/dist/filepond.min.js +0 -9
- package/locale/am-et.js +0 -39
- package/locale/ar-ar.js +0 -39
- package/locale/az-az.js +0 -39
- package/locale/ca-ca.js +0 -39
- package/locale/cs-cz.js +0 -39
- package/locale/da-dk.js +0 -40
- package/locale/de-de.js +0 -39
- package/locale/el-el.js +0 -39
- package/locale/en-en.js +0 -39
- package/locale/es-es.js +0 -39
- package/locale/et-ee.js +0 -39
- package/locale/fa_ir.js +0 -39
- package/locale/fi-fi.js +0 -39
- package/locale/fr-fr.js +0 -39
- package/locale/he-he.js +0 -39
- package/locale/hr-hr.js +0 -39
- package/locale/hu-hu.js +0 -39
- package/locale/id-id.js +0 -39
- package/locale/it-it.js +0 -39
- package/locale/ja-ja.js +0 -39
- package/locale/km-km.js +0 -39
- package/locale/ko-kr.js +0 -39
- package/locale/ku-ckb.js +0 -39
- package/locale/lt-lt.js +0 -39
- package/locale/lv-lv.js +0 -39
- package/locale/nl-nl.js +0 -39
- package/locale/no_nb.js +0 -39
- package/locale/pl-pl.js +0 -39
- package/locale/pt-br.js +0 -39
- package/locale/pt-pt.js +0 -39
- package/locale/ro-ro.js +0 -39
- package/locale/ru-ru.js +0 -39
- package/locale/sk-sk.js +0 -39
- package/locale/sl-si.js +0 -39
- package/locale/sr-rs +0 -39
- package/locale/sv_se.js +0 -39
- package/locale/tr-tr.js +0 -39
- package/locale/uk-ua.js +0 -39
- package/locale/ur-ur.js +0 -39
- package/locale/vi-vi.js +0 -39
- package/locale/zh-cn.js +0 -39
- package/locale/zh-hk.js +0 -39
- package/locale/zh-tw.js +0 -39
- package/types/index.d.ts +0 -1066
package/{LICENSE → LICENSE.md}
RENAMED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2019 PQINA | Rik Schennink <rik@pqina.nl>
|
|
1
|
+
Copyright (c) 2019-2025 [Pqina](https://pqina.nl)
|
|
4
2
|
|
|
5
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
4
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -1,195 +1,67 @@
|
|
|
1
|
-
# [<img src="https://github.com/pqina/filepond-github-assets/blob/master/logo.svg" height="44" alt="FilePond"/>](https://
|
|
1
|
+
# [<img src="https://github.com/pqina/filepond-github-assets/blob/master/logo.svg" height="44" alt="FilePond"/>](https://filepond.com)
|
|
2
|
+
|
|
3
|
+
**This is the v5 beta branch**
|
|
4
|
+
|
|
5
|
+
Some high priority TODO's
|
|
6
|
+
|
|
7
|
+
- Docs are on the way
|
|
8
|
+
- Naming of some types
|
|
9
|
+
- Safari flashing of video while dragginh
|
|
10
|
+
- Run more tests on mobile devices
|
|
11
|
+
- Add basic image manipulation extensions
|
|
12
|
+
- default styles for `:valid`, `:invalid, and `:focus`
|
|
2
13
|
|
|
3
14
|
A JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience.
|
|
4
15
|
|
|
5
|
-
[](https://github.com/pqina/filepond/blob/
|
|
16
|
+
[](https://github.com/pqina/filepond/blob/v/LICENSE)
|
|
6
17
|
[](https://www.npmjs.com/package/filepond)
|
|
7
18
|

|
|
8
|
-
[**, **[Vue](https://github.com/pqina/vue-filepond)**, **[Angular](https://github.com/pqina/ngx-filepond)**, **[Svelte](https://github.com/pqina/svelte-filepond)**, and **[jQuery](https://github.com/pqina/jquery-filepond)**
|
|
19
|
+
[](https://discord.gg/KTyymsrTrX)
|
|
11
20
|
|
|
12
21
|
---
|
|
13
22
|
|
|
14
23
|
[<img src="https://github.com/pqina/filepond-github-assets/blob/master/header.svg" alt="FilePond"/>](https://www.buymeacoffee.com/rikschennink/)
|
|
15
24
|
|
|
16
|
-
[Buy me a Coffee](https://www.buymeacoffee.com/rikschennink/)
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
### Core Features
|
|
21
|
-
|
|
22
|
-
- Accepts **directories**, **files**, blobs, local URLs, **remote URLs** and Data URIs.
|
|
23
|
-
- **Drop files**, select on filesystem, **copy and paste files**, or add files using the API.
|
|
24
|
-
- **Async uploads** with AJAX, supports **chunk uploads**, can encode files as base64 data and send along form post.
|
|
25
|
-
- **Accessible**, tested with AT software like VoiceOver and JAWS, **navigable by Keyboard**.
|
|
26
|
-
- **Image optimization**, automatic image resizing, **cropping**, filtering, and **fixes EXIF orientation**.
|
|
27
|
-
- **Responsive**, automatically scales to available space, is functional on both **mobile and desktop devices**.
|
|
28
|
-
|
|
29
|
-
[Learn more about FilePond](https://pqina.nl/filepond/)
|
|
25
|
+
[Buy me a Coffee](https://www.buymeacoffee.com/rikschennink/) • [Use FilePond with Pintura](https://pqina.nl/pintura/?ref=github-filepond) • [Dev updates](https://rik.schenn.ink)
|
|
30
26
|
|
|
31
|
-
|
|
27
|
+
## Installing
|
|
32
28
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
### Also need Image Editing?
|
|
36
|
-
|
|
37
|
-
**Pintura the modern JavaScript Image Editor** is what you're looking for. Pintura supports setting **crop aspect ratios**, **resizing**, **rotating**, **cropping**, and **flipping** images. Above all, it integrates beautifully with FilePond.
|
|
38
|
-
|
|
39
|
-
[Learn more about Pintura](https://pqina.nl/pintura/?ref=github-filepond)
|
|
40
|
-
|
|
41
|
-
[<img src="https://github.com/pqina/filepond-github-assets/blob/master/filepond_pintura.gif?raw=true" width="600" alt=""/>](https://pqina.nl/pintura/?ref=github-filepond)
|
|
29
|
+
We can install the `filepond` package by running the following command in our terminal:
|
|
42
30
|
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
### Live Demos
|
|
46
|
-
|
|
47
|
-
- [React](https://stackblitz.com/github/pqina/pintura-example-react?file=src%2FExampleFilePond.js)
|
|
48
|
-
- [Angular](https://stackblitz.com/github/pqina/pintura-example-angular?file=src%2Fapp%2Ffilepond-example%2Ffilepond-example.component.ts)
|
|
49
|
-
- [Svelte](https://stackblitz.com/github/pqina/pintura-example-svelte?file=src%2FApp.svelte%3AL152)
|
|
50
|
-
- [Vue](https://stackblitz.com/github/pqina/pintura-example-vue-3?file=src%2FExampleFilePond.vue)
|
|
51
|
-
|
|
52
|
-
### Plugins
|
|
53
|
-
|
|
54
|
-
- [File encode](https://github.com/pqina/filepond-plugin-file-encode)
|
|
55
|
-
- [File rename](https://github.com/pqina/filepond-plugin-file-rename)
|
|
56
|
-
- [File size validation](https://github.com/pqina/filepond-plugin-file-validate-size)
|
|
57
|
-
- [File type validation](https://github.com/pqina/filepond-plugin-file-validate-type)
|
|
58
|
-
- [File metadata](https://github.com/pqina/filepond-plugin-file-metadata)
|
|
59
|
-
- [File poster](https://github.com/pqina/filepond-plugin-file-poster)
|
|
60
|
-
- [Image editor](https://github.com/pqina/filepond-plugin-image-edit)
|
|
61
|
-
- [Image size validation](https://github.com/pqina/filepond-plugin-image-validate-size)
|
|
62
|
-
- [Image preview](https://github.com/pqina/filepond-plugin-image-preview)
|
|
63
|
-
- [Image crop](https://github.com/pqina/filepond-plugin-image-crop)
|
|
64
|
-
- [Image filter](https://github.com/pqina/filepond-plugin-image-filter)
|
|
65
|
-
- [Image resize](https://github.com/pqina/filepond-plugin-image-resize)
|
|
66
|
-
- [Image transform](https://github.com/pqina/filepond-plugin-image-transform)
|
|
67
|
-
- [Image EXIF orientation](https://github.com/pqina/filepond-plugin-image-exif-orientation)
|
|
68
|
-
- [Image overlay](https://github.com/nielsboogaard/filepond-plugin-image-overlay) ([nielsboogaard/filepond-plugin-image-overlay](https://github.com/nielsboogaard/filepond-plugin-image-overlay))
|
|
69
|
-
- [Media preview](https://github.com/nielsboogaard/filepond-plugin-media-preview) ([nielsboogaard/filepond-plugin-media-preview](https://github.com/nielsboogaard/filepond-plugin-media-preview))
|
|
70
|
-
- [Media preview + PDF preview](https://github.com/ErnestBrandi/filepond-plugin-media-preview) ([ErnestBrandi/filepond-plugin-media-preview](https://github.com/ErnestBrandi/filepond-plugin-media-preview))
|
|
71
|
-
- [Get file](https://github.com/nielsboogaard/filepond-plugin-get-file) ([nielsboogaard/filepond-plugin-get-file](https://github.com/nielsboogaard/filepond-plugin-get-file))
|
|
72
|
-
- [Zip Directory Uploads](https://github.com/tzsk/filepond-plugin-zipper) ([tzsk/filepond-plugin-zipper](https://github.com/tzsk/filepond-plugin-zipper))
|
|
73
|
-
- [PDF Preview](https://github.com/Adri-Glez/filepond-plugin-pdf-preview) ([Adri-Glez/filepond-plugin-pdf-preview](https://github.com/Adri-Glez/filepond-plugin-pdf-preview))
|
|
74
|
-
- [PDF Convert](https://github.com/alexandreDavid/filepond-plugin-pdf-convert) ([alexandreDavid/filepond-plugin-pdf-convert](https://github.com/alexandreDavid/filepond-plugin-pdf-convert))
|
|
75
|
-
|
|
76
|
-
### Adapters
|
|
77
|
-
|
|
78
|
-
- [React](https://github.com/pqina/react-filepond)
|
|
79
|
-
- [Vue](https://github.com/pqina/vue-filepond)
|
|
80
|
-
- [Svelte](https://github.com/pqina/svelte-filepond)
|
|
81
|
-
- [jQuery](https://github.com/pqina/jquery-filepond)
|
|
82
|
-
- [Angular](https://github.com/pqina/ngx-filepond)
|
|
83
|
-
- [Angular 1](https://github.com/johnnyasantoss/angularjs-filepond) ([johnnyasantoss/angularjs-filepond](https://github.com/johnnyasantoss/angularjs-filepond))
|
|
84
|
-
- [Blazor](https://github.com/soenneker/soenneker.blazor.filepond) ([soenneker/soenneker.blazor.filepond](https://github.com/soenneker/soenneker.blazor.filepond))
|
|
85
|
-
- [Ember](https://github.com/alexdiliberto/ember-filepond) ([alexdiliberto/ember-filepond](https://github.com/alexdiliberto/ember-filepond))
|
|
86
|
-
|
|
87
|
-
### Backend
|
|
88
|
-
|
|
89
|
-
- [PHP](https://github.com/pqina/filepond-boilerplate-php)
|
|
90
|
-
- [Django](https://github.com/ImperialCollegeLondon/django-drf-filepond) ([ImperialCollegeLondon/django-drf-filepond](https://github.com/ImperialCollegeLondon/django-drf-filepond))
|
|
91
|
-
- [Laravel](https://github.com/Sopamo/laravel-filepond) ([Sopamo/laravel-filepond](https://github.com/Sopamo/laravel-filepond))
|
|
92
|
-
- [Laravel](https://github.com/Albert221/laravel-filepond) ([Albert221/laravel-filepond](https://github.com/Albert221/laravel-filepond))
|
|
93
|
-
- [SilverStripe](https://github.com/lekoala/silverstripe-filepond) ([lekoala/silverstripe-filepond](https://github.com/lekoala/silverstripe-filepond))
|
|
94
|
-
- [Ruby on Rails](https://github.com/Code-With-Rails/filepond-rails) ([Code-With-Rails/filepond-rails](https://github.com/Code-With-Rails/filepond-rails))
|
|
95
|
-
|
|
96
|
-
## Quick Start
|
|
97
|
-
|
|
98
|
-
Install using npm:
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
npm install filepond
|
|
102
31
|
```
|
|
103
|
-
|
|
104
|
-
Then import in your project:
|
|
105
|
-
|
|
106
|
-
```js
|
|
107
|
-
import * as FilePond from 'filepond';
|
|
108
|
-
|
|
109
|
-
// Create a multi file upload component
|
|
110
|
-
const pond = FilePond.create({
|
|
111
|
-
multiple: true,
|
|
112
|
-
name: 'filepond',
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
// Add it to the DOM
|
|
116
|
-
document.body.appendChild(pond.element);
|
|
32
|
+
npm install filepond@5.0.0-alpha
|
|
117
33
|
```
|
|
118
34
|
|
|
119
|
-
|
|
35
|
+
## Getting Started
|
|
120
36
|
|
|
121
37
|
```html
|
|
122
|
-
|
|
123
|
-
<
|
|
124
|
-
|
|
125
|
-
<
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
</script>
|
|
141
|
-
</body>
|
|
142
|
-
</html>
|
|
38
|
+
<form action="/upload" method="POST">
|
|
39
|
+
<file-pond>
|
|
40
|
+
<label for="my-file">Drop files here, or <u>browse</u></label>
|
|
41
|
+
<input id="my-file" type="file" name="files" required />
|
|
42
|
+
</file-pond>
|
|
43
|
+
|
|
44
|
+
<button type="submit">Upload</button>
|
|
45
|
+
</form>
|
|
46
|
+
|
|
47
|
+
<script type="module">
|
|
48
|
+
import { defineFilePond } from 'filepond';
|
|
49
|
+
import { en_GB } from 'filepond/locales';
|
|
50
|
+
|
|
51
|
+
// registers the <file-pond> custom element, returns found elements, and sets initial options
|
|
52
|
+
const elements = defineFilePond({
|
|
53
|
+
locale: en_GB,
|
|
54
|
+
});
|
|
55
|
+
</script>
|
|
143
56
|
```
|
|
144
57
|
|
|
145
|
-
[Getting started with FilePond](https://pqina.nl/filepond/docs/patterns/getting-started/)
|
|
146
|
-
|
|
147
|
-
## Internationalization
|
|
148
|
-
|
|
149
|
-
The [locale folder](./locale/) contains different language files, PR's are welcome, you can use locale files like this:
|
|
150
|
-
|
|
151
|
-
```js
|
|
152
|
-
import pt_BR from 'filepond/locale/pt-br.js';
|
|
153
|
-
|
|
154
|
-
FilePond.setOptions(pt_BR);
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## Contributing
|
|
158
|
-
|
|
159
|
-
At the moment test coverage is not great, it's around 65%. To accept pull requests the tests need to be better, any help to improve them is very much appreciated.
|
|
160
|
-
|
|
161
|
-
Tests are based on Jest and can be run with `npm run test`
|
|
162
|
-
|
|
163
|
-
To build the library run `npm run build`
|
|
164
|
-
|
|
165
|
-
## Publications
|
|
166
|
-
|
|
167
|
-
- [Using FilePond with NodeJS](https://www.infoworld.com/article/3627248/how-to-use-filepond-with-nodejs.html)
|
|
168
|
-
- [Applying Watermarks to Images with FilePond](https://pqina.nl/blog/applying-watermarks-to-images-with-filepond/)
|
|
169
|
-
- [Generating Image Thumbnails in the Browser using JavaScript and FilePond](https://dev.to/pqina/generating-image-thumbnails-in-the-browser-using-javascript-and-filepond-10b8)
|
|
170
|
-
- [How to upload files with Vue and FilePond](https://dev.to/pqina/how-to-upload-files-with-vue-and-filepond-1m02)
|
|
171
|
-
- [Smooth file uploading with React and FilePond](https://itnext.io/uploading-files-with-react-and-filepond-f8a798308557)
|
|
172
|
-
- [5 interesting technical challenges I faced while building FilePond](https://itnext.io/filepond-frontend-trickery-a3073c934c77)
|
|
173
|
-
- [Image uploads with Laravel and FilePond](https://devdojo.com/episode/image-uploads-with-laravel-and-filepond)
|
|
174
|
-
- [Integrating FilePond with Ember](https://alexdiliberto.com/ember-filepond/)
|
|
175
|
-
- [FilePond launch day post-mortem](https://pqina.nl/blog/filepond-launch-day-post-mortem)
|
|
176
|
-
- [FilePond on ProductHunt](https://www.producthunt.com/posts/filepond-js)
|
|
177
|
-
|
|
178
|
-
### Browser Compatibility
|
|
179
|
-
|
|
180
|
-
FilePond is compatible with a wide range of desktop and mobile browsers, the oldest explicitly supported browser is IE11, for best cross browser support add [FilePond Polyfill](https://github.com/pqina/filepond-polyfill) and [Babel polyfill](https://babeljs.io/docs/en/babel-polyfill) to your project.
|
|
181
|
-
|
|
182
|
-
FilePond uses [BrowserStack](https://www.browserstack.com/) for compatibility testing.
|
|
183
|
-
|
|
184
|
-
[<img src="https://github.com/pqina/filepond-github-assets/blob/master/browserstack-logo.svg" height="32" alt="BrowserStack"/>](https://www.browserstack.com/)
|
|
185
|
-
|
|
186
58
|
## License
|
|
187
59
|
|
|
188
60
|
**Please don't remove or change the disclaimers in the source files**
|
|
189
61
|
|
|
190
62
|
MIT License
|
|
191
63
|
|
|
192
|
-
Copyright (c)
|
|
64
|
+
Copyright (c) 2025 Pqina
|
|
193
65
|
|
|
194
66
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
195
67
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const core = {
|
|
2
|
+
// generic remove
|
|
3
|
+
remove: '<path d="M7 7 L17 17 M17 7 L7 17"/>',
|
|
4
|
+
// checkmark for
|
|
5
|
+
check: '<path d="M20 6 9 17 4 12"/>',
|
|
6
|
+
// status
|
|
7
|
+
error: '<path stroke="none" fill="currentColor" d="M14.897 1a4 4 0 0 1 2.664 1.016l.165 .156l4.1 4.1a4 4 0 0 1 1.168 2.605l.006 .227v5.794a4 4 0 0 1 -1.016 2.664l-.156 .165l-4.1 4.1a4 4 0 0 1 -2.603 1.168l-.227 .006h-5.795a3.999 3.999 0 0 1 -2.664 -1.017l-.165 -.156l-4.1 -4.1a4 4 0 0 1 -1.168 -2.604l-.006 -.227v-5.794a4 4 0 0 1 1.016 -2.664l.156 -.165l4.1 -4.1a4 4 0 0 1 2.605 -1.168l.227 -.006h5.793zm-2.887 14l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007zm-.01 -8a1 1 0 0 0 -.993 .883l-.007 .117v4l.007 .117a1 1 0 0 0 1.986 0l.007 -.117v-4l-.007 -.117a1 1 0 0 0 -.993 -.883z" />',
|
|
8
|
+
warning: '<path stroke="none" fill="currentColor" d="M12 1.67c.955 0 1.845 .467 2.39 1.247l.105 .16l8.114 13.548a2.914 2.914 0 0 1 -2.307 4.363l-.195 .008h-16.225a2.914 2.914 0 0 1 -2.582 -4.2l.099 -.185l8.11 -13.538a2.914 2.914 0 0 1 2.491 -1.403zm.01 13.33l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007zm-.01 -7a1 1 0 0 0 -.993 .883l-.007 .117v4l.007 .117a1 1 0 0 0 1.986 0l.007 -.117v-4l-.007 -.117a1 1 0 0 0 -.993 -.883z" />',
|
|
9
|
+
info: '<path stroke="none" fill="currentColor" d="M12 2l.642 .005l.616 .017l.299 .013l.579 .034l.553 .046c4.687 .455 6.65 2.333 7.166 6.906l.03 .29l.046 .553l.041 .727l.006 .15l.017 .617l.005 .642l-.005 .642l-.017 .616l-.013 .299l-.034 .579l-.046 .553c-.455 4.687 -2.333 6.65 -6.906 7.166l-.29 .03l-.553 .046l-.727 .041l-.15 .006l-.617 .017l-.642 .005l-.642 -.005l-.616 -.017l-.299 -.013l-.579 -.034l-.553 -.046c-4.687 -.455 -6.65 -2.333 -7.166 -6.906l-.03 -.29l-.046 -.553l-.041 -.727l-.006 -.15l-.017 -.617l-.004 -.318v-.648l.004 -.318l.017 -.616l.013 -.299l.034 -.579l.046 -.553c.455 -4.687 2.333 -6.65 6.906 -7.166l.29 -.03l.553 -.046l.727 -.041l.15 -.006l.617 -.017c.21 -.003 .424 -.005 .642 -.005zm0 9h-1l-.117 .007a1 1 0 0 0 0 1.986l.117 .007v3l.007 .117a1 1 0 0 0 .876 .876l.117 .007h1l.117 -.007a1 1 0 0 0 .876 -.876l.007 -.117l-.007 -.117a1 1 0 0 0 -.764 -.857l-.112 -.02l-.117 -.006v-3l-.007 -.117a1 1 0 0 0 -.876 -.876l-.117 -.007zm.01 -3l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007z" />',
|
|
10
|
+
system: '<path stroke="none" fill="currentColor" d="M17 3.34a10 10 0 1 1 -15 8.66l.005 -.324a10 10 0 0 1 14.995 -8.336m-6.293 5.953a1 1 0 0 0 -1.414 0l-2 2a1 1 0 0 0 0 1.414l2 2a1 1 0 0 0 1.414 0l.083 -.094a1 1 0 0 0 -.083 -1.32l-1.292 -1.293l1.292 -1.293a1 1 0 0 0 0 -1.414m4 0a1 1 0 0 0 -1.414 0l-.083 .094a1 1 0 0 0 .083 1.32l1.292 1.293l-1.292 1.293a1 1 0 0 0 1.414 1.414l2 -2a1 1 0 0 0 0 -1.414z" />',
|
|
11
|
+
success: '<path stroke="none" fill="currentColor" d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" />'
|
|
12
|
+
};
|
|
13
|
+
const store = {
|
|
14
|
+
store: '<path d="M7 19 L17 19 M12 14 L12 5 M7 10 L12 5 L17 10"/>',
|
|
15
|
+
revert: '<path d="M5.057 18.484A9.5 9.5 0 1 0 4.593 6.05"/><path d="M4.5 2 4 6.5l4.5.5"/>'
|
|
16
|
+
};
|
|
17
|
+
const media = {
|
|
18
|
+
mediaEdit: '<path d="m18 5 2-2 1 1-2 2zM15.5 7.5l1 1L6 19l-2.5 1.5L5 18z"/>',
|
|
19
|
+
mediaReset: '<path d="M5.057 18.484A9.5 9.5 0 1 0 4.593 6.05"/><path d="M4.5 2 4 6.5l4.5.5"/>',
|
|
20
|
+
mediaPause: '<g stroke="none" fill="currentColor"><path d="M9 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" /><path d="M17 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" /></g>',
|
|
21
|
+
mediaPlay: '<path stroke="none" fill="currentColor" d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" />',
|
|
22
|
+
mediaMute: '<g fill="currentColor"><path d="M8.5 9h-4v6h4l8.5 6.5v-19z"/><path d="M20 15c1.178 0 2-1.698 2-3s-.822-3-2-3c-.5 0-1 .667-1 1v4c0 .333.5 1 1 1" stroke="none"/></g>',
|
|
23
|
+
mediaUnmute: '<path fill="currentColor" d="M17 4V2.5L8.5 9h-4v6H6zM12 18l5 3.5V13z"/><path d="M21 4.5 5.5 20"/>',
|
|
24
|
+
mediaSilent: '<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><line x1="23" y1="9" x2="17" y2="15"/><line x1="17" y1="9" x2="23" y2="15"/>',
|
|
25
|
+
mediaFullscreen: '<path d="M4 8v-2a2 2 0 0 1 2 -2h2 M4 16v2a2 2 0 0 0 2 2h2 M16 4h2a2 2 0 0 1 2 2v2 M16 20h2a2 2 0 0 0 2 -2v-2" />'
|
|
26
|
+
};
|
|
27
|
+
const assets = {
|
|
28
|
+
...core,
|
|
29
|
+
...store,
|
|
30
|
+
...media
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
assets,
|
|
34
|
+
core,
|
|
35
|
+
media,
|
|
36
|
+
store
|
|
37
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { getExtensionFromMimeType } from "../utils/file.js";
|
|
2
|
+
function getBasename(entry, blob) {
|
|
3
|
+
return "Untitled";
|
|
4
|
+
}
|
|
5
|
+
function getExtension(entry, blob, options) {
|
|
6
|
+
return getExtensionFromMimeType(blob.type, options.mimeTypeMap);
|
|
7
|
+
}
|
|
8
|
+
function getFilename(entry, blob, options) {
|
|
9
|
+
const basename = (options.getBasename ?? getBasename)(entry, blob);
|
|
10
|
+
const extension = (options.getExtension ?? getExtension)(entry, blob, {
|
|
11
|
+
mimeTypeMap: options.mimeTypeMap
|
|
12
|
+
});
|
|
13
|
+
return `${basename}${extension}`;
|
|
14
|
+
}
|
|
15
|
+
function getExtensionStatusItems(extensions) {
|
|
16
|
+
return extensions.filter((extension) => extension.status).map((extension) => extension.status);
|
|
17
|
+
}
|
|
18
|
+
function getExtensionStateByStatusCode(extensions, codes) {
|
|
19
|
+
const extensionState = extensions.filter((extension) => extension.status).find(
|
|
20
|
+
(extension) => codes.includes(
|
|
21
|
+
//@ts-ignore (we only get extensions that have a status)
|
|
22
|
+
extension.status.code
|
|
23
|
+
)
|
|
24
|
+
);
|
|
25
|
+
if (extensionState) {
|
|
26
|
+
return extensionState.status;
|
|
27
|
+
}
|
|
28
|
+
if (codes.includes(null)) {
|
|
29
|
+
return { progress: null };
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
getBasename,
|
|
35
|
+
getExtension,
|
|
36
|
+
getExtensionStateByStatusCode,
|
|
37
|
+
getExtensionStatusItems,
|
|
38
|
+
getFilename
|
|
39
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { randomNumberBetween } from "../utils/math.js";
|
|
2
|
+
function createPerceivedPerformanceProcess(onprogress, abortController, config) {
|
|
3
|
+
return new Promise((resolve) => {
|
|
4
|
+
let timeoutId;
|
|
5
|
+
let duration = randomNumberBetween(config.minDuration, config.maxDuration);
|
|
6
|
+
const start = Date.now();
|
|
7
|
+
const lengthComputable = true;
|
|
8
|
+
const total = 1;
|
|
9
|
+
let loaded = 0;
|
|
10
|
+
abortController.signal.onabort = () => {
|
|
11
|
+
clearTimeout(timeoutId);
|
|
12
|
+
};
|
|
13
|
+
onprogress({ lengthComputable, loaded, total });
|
|
14
|
+
const tick = () => {
|
|
15
|
+
if (abortController.signal.aborted) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const runtime = Date.now() - start;
|
|
19
|
+
let delay = randomNumberBetween(config.minStep, config.maxStep);
|
|
20
|
+
if (runtime + delay > duration) {
|
|
21
|
+
delay = runtime + delay - duration;
|
|
22
|
+
}
|
|
23
|
+
loaded = runtime / duration * total;
|
|
24
|
+
onprogress({
|
|
25
|
+
lengthComputable,
|
|
26
|
+
loaded: Math.min(loaded, total),
|
|
27
|
+
total
|
|
28
|
+
});
|
|
29
|
+
if (loaded >= total) {
|
|
30
|
+
return resolve();
|
|
31
|
+
}
|
|
32
|
+
timeoutId = setTimeout(tick, delay);
|
|
33
|
+
};
|
|
34
|
+
tick();
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function createPerceivedPerformanceProxy(fn, options) {
|
|
38
|
+
return async function(entry, {
|
|
39
|
+
onprogress,
|
|
40
|
+
onabort,
|
|
41
|
+
abortController
|
|
42
|
+
}) {
|
|
43
|
+
const perceivedPerformanceAbortController = new AbortController();
|
|
44
|
+
let perceivedProgress;
|
|
45
|
+
let actualProgress;
|
|
46
|
+
function handleProgressUpdate() {
|
|
47
|
+
if (!actualProgress || !perceivedProgress) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const perceivedProgressFraction = perceivedProgress.loaded / perceivedProgress.total;
|
|
51
|
+
const actualProgressFraction = actualProgress.loaded / actualProgress.total;
|
|
52
|
+
if (perceivedProgressFraction < actualProgressFraction) {
|
|
53
|
+
return onprogress({ ...perceivedProgress, lengthComputable: true });
|
|
54
|
+
}
|
|
55
|
+
onprogress(actualProgress);
|
|
56
|
+
}
|
|
57
|
+
const perceivedPromise = createPerceivedPerformanceProcess(
|
|
58
|
+
(progress) => {
|
|
59
|
+
const total = options?.total || actualProgress?.total || 100;
|
|
60
|
+
perceivedProgress = {
|
|
61
|
+
lengthComputable: true,
|
|
62
|
+
loaded: Math.round(progress.loaded * total),
|
|
63
|
+
total
|
|
64
|
+
};
|
|
65
|
+
handleProgressUpdate();
|
|
66
|
+
},
|
|
67
|
+
// if we abort we abort simulation as well
|
|
68
|
+
perceivedPerformanceAbortController,
|
|
69
|
+
options
|
|
70
|
+
);
|
|
71
|
+
const actualPromise = fn(entry, {
|
|
72
|
+
onprogress: (progress) => {
|
|
73
|
+
actualProgress = progress;
|
|
74
|
+
handleProgressUpdate();
|
|
75
|
+
},
|
|
76
|
+
onabort: () => {
|
|
77
|
+
perceivedPerformanceAbortController.abort();
|
|
78
|
+
onabort();
|
|
79
|
+
},
|
|
80
|
+
abortController
|
|
81
|
+
});
|
|
82
|
+
return new Promise((resolve, reject) => {
|
|
83
|
+
Promise.all([actualPromise, perceivedPromise]).then((res) => {
|
|
84
|
+
resolve(res[0]);
|
|
85
|
+
}).catch((err) => {
|
|
86
|
+
perceivedPerformanceAbortController.abort();
|
|
87
|
+
reject(err);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export {
|
|
93
|
+
createPerceivedPerformanceProxy
|
|
94
|
+
};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { arrayRemoveFalsy } from "../utils/array.js";
|
|
2
|
+
import { noop } from "../utils/placeholder.js";
|
|
3
|
+
import { isFileSystemDirectoryEntry, isFunction, isFileSystemFileEntry } from "../utils/test.js";
|
|
4
|
+
import { eachTree, mapTreeAsync } from "../utils/tree.js";
|
|
5
|
+
import { idleCallbackPromise } from "../utils/window.js";
|
|
6
|
+
async function readEntriesFromDataTransfer(dataTransfer, options) {
|
|
7
|
+
const { onprogress = noop, onabort = noop, abortController } = options ?? {};
|
|
8
|
+
const { items } = dataTransfer ?? {};
|
|
9
|
+
if (!items) {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
let didCallOnAbort = false;
|
|
13
|
+
let totalFileEntries = 0;
|
|
14
|
+
let processedFileEntries = 0;
|
|
15
|
+
const entries = dataTransferItemsToEntries(items);
|
|
16
|
+
const entriesArray = await entriesToArray(entries, options);
|
|
17
|
+
if (abortController?.signal.aborted) {
|
|
18
|
+
onabort();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
eachTree(entriesArray, (entry) => {
|
|
22
|
+
if (!isFunction(entry)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
totalFileEntries++;
|
|
26
|
+
});
|
|
27
|
+
onprogress({ loaded: processedFileEntries, total: totalFileEntries });
|
|
28
|
+
return await mapTreeAsync(
|
|
29
|
+
entriesArray,
|
|
30
|
+
async (entry) => {
|
|
31
|
+
if (isFunction(entry)) {
|
|
32
|
+
if (abortController?.signal.aborted) {
|
|
33
|
+
if (!didCallOnAbort) {
|
|
34
|
+
onabort();
|
|
35
|
+
}
|
|
36
|
+
didCallOnAbort = true;
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const res = await entry();
|
|
40
|
+
processedFileEntries++;
|
|
41
|
+
onprogress({ loaded: processedFileEntries, total: totalFileEntries });
|
|
42
|
+
return res;
|
|
43
|
+
}
|
|
44
|
+
return entry;
|
|
45
|
+
},
|
|
46
|
+
"entries"
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
async function entriesToArray(entries, options) {
|
|
50
|
+
const { abortController, onabort = noop } = options ?? {};
|
|
51
|
+
let entriesArray = [];
|
|
52
|
+
for (const entry of entries) {
|
|
53
|
+
if (!entry) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (abortController?.signal.aborted) {
|
|
57
|
+
onabort();
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
let item;
|
|
61
|
+
if (isFileSystemDirectoryEntry(entry)) {
|
|
62
|
+
item = {
|
|
63
|
+
name: entry.name,
|
|
64
|
+
path: entry.fullPath,
|
|
65
|
+
entries: await entriesToArray(await readDirectory(entry), options)
|
|
66
|
+
};
|
|
67
|
+
} else if (isFileSystemFileEntry(entry)) {
|
|
68
|
+
item = async () => {
|
|
69
|
+
const file = await readFile(entry);
|
|
70
|
+
file.path = entry.fullPath;
|
|
71
|
+
return file;
|
|
72
|
+
};
|
|
73
|
+
} else {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
entriesArray.push(item);
|
|
77
|
+
}
|
|
78
|
+
return entriesArray;
|
|
79
|
+
}
|
|
80
|
+
function dataTransferItemsToEntries(items) {
|
|
81
|
+
return Array.from(items).map(getAsEntry);
|
|
82
|
+
}
|
|
83
|
+
function dataTransferItemsToFiles(items) {
|
|
84
|
+
return Array.from(items).map(getAsFile);
|
|
85
|
+
}
|
|
86
|
+
function getAsEntry(item) {
|
|
87
|
+
return item.webkitGetAsEntry();
|
|
88
|
+
}
|
|
89
|
+
function getAsFile(item) {
|
|
90
|
+
return item.getAsFile();
|
|
91
|
+
}
|
|
92
|
+
async function readDirectory(entry) {
|
|
93
|
+
const dirReader = entry.createReader();
|
|
94
|
+
const entries = [];
|
|
95
|
+
while (true) {
|
|
96
|
+
const results = await new Promise((resolve, reject) => {
|
|
97
|
+
dirReader.readEntries(resolve, reject);
|
|
98
|
+
});
|
|
99
|
+
if (!results.length) {
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
for (const entry2 of results) {
|
|
103
|
+
entries.push(entry2);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return entries;
|
|
107
|
+
}
|
|
108
|
+
async function readFile(entry) {
|
|
109
|
+
await idleCallbackPromise();
|
|
110
|
+
return getFileFromEntry(entry);
|
|
111
|
+
}
|
|
112
|
+
async function getFileFromEntry(entry) {
|
|
113
|
+
return new Promise((resolve) => entry.file(resolve));
|
|
114
|
+
}
|
|
115
|
+
function shouldLoadWithIdleCallback(dataTransfer) {
|
|
116
|
+
const entries = dataTransferItemsToEntries(dataTransfer.items);
|
|
117
|
+
return entries.some(isFileSystemDirectoryEntry) || entries.length > 10;
|
|
118
|
+
}
|
|
119
|
+
async function dataTransferToFiles(dataTransfer) {
|
|
120
|
+
let entries = dataTransferItemsToEntries(dataTransfer.items);
|
|
121
|
+
if (arrayRemoveFalsy(entries).length === 0) {
|
|
122
|
+
return dataTransferItemsToFiles(dataTransfer.items);
|
|
123
|
+
}
|
|
124
|
+
const res = [];
|
|
125
|
+
const promises = [];
|
|
126
|
+
for (const entry of entries) {
|
|
127
|
+
if (isFileSystemFileEntry(entry)) {
|
|
128
|
+
promises.push(getFileFromEntry(entry));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
res.push(...await Promise.all(promises));
|
|
132
|
+
return res;
|
|
133
|
+
}
|
|
134
|
+
export {
|
|
135
|
+
dataTransferItemsToEntries,
|
|
136
|
+
dataTransferItemsToFiles,
|
|
137
|
+
dataTransferToFiles,
|
|
138
|
+
getAsEntry,
|
|
139
|
+
getAsFile,
|
|
140
|
+
readDirectory,
|
|
141
|
+
readEntriesFromDataTransfer,
|
|
142
|
+
shouldLoadWithIdleCallback
|
|
143
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var Status = /* @__PURE__ */ ((Status2) => {
|
|
2
|
+
Status2["Info"] = "info";
|
|
3
|
+
Status2["Warning"] = "warning";
|
|
4
|
+
Status2["Success"] = "success";
|
|
5
|
+
Status2["Error"] = "error";
|
|
6
|
+
Status2["System"] = "system";
|
|
7
|
+
return Status2;
|
|
8
|
+
})(Status || {});
|
|
9
|
+
export {
|
|
10
|
+
Status
|
|
11
|
+
};
|