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.

88 lines (71 loc) 2.69 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "PricingTableItem", { enumerable: true, get: function get() { return _PricingTableItem.default; } }); exports.default = void 0; var React = _interopRequireWildcard(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _Stack = _interopRequireDefault(require("../Stack")); var _useMediaQuery2 = _interopRequireDefault(require("../hooks/useMediaQuery")); var _PricingTableItem = _interopRequireWildcard(require("./PricingTableItem")); var _PricingTableContext = _interopRequireDefault(require("./PricingTableContext")); var StyledPricingTable = _styledComponents.default.div.withConfig({ displayName: "PricingTable__StyledPricingTable", componentId: "sc-w7x21s-0" })([""]); var PricingTable = function PricingTable(_ref) { var children = _ref.children, dataTest = _ref.dataTest, activeElement = _ref.activeElement, hasError = _ref.hasError, desktopRadio = _ref.desktopRadio; var _useMediaQuery = (0, _useMediaQuery2.default)(), isDesktop = _useMediaQuery.isDesktop; var resolveBasis = function resolveBasis(item) { if (item > 0) { return "".concat(Math.floor(100 / item), "%"); } return "100%"; }; return /*#__PURE__*/React.createElement(React.Fragment, null, isDesktop !== null && /*#__PURE__*/React.createElement(StyledPricingTable, { "data-test": dataTest }, /*#__PURE__*/React.createElement(_Stack.default, { flex: true, grow: true, spaceAfter: "medium", spacing: "XSmall", align: "stretch", desktop: { spacing: "medium", spaceAfter: "none" }, justify: "center" }, /*#__PURE__*/React.createElement(_PricingTableContext.default.Provider, { value: { basis: !isDesktop ? resolveBasis(React.Children.count(children)) : 0, hasError: hasError, desktopRadio: desktopRadio } }, children)), !isDesktop && children && /*#__PURE__*/React.createElement(_Stack.default, { spacing: "XSmall" }, /*#__PURE__*/React.createElement(_PricingTableItem.StyledListWrapper, null, React.Children.map(children, function (child, i) { if (i === activeElement) { return /*#__PURE__*/React.createElement(_PricingTableContext.default.Provider, { value: { isContent: true } }, child); } return null; }))))); }; var _default = PricingTable; exports.default = _default;