+
+ {container instanceof HTMLElement ? children : null}
+
+
+ );
+});
+
+RoutesContainerProvider.displayName = 'RoutesContainerProvider';
+
+RoutesContainerProvider.propTypes = {
+ containerClassName: PropTypes.string,
+ children: PropTypes.oneOfType([
+ PropTypes.arrayOf(PropTypes.node),
+ PropTypes.node
+ ])
+};
+
+module.exports = RoutesContainerProvider;
diff --git a/src/navigation/RoutesContainerContext/index.js b/src/navigation/RoutesContainerContext/index.js
new file mode 100644
index 000000000..c99f4252e
--- /dev/null
+++ b/src/navigation/RoutesContainerContext/index.js
@@ -0,0 +1,9 @@
+const RoutesContainerProvider = require('./RoutesContainerProvider');
+const useRoutesContainer = require('./useRoutesContainer.js');
+const withRoutesContainer = require('./withRoutesContainer');
+
+module.exports = {
+ RoutesContainerProvider,
+ useRoutesContainer,
+ withRoutesContainer
+};
diff --git a/src/navigation/RoutesContainerContext/useRoutesContainer.js b/src/navigation/RoutesContainerContext/useRoutesContainer.js
new file mode 100644
index 000000000..046b294fc
--- /dev/null
+++ b/src/navigation/RoutesContainerContext/useRoutesContainer.js
@@ -0,0 +1,8 @@
+const React = require('react');
+const RoutesContainerContext = require('./RoutesContainerContext');
+
+const useRoutesContainer = () => {
+ return React.useContext(RoutesContainerContext);
+};
+
+module.exports = useRoutesContainer;
diff --git a/src/navigation/RoutesContainerContext/withRoutesContainer.js b/src/navigation/RoutesContainerContext/withRoutesContainer.js
new file mode 100644
index 000000000..c3f75e895
--- /dev/null
+++ b/src/navigation/RoutesContainerContext/withRoutesContainer.js
@@ -0,0 +1,13 @@
+const React = require('react');
+const useRoutesContainer = require('./useRoutesContainer');
+
+const withRoutesContainer = (Component) => {
+ return (props) => {
+ const routesContainer = useRoutesContainer();
+ return (
+