UNPKG

@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
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;