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.

70 lines (62 loc) 2.64 kB
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";