UNPKG

@hackoregon/component-library

Version:

Official repo for Hack Oregon React component library

57 lines (51 loc) 2.07 kB
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) } })); } import React from "react"; import PropTypes from "prop-types"; import { Link } from "react-router"; import { css } from "emotion"; var storyLinkClass = 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.createElement("div", { className: storyLinkClass }, route ? React.createElement(Link, { to: route }, React.createElement("i", { className: icon }), React.createElement("span", null, children)) : embed ? React.createElement("a", { href: link, target: "_blank" }, React.createElement("i", { className: icon }), React.createElement("span", null, children)) : link ? React.createElement("a", { href: link }, React.createElement("i", { className: icon }), React.createElement("span", null, children)) : React.createElement("a", { tabIndex: "0", onClick: action }, React.createElement("i", { className: icon }), React.createElement("span", null, children))); }; StoryLink.displayName = "StoryLink"; StoryLink.propTypes = { action: PropTypes.func, children: PropTypes.node, icon: PropTypes.string, route: PropTypes.string, link: PropTypes.string }; export default StoryLink;