@doopage/react-ui-kit
Version:
UI-kit for DooPage project
97 lines (77 loc) • 4.28 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
var _Zoom = _interopRequireDefault(require("@material-ui/core/Zoom"));
var _classnames = _interopRequireDefault(require("classnames"));
var _styles = _interopRequireDefault(require("./styles"));
var Index = function (props) {
var _classNames;
var classes = (0, _styles["default"])();
var _props$loading = props.loading,
loading = _props$loading === void 0 ? false : _props$loading,
_props$disabled = props.disabled,
disabled = _props$disabled === void 0 ? false : _props$disabled,
children = props.children,
_props$color = props.color,
color = _props$color === void 0 ? 'primary' : _props$color,
helperText = props.helperText,
hide = props.hide,
_props$size = props.size,
size = _props$size === void 0 ? 'normal' : _props$size,
_props$round = props.round,
round = _props$round === void 0 ? false : _props$round,
_props$fullWidth = props.fullWidth,
fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
_props$upcaseText = props.upcaseText,
upcaseText = _props$upcaseText === void 0 ? false : _props$upcaseText,
_props$simple = props.simple,
simple = _props$simple === void 0 ? false : _props$simple,
_props$justIcon = props.justIcon,
justIcon = _props$justIcon === void 0 ? false : _props$justIcon,
_props$outline = props.outline,
outline = _props$outline === void 0 ? false : _props$outline,
_props$loadingText = props.loadingText,
loadingText = _props$loadingText === void 0 ? 'Đang xử lý...' : _props$loadingText,
className = props.className,
_props$placement = props.placement,
placement = _props$placement === void 0 ? 'bottom' : _props$placement,
smooth = props.smooth,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, ["loading", "disabled", "children", "color", "helperText", "hide", "size", "round", "fullWidth", "upcaseText", "simple", "justIcon", "outline", "loadingText", "className", "placement", "smooth"]);
var customClass = (0, _classnames["default"])(className, (_classNames = {}, _classNames[classes.button] = true, _classNames[classes[size]] = size, _classNames[classes[color]] = color, _classNames[classes.round] = round, _classNames[classes.fullWidth] = fullWidth, _classNames[classes.upcaseText] = upcaseText, _classNames[classes.disabled] = disabled, _classNames[classes.simple] = simple, _classNames[classes.outline] = outline, _classNames[classes.smooth] = smooth, _classNames[classes.justIcon] = justIcon, _classNames));
if (hide) return null;
var button = /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({}, rest, {
disabled: loading || disabled,
className: customClass
}), function renderChildren() {
if (!loading) return children;
if (justIcon) {
return /*#__PURE__*/_react["default"].createElement("div", {
style: {
marginTop: -2,
color: '#fff'
},
className: "flex-center"
}, /*#__PURE__*/_react["default"].createElement(_CircularProgress["default"], {
color: "inherit",
size: 30
}));
}
return loadingText;
}());
if (helperText) return /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
TransitionComponent: _Zoom["default"],
title: helperText,
placement: placement
}, button);
return button;
};
var _default = /*#__PURE__*/(0, _react.memo)(Index);
exports["default"] = _default;