@dnanpm/styleguide
Version:
DNA Styleguide repository provides the set of components and theme object used in various DNA projects.
75 lines (66 loc) • 2.86 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var styledComponents = require('styled-components');
var theme = require('../../../themes/theme.js');
var navigation = require('../../../themes/themeComponents/navigation.js');
var styledUtils = require('../../../utils/styledUtils.js');
var Icon = require('../../Icon/Icon.js');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
const RibbonContainer = styledComponents.styled.div `
display: none;
${styledUtils.media.md `
background: ${theme.default.color.background.sand.E01};
display: block;
`};
`;
const RibbonItems = styledComponents.styled.div `
max-width: 1290px;
height: ${navigation.ribbonHeight};
padding: 0 ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2)};
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
`;
const RibbonColumn = styledComponents.styled.div `
flex: 1 1 auto;
display: flex;
justify-content: center;
align-items: center;
color: ${theme.default.color.text.gray};
font-size: ${theme.default.fontSize.xs};
border-right: 2px solid ${theme.default.color.line.L03};
&:last-of-type {
border: none;
}
span.dnasg-icon {
margin-right: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5)};
}
a {
display: flex;
align-items: center;
color: ${theme.default.color.text.gray};
&:hover,
&:focus,
&:active {
text-decoration: none;
color: ${theme.default.color.text.pink};
border: none;
outline: none;
}
&:focus {
text-decoration: underline;
}
}
`;
const Ribbon = ({ ribbonData, lang = 'fi' }) => (React__default.default.createElement(RibbonContainer, null,
React__default.default.createElement(RibbonItems, null, ribbonData.map(ribbon => (React__default.default.createElement(RibbonColumn, { key: `ribbon-${ribbon.ribbonIcon}` },
ribbon.ribbonLink[lang] && (React__default.default.createElement("a", { href: ribbon.ribbonLink[lang] },
React__default.default.createElement(Icon.default, { name: ribbon.ribbonIcon, size: "1rem" }),
React__default.default.createElement("span", null, ribbon.ribbonTexts[lang]))),
!ribbon.ribbonLink[lang] && (React__default.default.createElement(React__default.default.Fragment, null,
React__default.default.createElement(Icon.default, { name: ribbon.ribbonIcon, size: "1rem" }),
React__default.default.createElement("span", null, ribbon.ribbonTexts[lang])))))))));
exports.default = Ribbon;