UNPKG

react-facebook-next

Version:

Facebook components like a Login button, Like, Share, Comments or Embedded Post

77 lines (68 loc) 2.65 kB
import _extends from 'babel-runtime/helpers/extends'; import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties'; import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn'; import _inherits from 'babel-runtime/helpers/inherits'; var _class, _temp; import React, { Component } from 'react'; import PropTypes from 'prop-types'; import Spinner from 'react-spinner-children'; import Login from './Login'; var LoginButton = (_temp = _class = function (_Component) { _inherits(LoginButton, _Component); function LoginButton() { _classCallCheck(this, LoginButton); return _possibleConstructorReturn(this, _Component.apply(this, arguments)); } LoginButton.prototype.render = function render() { var _this2 = this; var _props = this.props, children = _props.children, buttonClassName = _props.buttonClassName, iconClassName = _props.iconClassName, icon = _props.icon, spinner = _props.spinner, spinnerClassName = _props.spinnerClassName, rest = _objectWithoutProperties(_props, ['children', 'buttonClassName', 'iconClassName', 'icon', 'spinner', 'spinnerClassName']); return React.createElement(Login, _extends({}, rest, { render: function render(_ref) { var isWorking = _ref.isWorking, isLoading = _ref.isLoading, onClick = _ref.onClick; return React.createElement( 'button', { type: 'button', className: buttonClassName, onClick: onClick, disabled: isWorking || isLoading }, !!icon && React.createElement('i', { className: iconClassName }), children, !!spinner && (isWorking || isLoading) && React.createElement(Spinner, { config: _this2.props.spinnerConfig, className: spinnerClassName }) ); } })); }; return LoginButton; }(Component), _class.propTypes = _extends({}, Login.propTypes, { spinnerConfig: PropTypes.object.isRequired, children: PropTypes.node, className: PropTypes.string, buttonClassName: PropTypes.string, iconClassName: PropTypes.string, icon: PropTypes.bool, spinnerClassName: PropTypes.string, spinner: PropTypes.bool }), _class.defaultProps = _extends({}, Login.defaultProps, { spinnerConfig: {}, buttonClassName: 'btn btn-lg', iconClassName: 'fa fa-facebook pull-left', spinner: true, icon: true }), _temp); export { LoginButton as default }; //# sourceMappingURL=LoginButton.js.map