one
Version:
One is a new React Framework that makes Vite serve both native and web.
43 lines (42 loc) • 1.57 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { createDrawerNavigator } from "@react-navigation/drawer";
import React, { useMemo } from "react";
import { Platform } from "react-native";
import { getRenderingConfig } from "../router/renderingRegistry.native.js";
import { withLayoutContext } from "./withLayoutContext.native.js";
var DrawerNavigator = createDrawerNavigator().Navigator;
var RNDrawer = withLayoutContext(DrawerNavigator);
var DrawerWithRender = /* @__PURE__ */React.forwardRef(function (props, ref) {
var {
render,
drawerContent,
...rest
} = props;
var effectiveDrawerContent = useMemo(function () {
var _getRenderingConfig_Drawer;
if (drawerContent) return drawerContent;
var platform = Platform.OS;
var fromProp = render === null || render === void 0 ? void 0 : render[platform];
if (fromProp) return fromProp;
var fromGlobal = (_getRenderingConfig_Drawer = getRenderingConfig().Drawer) === null || _getRenderingConfig_Drawer === void 0 ? void 0 : _getRenderingConfig_Drawer[platform];
if (fromGlobal) return fromGlobal;
return void 0;
}, [drawerContent, render]);
if (effectiveDrawerContent) {
return /* @__PURE__ */_jsx(RNDrawer, {
...rest,
ref,
drawerContent: effectiveDrawerContent
});
}
return /* @__PURE__ */_jsx(RNDrawer, {
...rest,
ref
});
});
var Drawer = Object.assign(DrawerWithRender, {
Screen: RNDrawer.Screen
});
var Drawer_default = Drawer;
export { Drawer, Drawer_default as default };
//# sourceMappingURL=Drawer.native.js.map