backpack-ui
Version:
Lonely Planet's Components
92 lines (67 loc) • 1.91 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _radium = require("radium");
var _radium2 = _interopRequireDefault(_radium);
var _upperFirst = require("lodash/upperFirst");
var _upperFirst2 = _interopRequireDefault(_upperFirst);
var _styles = require("./styles");
var _styles2 = _interopRequireDefault(_styles);
var _icon = require("../icon");
var _icon2 = _interopRequireDefault(_icon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _ = { upperFirst: _upperFirst2.default };
function ShareMenuItem(_ref) {
var network = _ref.network;
var href = _ref.href;
var label = _ref.label;
var onClick = _ref.onClick;
var NetworkIcon = _react2.default.createElement(_icon2.default[_.upperFirst(network)], {
height: "16px",
width: "16px"
});
return _react2.default.createElement(
"a",
{
className: "ShareMenu-item",
style: _styles2.default.item.base,
"data-network": network,
onClick: onClick,
href: href
},
NetworkIcon,
_react2.default.createElement(
"span",
{ style: _styles2.default.item.label },
label
)
);
}
ShareMenuItem.propTypes = {
/**
* Slugified name of the sharable network
*/
network: _react2.default.PropTypes.oneOf(["twitter", "facebook", "email"]).isRequired,
/**
* URL of network's share method
*/
href: _react2.default.PropTypes.string.isRequired,
/**
* Text label to show next to icon
*/
label: _react2.default.PropTypes.string.isRequired,
/**
* Function to run when button is clicked
*/
onClick: _react2.default.PropTypes.func
};
ShareMenuItem.defaultProps = {
network: "",
href: "",
label: "",
onClick: null
};
exports.default = (0, _radium2.default)(ShareMenuItem);