@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
51 lines (43 loc) • 1.45 kB
JavaScript
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
import * as React from "react";
import styled from "styled-components";
import defaultTheme from "../defaultTheme";
import { baseURL } from "./consts";
const baseSize = 52;
const getURL = name => (size = 1) => {
const url = `${baseURL}/feature-icons/${baseSize * size}x${baseSize * size}/${name}.png`;
if (size > 1) {
return `${url} ${size}x`;
}
return url;
};
const generateURL = name => {
const urlWithName = getURL(name);
return {
src: urlWithName(),
srcSet: [urlWithName(2), urlWithName(3)].join(",")
};
};
export const StyledFeatureIcon = styled(({
className,
name,
dataTest
}) => React.createElement("img", _extends({
className: className,
alt: name,
"data-test": dataTest
}, generateURL(name)))).withConfig({
displayName: "FeatureIcon__StyledFeatureIcon",
componentId: "sc-1jtew1g-0"
})(["height:", "px;width:auto;background-color:transparent;"], baseSize);
StyledFeatureIcon.defaultProps = {
theme: defaultTheme
};
const FeatureIcon = ({
name,
dataTest
}) => React.createElement(StyledFeatureIcon, {
name: name,
dataTest: dataTest
});
export default FeatureIcon;