UNPKG

one

Version:

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

39 lines (37 loc) 1.35 kB
"use client"; import { use, useMemo } from "react"; import { appendBaseUrl } from "../fork/getPathFromState-mods.native.js"; import { stripGroupSegmentsFromPath } from "../router/matchers.native.js"; import { TabTriggerMapContext } from "../ui/TabContext.native.js"; import { useNavigatorContext } from "../views/Navigator.native.js"; function useTabs() { var { state, descriptorsRef } = useNavigatorContext(); var triggerMap = use(TabTriggerMapContext); var descriptors = descriptorsRef.current; return useMemo(function () { var screens = state.routes.map(function (route, index) { var _route_params; var descriptor = descriptors[route.key]; var config = triggerMap[route.name]; return { key: route.key, name: route.name, params: (_route_params = route.params) !== null && _route_params !== void 0 ? _route_params : {}, href: config ? stripGroupSegmentsFromPath(appendBaseUrl(config.href)) : "", isFocused: index === state.index, keepMounted: descriptor.options.keepMounted === true, options: descriptor.options, element: descriptor.render() }; }); return { screens, focused: screens[state.index] }; }, [descriptors, state, triggerMap]); } export { useTabs }; //# sourceMappingURL=useTabs.native.js.map