UNPKG

backpack-ui

Version:
134 lines (97 loc) 3.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require("babel-runtime/helpers/extends"); var _extends3 = _interopRequireDefault(_extends2); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); var _radium = require("radium"); var _radium2 = _interopRequireDefault(_radium); var _colors = require("../../styles/colors"); var _colors2 = _interopRequireDefault(_colors); var _timing = require("../../styles/timing"); var _timing2 = _interopRequireDefault(_timing); var _typography = require("../../styles/typography"); var _color = require("../../utils/color"); var _icon = require("../../utils/icon"); var _icon2 = _interopRequireDefault(_icon); var _mixins = require("../../utils/mixins"); var _propTypes3 = require("../../utils/propTypes"); var _propTypes4 = _interopRequireDefault(_propTypes3); var _typography2 = require("../../utils/typography"); var _createQAHook = require("../../utils/createQAHook"); var _createQAHook2 = _interopRequireDefault(_createQAHook); var _validReactAttributes = require("../../utils/validReactAttributes"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var hoverStyles = { backgroundColor: (0, _color.rgba)(_colors2.default.borderPrimary, 0.15) }; var styles = { button: (0, _extends3.default)({}, { backgroundColor: _colors2.default.bgPrimary, border: "1px solid " + _colors2.default.borderPrimary, borderRadius: "44px", color: _colors2.default.textPrimary, cursor: "pointer", display: "block", height: "44px", maxWidth: "296px", overflow: "hidden", paddingLeft: "27px", paddingRight: "27px", paddingTop: "2px", textAlign: "left", transition: "background-color " + _timing2.default.fast + " ease-in-out", whiteSpace: "nowrap", width: "100%", ":hover": hoverStyles, ":active": hoverStyles, ":focus": (0, _extends3.default)({}, hoverStyles, (0, _mixins.outline)()) }, (0, _typography2.textHeading7)(), { lineHeight: 1 }), icon: { fontSize: _typography.fontSizeHeading7 + "px", marginRight: "20px", marginTop: "-1px", verticalAlign: "top" } }; var SocialLoginButton = function SocialLoginButton(props) { var onClick = props.onClick, iconName = props.iconName, iconProps = props.iconProps, children = props.children, style = props.style, qaHook = props.qaHook; var iconSettings = { style: styles.icon }; var iconParameters = (0, _extends3.default)({}, iconSettings, iconProps); var sanitizedProps = (0, _validReactAttributes.validReactAttributes)(props); return _react2.default.createElement( "button", (0, _extends3.default)({}, sanitizedProps, { style: [styles.button, style], onClick: onClick, "data-testid": qaHook ? (0, _createQAHook2.default)(iconName, "social-login", "btn") : null }), (0, _icon2.default)(iconName, iconParameters), children ); }; SocialLoginButton.propTypes = { children: _propTypes2.default.string.isRequired, iconName: _propTypes2.default.oneOf(["FacebookBlockColor", "GoogleColor", "TwitterColor"]).isRequired, onClick: _propTypes2.default.func, iconProps: _propTypes2.default.objectOf(_propTypes2.default.object), style: _propTypes4.default.style, qaHook: _propTypes2.default.bool }; SocialLoginButton.defaultProps = { qaHook: false }; exports.default = (0, _radium2.default)(SocialLoginButton);