@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.
70 lines (62 loc) • 2.64 kB
JavaScript
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import * as React from "react";
import styled from "styled-components";
import defaultTheme from "../defaultTheme";
import { SIZES, TYPES } from "./consts";
import getSpacingToken from "../common/getSpacingToken";
import { getLineHeightToken } from "./ListItem";
import ListContext from "./ListContext";
var getSizeToken = function getSizeToken(_ref) {
var _sizeTokens;
var theme = _ref.theme,
size = _ref.size;
var sizeTokens = (_sizeTokens = {}, _defineProperty(_sizeTokens, SIZES.SMALL, theme.orbit.fontSizeTextSmall), _defineProperty(_sizeTokens, SIZES.NORMAL, theme.orbit.fontSizeTextNormal), _defineProperty(_sizeTokens, SIZES.LARGE, theme.orbit.fontSizeTextLarge), _sizeTokens);
return sizeTokens[size];
};
var getTypeToken = function getTypeToken(_ref2) {
var _typeTokens;
var theme = _ref2.theme,
type = _ref2.type;
var typeTokens = (_typeTokens = {}, _defineProperty(_typeTokens, TYPES.PRIMARY, theme.orbit.colorTextPrimary), _defineProperty(_typeTokens, TYPES.SECONDARY, theme.orbit.colorTextSecondary), _typeTokens);
return typeTokens[type];
};
var StyledList = styled(function (_ref3) {
var className = _ref3.className,
children = _ref3.children,
dataTest = _ref3.dataTest;
return /*#__PURE__*/React.createElement("ul", {
className: className,
"data-test": dataTest
}, children);
}).withConfig({
displayName: "List__StyledList",
componentId: "iwilat-0"
})(["display:flex;width:100%;flex-direction:column;font-family:", ";font-size:", ";line-height:", ";color:", ";list-style:none;padding:0;margin:0;margin-bottom:", ";"], function (_ref4) {
var theme = _ref4.theme;
return theme.orbit.fontfamily;
}, getSizeToken, getLineHeightToken, getTypeToken, getSpacingToken); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledList.defaultProps = {
theme: defaultTheme
};
var List = function List(_ref5) {
var children = _ref5.children,
_ref5$size = _ref5.size,
size = _ref5$size === void 0 ? SIZES.NORMAL : _ref5$size,
_ref5$type = _ref5.type,
type = _ref5$type === void 0 ? TYPES.PRIMARY : _ref5$type,
dataTest = _ref5.dataTest,
spaceAfter = _ref5.spaceAfter;
return /*#__PURE__*/React.createElement(StyledList, {
type: type,
size: size,
dataTest: dataTest,
spaceAfter: spaceAfter
}, /*#__PURE__*/React.createElement(ListContext.Provider, {
value: {
size: size,
type: type
}
}, children));
};
export default List;
export { default as ListItem } from "./ListItem";