@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
JavaScript
"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;