import { Fragment, VNode, h } from "preact"; import { LabelWithTooltipMaybeRequired, UIFormProps } from "./InputLine.js"; import { useField } from "./useField.js"; export function InputFile( props: { maxBites: number; accept?: string } & UIFormProps, ): VNode { const { name, label, placeholder, tooltip, required, help, maxBites, accept, } = props; const { value, onChange, state } = useField(name); if (state.hidden) { return
; } return (
{!value || !(value as string).startsWith("data:image/") ? (
{!state.disabled &&
{/*

or drag and drop

*/}
}
) : (
{!state.disabled &&
{ onChange(undefined!); }} > Clear
}
)} {help &&

{help}

}
); }