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.

94 lines (75 loc) 3.4 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ListItem", { enumerable: true, get: function get() { return _ListItem.default; } }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var React = _interopRequireWildcard(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _defaultTheme = _interopRequireDefault(require("../defaultTheme")); var _consts = require("./consts"); var _getSpacingToken = _interopRequireDefault(require("../common/getSpacingToken")); var _ListItem = _interopRequireWildcard(require("./ListItem")); var _ListContext = _interopRequireDefault(require("./ListContext")); var getSizeToken = function getSizeToken(_ref) { var _sizeTokens; var theme = _ref.theme, size = _ref.size; var sizeTokens = (_sizeTokens = {}, (0, _defineProperty2.default)(_sizeTokens, _consts.SIZES.SMALL, theme.orbit.fontSizeTextSmall), (0, _defineProperty2.default)(_sizeTokens, _consts.SIZES.NORMAL, theme.orbit.fontSizeTextNormal), (0, _defineProperty2.default)(_sizeTokens, _consts.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 = {}, (0, _defineProperty2.default)(_typeTokens, _consts.TYPES.PRIMARY, theme.orbit.colorTextPrimary), (0, _defineProperty2.default)(_typeTokens, _consts.TYPES.SECONDARY, theme.orbit.colorTextSecondary), _typeTokens); return typeTokens[type]; }; var StyledList = (0, _styledComponents.default)(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, _ListItem.getLineHeightToken, getTypeToken, _getSpacingToken.default); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198 StyledList.defaultProps = { theme: _defaultTheme.default }; var List = function List(_ref5) { var children = _ref5.children, _ref5$size = _ref5.size, size = _ref5$size === void 0 ? _consts.SIZES.NORMAL : _ref5$size, _ref5$type = _ref5.type, type = _ref5$type === void 0 ? _consts.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.default.Provider, { value: { size: size, type: type } }, children)); }; var _default = List; exports.default = _default;