From c680f5aa71b08e978444df07f93c381f9d47ab82 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 5 Jun 2023 10:04:09 -0300 Subject: rename aml --- .../aml-backoffice-ui/src/handlers/InputFile.tsx | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 packages/aml-backoffice-ui/src/handlers/InputFile.tsx (limited to 'packages/aml-backoffice-ui/src/handlers/InputFile.tsx') diff --git a/packages/aml-backoffice-ui/src/handlers/InputFile.tsx b/packages/aml-backoffice-ui/src/handlers/InputFile.tsx new file mode 100644 index 000000000..0d89a98a3 --- /dev/null +++ b/packages/aml-backoffice-ui/src/handlers/InputFile.tsx @@ -0,0 +1,101 @@ +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/") ? ( +
+
+ +
+ + {/*

or drag and drop

*/} +
+
+
+ ) : ( +
+ + +
{ + onChange(undefined!); + }} + > + Clear +
+
+ )} + {help &&

{help}

} +
+ ); +} -- cgit v1.2.3