import {html} from "htl"; import {maybeWidth} from "./css.js"; import {maybeLabel} from "./label.js"; import {createText} from "./text.js"; export function file({ label, required, accept, capture, multiple, disabled, width, value, // eslint-disable-line no-unused-vars submit, // eslint-disable-line no-unused-vars transform = (file) => file, ...options } = {}) { const input = html``; const form = html`
${maybeLabel(label, input)}
${input}
`; return createText(form, input, undefined, options, { get: (input) => multiple ? Array.from(input.files, (file) => transform(file)) : input.files.length ? transform(input.files[0]) : null, set: () => {}, // ignored same: () => false // ignored }); }