UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 3.32 kB
{"version":3,"file":"Drawer.js","names":[],"sources":["esm/layouts/Drawer.js"],"sourcesContent":["\"use client\";\nimport { createNavigatorFactory, useNavigationBuilder } from \"@react-navigation/core\";\nimport {\n DrawerRouter\n} from \"@react-navigation/routers\";\nimport { Children, forwardRef } from \"react\";\nimport { getCustomNavigatorChildren, isNavigatorConfigChild } from \"../headless/children\";\nimport { renderKeptMountedScreens, useVisitedScreens } from \"../headless/keepMounted\";\nimport {\n DrawerStateProvider,\n useDrawer\n} from \"../headless/useDrawer\";\nimport { withLayoutContext } from \"./withLayoutContext\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nfunction WebDrawerNavigator({\n children,\n headlessChildren,\n initialRouteName,\n defaultStatus,\n backBehavior,\n screenOptions,\n ...rest\n}) {\n const { state, descriptors, navigation, render } = useNavigationBuilder(DrawerRouter, {\n ...rest,\n children,\n initialRouteName,\n defaultStatus,\n backBehavior,\n screenOptions\n });\n return render(\n /* @__PURE__ */ jsx(\n DrawerStateProvider,\n {\n state,\n descriptors,\n navigation,\n children: /* @__PURE__ */ jsx(HeadlessDrawerView, { customChildren: headlessChildren })\n }\n )\n );\n}\nfunction HeadlessDrawerView({ customChildren }) {\n const { screens, focused } = useDrawer();\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 DrawerNavigator = createNavigatorFactory(WebDrawerNavigator)().Navigator;\nconst RNDrawer = withLayoutContext(DrawerNavigator);\nconst DrawerWithHeadless = forwardRef(\n (props, ref) => {\n const { children, ...rest } = props;\n const customChildren = getCustomNavigatorChildren(children);\n return /* @__PURE__ */ jsx(\n RNDrawer,\n {\n ...rest,\n ref,\n headlessChildren: customChildren.length ? customChildren : void 0,\n children: Children.toArray(children).filter(isNavigatorConfigChild)\n }\n );\n }\n);\nconst Drawer = Object.assign(DrawerWithHeadless, {\n Screen: RNDrawer.Screen\n});\nvar Drawer_web_default = Drawer;\nexport {\n Drawer,\n Drawer_web_default as default\n};\n//# sourceMappingURL=Drawer.web.js.map\n"],"mappings":";;;;;;;;;;;;AAcA,SAAS,mBAAmB,EAC1B,UACA,kBACA,kBACA,eACA,cACA,eACA,GAAG,QACF;CACD,MAAM,EAAE,OAAO,aAAa,YAAY,WAAW,qBAAqB,cAAc;EACpF,GAAG;EACH;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,OAAO,OACW,oBACd,qBACA;EACE;EACA;EACA;EACA,UAA0B,oBAAI,oBAAoB,EAAE,gBAAgB,iBAAiB,CAAC;CACxF,CACF,CACF;AACF;AACA,SAAS,mBAAmB,EAAE,kBAAkB;CAC9C,MAAM,EAAE,SAAS,YAAY,UAAU;CACvC,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,kBAAkB,uBAAuB,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACrE,MAAM,WAAW,kBAAkB,eAAe;AAClD,MAAM,qBAAqB,YACxB,OAAO,QAAQ;CACd,MAAM,EAAE,UAAU,GAAG,SAAS;CAC9B,MAAM,iBAAiB,2BAA2B,QAAQ;CAC1D,OAAuB,oBACrB,UACA;EACE,GAAG;EACH;EACA,kBAAkB,eAAe,SAAS,iBAAiB,KAAK;EAChE,UAAU,SAAS,QAAQ,QAAQ,CAAC,CAAC,OAAO,sBAAsB;CACpE,CACF;AACF,CACF;AACA,MAAM,SAAS,OAAO,OAAO,oBAAoB,EAC/C,QAAQ,SAAS,OACnB,CAAC;AACD,IAAI,qBAAqB"}