@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.
39 lines • 1.06 kB
JavaScript
import * as React from "react";
export const TimelineStatusContext = /*#__PURE__*/React.createContext({
types: {},
isColumnOnDesktop: false,
setTypes: () => {}
});
export const TimelineStepContext = /*#__PURE__*/React.createContext({
index: 0,
last: false
});
export 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);
};
export const TimelineStepProvider = ({
children,
index,
last
}) => {
const value = React.useMemo(() => ({
index,
last
}), [index, last]);
return /*#__PURE__*/React.createElement(TimelineStepContext.Provider, {
value: value
}, children);
};
export const useStep = () => React.useContext(TimelineStepContext);
export const useStatuses = () => React.useContext(TimelineStatusContext);