UNPKG

react-facebook-next

Version:

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

84 lines (67 loc) 2.64 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _reactSpinnerChildren = require('react-spinner-children'); var _reactSpinnerChildren2 = _interopRequireDefault(_reactSpinnerChildren); var _Login = require('./Login'); var _Login2 = _interopRequireDefault(_Login); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class LoginButton extends _react.Component { render() { const _props = this.props, { children, buttonClassName, iconClassName, icon, spinner, spinnerClassName } = _props, rest = (0, _objectWithoutProperties3.default)(_props, ['children', 'buttonClassName', 'iconClassName', 'icon', 'spinner', 'spinnerClassName']); return _react2.default.createElement(_Login2.default, (0, _extends3.default)({}, rest, { render: ({ isWorking, isLoading, onClick }) => _react2.default.createElement( 'button', { type: 'button', className: buttonClassName, onClick: onClick, disabled: isWorking || isLoading }, !!icon && _react2.default.createElement('i', { className: iconClassName }), children, !!spinner && (isWorking || isLoading) && _react2.default.createElement(_reactSpinnerChildren2.default, { config: this.props.spinnerConfig, className: spinnerClassName }) ) })); } } exports.default = LoginButton; LoginButton.propTypes = (0, _extends3.default)({}, _Login2.default.propTypes, { spinnerConfig: _propTypes2.default.object.isRequired, children: _propTypes2.default.node, className: _propTypes2.default.string, buttonClassName: _propTypes2.default.string, iconClassName: _propTypes2.default.string, icon: _propTypes2.default.bool, spinnerClassName: _propTypes2.default.string, spinner: _propTypes2.default.bool }); LoginButton.defaultProps = (0, _extends3.default)({}, _Login2.default.defaultProps, { spinnerConfig: {}, buttonClassName: 'btn btn-lg', iconClassName: 'fa fa-facebook pull-left', spinner: true, icon: true }); //# sourceMappingURL=LoginButton.js.map