@6thquake/react-material
Version:
React components that implement Google's Material Design.
129 lines (108 loc) • 3.48 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
var _classnames = _interopRequireDefault(require("classnames"));
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
var styles = function styles(theme) {
return {
root: {},
colorInherit: {},
colorPrimary: {},
colorSecondary: {},
disabled: {},
label: {},
fish: {
transform: 'scale3d(1,1,1)',
'-ms-transform': 'scale3d(1,1,1)'
/* IE 9 */
,
'-moz-transform': 'scale3d(1,1,1)'
/* Firefox */
,
'-webkit-transform': 'scale3d(1,1,1)'
/* Safari 和 Chrome */
,
'-o-transform': 'scale3d(1,1,1)',
transition: 'all 86ms ease-out',
'&:hover': {
transform: 'scale3d(1.2, 1.2, 1.2)',
'-ms-transform': 'scale3d(1.2, 1.2, 1.2)'
/* IE 9 */
,
'-moz-transform': 'scale3d(1.2, 1.2, 1.2)'
/* Firefox */
,
'-webkit-transform': 'scale3d(1.2, 1.2, 1.2)'
/* Safari 和 Chrome */
,
'-o-transform': 'scale3d(1.2, 1.2, 1.2)'
}
}
};
};
var RMIconButton = _react.default.forwardRef(function RMIconButton(props, ref) {
var classNamePro = props.className,
classes = props.classes,
isFish = props.fish,
other = (0, _objectWithoutProperties2.default)(props, ["className", "classes", "fish"]);
var className = (0, _classnames.default)((0, _defineProperty2.default)({}, classes.fish, isFish), classNamePro);
var fish = classes.fish,
classesPro = (0, _objectWithoutProperties2.default)(classes, ["fish"]);
return _react.default.createElement(_IconButton.default, (0, _extends2.default)({
classes: classesPro,
className: className,
ref: ref
}, other));
});
RMIconButton.propTypes = {
/**
* The icon element.
*/
children: _propTypes.default.node,
/**
* Override or extend the styles applied to the component.
* See [CSS API](#css-api) below for more details.
*/
classes: _propTypes.default.object.isRequired,
/**
* @ignore
*/
className: _propTypes.default.string,
/**
* The color of the component. It supports those theme colors that make sense for this component.
*/
color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']),
/**
* If `true`, the button will be disabled.
*/
disabled: _propTypes.default.bool,
/**
* If `true`, the ripple will be disabled.
*/
disableRipple: _propTypes.default.bool,
/**
* 是否是鱼眼button
*/
fish: _propTypes.default.bool
};
RMIconButton.defaultProps = {
color: 'default',
disabled: false,
fish: false
};
RMIconButton.contextTypes = {
resetActive: _propTypes.default.func
};
var _default = (0, _withStyles.default)(styles, {
name: 'RMIconButton'
})(RMIconButton);
exports.default = _default;