diff --git a/projects/demo/src/modules/experimental/navigation/examples/1/index.ts b/projects/demo/src/modules/experimental/navigation/examples/1/index.ts
new file mode 100644
index 000000000000..763f24003b0e
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/examples/1/index.ts
@@ -0,0 +1,15 @@
+import {Component} from '@angular/core';
+import {changeDetection} from '@demo/emulate/change-detection';
+import {encapsulation} from '@demo/emulate/encapsulation';
+
+@Component({
+ selector: 'tui-navigation-example-1',
+ templateUrl: './index.html',
+ encapsulation,
+ changeDetection,
+})
+export class TuiNavigationExample1 {
+ open = false;
+ expanded = false;
+ submenu = false;
+}
diff --git a/projects/demo/src/modules/experimental/navigation/examples/2/index.html b/projects/demo/src/modules/experimental/navigation/examples/2/index.html
new file mode 100644
index 000000000000..6a4cd261d362
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/examples/2/index.html
@@ -0,0 +1,105 @@
+
+
+ Custom color
+
+
+
+
+
+
+
+
+ Back
+
+
+
+
+
+ Research and Development Platform
+
+
+
+ In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the
+ visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used
+ as a placeholder before the final copy is available. It is also used to temporarily replace text, which
+ allows designers to consider the form of a webpage or publication, without the meaning of the text
+ influencing the design.
+
+
+
+
+ Alex Inkin
+
+ Edited 6 minutes ago
+
+
+ Private
+
+
+ In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the
+ visual form of a document or a typeface without relying on meaningful content.
+
+
+
+
+
+
+
+ Some random content
+ A subtitle
+
+
+
diff --git a/projects/demo/src/modules/experimental/navigation/examples/3/index.ts b/projects/demo/src/modules/experimental/navigation/examples/3/index.ts
new file mode 100644
index 000000000000..f9c01cf9fc07
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/examples/3/index.ts
@@ -0,0 +1,11 @@
+import {Component} from '@angular/core';
+import {changeDetection} from '@demo/emulate/change-detection';
+import {encapsulation} from '@demo/emulate/encapsulation';
+
+@Component({
+ selector: 'tui-navigation-example-3',
+ templateUrl: './index.html',
+ encapsulation,
+ changeDetection,
+})
+export class TuiNavigationExample3 {}
diff --git a/projects/demo/src/modules/experimental/navigation/examples/import/import-module.md b/projects/demo/src/modules/experimental/navigation/examples/import/import-module.md
new file mode 100644
index 000000000000..e90dd4c55554
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/examples/import/import-module.md
@@ -0,0 +1,14 @@
+```ts
+import {TuiNavigationModule} from '@taiga-ui/experimental';
+
+// ...
+
+@NgModule({
+ imports: [
+ // ...
+ TuiNavigationModule,
+ ],
+ // ...
+})
+export class AppModule {}
+```
diff --git a/projects/demo/src/modules/experimental/navigation/examples/import/insert-template.md b/projects/demo/src/modules/experimental/navigation/examples/import/insert-template.md
new file mode 100644
index 000000000000..48b7a5acda9b
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/examples/import/insert-template.md
@@ -0,0 +1,8 @@
+```html
+Header content
+
+
+
+ Main content
+
+```
diff --git a/projects/demo/src/modules/experimental/navigation/navigation.component.ts b/projects/demo/src/modules/experimental/navigation/navigation.component.ts
new file mode 100644
index 000000000000..ac85d8e6069e
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/navigation.component.ts
@@ -0,0 +1,27 @@
+import {Component, ViewEncapsulation} from '@angular/core';
+import {changeDetection} from '@demo/emulate/change-detection';
+import {TuiDocExample} from '@taiga-ui/addon-doc';
+
+@Component({
+ selector: 'example-tui-navigation',
+ templateUrl: './navigation.template.html',
+ styleUrls: ['./navigation.style.less'],
+ encapsulation: ViewEncapsulation.None,
+ changeDetection,
+})
+export class ExampleTuiNavigationComponent {
+ readonly exampleModule = import('./examples/import/import-module.md?raw');
+ readonly exampleHtml = import('./examples/import/insert-template.md?raw');
+
+ readonly example1: TuiDocExample = {
+ HTML: import('./examples/1/index.html?raw'),
+ };
+
+ readonly example2: TuiDocExample = {
+ HTML: import('./examples/2/index.html?raw'),
+ };
+
+ readonly example3: TuiDocExample = {
+ HTML: import('./examples/3/index.html?raw'),
+ };
+}
diff --git a/projects/demo/src/modules/experimental/navigation/navigation.module.ts b/projects/demo/src/modules/experimental/navigation/navigation.module.ts
new file mode 100644
index 000000000000..3f7f404db079
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/navigation.module.ts
@@ -0,0 +1,70 @@
+import {CommonModule} from '@angular/common';
+import {NgModule} from '@angular/core';
+import {FormsModule} from '@angular/forms';
+import {tuiGetDocModules} from '@taiga-ui/addon-doc';
+import {TuiRepeatTimesModule} from '@taiga-ui/cdk';
+import {
+ TuiDataListModule,
+ TuiExpandModule,
+ TuiHostedDropdownModule,
+ TuiLinkModule,
+ TuiNotificationModule,
+} from '@taiga-ui/core';
+import {
+ TuiAppearanceModule,
+ TuiAvatarModule,
+ TuiBadgeModule,
+ TuiBadgeNotificationModule,
+ TuiButtonModule,
+ TuiCardModule,
+ TuiFadeModule,
+ TuiHeaderModule,
+ TuiIconModule,
+ TuiNavigationModule,
+ TuiSurfaceModule,
+ TuiTitleModule,
+ TuiToggleModule,
+} from '@taiga-ui/experimental';
+import {TuiBreadcrumbsModule, TuiTabsModule} from '@taiga-ui/kit';
+
+import {TuiNavigationExample1} from './examples/1';
+import {TuiNavigationExample2} from './examples/2';
+import {TuiNavigationExample3} from './examples/3';
+import {ExampleTuiNavigationComponent} from './navigation.component';
+
+@NgModule({
+ imports: [
+ tuiGetDocModules(ExampleTuiNavigationComponent),
+ CommonModule,
+ FormsModule,
+ TuiNotificationModule,
+ TuiNavigationModule,
+ TuiAvatarModule,
+ TuiButtonModule,
+ TuiIconModule,
+ TuiBadgeModule,
+ TuiBadgeNotificationModule,
+ TuiHostedDropdownModule,
+ TuiDataListModule,
+ TuiFadeModule,
+ TuiExpandModule,
+ TuiTabsModule,
+ TuiCardModule,
+ TuiSurfaceModule,
+ TuiTitleModule,
+ TuiHeaderModule,
+ TuiRepeatTimesModule,
+ TuiAppearanceModule,
+ TuiToggleModule,
+ TuiBreadcrumbsModule,
+ TuiLinkModule,
+ ],
+ declarations: [
+ ExampleTuiNavigationComponent,
+ TuiNavigationExample1,
+ TuiNavigationExample2,
+ TuiNavigationExample3,
+ ],
+ exports: [ExampleTuiNavigationComponent],
+})
+export class ExampleTuiNavigationModule {}
diff --git a/projects/demo/src/modules/experimental/navigation/navigation.style.less b/projects/demo/src/modules/experimental/navigation/navigation.style.less
new file mode 100644
index 000000000000..e75a88991894
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/navigation.style.less
@@ -0,0 +1,3 @@
+example-tui-navigation .sticky-example .t-demo {
+ height: 30rem;
+}
diff --git a/projects/demo/src/modules/experimental/navigation/navigation.template.html b/projects/demo/src/modules/experimental/navigation/navigation.template.html
new file mode 100644
index 000000000000..e68452b1ec40
--- /dev/null
+++ b/projects/demo/src/modules/experimental/navigation/navigation.template.html
@@ -0,0 +1,67 @@
+
+
+
+ This code is
+ experimental
+ and is a subject to change. Expect final solution to be shipped in the next major version
+
+
+
A set of basic layout components for global navigation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Add an import:
+
+
+
+
+
+
Add to the template:
+
+
+
+
+
+
diff --git a/projects/demo/used-icons.ts b/projects/demo/used-icons.ts
index 8ccf0a2845c8..e887f5733dfe 100644
--- a/projects/demo/used-icons.ts
+++ b/projects/demo/used-icons.ts
@@ -113,6 +113,9 @@ export const TUI_USED_ICONS = [
'tuiIconCheckLarge',
'tuiIconThumbsUp',
'tuiIconInfoLarge',
+ 'tuiIconGrid',
+ 'tuiIconHome',
+ 'tuiIconGitlab',
'tuiIconDollarSign',
'tuiIconCloseLarge',
'tuiIconFrownLarge',
diff --git a/projects/experimental/components/index.ts b/projects/experimental/components/index.ts
index 11e3c6faa882..5e96ed1fa65e 100644
--- a/projects/experimental/components/index.ts
+++ b/projects/experimental/components/index.ts
@@ -10,6 +10,7 @@ export * from '@taiga-ui/experimental/components/checkbox';
export * from '@taiga-ui/experimental/components/chip';
export * from '@taiga-ui/experimental/components/compass';
export * from '@taiga-ui/experimental/components/icon';
+export * from '@taiga-ui/experimental/components/navigation';
export * from '@taiga-ui/experimental/components/pin';
export * from '@taiga-ui/experimental/components/radio';
export * from '@taiga-ui/experimental/components/rating';
diff --git a/projects/experimental/components/navigation/aside.component.ts b/projects/experimental/components/navigation/aside.component.ts
new file mode 100644
index 000000000000..c70a12f12f0f
--- /dev/null
+++ b/projects/experimental/components/navigation/aside.component.ts
@@ -0,0 +1,41 @@
+import {
+ ChangeDetectionStrategy,
+ Component,
+ Input,
+ ViewEncapsulation,
+} from '@angular/core';
+import {tuiDropdownOptionsProvider} from '@taiga-ui/core';
+import {tuiButtonOptionsProvider} from '@taiga-ui/experimental/components/button';
+
+@Component({
+ selector: 'aside[tuiNavigationAside]',
+ template: `
+
+
+