sharyn
Version:
Combines all the other packages under one.
75 lines (63 loc) • 2.5 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
var _styles = require("@material-ui/core/styles");
var _propTypes = _interopRequireDefault(require("prop-types"));
/* eslint-disable import/no-extraneous-dependencies */
var styles = {
progressButtonWrapper: {
position: 'relative',
display: 'inline-block'
},
progressButton: {
position: 'absolute',
top: '50%',
left: '50%',
marginTop: -14,
marginLeft: -14
}
};
var ProgressButtonJSX = function ProgressButtonJSX(_ref) {
var css = _ref.classes,
isLoading = _ref.isLoading,
_ref$isOnline = _ref.isOnline,
isOnline = _ref$isOnline === void 0 ? true : _ref$isOnline,
children = _ref.children,
rest = (0, _objectWithoutProperties2.default)(_ref, ["classes", "isLoading", "isOnline", "children"]);
return _react.default.createElement("span", {
className: css.progressButtonWrapper,
style: {
verticalAlign: 'bottom'
}
}, _react.default.createElement(_Button.default, (0, _extends2.default)({
disabled: isLoading || !isOnline,
variant: "raised",
color: "primary",
type: "submit"
}, rest), children), isLoading && _react.default.createElement(_CircularProgress.default, {
className: css.progressButton,
size: 28,
thickness: 4
}));
};
ProgressButtonJSX.propTypes = {
classes: _propTypes.default.object.isRequired,
children: function children(props, propName, componentName) {
if (!Object.prototype.hasOwnProperty.call(props, propName)) {
throw new Error("Prop `".concat(propName, "` has type 'any' or 'mixed', but was not provided to `").concat(componentName, "`. Pass undefined or any other value."));
}
},
isLoading: _propTypes.default.bool,
isOnline: _propTypes.default.bool
};
var ProgressButton = (0, _styles.withStyles)(styles)(ProgressButtonJSX);
var _default = ProgressButton;
exports.default = _default;