UNPKG

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