one
Version:
One is a React framework for web, iOS, and Android apps.
1 lines • 5 kB
Source Map (JSON)
{"version":3,"file":"Tabs.js","names":[],"sources":["esm/layouts/Tabs.js"],"sourcesContent":["\"use client\";\nimport { useNavigationBuilder } from \"@react-navigation/core\";\nimport {\n TabRouter\n} from \"@react-navigation/routers\";\nimport { Children, Fragment, forwardRef, useMemo, useRef } from \"react\";\nimport { getPathFromState } from \"../fork/getPathFromState\";\nimport { getCustomNavigatorChildren, isNavigatorConfigChild } from \"../headless/children\";\nimport { renderKeptMountedScreens, useVisitedScreens } from \"../headless/keepMounted\";\nimport { useTabs } from \"../headless/useTabs\";\nimport { getResolvedLinking } from \"../router/linkingConfig\";\nimport { TabTriggerMapContext } from \"../ui/TabContext\";\nimport { NavigatorContext } from \"../views/Navigator\";\nimport { Protected } from \"../views/Protected\";\nimport { Screen } from \"../views/Screen\";\nimport { withLayoutContext } from \"./withLayoutContext\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction WebTabsNavigator({\n children,\n headlessChildren,\n initialRouteName,\n screenOptions,\n id,\n ...rest\n}) {\n const { state, navigation, descriptors, render } = useNavigationBuilder(TabRouter, {\n ...rest,\n children,\n initialRouteName,\n screenOptions\n });\n const descriptorsRef = useRef(descriptors);\n descriptorsRef.current = descriptors;\n const linking = getResolvedLinking();\n const navigatorContextValue = useMemo(\n () => ({\n contextKey: id ?? \"\",\n state,\n navigation,\n descriptorsRef,\n router: TabRouter\n }),\n [id, navigation, state]\n );\n const triggerMap = useMemo(() => {\n return Object.fromEntries(\n state.routes.map((route, index) => {\n const options = descriptors[route.key]?.options ?? {};\n const href = typeof options.href === \"string\" ? options.href : (linking?.getPathFromState ?? getPathFromState)(\n { ...state, index },\n linking?.config\n );\n return [\n route.name,\n {\n type: \"internal\",\n name: route.name,\n href,\n action: {\n type: \"JUMP_TO\",\n payload: { name: route.name }\n },\n index\n }\n ];\n })\n );\n }, [descriptors, linking, state]);\n return render(\n /* @__PURE__ */ jsx(TabTriggerMapContext.Provider, { value: triggerMap, children: /* @__PURE__ */ jsx(NavigatorContext.Provider, { value: navigatorContextValue, children: /* @__PURE__ */ jsx(HeadlessTabsView, { customChildren: headlessChildren }) }) })\n );\n}\nfunction HeadlessTabsView({ customChildren }) {\n const { screens, focused } = useTabs();\n const visited = useVisitedScreens(focused.key);\n if (customChildren?.length) {\n return /* @__PURE__ */ jsx(Fragment, { children: customChildren });\n }\n return renderKeptMountedScreens(screens, visited);\n}\nconst RNTabs = withLayoutContext(WebTabsNavigator);\nconst TabsWithChildren = forwardRef(function TabsWithChildren2({ children, ...props }, ref) {\n const configChildren = Children.toArray(children).filter(isNavigatorConfigChild);\n const customChildren = getCustomNavigatorChildren(children);\n return /* @__PURE__ */ jsx(RNTabs, { ...props, ref, headlessChildren: customChildren, children: configChildren });\n});\nconst Tabs = Object.assign(TabsWithChildren, {\n Protected,\n Screen\n});\nvar Tabs_web_default = Tabs;\nexport {\n Tabs,\n Tabs_web_default as default\n};\n//# sourceMappingURL=Tabs.web.js.map\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,SAAS,iBAAiB,EACxB,UACA,kBACA,kBACA,eACA,IACA,GAAG,QACF;CACD,MAAM,EAAE,OAAO,YAAY,aAAa,WAAW,qBAAqB,WAAW;EACjF,GAAG;EACH;EACA;EACA;CACF,CAAC;CACD,MAAM,iBAAiB,OAAO,WAAW;CACzC,eAAe,UAAU;CACzB,MAAM,UAAU,mBAAmB;CACnC,MAAM,wBAAwB,eACrB;EACL,YAAY,MAAM;EAClB;EACA;EACA;EACA,QAAQ;CACV,IACA;EAAC;EAAI;EAAY;CAAK,CACxB;CACA,MAAM,aAAa,cAAc;EAC/B,OAAO,OAAO,YACZ,MAAM,OAAO,KAAK,OAAO,UAAU;GACjC,MAAM,UAAU,YAAY,MAAM,IAAI,EAAE,WAAW,CAAC;GACpD,MAAM,OAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,QAAQ,SAAS,oBAAoB,iBAAgB,CAC3G;IAAE,GAAG;IAAO;GAAM,GAClB,SAAS,MACX;GACA,OAAO,CACL,MAAM,MACN;IACE,MAAM;IACN,MAAM,MAAM;IACZ;IACA,QAAQ;KACN,MAAM;KACN,SAAS,EAAE,MAAM,MAAM,KAAK;IAC9B;IACA;GACF,CACF;EACF,CAAC,CACH;CACF,GAAG;EAAC;EAAa;EAAS;CAAK,CAAC;CAChC,OAAO,OACW,oBAAI,qBAAqB,UAAU;EAAE,OAAO;EAAY,UAA0B,oBAAI,iBAAiB,UAAU;GAAE,OAAO;GAAuB,UAA0B,oBAAI,kBAAkB,EAAE,gBAAgB,iBAAiB,CAAC;EAAE,CAAC;CAAE,CAAC,CAC7P;AACF;AACA,SAAS,iBAAiB,EAAE,kBAAkB;CAC5C,MAAM,EAAE,SAAS,YAAY,QAAQ;CACrC,MAAM,UAAU,kBAAkB,QAAQ,GAAG;CAC7C,IAAI,gBAAgB,QAAQ;EAC1B,OAAuB,oBAAI,UAAU,EAAE,UAAU,eAAe,CAAC;CACnE;CACA,OAAO,yBAAyB,SAAS,OAAO;AAClD;AACA,MAAM,SAAS,kBAAkB,gBAAgB;AACjD,MAAM,mBAAmB,WAAW,SAAS,kBAAkB,EAAE,UAAU,GAAG,SAAS,KAAK;CAC1F,MAAM,iBAAiB,SAAS,QAAQ,QAAQ,CAAC,CAAC,OAAO,sBAAsB;CAC/E,MAAM,iBAAiB,2BAA2B,QAAQ;CAC1D,OAAuB,oBAAI,QAAQ;EAAE,GAAG;EAAO;EAAK,kBAAkB;EAAgB,UAAU;CAAe,CAAC;AAClH,CAAC;AACD,MAAM,OAAO,OAAO,OAAO,kBAAkB;CAC3C;CACA;AACF,CAAC;AACD,IAAI,mBAAmB"}