@hackoregon/component-library
Version:
Official repo for Hack Oregon React component library
71 lines (58 loc) • 2.63 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactRouter = require("react-router");
var _emotion = require("emotion");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _templateObject() {
var data = _taggedTemplateLiteral(["\n & a {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n border-bottom: none;\n color: #000;\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n color: #000;\n }\n\n & i {\n margin-right: 12px;\n opacity: 0.8;\n }\n }\n\n & span {\n flex-wrap: nowrap;\n }\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var storyLinkClass = (0, _emotion.css)(_templateObject());
var StoryLink = function StoryLink(_ref) {
var children = _ref.children,
icon = _ref.icon,
route = _ref.route,
action = _ref.action,
link = _ref.link,
embed = _ref.embed;
return _react["default"].createElement("div", {
className: storyLinkClass
}, route ? _react["default"].createElement(_reactRouter.Link, {
to: route
}, _react["default"].createElement("i", {
className: icon
}), _react["default"].createElement("span", null, children)) : embed ? _react["default"].createElement("a", {
href: link,
target: "_blank"
}, _react["default"].createElement("i", {
className: icon
}), _react["default"].createElement("span", null, children)) : link ? _react["default"].createElement("a", {
href: link
}, _react["default"].createElement("i", {
className: icon
}), _react["default"].createElement("span", null, children)) : _react["default"].createElement("a", {
tabIndex: "0",
onClick: action
}, _react["default"].createElement("i", {
className: icon
}), _react["default"].createElement("span", null, children)));
};
StoryLink.displayName = "StoryLink";
StoryLink.propTypes = {
action: _propTypes["default"].func,
children: _propTypes["default"].node,
icon: _propTypes["default"].string,
route: _propTypes["default"].string,
link: _propTypes["default"].string
};
var _default = StoryLink;
exports["default"] = _default;