+ { config[ postType ].labels.title }
+ { ! isMobileViewport && isEditorPage && (
+
+ ) }
+
+ }
+ content={
+ <>
+
+ { items.map( ( item, index ) => (
+
+ ) ) }
+
+
+
+ >
+ }
+ />
+ );
+}
diff --git a/packages/edit-site/src/components/sidebar-navigation-screen-templates/style.scss b/packages/edit-site/src/components/sidebar-navigation-screen-templates/style.scss
new file mode 100644
index 00000000000000..432774f903e465
--- /dev/null
+++ b/packages/edit-site/src/components/sidebar-navigation-screen-templates/style.scss
@@ -0,0 +1,4 @@
+.edit-site-sidebar-navigation-screen-templates__see-all {
+ /* Overrides the margin that comes from the Item component */
+ margin-top: $grid-unit-20 !important;
+}
diff --git a/packages/edit-site/src/components/sidebar-navigation-screen/index.js b/packages/edit-site/src/components/sidebar-navigation-screen/index.js
new file mode 100644
index 00000000000000..7edca14681007d
--- /dev/null
+++ b/packages/edit-site/src/components/sidebar-navigation-screen/index.js
@@ -0,0 +1,55 @@
+/**
+ * WordPress dependencies
+ */
+import {
+ __experimentalHStack as HStack,
+ __experimentalVStack as VStack,
+ __experimentalNavigatorBackButton as NavigatorBackButton,
+ __experimentalNavigatorScreen as NavigatorScreen,
+} from '@wordpress/components';
+import { isRTL, __, sprintf } from '@wordpress/i18n';
+import { chevronRight, chevronLeft } from '@wordpress/icons';
+
+export default function SidebarNavigationScreen( {
+ path,
+ parentTitle,
+ title,
+ content,
+} ) {
+ return (
+
+
+
+ { parentTitle ? (
+
+ ) : (
+
+ ) }
+
+
+ { title }
+
+
+
+
+
+
+ );
+}
diff --git a/packages/edit-site/src/components/sidebar-navigation-screen/style.scss b/packages/edit-site/src/components/sidebar-navigation-screen/style.scss
new file mode 100644
index 00000000000000..e3044e95bbdd05
--- /dev/null
+++ b/packages/edit-site/src/components/sidebar-navigation-screen/style.scss
@@ -0,0 +1,39 @@
+.edit-site-sidebar-navigation-screen {
+ display: flex;
+ flex-direction: column;
+ overflow-x: unset !important;
+ position: relative;
+}
+
+.edit-site-sidebar-navigation-screen__content {
+ margin: 0 $button-size;
+ flex-grow: 1;
+ overflow-y: auto;
+}
+
+.edit-site-sidebar-navigation-screen__title-icon {
+ position: sticky;
+ top: 0;
+ background: $gray-900;
+ padding-top: $grid-unit-80;
+ box-shadow: 0 $grid-unit-10 $grid-unit-20 $gray-900;
+ margin-bottom: $grid-unit-10;
+ padding-bottom: $grid-unit-10;
+}
+
+.edit-site-sidebar-navigation-screen__title {
+ font-size: calc(1.56 * 13px);
+ font-weight: 600;
+}
+
+.edit-site-sidebar-navigation-screen__back {
+ color: $gray-200;
+
+ &:hover {
+ color: $white;
+ }
+}
+
+.edit-site-sidebar-navigation-screen__icon-placeholder {
+ width: $button-size;
+}
diff --git a/packages/edit-site/src/components/sidebar-navigation-title/index.js b/packages/edit-site/src/components/sidebar-navigation-title/index.js
deleted file mode 100644
index c233b06544ffe9..00000000000000
--- a/packages/edit-site/src/components/sidebar-navigation-title/index.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * WordPress dependencies
- */
-import {
- __experimentalHStack as HStack,
- __experimentalNavigatorBackButton as NavigatorBackButton,
-} from '@wordpress/components';
-import { isRTL, __, sprintf } from '@wordpress/i18n';
-import { chevronRight, chevronLeft } from '@wordpress/icons';
-
-export default function SidebarNavigationTitle( { parentTitle, title } ) {
- return (
-
- { parentTitle ? (
-
- ) : (
-
- ) }
- { title }
-
- );
-}
diff --git a/packages/edit-site/src/components/sidebar-navigation-title/style.scss b/packages/edit-site/src/components/sidebar-navigation-title/style.scss
deleted file mode 100644
index 0ac287fec2cdfa..00000000000000
--- a/packages/edit-site/src/components/sidebar-navigation-title/style.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-.edit-site-sidebar-navigation-title {
- font-size: calc(1.56 * 13px);
- font-weight: 600;
-}
-
-.edit-site-sidebar-navigation-title__back {
- color: $gray-200;
-
- &:hover {
- color: $white;
- }
-}
-
-.edit-site-sidebar-navigation-title__icon-placeholder {
- width: $button-size;
-}
diff --git a/packages/edit-site/src/components/sidebar/index.js b/packages/edit-site/src/components/sidebar/index.js
index 578f13813305b9..154fa9c0a17b48 100644
--- a/packages/edit-site/src/components/sidebar/index.js
+++ b/packages/edit-site/src/components/sidebar/index.js
@@ -1,19 +1,23 @@
/**
* WordPress dependencies
*/
-import { __experimentalVStack as VStack } from '@wordpress/components';
+import { __experimentalNavigatorProvider as NavigatorProvider } from '@wordpress/components';
/**
* Internal dependencies
*/
-import SidebarNavigationRoot from '../sidebar-navigation-root';
+import SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';
+import SidebarNavigationScreenTemplates from '../sidebar-navigation-screen-templates';
export function Sidebar() {
return (
-
-
-
-
-
+
+
+
+
+
);
}
diff --git a/packages/edit-site/src/components/sidebar/style.scss b/packages/edit-site/src/components/sidebar/style.scss
index 3fbdfbafbe06f4..456a5bf9dc9de3 100644
--- a/packages/edit-site/src/components/sidebar/style.scss
+++ b/packages/edit-site/src/components/sidebar/style.scss
@@ -1,4 +1,8 @@
-.edit-site-sidebar__content {
+.edit-site-sidebar__content.edit-site-sidebar__content {
+ overflow-x: unset;
+}
+
+.edit-site-sidebar__content > div {
// This matches the logo padding
- padding: $grid-unit-15;
+ padding: 0 $grid-unit-15;
}
diff --git a/packages/edit-site/src/style.scss b/packages/edit-site/src/style.scss
index 9b871cff4f2d50..be5b51e16ea084 100644
--- a/packages/edit-site/src/style.scss
+++ b/packages/edit-site/src/style.scss
@@ -20,8 +20,8 @@
@import "./components/layout/style.scss";
@import "./components/sidebar/style.scss";
@import "./components/sidebar-navigation-item/style.scss";
-@import "./components/sidebar-navigation-root/style.scss";
-@import "./components/sidebar-navigation-title/style.scss";
+@import "./components/sidebar-navigation-screen/style.scss";
+@import "./components/sidebar-navigation-screen-templates/style.scss";
@import "./components/site-icon/style.scss";
@import "./components/style-book/style.scss";