UNPKG

@gorazdo/material-you

Version:

Material You theme for @material-ui library

67 lines (66 loc) 2.87 kB
"use strict"; 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;