diff --git a/.idea/modules.xml b/.idea/modules.xml
index 1e646cffc24e..1470dfb28dc5 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -1010,6 +1010,7 @@
+
diff --git a/platform/lang-impl/intellij.platform.lang.impl.iml b/platform/lang-impl/intellij.platform.lang.impl.iml
index 8d81e3c433d5..8464fd6f12ce 100644
--- a/platform/lang-impl/intellij.platform.lang.impl.iml
+++ b/platform/lang-impl/intellij.platform.lang.impl.iml
@@ -100,5 +100,6 @@
+
\ No newline at end of file
diff --git a/platform/lang-impl/src/com/intellij/execution/services/ServiceViewNavBarPanel.kt b/platform/lang-impl/src/com/intellij/execution/services/ServiceViewNavBarPanel.kt
index c443c8ac3d52..0e11f4c34d19 100644
--- a/platform/lang-impl/src/com/intellij/execution/services/ServiceViewNavBarPanel.kt
+++ b/platform/lang-impl/src/com/intellij/execution/services/ServiceViewNavBarPanel.kt
@@ -4,13 +4,13 @@ package com.intellij.execution.services
import com.intellij.execution.services.ServiceModel.ServiceViewItem
import com.intellij.execution.services.ServiceViewNavBarService.ServiceViewNavBarSelector
import com.intellij.icons.AllIcons
-import com.intellij.ide.navbar.NavBarItemPresentation
import com.intellij.ide.navbar.ide.NavBarVmImpl
-import com.intellij.ide.navbar.ide.NavBarVmItem
import com.intellij.ide.navbar.ui.StaticNavBarPanel
import com.intellij.ide.navbar.vm.NavBarVm
import com.intellij.openapi.application.EDT
import com.intellij.openapi.project.Project
+import com.intellij.platform.navbar.NavBarItemPresentation
+import com.intellij.platform.navbar.NavBarVmItem
import com.intellij.ui.SimpleTextAttributes.REGULAR_ATTRIBUTES
import com.intellij.ui.components.JBPanel
import com.intellij.util.ui.update.Activatable
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/NavBarItem.kt b/platform/lang-impl/src/com/intellij/ide/navbar/NavBarItem.kt
index c69cbfe85572..163ca8dc74b7 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/NavBarItem.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/NavBarItem.kt
@@ -1,9 +1,10 @@
-// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar
import com.intellij.model.Pointer
import com.intellij.openapi.actionSystem.DataKey
import com.intellij.platform.backend.navigation.NavigationRequest
+import com.intellij.platform.navbar.NavBarItemPresentation
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread
import com.intellij.util.concurrency.annotations.RequiresReadLock
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/actions/actions.kt b/platform/lang-impl/src/com/intellij/ide/navbar/actions/actions.kt
index 6b72b5146a30..6a6560bac996 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/actions/actions.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/actions/actions.kt
@@ -4,7 +4,6 @@ package com.intellij.ide.navbar.actions
import com.intellij.ide.impl.dataRules.GetDataRule
import com.intellij.ide.navbar.NavBarItem
import com.intellij.ide.navbar.ide.IdeNavBarVmItem
-import com.intellij.ide.navbar.ide.NavBarVmItem
import com.intellij.ide.navbar.impl.DefaultNavBarItem
import com.intellij.ide.navbar.impl.ModuleNavBarItem
import com.intellij.ide.navbar.impl.PsiNavBarItem
@@ -18,6 +17,7 @@ import com.intellij.openapi.module.ModuleUtilCore
import com.intellij.openapi.project.Project
import com.intellij.openapi.roots.ui.configuration.actions.ModuleDeleteProvider
import com.intellij.openapi.vfs.VirtualFile
+import com.intellij.platform.navbar.NavBarVmItem
import com.intellij.pom.Navigatable
import com.intellij.psi.PsiDirectory
import com.intellij.psi.PsiElement
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ide/DefaultNavBarPopupItem.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ide/DefaultNavBarPopupItem.kt
index 1a0b2784fb9e..2919064421a3 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ide/DefaultNavBarPopupItem.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/ide/DefaultNavBarPopupItem.kt
@@ -1,8 +1,9 @@
-// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.ide
-import com.intellij.ide.navbar.NavBarItemPresentation
import com.intellij.ide.navbar.vm.NavBarPopupItem
+import com.intellij.platform.navbar.NavBarItemPresentation
+import com.intellij.platform.navbar.NavBarVmItem
internal class DefaultNavBarPopupItem(val item: NavBarVmItem) : NavBarPopupItem {
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ide/IdeNavBarVmItem.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ide/IdeNavBarVmItem.kt
index 08af192c3e2e..9ff40f1c47c0 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ide/IdeNavBarVmItem.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/ide/IdeNavBarVmItem.kt
@@ -2,12 +2,13 @@
package com.intellij.ide.navbar.ide
import com.intellij.ide.navbar.NavBarItem
-import com.intellij.ide.navbar.NavBarItemPresentation
-import com.intellij.ide.navbar.ide.NavBarVmItem.ItemExpandResult
import com.intellij.ide.navbar.impl.children
import com.intellij.ide.navbar.impl.isModuleContentRoot
import com.intellij.model.Pointer
import com.intellij.openapi.application.readAction
+import com.intellij.platform.navbar.NavBarItemPresentation
+import com.intellij.platform.navbar.NavBarVmItem
+import com.intellij.platform.navbar.NavBarVmItem.ItemExpandResult
import com.intellij.util.concurrency.ThreadingAssertions
import com.intellij.util.concurrency.annotations.RequiresReadLock
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarService.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarService.kt
index 07f239df2930..f55faa778bf5 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarService.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarService.kt
@@ -22,6 +22,7 @@ import com.intellij.openapi.components.Service.Level.PROJECT
import com.intellij.openapi.components.service
import com.intellij.openapi.progress.ProcessCanceledException
import com.intellij.openapi.project.Project
+import com.intellij.platform.navbar.NavBarVmItem
import com.intellij.platform.util.coroutines.childScope
import com.intellij.platform.util.coroutines.flow.throttle
import com.intellij.util.ui.EDT
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarVmImpl.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarVmImpl.kt
index 10fc50f7deec..69e30398791f 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarVmImpl.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarVmImpl.kt
@@ -1,11 +1,12 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.ide
-import com.intellij.ide.navbar.NavBarItemPresentation
import com.intellij.ide.navbar.vm.NavBarItemVm
import com.intellij.ide.navbar.vm.NavBarPopupVm
import com.intellij.ide.navbar.vm.NavBarVm
import com.intellij.ide.navbar.vm.NavBarVm.SelectionShift
+import com.intellij.platform.navbar.NavBarItemPresentation
+import com.intellij.platform.navbar.NavBarVmItem
import com.intellij.platform.util.coroutines.flow.zipWithNext
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineScope
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/impl/DefaultNavBarItem.kt b/platform/lang-impl/src/com/intellij/ide/navbar/impl/DefaultNavBarItem.kt
index 9174b176bd27..034b3794a301 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/impl/DefaultNavBarItem.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/impl/DefaultNavBarItem.kt
@@ -1,9 +1,8 @@
-// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.impl
import com.intellij.icons.AllIcons
import com.intellij.ide.navbar.NavBarItem
-import com.intellij.ide.navbar.NavBarItemPresentation
import com.intellij.ide.navigationToolbar.NavBarModelExtension
import com.intellij.ide.projectView.ProjectView
import com.intellij.ide.projectView.impl.ProjectRootsUtil
@@ -29,6 +28,7 @@ import com.intellij.openapi.vfs.VfsUtilCore
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.platform.backend.navigation.NavigationRequest
import com.intellij.platform.backend.navigation.NavigationRequests
+import com.intellij.platform.navbar.NavBarItemPresentation
import com.intellij.pom.Navigatable
import com.intellij.problems.WolfTheProblemSolver
import com.intellij.psi.*
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/tests/testFramework.kt b/platform/lang-impl/src/com/intellij/ide/navbar/tests/testFramework.kt
index 4f8a53750352..675b4c63284f 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/tests/testFramework.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/tests/testFramework.kt
@@ -2,7 +2,6 @@
package com.intellij.ide.navbar.tests
import com.intellij.ide.navbar.NavBarItem
-import com.intellij.ide.navbar.NavBarItemPresentation
import com.intellij.ide.navbar.NavBarItemProvider
import com.intellij.ide.navbar.actions.getBgData
import com.intellij.ide.navbar.impl.DefaultNavBarItem
@@ -12,6 +11,7 @@ import com.intellij.ide.navbar.impl.pathToItem
import com.intellij.openapi.actionSystem.DataContext
import com.intellij.openapi.actionSystem.DataKey
import com.intellij.openapi.project.Project
+import com.intellij.platform.navbar.NavBarItemPresentation
import com.intellij.util.concurrency.annotations.RequiresReadLock
import org.jetbrains.annotations.ApiStatus.Obsolete
import org.jetbrains.annotations.TestOnly
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ui/NavBarItemComponent.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ui/NavBarItemComponent.kt
index 36767a7452f6..1a1ccf852b02 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ui/NavBarItemComponent.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/ui/NavBarItemComponent.kt
@@ -1,9 +1,8 @@
-// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.ui
import com.intellij.icons.AllIcons
import com.intellij.icons.ExpUiIcons
-import com.intellij.ide.navbar.NavBarItemPresentation
import com.intellij.ide.navbar.vm.NavBarItemVm
import com.intellij.ide.navigationToolbar.ui.AbstractNavBarUI
import com.intellij.ide.navigationToolbar.ui.AbstractNavBarUI.getDecorationOffset
@@ -16,6 +15,7 @@ import com.intellij.openapi.application.EDT
import com.intellij.openapi.util.SystemInfo
import com.intellij.openapi.util.registry.Registry
import com.intellij.openapi.wm.IdeFocusManager
+import com.intellij.platform.navbar.NavBarItemPresentation
import com.intellij.ui.*
import com.intellij.ui.scale.JBUIScale
import com.intellij.ui.scale.ScaleContext
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ui/NavBarPopupItemComponent.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ui/NavBarPopupItemComponent.kt
index 1b1b88017380..5d189093eea6 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ui/NavBarPopupItemComponent.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/ui/NavBarPopupItemComponent.kt
@@ -1,7 +1,7 @@
-// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.ui
-import com.intellij.ide.navbar.NavBarItemPresentation
+import com.intellij.platform.navbar.NavBarItemPresentation
import com.intellij.ui.ExperimentalUI
import com.intellij.ui.RelativeFont
import com.intellij.ui.SimpleColoredComponent
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ui/NewNavBarPanel.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ui/NewNavBarPanel.kt
index 74c908a3e3c2..17e45407a257 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ui/NewNavBarPanel.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/ui/NewNavBarPanel.kt
@@ -6,7 +6,6 @@ import com.intellij.ide.IdeBundle
import com.intellij.ide.navbar.actions.NavBarActionHandler.NAV_BAR_ACTION_HANDLER
import com.intellij.ide.navbar.actions.NavBarActionHandlerImpl
import com.intellij.ide.navbar.ide.LOG
-import com.intellij.ide.navbar.ide.NavBarVmItem.Companion.SELECTED_ITEMS
import com.intellij.ide.navbar.ui.NavBarItemComponent.Companion.isItemComponentFocusable
import com.intellij.ide.navbar.vm.NavBarItemVm
import com.intellij.ide.navbar.vm.NavBarPopupVm
@@ -20,6 +19,7 @@ import com.intellij.openapi.actionSystem.ex.ActionUtil
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.impl.RawSwingDispatcher
import com.intellij.openapi.project.Project
+import com.intellij.platform.navbar.NavBarVmItem.Companion.SELECTED_ITEMS
import com.intellij.ui.*
import com.intellij.ui.awt.RelativePoint
import com.intellij.ui.popup.PopupOwner
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ui/StaticNavBarPanel.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ui/StaticNavBarPanel.kt
index 8347934d95c7..ba52b43eef77 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ui/StaticNavBarPanel.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/ui/StaticNavBarPanel.kt
@@ -1,10 +1,14 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.ui
-import com.intellij.ide.navbar.ide.*
+import com.intellij.ide.navbar.ide.NavBarVmImpl
+import com.intellij.ide.navbar.ide.contextModel
+import com.intellij.ide.navbar.ide.dataContext
+import com.intellij.ide.navbar.ide.defaultModel
import com.intellij.ide.navbar.vm.NavBarVm
import com.intellij.openapi.application.EDT
import com.intellij.openapi.project.Project
+import com.intellij.platform.navbar.NavBarVmItem
import com.intellij.platform.util.coroutines.attachAsChildTo
import com.intellij.ui.components.JBPanel
import kotlinx.coroutines.*
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarItemVm.kt b/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarItemVm.kt
index 62f7a6222cea..6380687c94f3 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarItemVm.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarItemVm.kt
@@ -1,7 +1,7 @@
-// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.vm
-import com.intellij.ide.navbar.NavBarItemPresentation
+import com.intellij.platform.navbar.NavBarItemPresentation
import kotlinx.coroutines.flow.StateFlow
import org.jetbrains.annotations.ApiStatus
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarPopupItem.kt b/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarPopupItem.kt
index 04a2072c5a98..28ee53f373e6 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarPopupItem.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarPopupItem.kt
@@ -1,7 +1,7 @@
-// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.vm
-import com.intellij.ide.navbar.NavBarItemPresentation
+import com.intellij.platform.navbar.NavBarItemPresentation
import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarVm.kt b/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarVm.kt
index b17531d4c773..b0ec1816b4aa 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarVm.kt
+++ b/platform/lang-impl/src/com/intellij/ide/navbar/vm/NavBarVm.kt
@@ -1,7 +1,7 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.navbar.vm
-import com.intellij.ide.navbar.ide.NavBarVmItem
+import com.intellij.platform.navbar.NavBarVmItem
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.StateFlow
import org.jetbrains.annotations.ApiStatus
diff --git a/platform/navbar/shared/intellij.platform.navbar.iml b/platform/navbar/shared/intellij.platform.navbar.iml
new file mode 100644
index 000000000000..0f1b7b9d830e
--- /dev/null
+++ b/platform/navbar/shared/intellij.platform.navbar.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/NavBarItemPresentation.kt b/platform/navbar/shared/src/NavBarItemPresentation.kt
similarity index 89%
rename from platform/lang-impl/src/com/intellij/ide/navbar/NavBarItemPresentation.kt
rename to platform/navbar/shared/src/NavBarItemPresentation.kt
index 36844ea22f8a..e9f5632854a3 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/NavBarItemPresentation.kt
+++ b/platform/navbar/shared/src/NavBarItemPresentation.kt
@@ -1,5 +1,5 @@
-// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.ide.navbar
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.platform.navbar
import com.intellij.ui.SimpleTextAttributes
import org.jetbrains.annotations.Nls
diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarVmItem.kt b/platform/navbar/shared/src/NavBarVmItem.kt
similarity index 89%
rename from platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarVmItem.kt
rename to platform/navbar/shared/src/NavBarVmItem.kt
index 0c4de16a08d6..f00094cd0ded 100644
--- a/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarVmItem.kt
+++ b/platform/navbar/shared/src/NavBarVmItem.kt
@@ -1,7 +1,6 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.ide.navbar.ide
+package com.intellij.platform.navbar
-import com.intellij.ide.navbar.NavBarItemPresentation
import com.intellij.openapi.actionSystem.DataKey
interface NavBarVmItem {