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.

75 lines (56 loc) 2.43 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, "TimelineStep", { enumerable: true, get: function get() { return _TimelineStep.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 _TimelineContext = require("./TimelineContext"); var _getSpacingToken = _interopRequireDefault(require("../common/getSpacingToken")); var _defaultTheme = _interopRequireDefault(require("../defaultTheme")); var _TimelineStep = _interopRequireDefault(require("./TimelineStep")); var WrapperStyled = _styledComponents.default.div.withConfig({ displayName: "Timeline__WrapperStyled", componentId: "etnkq0-0" })(["position:relative;overflow:hidden;margin-bottom:", ";"], _getSpacingToken.default); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198 WrapperStyled.defaultProps = { theme: _defaultTheme.default }; var Timeline = function Timeline(_ref) { var children = _ref.children, spaceAfter = _ref.spaceAfter, dataTest = _ref.dataTest; var childrenArr = React.Children.toArray(children); var _useMediaQuery = (0, _useMediaQuery2.default)(), isDesktop = _useMediaQuery.isDesktop; return childrenArr && childrenArr.length > 0 ? /*#__PURE__*/React.createElement(WrapperStyled, { spaceAfter: spaceAfter, "data-test": dataTest }, /*#__PURE__*/React.createElement(_Stack.default, { flex: true, shrink: true, direction: isDesktop ? "row" : "column" }, /*#__PURE__*/React.createElement(_TimelineContext.TimelineStatusProvider, null, React.Children.map(childrenArr, function (child, i) { if ( /*#__PURE__*/React.isValidElement(child)) { return /*#__PURE__*/React.createElement(_TimelineContext.TimelineStepContext.Provider, { value: { index: i, last: i + 1 === childrenArr.length } }, child); } return null; })))) : null; }; var _default = Timeline; exports.default = _default;