UNPKG

@hitachivantara/uikit-react-core

Version:
28 lines (27 loc) 764 B
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 };