@mantine/dropzone
Version:
Dropzone component built with Mantine theme and components
27 lines (26 loc) • 1.25 kB
JavaScript
"use client";
const require_Dropzone_context = require("./Dropzone.context.cjs");
let _mantine_core = require("@mantine/core");
let _mantine_hooks = require("@mantine/hooks");
let react = require("react");
let react_jsx_runtime = require("react/jsx-runtime");
//#region packages/@mantine/dropzone/src/DropzoneStatus.tsx
function createDropzoneStatus(status) {
const Component = (props) => {
const { children, ...others } = (0, _mantine_core.useProps)(`Dropzone${(0, _mantine_hooks.upperFirst)(status)}`, {}, props);
const ctx = require_Dropzone_context.useDropzoneContext();
const _children = (0, _mantine_core.isElement)(children) ? children : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children });
if (ctx[status]) return (0, react.cloneElement)(_children, others);
return null;
};
Component.displayName = `@mantine/dropzone/${(0, _mantine_hooks.upperFirst)(status)}`;
return Component;
}
const DropzoneAccept = createDropzoneStatus("accept");
const DropzoneReject = createDropzoneStatus("reject");
const DropzoneIdle = createDropzoneStatus("idle");
//#endregion
exports.DropzoneAccept = DropzoneAccept;
exports.DropzoneIdle = DropzoneIdle;
exports.DropzoneReject = DropzoneReject;
//# sourceMappingURL=DropzoneStatus.cjs.map