@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
28 lines (27 loc) • 764 B
JavaScript
import { createContext, useMemo, useReducer } from "react";
import { jsx } from "react/jsx-runtime";
//#region src/Header/Navigation/utils/FocusContext.tsx
var reducer = (state, action) => {
switch (action.type) {
case "setItemFocused": return { itemFocused: action.itemFocused };
default: return state;
}
};
var initialState = {
itemFocused: void 0,
dispatch: void 0
};
var FocusContext = createContext(initialState);
var FocusProvider = ({ children }) => {
const [state, dispatch] = useReducer(reducer, initialState);
const contextValue = useMemo(() => ({
...state,
dispatch
}), [state, dispatch]);
return /* @__PURE__ */ jsx(FocusContext.Provider, {
value: contextValue,
children
});
};
//#endregion
export { FocusContext, FocusProvider };