UNPKG

2.28 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4
5var _extends2 = require('babel-runtime/helpers/extends');
6
7var _extends3 = _interopRequireDefault(_extends2);
8
9var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
10
11var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
12
13var _react = require('react');
14
15var _react2 = _interopRequireDefault(_react);
16
17var _classnames = require('classnames');
18
19var _classnames2 = _interopRequireDefault(_classnames);
20
21var _background = require('./background');
22
23var _background2 = _interopRequireDefault(_background);
24
25var _icon = require('./icon');
26
27var _icon2 = _interopRequireDefault(_icon);
28
29var _mask = require('./mask');
30
31var _mask2 = _interopRequireDefault(_mask);
32
33var _networks = require('./networks');
34
35var _styles = require('./styles');
36
37function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38
39function getNetworkKey(props) {
40 return props.network || (0, _networks.keyFor)(props.url);
41}
42
43function SocialIcon(props) {
44 var url = props.url;
45 var network = props.network;
46 var color = props.color;
47 var className = props.className;
48 var label = props.label;
49 var rest = (0, _objectWithoutProperties3.default)(props, ['url', 'network', 'color', 'className', 'label']);
50
51 var networkKey = getNetworkKey({ url: url, network: network });
52
53 return _react2.default.createElement(
54 'a',
55 (0, _extends3.default)({}, rest, {
56 href: url,
57 target: '_blank',
58 rel: 'noopener',
59 className: (0, _classnames2.default)('social-icon', className),
60 style: (0, _extends3.default)({}, _styles.socialIcon, props.style),
61 'aria-label': label || networkKey }),
62 _react2.default.createElement(
63 'div',
64 { className: 'social-container', style: _styles.socialContainer },
65 _react2.default.createElement(
66 'svg',
67 { className: 'social-svg', style: _styles.socialSvg, viewBox: '0 0 64 64' },
68 _react2.default.createElement(_background2.default, null),
69 _react2.default.createElement(_icon2.default, { networkKey: networkKey }),
70 _react2.default.createElement(_mask2.default, { networkKey: networkKey, color: color })
71 )
72 )
73 );
74}
75
76exports.default = SocialIcon;
\No newline at end of file