paperlabeled-material-ui
Version:
Paper with top label based on material-ui
47 lines • 1.97 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import React from 'react';
import { createStyles, makeStyles, Paper, } from '@material-ui/core';
import clsx from 'clsx';
var useStyles = makeStyles(function () { return createStyles({
papper: {
padding: 10,
},
papperLabel: {
textAlign: 'left',
marginTop: -24,
},
papperLabelText: {
backgroundColor: 'white',
},
}); });
var PaperLabeled = function (_a) {
var paperProps = _a.paperProps, children = _a.children, title = _a.title, labelComp = _a.labelComp, labelClass = _a.labelClass, labelClassContainer = _a.labelClassContainer;
var classes = useStyles();
var paperPropsDefault = __assign(__assign({ variant: 'outlined' }, paperProps), { className: clsx(classes.papper, paperProps === null || paperProps === void 0 ? void 0 : paperProps.className) });
var labelClassTextInner = clsx(classes.papperLabelText, labelClass);
var labelClassInner = clsx(classes.papperLabel, labelClassContainer);
var Comp = labelComp || React.createElement("span", { "data-testid": "default-label", className: labelClassTextInner }, title);
return (React.createElement(Paper, __assign({}, paperPropsDefault),
React.createElement("div", { className: labelClassInner }, Comp),
React.createElement("div", null, children)));
};
PaperLabeled.defaultProps = {
labelClass: '',
labelClassContainer: '',
title: '',
labelComp: undefined,
paperProps: {},
children: undefined,
};
export default PaperLabeled;
//# sourceMappingURL=PaperLabeled.js.map