one
Version:
One is a React framework for web, iOS, and Android apps.
1 lines • 1.75 kB
Source Map (JSON)
{"version":3,"file":"keepMounted.js","names":[],"sources":["esm/headless/keepMounted.js"],"sourcesContent":["\"use client\";\nimport { Activity, Fragment, useEffect, useState } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction useVisitedScreens(focusedKey) {\n const [visited, setVisited] = useState(() => [focusedKey]);\n useEffect(() => {\n setVisited((prev) => prev.includes(focusedKey) ? prev : [...prev, focusedKey]);\n }, [focusedKey]);\n return visited;\n}\nfunction renderKeptMountedScreens(screens, visited) {\n return /* @__PURE__ */ jsx(Fragment, { children: screens.map((screen) => {\n if (screen.isFocused) {\n return screen.keepMounted ? /* @__PURE__ */ jsx(Activity, { mode: \"visible\", children: screen.element }, screen.key) : /* @__PURE__ */ jsx(Fragment, { children: screen.element }, screen.key);\n }\n if (!screen.keepMounted || !visited.includes(screen.key)) return null;\n return /* @__PURE__ */ jsx(Activity, { mode: \"hidden\", children: screen.element }, screen.key);\n }) });\n}\nexport {\n renderKeptMountedScreens,\n useVisitedScreens\n};\n//# sourceMappingURL=keepMounted.js.map\n"],"mappings":";;;;;;AAGA,SAAS,kBAAkB,YAAY;CACrC,MAAM,CAAC,SAAS,cAAc,eAAe,CAAC,UAAU,CAAC;CACzD,gBAAgB;EACd,YAAY,SAAS,KAAK,SAAS,UAAU,IAAI,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC;CAC/E,GAAG,CAAC,UAAU,CAAC;CACf,OAAO;AACT;AACA,SAAS,yBAAyB,SAAS,SAAS;CAClD,OAAuB,oBAAI,UAAU,EAAE,UAAU,QAAQ,KAAK,WAAW;EACvE,IAAI,OAAO,WAAW;GACpB,OAAO,OAAO,cAA8B,oBAAI,UAAU;IAAE,MAAM;IAAW,UAAU,OAAO;GAAQ,GAAG,OAAO,GAAG,IAAoB,oBAAI,UAAU,EAAE,UAAU,OAAO,QAAQ,GAAG,OAAO,GAAG;EAC/L;EACA,IAAI,CAAC,OAAO,eAAe,CAAC,QAAQ,SAAS,OAAO,GAAG,GAAG,OAAO;EACjE,OAAuB,oBAAI,UAAU;GAAE,MAAM;GAAU,UAAU,OAAO;EAAQ,GAAG,OAAO,GAAG;CAC/F,CAAC,EAAE,CAAC;AACN"}