UNPKG

2.35 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _react = _interopRequireDefault(require("react"));
13
14var _clsx = _interopRequireDefault(require("clsx"));
15
16var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
17
18var styles = function styles(theme) {
19 return {
20 thumb: {
21 '&$open': {
22 '& $offset': {
23 transform: 'scale(1) translateY(-10px)'
24 }
25 }
26 },
27 open: {},
28 offset: (0, _extends2.default)({
29 zIndex: 1
30 }, theme.typography.body2, {
31 fontSize: theme.typography.pxToRem(12),
32 lineHeight: 1.2,
33 transition: theme.transitions.create(['transform'], {
34 duration: theme.transitions.duration.shortest
35 }),
36 top: -34,
37 left: 'calc(-50% + -4px)',
38 transformOrigin: 'bottom center',
39 transform: 'scale(0)',
40 position: 'absolute'
41 }),
42 circle: {
43 display: 'flex',
44 alignItems: 'center',
45 justifyContent: 'center',
46 width: 32,
47 height: 32,
48 borderRadius: '50% 50% 50% 0',
49 backgroundColor: 'currentColor',
50 transform: 'rotate(-45deg)'
51 },
52 label: {
53 color: theme.palette.primary.contrastText,
54 transform: 'rotate(45deg)'
55 }
56 };
57};
58/**
59 * @ignore - internal component.
60 */
61
62
63function ValueLabel(props) {
64 var children = props.children,
65 classes = props.classes,
66 className = props.className,
67 open = props.open,
68 value = props.value,
69 valueLabelDisplay = props.valueLabelDisplay;
70
71 if (valueLabelDisplay === 'off') {
72 return children;
73 }
74
75 return _react.default.cloneElement(children, {
76 className: (0, _clsx.default)(children.props.className, (open || valueLabelDisplay === 'on') && classes.open, classes.thumb)
77 }, _react.default.createElement("span", {
78 className: (0, _clsx.default)(classes.offset, className)
79 }, _react.default.createElement("span", {
80 className: classes.circle
81 }, _react.default.createElement("span", {
82 className: classes.label
83 }, value))));
84}
85
86var _default = (0, _withStyles.default)(styles, {
87 name: 'PrivateValueLabel'
88})(ValueLabel);
89
90exports.default = _default;
\No newline at end of file