UNPKG

2.5 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
11
12var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutProperties"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
17
18var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
19
20var _styles = require("@material-ui/core/styles");
21
22var _propTypes = _interopRequireDefault(require("prop-types"));
23
24/* eslint-disable import/no-extraneous-dependencies */
25var styles = {
26 progressButtonWrapper: {
27 position: 'relative',
28 display: 'inline-block'
29 },
30 progressButton: {
31 position: 'absolute',
32 top: '50%',
33 left: '50%',
34 marginTop: -14,
35 marginLeft: -14
36 }
37};
38
39var ProgressButtonJSX = function ProgressButtonJSX(_ref) {
40 var css = _ref.classes,
41 isLoading = _ref.isLoading,
42 _ref$isOnline = _ref.isOnline,
43 isOnline = _ref$isOnline === void 0 ? true : _ref$isOnline,
44 children = _ref.children,
45 rest = (0, _objectWithoutProperties2.default)(_ref, ["classes", "isLoading", "isOnline", "children"]);
46 return _react.default.createElement("span", {
47 className: css.progressButtonWrapper,
48 style: {
49 verticalAlign: 'bottom'
50 }
51 }, _react.default.createElement(_Button.default, (0, _extends2.default)({
52 disabled: isLoading || !isOnline,
53 variant: "raised",
54 color: "primary",
55 type: "submit"
56 }, rest), children), isLoading && _react.default.createElement(_CircularProgress.default, {
57 className: css.progressButton,
58 size: 28,
59 thickness: 4
60 }));
61};
62
63ProgressButtonJSX.propTypes = {
64 classes: _propTypes.default.object.isRequired,
65 children: function children(props, propName, componentName) {
66 if (!Object.prototype.hasOwnProperty.call(props, propName)) {
67 throw new Error("Prop `".concat(propName, "` has type 'any' or 'mixed', but was not provided to `").concat(componentName, "`. Pass undefined or any other value."));
68 }
69 },
70 isLoading: _propTypes.default.bool,
71 isOnline: _propTypes.default.bool
72};
73var ProgressButton = (0, _styles.withStyles)(styles)(ProgressButtonJSX);
74var _default = ProgressButton;
75exports.default = _default;
\No newline at end of file