@react-awesome-query-builder/mui
Version:
User-friendly query builder for React. MUI 5 widgets
42 lines • 1.48 kB
JavaScript
import React from "react";
import DragHandle from "@mui/icons-material/DragHandle";
import DeleteIcon from "@mui/icons-material/Delete";
import AddIcon from "@mui/icons-material/Add";
import Icon from "@mui/material/Icon";
import { Utils } from "@react-awesome-query-builder/ui";
var DragIcon = Utils.DragIcon;
var typeToIcon = {
"delGroup": /*#__PURE__*/React.createElement(DeleteIcon, null),
"delRuleGroup": /*#__PURE__*/React.createElement(DeleteIcon, null),
"delRule": /*#__PURE__*/React.createElement(DeleteIcon, null),
"addRuleGroup": /*#__PURE__*/React.createElement(AddIcon, null),
"addRuleGroupExt": /*#__PURE__*/React.createElement(AddIcon, null),
"addRule": /*#__PURE__*/React.createElement(AddIcon, null),
"addGroup": /*#__PURE__*/React.createElement(AddIcon, null),
"drag": /*#__PURE__*/React.createElement(DragHandle, null)
};
var typeToColor = {
// "addRule": "primary",
// "addGroup": "primary",
// "delGroup": "secondary",
// "delRuleGroup": "secondary",
// "delRule": "secondary",
"drag": "primary"
};
export default (function (_ref) {
var type = _ref.type,
readonly = _ref.readonly;
var icon = typeToIcon[type] || null;
if (!icon && type === "drag") {
return /*#__PURE__*/React.createElement(DragIcon, null);
}
if (type === "drag") {
return /*#__PURE__*/React.createElement(Icon, {
size: "small",
disabled: readonly,
color: typeToColor[type]
}, icon);
} else {
return icon;
}
});