UNPKG

@hitachivantara/uikit-react-core

Version:
63 lines (62 loc) 1.98 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const useLabels = require("../hooks/useLabels.cjs"); const setId = require("../utils/setId.cjs"); const FileUploader_styles = require("./FileUploader.styles.cjs"); const DropZone = require("./DropZone/DropZone.cjs"); const FileList = require("./FileList/FileList.cjs"); const FormElement = require("../FormElement/FormElement.cjs"); const DEFAULT_LABELS = { removeFileButtonLabel: "Remove File" }; const HvFileUploader = (props) => { const { id, className, classes: classesProp, labels: labelsProp, fileList, multiple = true, label, hideLabels, maxFileSize = Infinity, inputProps = {}, accept, acceptedFiles = [], // TODO: consider adding/replacing with onFilesChange onFilesAdded, onFileRemoved, ...others } = uikitReactUtils.useDefaultProps("HvFileUploader", props); const { classes, cx } = FileUploader_styles.useClasses(classesProp); const labels = useLabels.useLabels(DEFAULT_LABELS, labelsProp); return /* @__PURE__ */ jsxRuntime.jsxs(FormElement.HvFormElement, { id, className: cx(classes.root, className), ...others, children: [ /* @__PURE__ */ jsxRuntime.jsx( DropZone.HvDropZone, { id: setId.setId(id, "dropzone"), label, labels, multiple, accept: accept ?? acceptedFiles.join(","), maxFileSize, onFilesAdded, inputProps, hideLabels } ), /* @__PURE__ */ jsxRuntime.jsx( FileList.HvFileList, { id: setId.setId(id, "filelist"), list: fileList, onFileRemoved, removeFileButtonLabel: labels?.removeFileButtonLabel } ) ] }); }; exports.fileUploaderClasses = FileUploader_styles.staticClasses; exports.HvFileUploader = HvFileUploader;