@gorazdo/material-you
Version:
Material You theme for @material-ui library
67 lines (66 loc) • 2.87 kB
JavaScript
;
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ShapeButton = void 0;
const core_1 = require("@material-ui/core");
const react_1 = __importDefault(require("react"));
const clsx_1 = __importDefault(require("clsx"));
const useStyles = (0, core_1.makeStyles)((theme) => ({
root: {
padding: theme.spacing(2),
minWidth: theme.spacing(7),
minHeight: theme.spacing(7),
display: "inline-grid",
placeItems: "center",
},
ignorePaddings: {
padding: 0,
},
circle: {
borderRadius: theme.spacing(100),
},
square: {},
rounded: {
borderRadius: theme.shape.borderRadius,
},
text: {
color: theme.palette.text.primary,
},
contained: {
backgroundColor: (props) => theme.palette[props.palette].pale,
color: (props) => theme.palette[props.palette].main,
["&[disabled]"]: {
filter: "grayscale(80%) brightness(105%)",
},
},
label: {
display: "inline-grid",
placeItems: "center",
whiteSpace: "nowrap",
fontSize: "1.4rem",
lineHeight: "1.4rem",
},
}));
const ShapeButton = (_a) => {
var { shape, className, classes, palette, children, ignorePaddings, variant } = _a, restProps = __rest(_a, ["shape", "className", "classes", "palette", "children", "ignorePaddings", "variant"]);
const defaultClasses = useStyles({ palette: palette !== null && palette !== void 0 ? palette : "primary" });
return (react_1.default.createElement(core_1.ButtonBase, Object.assign({}, restProps, { className: (0, clsx_1.default)(defaultClasses.root, {
[defaultClasses[shape]]: shape !== undefined,
[defaultClasses.ignorePaddings]: ignorePaddings,
}, defaultClasses[variant !== null && variant !== void 0 ? variant : "contained"], classes === null || classes === void 0 ? void 0 : classes.root, className) }),
react_1.default.createElement("span", { className: (0, clsx_1.default)(defaultClasses.label, classes === null || classes === void 0 ? void 0 : classes.label) }, children)));
};
exports.ShapeButton = ShapeButton;