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.

66 lines (60 loc) 1.83 kB
import * as React from "react"; import styled from "styled-components"; import Stack from "../../Stack"; import useMediaQuery from "../../hooks/useMediaQuery"; import { StyledListWrapper } from "./PricingTableItem"; import PricingTableContext from "./PricingTableContext"; const StyledPricingTable = styled.div.withConfig({ displayName: "PricingTable__StyledPricingTable", componentId: "sc-oqgvzf-0" })([""]); const PricingTable = ({ children, dataTest, activeElement, hasError, desktopRadio }) => { const { isDesktop } = useMediaQuery(); 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, { flex: true, grow: true, spaceAfter: "medium", spacing: "XSmall", align: "stretch", desktop: { spacing: "medium", spaceAfter: "none" }, justify: "center" }, /*#__PURE__*/React.createElement(PricingTableContext.Provider, { value: { basis: !isDesktop ? resolveBasis(React.Children.count(children)) : 0, hasError, desktopRadio } }, children)), !isDesktop && children && /*#__PURE__*/React.createElement(Stack, { spacing: "XSmall" }, /*#__PURE__*/React.createElement(StyledListWrapper, null, React.Children.map(children, (child, i) => { if (i === activeElement) { return /*#__PURE__*/React.createElement(PricingTableContext.Provider, { value: { isContent: true } }, child); } return null; }))))); }; export default PricingTable; export { default as PricingTableItem } from "./PricingTableItem";