@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.
50 lines (49 loc) • 1.63 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
exports.__esModule = true;
exports.useStep = exports.useStatuses = exports.TimelineStepProvider = exports.TimelineStepContext = exports.TimelineStatusProvider = exports.TimelineStatusContext = void 0;
var React = _interopRequireWildcard(require("react"));
const TimelineStatusContext = /*#__PURE__*/React.createContext({
types: {},
isColumnOnDesktop: false,
setTypes: () => {}
});
exports.TimelineStatusContext = TimelineStatusContext;
const TimelineStepContext = /*#__PURE__*/React.createContext({
index: 0,
last: false
});
exports.TimelineStepContext = TimelineStepContext;
const TimelineStatusProvider = ({
children,
direction
}) => {
const [types, setTypes] = React.useState({});
const value = React.useMemo(() => ({
types,
setTypes,
isColumnOnDesktop: direction === "column"
}), [types, setTypes, direction]);
return /*#__PURE__*/React.createElement(TimelineStatusContext.Provider, {
value: value
}, children);
};
exports.TimelineStatusProvider = TimelineStatusProvider;
const TimelineStepProvider = ({
children,
index,
last
}) => {
const value = React.useMemo(() => ({
index,
last
}), [index, last]);
return /*#__PURE__*/React.createElement(TimelineStepContext.Provider, {
value: value
}, children);
};
exports.TimelineStepProvider = TimelineStepProvider;
const useStep = () => React.useContext(TimelineStepContext);
exports.useStep = useStep;
const useStatuses = () => React.useContext(TimelineStatusContext);
exports.useStatuses = useStatuses;