react-polymorph
Version:
React components with highly customizable logic, markup and styles.
46 lines (33 loc) • 1.83 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ButtonSpinnerSkin = void 0;
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _LoadingSpinner = require("../../components/LoadingSpinner");
var _LoadingSpinnerSkin = require("./LoadingSpinnerSkin");
var _props = require("../../utils/props");
var _components = require("../../components");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var ButtonSpinnerSkin = function ButtonSpinnerSkin(props) {
var className = props.className,
disabled = props.disabled,
label = props.label,
loading = props.loading,
themeId = props.themeId;
var buttonTheme = props.theme[themeId];
var spinnerTheme = props.theme[_components.IDENTIFIERS.LOADING_SPINNER];
var renderLoadingSpinner = function renderLoadingSpinner() {
return /*#__PURE__*/_react["default"].createElement(_LoadingSpinner.LoadingSpinner, {
skin: _LoadingSpinnerSkin.LoadingSpinnerSkin,
theme: spinnerTheme
});
};
return /*#__PURE__*/_react["default"].createElement("button", _extends({}, (0, _props.pickDOMProps)(props), {
className: (0, _classnames["default"])([className, buttonTheme.root, disabled ? buttonTheme.disabled : null])
}), loading ? renderLoadingSpinner() : label);
};
exports.ButtonSpinnerSkin = ButtonSpinnerSkin;
//# sourceMappingURL=ButtonSpinnerSkin.js.map
;