file-select-dialog
Version:
Call file select dialog programmatically
3 lines (2 loc) • 762 B
JavaScript
var fileSelectDialog=function(e){"use strict";class t extends Error{}class l extends t{}class n extends t{}const c=(e,t=",")=>e.join(t),r={accept:"*",multiple:!1,strict:!1},i=(e,t,c)=>new Promise(((r,i)=>{if(!e)return i(new l);const u=s(e,t,c);if(!u)return i(new n);r(u)})),s=(e,t,l)=>!t&&l?1===e.length?e[0]:null:e.length?e:null,u=({accept:e,multiple:t})=>{const l=document.createElement("input");return l.type="file",l.multiple=t,l.accept=e,l};return e.fileDialog=e=>{const{accept:t,multiple:l,strict:n}={...r,...e},s=u({multiple:l,accept:Array.isArray(t)?c(t):t});return new Promise((e=>{s.onchange=()=>{e(i(s.files,l,n)),s.remove()},s.click()}))},Object.defineProperty(e,"__esModule",{value:!0}),e}({});
//# sourceMappingURL=file-select-dialog.global.js.map