@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.
60 lines (52 loc) • 1.77 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import * as React from "react";
import styled from "styled-components";
import defaultTheme from "../defaultTheme";
import { baseURL } from "./consts";
var baseSize = 52;
var getURL = function getURL(name) {
return function () {
var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
var url = "".concat(baseURL, "/feature-icons/").concat(baseSize * size, "x").concat(baseSize * size, "/").concat(name, ".png");
if (size > 1) {
return "".concat(url, " ").concat(size, "x");
}
return url;
};
};
var generateURL = function generateURL(name) {
var urlWithName = getURL(name);
return {
src: urlWithName(),
srcSet: [urlWithName(2), urlWithName(3)].join(",")
};
};
export var StyledFeatureIcon = styled(function (_ref) {
var className = _ref.className,
name = _ref.name,
alt = _ref.alt,
dataTest = _ref.dataTest;
return /*#__PURE__*/React.createElement("img", _extends({
className: className,
alt: alt,
"data-test": dataTest
}, generateURL(name)));
}).withConfig({
displayName: "FeatureIcon__StyledFeatureIcon",
componentId: "sc-1eir8gw-0"
})(["height:", "px;width:auto;background-color:transparent;"], baseSize); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledFeatureIcon.defaultProps = {
theme: defaultTheme
};
var FeatureIcon = function FeatureIcon(_ref2) {
var _ref2$alt = _ref2.alt,
alt = _ref2$alt === void 0 ? "" : _ref2$alt,
name = _ref2.name,
dataTest = _ref2.dataTest;
return /*#__PURE__*/React.createElement(StyledFeatureIcon, {
alt: alt,
name: name,
dataTest: dataTest
});
};
export default FeatureIcon;