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.

89 lines (73 loc) 2.48 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "PricingTableItem", { enumerable: true, get: function () { return _PricingTableItem.default; } }); exports.default = void 0; var React = _interopRequireWildcard(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _Stack = _interopRequireDefault(require("../Stack")); var _useMediaQuery = _interopRequireDefault(require("../hooks/useMediaQuery")); var _PricingTableItem = _interopRequireWildcard(require("./PricingTableItem")); var _PricingTableContext = _interopRequireDefault(require("./PricingTableContext")); const StyledPricingTable = _styledComponents.default.div.withConfig({ displayName: "PricingTable__StyledPricingTable", componentId: "sc-w7x21s-0" })([""]); const PricingTable = ({ children, dataTest, activeElement, hasError, desktopRadio }) => { const { isDesktop } = (0, _useMediaQuery.default)(); const resolveBasis = item => { if (item > 0) { return `${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, desktopRadio } }, children)), !isDesktop && children && /*#__PURE__*/React.createElement(_Stack.default, { spacing: "XSmall" }, /*#__PURE__*/React.createElement(_PricingTableItem.StyledListWrapper, null, React.Children.map(children, (child, i) => { if (i === activeElement) { return /*#__PURE__*/React.createElement(_PricingTableContext.default.Provider, { value: { isContent: true } }, child); } return null; }))))); }; var _default = PricingTable; exports.default = _default;