@tolokoban/ui
Version:
React components with theme
30 lines • 2.9 kB
JavaScript
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import { ViewButton } from "../Button/index.js";
export function ViewInputFile(props) {
var _a;
const ref = React.useRef(null);
const handleClick = () => {
const input = ref.current;
if (!input)
return;
input.click();
};
const handleImport = (evt) => {
const input = evt.target;
if (!input)
return;
const { files } = input;
if (files && files.length > 0) {
const arr = [];
for (let i = 0; i < files.length; i++) {
const f = files.item(i);
if (f)
arr.push(f);
}
props.onLoad(arr);
}
};
return (_jsxs(_Fragment, { children: [_jsx(ViewButton, Object.assign({}, props, { onClick: handleClick })), _jsx("input", { style: { display: "none" }, ref: ref, type: "file", accept: (_a = props.accept) !== null && _a !== void 0 ? _a : "*/*", multiple: props.multiple ? true : false, onChange: handleImport })] }));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRGaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZpZXcvSW5wdXRGaWxlL0lucHV0RmlsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUV6QixPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLG9CQUFvQixDQUFBO0FBUWhFLE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBeUI7O0lBQ25ELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQTBCLElBQUksQ0FBQyxDQUFBO0lBQ3ZELE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUNyQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTTtRQUVsQixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDakIsQ0FBQyxDQUFBO0lBQ0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUF3QyxFQUFFLEVBQUU7UUFDOUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtRQUN4QixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU07UUFFbEIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQTtRQUN2QixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sR0FBRyxHQUFXLEVBQUUsQ0FBQTtZQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN2QixJQUFJLENBQUM7b0JBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN0QixDQUFDO1lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNyQixDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxDQUNILDhCQUNJLEtBQUMsVUFBVSxvQkFBSyxLQUFLLElBQUUsT0FBTyxFQUFFLFdBQVcsSUFBSSxFQUMvQyxnQkFDSSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQzFCLEdBQUcsRUFBRSxHQUFHLEVBQ1IsSUFBSSxFQUFDLE1BQU0sRUFDWCxNQUFNLEVBQUUsTUFBQSxLQUFLLENBQUMsTUFBTSxtQ0FBSSxLQUFLLEVBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFDdkMsUUFBUSxFQUFFLFlBQVksR0FDeEIsSUFDSCxDQUNOLENBQUE7QUFDTCxDQUFDIn0=