UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

33 lines (31 loc) 1.09 kB
"use client"; import { Activity, Fragment, useEffect, useState } from "react"; import { jsx } from "react/jsx-runtime"; function useVisitedScreens(focusedKey) { const [visited, setVisited] = useState(() => [focusedKey]); useEffect(() => { setVisited(prev => prev.includes(focusedKey) ? prev : [...prev, focusedKey]); }, [focusedKey]); return visited; } function renderKeptMountedScreens(screens, visited) { return /* @__PURE__ */jsx(Fragment, { children: screens.map(screen => { if (screen.isFocused) { return screen.keepMounted ? /* @__PURE__ */jsx(Activity, { mode: "visible", children: screen.element }, screen.key) : /* @__PURE__ */jsx(Fragment, { children: screen.element }, screen.key); } if (!screen.keepMounted || !visited.includes(screen.key)) return null; return /* @__PURE__ */jsx(Activity, { mode: "hidden", children: screen.element }, screen.key); }) }); } export { renderKeptMountedScreens, useVisitedScreens }; //# sourceMappingURL=keepMounted.mjs.map