UNPKG

2.6 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports.default = exports.styles = void 0;
11
12var React = _interopRequireWildcard(require("react"));
13
14var _propTypes = _interopRequireDefault(require("prop-types"));
15
16var _clsx = _interopRequireDefault(require("clsx"));
17
18var _RadioButtonUnchecked = _interopRequireDefault(require("../internal/svg-icons/RadioButtonUnchecked"));
19
20var _RadioButtonChecked = _interopRequireDefault(require("../internal/svg-icons/RadioButtonChecked"));
21
22var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
23
24var styles = function styles(theme) {
25 return {
26 root: {
27 position: 'relative',
28 display: 'flex',
29 '&$checked $layer': {
30 transform: 'scale(1)',
31 transition: theme.transitions.create('transform', {
32 easing: theme.transitions.easing.easeOut,
33 duration: theme.transitions.duration.shortest
34 })
35 }
36 },
37 layer: {
38 left: 0,
39 position: 'absolute',
40 transform: 'scale(0)',
41 transition: theme.transitions.create('transform', {
42 easing: theme.transitions.easing.easeIn,
43 duration: theme.transitions.duration.shortest
44 })
45 },
46 checked: {}
47 };
48};
49/**
50 * @ignore - internal component.
51 */
52
53
54exports.styles = styles;
55
56function RadioButtonIcon(props) {
57 var checked = props.checked,
58 classes = props.classes,
59 fontSize = props.fontSize;
60 return /*#__PURE__*/React.createElement("div", {
61 className: (0, _clsx.default)(classes.root, checked && classes.checked)
62 }, /*#__PURE__*/React.createElement(_RadioButtonUnchecked.default, {
63 fontSize: fontSize
64 }), /*#__PURE__*/React.createElement(_RadioButtonChecked.default, {
65 fontSize: fontSize,
66 className: classes.layer
67 }));
68}
69
70process.env.NODE_ENV !== "production" ? RadioButtonIcon.propTypes = {
71 /**
72 * If `true`, the component is checked.
73 */
74 checked: _propTypes.default.bool,
75
76 /**
77 * Override or extend the styles applied to the component.
78 * See [CSS API](#css) below for more details.
79 */
80 classes: _propTypes.default.object.isRequired,
81
82 /**
83 * The size of the radio.
84 * `small` is equivalent to the dense radio styling.
85 */
86 fontSize: _propTypes.default.oneOf(['small', 'medium'])
87} : void 0;
88
89var _default = (0, _withStyles.default)(styles, {
90 name: 'PrivateRadioButtonIcon'
91})(RadioButtonIcon);
92
93exports.default = _default;
\No newline at end of file