diff --git a/src/editor/components/CodeView.js b/src/editor/components/CodeView.js
index ff76a7f..e3a429e 100644
--- a/src/editor/components/CodeView.js
+++ b/src/editor/components/CodeView.js
@@ -44,17 +44,6 @@ const CodeView = ( { themeConfig } ) => {
return part.replace( /%2F/g, '/' );
} );
- /**
- * Elements nested under blocks are stored in the styles object
- * as `blocks.blockName.elements.elementName`. This code ensures
- * that the correct path is used in these cases.
- *
- * e.g. `/blocks/core%2Fbutton/link` -> `blocks.['core/button'].elements.link`
- */
- if ( pathParts[ 0 ] === 'blocks' && pathParts.length >= 3 ) {
- pathParts.splice( 2, 0, 'elements' );
- }
-
/**
* Traverse the theme config object to find the code section
* that relates to the current navigator location.
diff --git a/src/editor/components/NavBlockList.js b/src/editor/components/NavBlockList.js
index 5beb3b3..52c3d0b 100644
--- a/src/editor/components/NavBlockList.js
+++ b/src/editor/components/NavBlockList.js
@@ -1,4 +1,6 @@
import { useContext } from '@wordpress/element';
+import { html, styles } from '@wordpress/icons';
+import { __ } from '@wordpress/i18n';
import EditorContext from '../context/EditorContext';
@@ -7,6 +9,7 @@ import getThemeOption from '../../utils/get-theme-option';
import NavListItem from './NavListItem';
import NavElementList from './NavElementList';
+import NavVariationList from './NavVariationList';
/**
* Nav Block list
@@ -32,10 +35,20 @@ const NavBlockList = () => {
// check if the block has any styles that aren't elements
const { elements, ...rest } = blockStyles;
const hasBlockStyles = Object.keys( rest ).length > 0;
+ const varHasStyles = rest?.variations;
const route = '/blocks/' + encodeURIComponent( block.name );
+ const elementRoute =
+ '/blocks/' +
+ encodeURIComponent( block.name ) +
+ '/elements';
const elementsSelector = `blocks.${ block.name }.elements`;
+ const varRoute =
+ '/blocks/' +
+ encodeURIComponent( block.name ) +
+ '/variations';
+
return (