Refactor Navigation Suite Scaffold APIs into new material3-adaptive-navigation-suite module

Relnote: Add new material3-adaptive-navigation-suite module for the Navigation Suite Scaffold
Test: manually tested + presubmits
Change-Id: I80da16fc0144141fc1559510749bd330ae57f4fc
diff --git a/compose/material3/benchmark/build.gradle b/compose/material3/benchmark/build.gradle
index 490c06c..8077fa7 100644
--- a/compose/material3/benchmark/build.gradle
+++ b/compose/material3/benchmark/build.gradle
@@ -26,7 +26,7 @@
 
     androidTestImplementation(project(":compose:material:material-icons-core"))
     androidTestImplementation(project(":compose:material3:material3"))
-    androidTestImplementation(project(":compose:material3:material3-adaptive"))
+    androidTestImplementation(project(":compose:material3:material3-adaptive-navigation-suite"))
     androidTestImplementation(project(":compose:material3:material3-window-size-class"))
     androidTestImplementation(project(":benchmark:benchmark-junit4"))
     androidTestImplementation(project(":compose:runtime:runtime"))
diff --git a/compose/material3/benchmark/src/androidTest/java/androidx/compose/material3/benchmark/NavigationSuiteScaffoldBenchmarkTest.kt b/compose/material3/benchmark/src/androidTest/java/androidx/compose/material3/benchmark/NavigationSuiteScaffoldBenchmarkTest.kt
index 2eb3cec..21b602a 100644
--- a/compose/material3/benchmark/src/androidTest/java/androidx/compose/material3/benchmark/NavigationSuiteScaffoldBenchmarkTest.kt
+++ b/compose/material3/benchmark/src/androidTest/java/androidx/compose/material3/benchmark/NavigationSuiteScaffoldBenchmarkTest.kt
@@ -19,8 +19,8 @@
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.size
 import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
-import androidx.compose.material3.adaptive.NavigationSuiteScaffold
+import androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi
+import androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScaffold
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.MutableIntState
 import androidx.compose.runtime.mutableIntStateOf
@@ -59,7 +59,7 @@
     }
 }
 
-@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@OptIn(ExperimentalMaterial3AdaptiveNavigationSuiteApi::class)
 internal class NavigationSuiteScaffoldTestCase : LayeredComposeTestCase(), ToggleableTestCase {
     private lateinit var selectedIndexState: MutableIntState
 
diff --git a/compose/material3/material3-adaptive-navigation-suite/androidx-compose-material3-adaptive-navigation-suite-documentation.md b/compose/material3/material3-adaptive-navigation-suite/androidx-compose-material3-adaptive-navigation-suite-documentation.md
new file mode 100644
index 0000000..645b7b6
--- /dev/null
+++ b/compose/material3/material3-adaptive-navigation-suite/androidx-compose-material3-adaptive-navigation-suite-documentation.md
@@ -0,0 +1,5 @@
+# Module root
+
+Compose Material Adaptive Navigation Suite
+
+# Package androidx.compose.material3.adaptive.navigation.suite
\ No newline at end of file
diff --git a/compose/material3/material3-adaptive-navigation-suite/api/current.txt b/compose/material3/material3-adaptive-navigation-suite/api/current.txt
new file mode 100644
index 0000000..db286e5
--- /dev/null
+++ b/compose/material3/material3-adaptive-navigation-suite/api/current.txt
@@ -0,0 +1,65 @@
+// Signature format: 4.0
+package androidx.compose.material3.adaptive.navigation.suite {
+
+  @SuppressCompatibility @kotlin.RequiresOptIn(message="This material3-adaptive-navigation-suite API is experimental and is likely to" + "change or to be removed in the future.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalMaterial3AdaptiveNavigationSuiteApi {
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public final class NavigationSuiteColors {
+    method public long getNavigationBarContainerColor();
+    method public long getNavigationBarContentColor();
+    method public long getNavigationDrawerContainerColor();
+    method public long getNavigationDrawerContentColor();
+    method public long getNavigationRailContainerColor();
+    method public long getNavigationRailContentColor();
+    property public final long navigationBarContainerColor;
+    property public final long navigationBarContentColor;
+    property public final long navigationDrawerContainerColor;
+    property public final long navigationDrawerContentColor;
+    property public final long navigationRailContainerColor;
+    property public final long navigationRailContentColor;
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public final class NavigationSuiteDefaults {
+    method @androidx.compose.runtime.Composable public androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteColors colors(optional long navigationBarContainerColor, optional long navigationBarContentColor, optional long navigationRailContainerColor, optional long navigationRailContentColor, optional long navigationDrawerContainerColor, optional long navigationDrawerContentColor);
+    field public static final androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteDefaults INSTANCE;
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public final class NavigationSuiteItemColors {
+    method public androidx.compose.material3.NavigationBarItemColors getNavigationBarItemColors();
+    method public androidx.compose.material3.NavigationDrawerItemColors getNavigationDrawerItemColors();
+    method public androidx.compose.material3.NavigationRailItemColors getNavigationRailItemColors();
+    property public final androidx.compose.material3.NavigationBarItemColors navigationBarItemColors;
+    property public final androidx.compose.material3.NavigationDrawerItemColors navigationDrawerItemColors;
+    property public final androidx.compose.material3.NavigationRailItemColors navigationRailItemColors;
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public final class NavigationSuiteScaffoldDefaults {
+    method public String calculateFromAdaptiveInfo(androidx.compose.material3.adaptive.WindowAdaptiveInfo adaptiveInfo);
+    field public static final androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScaffoldDefaults INSTANCE;
+  }
+
+  public final class NavigationSuiteScaffoldKt {
+    method @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi @androidx.compose.runtime.Composable public static void NavigationSuite(optional androidx.compose.ui.Modifier modifier, optional String layoutType, optional androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteColors colors, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScope,kotlin.Unit> content);
+    method @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi @androidx.compose.runtime.Composable public static void NavigationSuiteScaffold(kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScope,kotlin.Unit> navigationSuiteItems, optional androidx.compose.ui.Modifier modifier, optional String layoutType, optional androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteColors navigationSuiteColors, optional long containerColor, optional long contentColor, optional kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi @androidx.compose.runtime.Composable public static void NavigationSuiteScaffoldLayout(kotlin.jvm.functions.Function0<kotlin.Unit> navigationSuite, optional String layoutType, optional kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public interface NavigationSuiteScope {
+    method public void item(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> icon, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional boolean alwaysShowLabel, optional kotlin.jvm.functions.Function0<kotlin.Unit>? badge, optional androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteItemColors? colors, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource);
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi @kotlin.jvm.JvmInline public final value class NavigationSuiteType {
+    field public static final androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteType.Companion Companion;
+  }
+
+  public static final class NavigationSuiteType.Companion {
+    method public String getNavigationBar();
+    method public String getNavigationDrawer();
+    method public String getNavigationRail();
+    property public final String NavigationBar;
+    property public final String NavigationDrawer;
+    property public final String NavigationRail;
+  }
+
+}
+
diff --git a/compose/material3/material3-adaptive-navigation-suite/api/public_plus_experimental_current.txt b/compose/material3/material3-adaptive-navigation-suite/api/public_plus_experimental_current.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/compose/material3/material3-adaptive-navigation-suite/api/public_plus_experimental_current.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/compose/material3/material3-adaptive-navigation-suite/api/res-current.txt b/compose/material3/material3-adaptive-navigation-suite/api/res-current.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/material3/material3-adaptive-navigation-suite/api/res-current.txt
diff --git a/compose/material3/material3-adaptive-navigation-suite/api/restricted_current.txt b/compose/material3/material3-adaptive-navigation-suite/api/restricted_current.txt
new file mode 100644
index 0000000..db286e5
--- /dev/null
+++ b/compose/material3/material3-adaptive-navigation-suite/api/restricted_current.txt
@@ -0,0 +1,65 @@
+// Signature format: 4.0
+package androidx.compose.material3.adaptive.navigation.suite {
+
+  @SuppressCompatibility @kotlin.RequiresOptIn(message="This material3-adaptive-navigation-suite API is experimental and is likely to" + "change or to be removed in the future.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalMaterial3AdaptiveNavigationSuiteApi {
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public final class NavigationSuiteColors {
+    method public long getNavigationBarContainerColor();
+    method public long getNavigationBarContentColor();
+    method public long getNavigationDrawerContainerColor();
+    method public long getNavigationDrawerContentColor();
+    method public long getNavigationRailContainerColor();
+    method public long getNavigationRailContentColor();
+    property public final long navigationBarContainerColor;
+    property public final long navigationBarContentColor;
+    property public final long navigationDrawerContainerColor;
+    property public final long navigationDrawerContentColor;
+    property public final long navigationRailContainerColor;
+    property public final long navigationRailContentColor;
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public final class NavigationSuiteDefaults {
+    method @androidx.compose.runtime.Composable public androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteColors colors(optional long navigationBarContainerColor, optional long navigationBarContentColor, optional long navigationRailContainerColor, optional long navigationRailContentColor, optional long navigationDrawerContainerColor, optional long navigationDrawerContentColor);
+    field public static final androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteDefaults INSTANCE;
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public final class NavigationSuiteItemColors {
+    method public androidx.compose.material3.NavigationBarItemColors getNavigationBarItemColors();
+    method public androidx.compose.material3.NavigationDrawerItemColors getNavigationDrawerItemColors();
+    method public androidx.compose.material3.NavigationRailItemColors getNavigationRailItemColors();
+    property public final androidx.compose.material3.NavigationBarItemColors navigationBarItemColors;
+    property public final androidx.compose.material3.NavigationDrawerItemColors navigationDrawerItemColors;
+    property public final androidx.compose.material3.NavigationRailItemColors navigationRailItemColors;
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public final class NavigationSuiteScaffoldDefaults {
+    method public String calculateFromAdaptiveInfo(androidx.compose.material3.adaptive.WindowAdaptiveInfo adaptiveInfo);
+    field public static final androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScaffoldDefaults INSTANCE;
+  }
+
+  public final class NavigationSuiteScaffoldKt {
+    method @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi @androidx.compose.runtime.Composable public static void NavigationSuite(optional androidx.compose.ui.Modifier modifier, optional String layoutType, optional androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteColors colors, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScope,kotlin.Unit> content);
+    method @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi @androidx.compose.runtime.Composable public static void NavigationSuiteScaffold(kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScope,kotlin.Unit> navigationSuiteItems, optional androidx.compose.ui.Modifier modifier, optional String layoutType, optional androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteColors navigationSuiteColors, optional long containerColor, optional long contentColor, optional kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi @androidx.compose.runtime.Composable public static void NavigationSuiteScaffoldLayout(kotlin.jvm.functions.Function0<kotlin.Unit> navigationSuite, optional String layoutType, optional kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi public interface NavigationSuiteScope {
+    method public void item(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> icon, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional boolean alwaysShowLabel, optional kotlin.jvm.functions.Function0<kotlin.Unit>? badge, optional androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteItemColors? colors, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource);
+  }
+
+  @SuppressCompatibility @androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi @kotlin.jvm.JvmInline public final value class NavigationSuiteType {
+    field public static final androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteType.Companion Companion;
+  }
+
+  public static final class NavigationSuiteType.Companion {
+    method public String getNavigationBar();
+    method public String getNavigationDrawer();
+    method public String getNavigationRail();
+    property public final String NavigationBar;
+    property public final String NavigationDrawer;
+    property public final String NavigationRail;
+  }
+
+}
+
diff --git a/compose/material3/material3-adaptive-navigation-suite/build.gradle b/compose/material3/material3-adaptive-navigation-suite/build.gradle
new file mode 100644
index 0000000..08afef3
--- /dev/null
+++ b/compose/material3/material3-adaptive-navigation-suite/build.gradle
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import androidx.build.AndroidXComposePlugin
+import androidx.build.KmpPlatformsKt
+import androidx.build.LibraryType
+import androidx.build.PlatformIdentifier
+import androidx.build.Publish
+
+plugins {
+    id("AndroidXPlugin")
+    id("com.android.library")
+    id("AndroidXComposePlugin")
+}
+
+androidXMultiplatform {
+    android()
+    desktop()
+
+    defaultPlatform(PlatformIdentifier.ANDROID)
+
+    sourceSets {
+        commonMain {
+            dependencies {
+                implementation(libs.kotlinStdlibCommon)
+                implementation(project(":compose:material3:material3"))
+                implementation(project(":compose:material3:material3-adaptive"))
+                implementation(project(":compose:material3:material3-window-size-class"))
+                implementation(project(":compose:ui:ui-util"))
+            }
+        }
+
+        commonTest {
+            dependencies {
+            }
+        }
+
+        jvmMain {
+            dependsOn(commonMain)
+            dependencies {
+                implementation(libs.kotlinStdlib)
+            }
+        }
+
+        androidMain {
+            dependsOn(jvmMain)
+            dependencies {
+                api("androidx.annotation:annotation:1.1.0")
+                implementation(project(":lifecycle:lifecycle-runtime-compose"))
+                implementation(project(":window:window"))
+            }
+        }
+
+        desktopMain {
+            dependsOn(jvmMain)
+            dependencies {
+            }
+        }
+
+        jvmTest {
+            dependencies {
+            }
+        }
+
+        desktopTest {
+            dependsOn(jvmTest)
+        }
+
+        androidInstrumentedTest {
+            dependsOn(jvmTest)
+            dependsOn(androidMain)
+            dependencies {
+                implementation(project(":compose:test-utils"))
+                implementation(project(":window:window-testing"))
+                implementation(libs.junit)
+                implementation(libs.testRunner)
+                implementation(libs.truth)
+            }
+        }
+
+        androidUnitTest {
+            dependsOn(jvmTest)
+            dependencies {
+                implementation(libs.junit)
+                implementation(libs.testRunner)
+                implementation(libs.truth)
+            }
+        }
+    }
+}
+
+android {
+    namespace "androidx.compose.material3.adaptive.navigation.suite"
+}
+
+androidx {
+    name = "Material Adaptive Navigation Suite"
+    mavenVersion = LibraryVersions.COMPOSE_MATERIAL3_ADAPTIVE_NAVIGATION_SUITE
+    type = LibraryType.PUBLISHED_LIBRARY
+    publish = Publish.SNAPSHOT_ONLY
+    inceptionYear = "2023"
+    description = "Compose Material Design Adaptive Navigation Suite Library"
+}
diff --git a/compose/material3/material3-adaptive-navigation-suite/samples/build.gradle b/compose/material3/material3-adaptive-navigation-suite/samples/build.gradle
new file mode 100644
index 0000000..cd05fed
--- /dev/null
+++ b/compose/material3/material3-adaptive-navigation-suite/samples/build.gradle
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import androidx.build.LibraryType
+
+plugins {
+    id("AndroidXPlugin")
+    id("com.android.library")
+    id("AndroidXComposePlugin")
+    id("org.jetbrains.kotlin.android")
+}
+
+dependencies {
+
+    implementation(libs.kotlinStdlib)
+
+    compileOnly(project(":annotation:annotation-sampled"))
+
+    implementation(project(":compose:foundation:foundation"))
+    implementation(project(":compose:foundation:foundation-layout"))
+    implementation(project(":compose:material3:material3"))
+    implementation(project(":compose:material3:material3-adaptive"))
+    implementation(project(":compose:material3:material3-adaptive-navigation-suite"))
+    implementation(project(":compose:material3:material3-window-size-class"))
+    implementation(project(":compose:ui:ui-util"))
+    implementation("androidx.compose.ui:ui-tooling-preview:1.4.1")
+
+    debugImplementation("androidx.compose.ui:ui-tooling:1.4.1")
+}
+
+androidx {
+    name = "Compose Material3 Adaptive Navigation Suite Samples"
+    type = LibraryType.SAMPLES
+    inceptionYear = "2023"
+    description = "Contains the sample code for the AndroidX Compose Material Adaptive Navigation" +
+                  " Suite."
+}
+
+android {
+    namespace "androidx.compose.material3.adaptive.navigation.suite.samples"
+}
diff --git a/compose/material3/material3-adaptive/samples/src/main/java/androidx/compose/material3-adaptive/samples/NavigationSuiteScaffoldSamples.kt b/compose/material3/material3-adaptive-navigation-suite/samples/src/main/java/androidx/compose/material3-adaptive-navigation-suite/samples/NavigationSuiteScaffoldSamples.kt
similarity index 84%
rename from compose/material3/material3-adaptive/samples/src/main/java/androidx/compose/material3-adaptive/samples/NavigationSuiteScaffoldSamples.kt
rename to compose/material3/material3-adaptive-navigation-suite/samples/src/main/java/androidx/compose/material3-adaptive-navigation-suite/samples/NavigationSuiteScaffoldSamples.kt
index bba3254..ed9664a 100644
--- a/compose/material3/material3-adaptive/samples/src/main/java/androidx/compose/material3-adaptive/samples/NavigationSuiteScaffoldSamples.kt
+++ b/compose/material3/material3-adaptive-navigation-suite/samples/src/main/java/androidx/compose/material3-adaptive-navigation-suite/samples/NavigationSuiteScaffoldSamples.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.compose.material3.adaptive.samples
+package androidx.compose.material3.adaptive.navigation.suite.samples
 
 import androidx.annotation.Sampled
 import androidx.compose.foundation.layout.padding
@@ -23,10 +23,11 @@
 import androidx.compose.material3.Icon
 import androidx.compose.material3.Text
 import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
-import androidx.compose.material3.adaptive.NavigationSuiteScaffold
-import androidx.compose.material3.adaptive.NavigationSuiteScaffoldDefaults
-import androidx.compose.material3.adaptive.NavigationSuiteType
 import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo
+import androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi
+import androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScaffold
+import androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteScaffoldDefaults
+import androidx.compose.material3.adaptive.navigation.suite.NavigationSuiteType
 import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
@@ -37,7 +38,8 @@
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 
-@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@OptIn(ExperimentalMaterial3AdaptiveApi::class,
+    ExperimentalMaterial3AdaptiveNavigationSuiteApi::class)
 @Preview
 @Sampled
 @Composable
@@ -67,7 +69,8 @@
     }
 }
 
-@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@OptIn(ExperimentalMaterial3AdaptiveApi::class,
+    ExperimentalMaterial3AdaptiveNavigationSuiteApi::class)
 @Preview
 @Sampled
 @Composable
diff --git a/compose/material3/material3-adaptive-navigation-suite/src/androidMain/AndroidManifest.xml b/compose/material3/material3-adaptive-navigation-suite/src/androidMain/AndroidManifest.xml
new file mode 100644
index 0000000..3150d7d
--- /dev/null
+++ b/compose/material3/material3-adaptive-navigation-suite/src/androidMain/AndroidManifest.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 2023 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+
+</manifest>
\ No newline at end of file
diff --git a/compose/material3/material3-adaptive/src/androidMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.android.kt b/compose/material3/material3-adaptive-navigation-suite/src/androidMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.android.kt
similarity index 75%
rename from compose/material3/material3-adaptive/src/androidMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.android.kt
rename to compose/material3/material3-adaptive-navigation-suite/src/androidMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.android.kt
index ce6c321..be34e16 100644
--- a/compose/material3/material3-adaptive/src/androidMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.android.kt
+++ b/compose/material3/material3-adaptive-navigation-suite/src/androidMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.android.kt
@@ -14,8 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.compose.material3.adaptive
+package androidx.compose.material3.adaptive.navigation.suite
 
+import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
+import androidx.compose.material3.adaptive.WindowAdaptiveInfo
+import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo
 import androidx.compose.runtime.Composable
 
 @OptIn(ExperimentalMaterial3AdaptiveApi::class)
diff --git a/compose/material3/material3-adaptive/src/androidUnitTest/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffoldTest.kt b/compose/material3/material3-adaptive-navigation-suite/src/androidUnitTest/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffoldTest.kt
similarity index 93%
rename from compose/material3/material3-adaptive/src/androidUnitTest/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffoldTest.kt
rename to compose/material3/material3-adaptive-navigation-suite/src/androidUnitTest/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffoldTest.kt
index 6ab65eb..745cccb 100644
--- a/compose/material3/material3-adaptive/src/androidUnitTest/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffoldTest.kt
+++ b/compose/material3/material3-adaptive-navigation-suite/src/androidUnitTest/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffoldTest.kt
@@ -14,8 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.compose.material3.adaptive
+package androidx.compose.material3.adaptive.navigation.suite
 
+import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
+import androidx.compose.material3.adaptive.Posture
+import androidx.compose.material3.adaptive.WindowAdaptiveInfo
 import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi
 import androidx.compose.material3.windowsizeclass.WindowSizeClass
 import androidx.compose.ui.unit.DpSize
@@ -25,7 +28,8 @@
 import org.junit.runner.RunWith
 import org.junit.runners.JUnit4
 
-@OptIn(ExperimentalMaterial3AdaptiveApi::class, ExperimentalMaterial3WindowSizeClassApi::class)
+@OptIn(ExperimentalMaterial3AdaptiveNavigationSuiteApi::class,
+    ExperimentalMaterial3AdaptiveApi::class, ExperimentalMaterial3WindowSizeClassApi::class)
 @RunWith(JUnit4::class)
 class NavigationSuiteScaffoldTest {
 
diff --git a/compose/material3/material3-adaptive/src/androidMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.android.kt b/compose/material3/material3-adaptive-navigation-suite/src/commonMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/ExperimentalMaterial3AdaptiveComponentsApi.kt
similarity index 65%
copy from compose/material3/material3-adaptive/src/androidMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.android.kt
copy to compose/material3/material3-adaptive-navigation-suite/src/commonMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/ExperimentalMaterial3AdaptiveComponentsApi.kt
index ce6c321..054c8e5 100644
--- a/compose/material3/material3-adaptive/src/androidMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.android.kt
+++ b/compose/material3/material3-adaptive-navigation-suite/src/commonMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/ExperimentalMaterial3AdaptiveComponentsApi.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.compose.material3.adaptive
+package androidx.compose.material3.adaptive.navigation.suite
 
-import androidx.compose.runtime.Composable
-
-@OptIn(ExperimentalMaterial3AdaptiveApi::class)
-internal actual val WindowAdaptiveInfoDefault: WindowAdaptiveInfo
-    @Composable
-    get() = currentWindowAdaptiveInfo()
+@RequiresOptIn(
+    "This material3-adaptive-navigation-suite API is experimental and is likely to" +
+        "change or to be removed in the future."
+)
+@Retention(AnnotationRetention.BINARY)
+annotation class ExperimentalMaterial3AdaptiveNavigationSuiteApi
diff --git a/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.kt b/compose/material3/material3-adaptive-navigation-suite/src/commonMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.kt
similarity index 95%
rename from compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.kt
rename to compose/material3/material3-adaptive-navigation-suite/src/commonMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.kt
index 33e9865..85338443 100644
--- a/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.kt
+++ b/compose/material3/material3-adaptive-navigation-suite/src/commonMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.compose.material3.adaptive
+package androidx.compose.material3.adaptive.navigation.suite
 
 import androidx.compose.foundation.interaction.Interaction
 import androidx.compose.foundation.interaction.MutableInteractionSource
@@ -39,6 +39,8 @@
 import androidx.compose.material3.PermanentDrawerSheet
 import androidx.compose.material3.Surface
 import androidx.compose.material3.Text
+import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
+import androidx.compose.material3.adaptive.WindowAdaptiveInfo
 import androidx.compose.material3.contentColorFor
 import androidx.compose.material3.windowsizeclass.WindowHeightSizeClass.Companion.Compact
 import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass.Companion.Expanded
@@ -63,9 +65,9 @@
  * navigation component on the screen according to the current [NavigationSuiteType].
  *
  * Example default usage:
- * @sample androidx.compose.material3.adaptive.samples.NavigationSuiteScaffoldSample
+ * @sample androidx.compose.material3.adaptive.navigation.suite.samples.NavigationSuiteScaffoldSample
  * Example custom configuration usage:
- * @sample androidx.compose.material3.adaptive.samples.NavigationSuiteScaffoldCustomConfigSample
+ * @sample androidx.compose.material3.adaptive.navigation.suite.samples.NavigationSuiteScaffoldCustomConfigSample
  *
  * @param navigationSuiteItems the navigation items to be displayed
  * @param modifier the [Modifier] to be applied to the navigation suite scaffold
@@ -81,7 +83,8 @@
  * [LocalContentColor] if [containerColor] is not a color from the theme
  * @param content the content of your screen
  */
-@ExperimentalMaterial3AdaptiveApi
+@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 @Composable
 fun NavigationSuiteScaffold(
     navigationSuiteItems: NavigationSuiteScope.() -> Unit,
@@ -117,7 +120,8 @@
  * [NavigationSuiteScaffoldDefaults.calculateFromAdaptiveInfo]
  * @param content the content of your screen
  */
-@ExperimentalMaterial3AdaptiveApi
+@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 @Composable
 fun NavigationSuiteScaffoldLayout(
     navigationSuite: @Composable () -> Unit,
@@ -192,7 +196,8 @@
  * @param content the content inside the current navigation component, typically
  * [NavigationSuiteScope.item]s
  */
-@ExperimentalMaterial3AdaptiveApi
+@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 @Composable
 fun NavigationSuite(
     modifier: Modifier = Modifier,
@@ -275,7 +280,7 @@
 }
 
 /** The scope associated with the [NavigationSuiteScope]. */
-@ExperimentalMaterial3AdaptiveApi
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 interface NavigationSuiteScope {
 
     /**
@@ -323,7 +328,7 @@
  * The [NavigationSuiteType] informs the [NavigationSuite] of what navigation component to expect.
  */
 @JvmInline
-@ExperimentalMaterial3AdaptiveApi
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 value class NavigationSuiteType private constructor(private val description: String) {
     override fun toString(): String {
         return description
@@ -357,7 +362,7 @@
 }
 
 /** Contains the default values used by the [NavigationSuiteScaffold]. */
-@ExperimentalMaterial3AdaptiveApi
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 object NavigationSuiteScaffoldDefaults {
     /**
      * Returns the expected [NavigationSuiteType] according to the provided [WindowAdaptiveInfo].
@@ -366,6 +371,7 @@
      * @param adaptiveInfo the provided [WindowAdaptiveInfo]
      * @see NavigationSuiteScaffold
      */
+    @OptIn(ExperimentalMaterial3AdaptiveApi::class)
     fun calculateFromAdaptiveInfo(adaptiveInfo: WindowAdaptiveInfo): NavigationSuiteType {
         return with(adaptiveInfo) {
             if (posture.isTabletop || windowSizeClass.heightSizeClass == Compact) {
@@ -382,7 +388,7 @@
 }
 
 /** Contains the default values used by the [NavigationSuite]. */
-@ExperimentalMaterial3AdaptiveApi
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 object NavigationSuiteDefaults {
     /**
      * Creates a [NavigationSuiteColors] with the provided colors for the container color, according
@@ -439,7 +445,7 @@
  * @param navigationDrawerContentColor the content color for the [PermanentDrawerSheet] of the
  * [NavigationSuite]
  */
-@ExperimentalMaterial3AdaptiveApi
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 class NavigationSuiteColors
 internal constructor(
     val navigationBarContainerColor: Color,
@@ -463,7 +469,7 @@
  * @param navigationDrawerItemColors the [NavigationDrawerItemColors] associated with the
  * [NavigationDrawerItem] of the [NavigationSuiteScope.item]
  */
-@ExperimentalMaterial3AdaptiveApi
+@ExperimentalMaterial3AdaptiveNavigationSuiteApi
 class NavigationSuiteItemColors
 internal constructor(
     val navigationBarItemColors: NavigationBarItemColors,
@@ -481,7 +487,7 @@
     val itemList: MutableVector<NavigationSuiteItem>
 }
 
-@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@OptIn(ExperimentalMaterial3AdaptiveNavigationSuiteApi::class)
 private class NavigationSuiteItem(
     val selected: Boolean,
     val onClick: () -> Unit,
@@ -495,7 +501,7 @@
     val interactionSource: MutableInteractionSource
 )
 
-@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@OptIn(ExperimentalMaterial3AdaptiveNavigationSuiteApi::class)
 private class NavigationSuiteScopeImpl : NavigationSuiteScope,
     NavigationSuiteItemProvider {
 
@@ -533,7 +539,7 @@
         get() = itemList.size
 }
 
-@OptIn(ExperimentalMaterial3AdaptiveApi::class)
+@OptIn(ExperimentalMaterial3AdaptiveNavigationSuiteApi::class)
 @Composable
 private fun rememberStateOfItems(
     content: NavigationSuiteScope.() -> Unit
diff --git a/compose/material3/material3-adaptive/src/desktopMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.desktop.kt b/compose/material3/material3-adaptive-navigation-suite/src/desktopMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.desktop.kt
similarity index 81%
rename from compose/material3/material3-adaptive/src/desktopMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.desktop.kt
rename to compose/material3/material3-adaptive-navigation-suite/src/desktopMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.desktop.kt
index 6a4a617..1794e73a 100644
--- a/compose/material3/material3-adaptive/src/desktopMain/kotlin/androidx/compose/material3/adaptive/NavigationSuiteScaffold.desktop.kt
+++ b/compose/material3/material3-adaptive-navigation-suite/src/desktopMain/kotlin/androidx/compose/material3/adaptive/navigation-suite/NavigationSuiteScaffold.desktop.kt
@@ -14,8 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.compose.material3.adaptive
+package androidx.compose.material3.adaptive.navigation.suite
 
+import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
+import androidx.compose.material3.adaptive.Posture
+import androidx.compose.material3.adaptive.WindowAdaptiveInfo
 import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi
 import androidx.compose.material3.windowsizeclass.WindowSizeClass
 import androidx.compose.ui.unit.DpSize
diff --git a/compose/material3/material3-adaptive/api/current.txt b/compose/material3/material3-adaptive/api/current.txt
index 15b55c6..51cbf5f 100644
--- a/compose/material3/material3-adaptive/api/current.txt
+++ b/compose/material3/material3-adaptive/api/current.txt
@@ -77,63 +77,6 @@
     property public abstract androidx.compose.material3.adaptive.ThreePaneScaffoldValue scaffoldValue;
   }
 
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class NavigationSuiteColors {
-    method public long getNavigationBarContainerColor();
-    method public long getNavigationBarContentColor();
-    method public long getNavigationDrawerContainerColor();
-    method public long getNavigationDrawerContentColor();
-    method public long getNavigationRailContainerColor();
-    method public long getNavigationRailContentColor();
-    property public final long navigationBarContainerColor;
-    property public final long navigationBarContentColor;
-    property public final long navigationDrawerContainerColor;
-    property public final long navigationDrawerContentColor;
-    property public final long navigationRailContainerColor;
-    property public final long navigationRailContentColor;
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class NavigationSuiteDefaults {
-    method @androidx.compose.runtime.Composable public androidx.compose.material3.adaptive.NavigationSuiteColors colors(optional long navigationBarContainerColor, optional long navigationBarContentColor, optional long navigationRailContainerColor, optional long navigationRailContentColor, optional long navigationDrawerContainerColor, optional long navigationDrawerContentColor);
-    field public static final androidx.compose.material3.adaptive.NavigationSuiteDefaults INSTANCE;
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class NavigationSuiteItemColors {
-    method public androidx.compose.material3.NavigationBarItemColors getNavigationBarItemColors();
-    method public androidx.compose.material3.NavigationDrawerItemColors getNavigationDrawerItemColors();
-    method public androidx.compose.material3.NavigationRailItemColors getNavigationRailItemColors();
-    property public final androidx.compose.material3.NavigationBarItemColors navigationBarItemColors;
-    property public final androidx.compose.material3.NavigationDrawerItemColors navigationDrawerItemColors;
-    property public final androidx.compose.material3.NavigationRailItemColors navigationRailItemColors;
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class NavigationSuiteScaffoldDefaults {
-    method public String calculateFromAdaptiveInfo(androidx.compose.material3.adaptive.WindowAdaptiveInfo adaptiveInfo);
-    field public static final androidx.compose.material3.adaptive.NavigationSuiteScaffoldDefaults INSTANCE;
-  }
-
-  public final class NavigationSuiteScaffoldKt {
-    method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void NavigationSuite(optional androidx.compose.ui.Modifier modifier, optional String layoutType, optional androidx.compose.material3.adaptive.NavigationSuiteColors colors, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.NavigationSuiteScope,kotlin.Unit> content);
-    method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void NavigationSuiteScaffold(kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.NavigationSuiteScope,kotlin.Unit> navigationSuiteItems, optional androidx.compose.ui.Modifier modifier, optional String layoutType, optional androidx.compose.material3.adaptive.NavigationSuiteColors navigationSuiteColors, optional long containerColor, optional long contentColor, optional kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void NavigationSuiteScaffoldLayout(kotlin.jvm.functions.Function0<kotlin.Unit> navigationSuite, optional String layoutType, optional kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public interface NavigationSuiteScope {
-    method public void item(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> icon, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional boolean alwaysShowLabel, optional kotlin.jvm.functions.Function0<kotlin.Unit>? badge, optional androidx.compose.material3.adaptive.NavigationSuiteItemColors? colors, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource);
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @kotlin.jvm.JvmInline public final value class NavigationSuiteType {
-    field public static final androidx.compose.material3.adaptive.NavigationSuiteType.Companion Companion;
-  }
-
-  public static final class NavigationSuiteType.Companion {
-    method public String getNavigationBar();
-    method public String getNavigationDrawer();
-    method public String getNavigationRail();
-    property public final String NavigationBar;
-    property public final String NavigationDrawer;
-    property public final String NavigationRail;
-  }
-
   @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @kotlin.jvm.JvmInline public final value class PaneAdaptedValue {
     field public static final androidx.compose.material3.adaptive.PaneAdaptedValue.Companion Companion;
   }
diff --git a/compose/material3/material3-adaptive/api/restricted_current.txt b/compose/material3/material3-adaptive/api/restricted_current.txt
index 15b55c6..51cbf5f 100644
--- a/compose/material3/material3-adaptive/api/restricted_current.txt
+++ b/compose/material3/material3-adaptive/api/restricted_current.txt
@@ -77,63 +77,6 @@
     property public abstract androidx.compose.material3.adaptive.ThreePaneScaffoldValue scaffoldValue;
   }
 
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class NavigationSuiteColors {
-    method public long getNavigationBarContainerColor();
-    method public long getNavigationBarContentColor();
-    method public long getNavigationDrawerContainerColor();
-    method public long getNavigationDrawerContentColor();
-    method public long getNavigationRailContainerColor();
-    method public long getNavigationRailContentColor();
-    property public final long navigationBarContainerColor;
-    property public final long navigationBarContentColor;
-    property public final long navigationDrawerContainerColor;
-    property public final long navigationDrawerContentColor;
-    property public final long navigationRailContainerColor;
-    property public final long navigationRailContentColor;
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class NavigationSuiteDefaults {
-    method @androidx.compose.runtime.Composable public androidx.compose.material3.adaptive.NavigationSuiteColors colors(optional long navigationBarContainerColor, optional long navigationBarContentColor, optional long navigationRailContainerColor, optional long navigationRailContentColor, optional long navigationDrawerContainerColor, optional long navigationDrawerContentColor);
-    field public static final androidx.compose.material3.adaptive.NavigationSuiteDefaults INSTANCE;
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class NavigationSuiteItemColors {
-    method public androidx.compose.material3.NavigationBarItemColors getNavigationBarItemColors();
-    method public androidx.compose.material3.NavigationDrawerItemColors getNavigationDrawerItemColors();
-    method public androidx.compose.material3.NavigationRailItemColors getNavigationRailItemColors();
-    property public final androidx.compose.material3.NavigationBarItemColors navigationBarItemColors;
-    property public final androidx.compose.material3.NavigationDrawerItemColors navigationDrawerItemColors;
-    property public final androidx.compose.material3.NavigationRailItemColors navigationRailItemColors;
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class NavigationSuiteScaffoldDefaults {
-    method public String calculateFromAdaptiveInfo(androidx.compose.material3.adaptive.WindowAdaptiveInfo adaptiveInfo);
-    field public static final androidx.compose.material3.adaptive.NavigationSuiteScaffoldDefaults INSTANCE;
-  }
-
-  public final class NavigationSuiteScaffoldKt {
-    method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void NavigationSuite(optional androidx.compose.ui.Modifier modifier, optional String layoutType, optional androidx.compose.material3.adaptive.NavigationSuiteColors colors, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.NavigationSuiteScope,kotlin.Unit> content);
-    method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void NavigationSuiteScaffold(kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.NavigationSuiteScope,kotlin.Unit> navigationSuiteItems, optional androidx.compose.ui.Modifier modifier, optional String layoutType, optional androidx.compose.material3.adaptive.NavigationSuiteColors navigationSuiteColors, optional long containerColor, optional long contentColor, optional kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void NavigationSuiteScaffoldLayout(kotlin.jvm.functions.Function0<kotlin.Unit> navigationSuite, optional String layoutType, optional kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public interface NavigationSuiteScope {
-    method public void item(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> icon, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional boolean alwaysShowLabel, optional kotlin.jvm.functions.Function0<kotlin.Unit>? badge, optional androidx.compose.material3.adaptive.NavigationSuiteItemColors? colors, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource);
-  }
-
-  @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @kotlin.jvm.JvmInline public final value class NavigationSuiteType {
-    field public static final androidx.compose.material3.adaptive.NavigationSuiteType.Companion Companion;
-  }
-
-  public static final class NavigationSuiteType.Companion {
-    method public String getNavigationBar();
-    method public String getNavigationDrawer();
-    method public String getNavigationRail();
-    property public final String NavigationBar;
-    property public final String NavigationDrawer;
-    property public final String NavigationRail;
-  }
-
   @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @kotlin.jvm.JvmInline public final value class PaneAdaptedValue {
     field public static final androidx.compose.material3.adaptive.PaneAdaptedValue.Companion Companion;
   }
diff --git a/compose/material3/material3/integration-tests/material3-catalog/build.gradle b/compose/material3/material3/integration-tests/material3-catalog/build.gradle
index c94165a..1313927 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/build.gradle
+++ b/compose/material3/material3/integration-tests/material3-catalog/build.gradle
@@ -34,7 +34,7 @@
     implementation project(":compose:material:material-icons-extended")
     implementation project(":compose:material3:material3")
     implementation project(":compose:material3:material3:material3-samples")
-    implementation project(":compose:material3:material3-adaptive:material3-adaptive-samples")
+    implementation project(":compose:material3:material3-adaptive-navigation-suite:material3-adaptive-navigation-suite-samples")
     implementation project(":datastore:datastore-preferences")
     implementation project(":navigation:navigation-compose")
 }
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/model/Components.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/model/Components.kt
index 9ab9751..12a41b1 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/model/Components.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/model/Components.kt
@@ -18,7 +18,7 @@
 
 import androidx.annotation.DrawableRes
 import androidx.compose.material3.catalog.library.R
-import androidx.compose.material3.catalog.library.util.AdaptiveMaterial3SourceUrl
+import androidx.compose.material3.catalog.library.util.AdaptiveNavigationSuiteMaterial3SourceUrl
 import androidx.compose.material3.catalog.library.util.ComponentGuidelinesUrl
 import androidx.compose.material3.catalog.library.util.DocsUrl
 import androidx.compose.material3.catalog.library.util.Material3SourceUrl
@@ -254,7 +254,7 @@
     // No navigation suite scaffold icon
     guidelinesUrl = "", // TODO: Add guidelines url when available
     docsUrl = "", // TODO: Add docs url when available
-    sourceUrl = "$AdaptiveMaterial3SourceUrl/NavigationSuiteScaffold.kt",
+    sourceUrl = "$AdaptiveNavigationSuiteMaterial3SourceUrl/NavigationSuiteScaffold.kt",
     examples = NavigationSuiteScaffoldExamples
 )
 
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/model/Examples.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/model/Examples.kt
index a8b34ca..cde3f65 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/model/Examples.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/model/Examples.kt
@@ -21,9 +21,9 @@
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.layout.wrapContentWidth
-import androidx.compose.material3.adaptive.samples.NavigationSuiteScaffoldCustomConfigSample
-import androidx.compose.material3.adaptive.samples.NavigationSuiteScaffoldSample
-import androidx.compose.material3.catalog.library.util.AdaptiveSampleSourceUrl
+import androidx.compose.material3.adaptive.navigation.suite.samples.NavigationSuiteScaffoldCustomConfigSample
+import androidx.compose.material3.adaptive.navigation.suite.samples.NavigationSuiteScaffoldSample
+import androidx.compose.material3.catalog.library.util.AdaptiveNavigationSuiteSampleSourceUrl
 import androidx.compose.material3.catalog.library.util.SampleSourceUrl
 import androidx.compose.material3.samples.AlertDialogSample
 import androidx.compose.material3.samples.AlertDialogWithCustomContentSample
@@ -728,7 +728,7 @@
 
 private const val NavigationSuiteScaffoldExampleDescription = "Navigation suite scaffold examples"
 private const val NavigationSuiteScaffoldExampleSourceUrl =
-    "$AdaptiveSampleSourceUrl/NavigationSuiteScaffoldSamples.kt"
+    "$AdaptiveNavigationSuiteSampleSourceUrl/NavigationSuiteScaffoldSamples.kt"
 val NavigationSuiteScaffoldExamples =
     listOf(
         Example(
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/util/Url.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/util/Url.kt
index 0836cfe..175decf 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/util/Url.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/util/Url.kt
@@ -40,12 +40,12 @@
 const val SampleSourceUrl = "https://cs.android.com/androidx/platform/frameworks/support/+/" +
     "androidx-main:compose/material3/" +
     "material3/samples/src/main/java/androidx/compose/material3/samples"
-const val AdaptiveMaterial3SourceUrl = "https://cs.android.com/androidx/platform/frameworks/" +
-    "support/+/androidx-main:compose/material3/" +
-    "material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive"
-const val AdaptiveSampleSourceUrl = "https://cs.android.com/androidx/platform/frameworks/" +
-    "support/+/androidx-main:compose/material3/material3-adaptive" +
-    "samples/src/main/java/androidx/compose/material3-adaptive/samples"
+const val AdaptiveNavigationSuiteMaterial3SourceUrl = "https://cs.android.com/androidx/platform/" +
+    "frameworks/support/+/androidx-main:compose/material3/material3-adaptive-navigation-suite/" +
+    "src/commonMain/kotlin/androidx/compose/material3/adaptive/navigation-suite"
+const val AdaptiveNavigationSuiteSampleSourceUrl = "https://cs.android.com/androidx/platform/" +
+    "frameworks/support/+/androidx-main:compose/material3/material3-adaptive-navigation-suite" +
+    "samples/src/main/java/androidx/compose/material3-adaptive-navigation-suite/samples"
 const val IssueUrl = "https://issuetracker.google.com/issues/new?component=742043"
 const val TermsUrl = "https://policies.google.com/terms"
 const val PrivacyUrl = "https://policies.google.com/privacy"
diff --git a/docs-tip-of-tree/build.gradle b/docs-tip-of-tree/build.gradle
index e6838d3..5040829 100644
--- a/docs-tip-of-tree/build.gradle
+++ b/docs-tip-of-tree/build.gradle
@@ -89,6 +89,8 @@
     kmpDocs(project(":compose:material3:material3"))
     kmpDocs(project(":compose:material3:material3-adaptive"))
     samples(project(":compose:material3:material3-adaptive:material3-adaptive-samples"))
+    kmpDocs(project(":compose:material3:material3-adaptive-navigation-suite"))
+    samples(project(":compose:material3:material3-adaptive-navigation-suite:material3-adaptive-navigation-suite-samples"))
     samples(project(":compose:material3:material3:material3-samples"))
     kmpDocs(project(":compose:material3:material3-window-size-class"))
     samples(project(":compose:material3:material3-window-size-class:material3-window-size-class-samples"))
diff --git a/libraryversions.toml b/libraryversions.toml
index 3b41f13..c22ebfb 100644
--- a/libraryversions.toml
+++ b/libraryversions.toml
@@ -23,6 +23,7 @@
 COMPOSE_COMPILER = "1.5.3"
 COMPOSE_MATERIAL3 = "1.2.0-alpha10"
 COMPOSE_MATERIAL3_ADAPTIVE = "1.0.0-alpha01"
+COMPOSE_MATERIAL3_ADAPTIVE_NAVIGATION_SUITE = "1.0.0-alpha01"
 COMPOSE_RUNTIME_TRACING = "1.0.0-alpha05"
 CONSTRAINTLAYOUT = "2.2.0-alpha13"
 CONSTRAINTLAYOUT_COMPOSE = "1.1.0-alpha13"
diff --git a/settings.gradle b/settings.gradle
index 9c56c24..059d25a 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -509,6 +509,8 @@
 includeProject(":compose:material3:benchmark", [BuildType.COMPOSE])
 includeProject(":compose:material3:material3-adaptive", [BuildType.COMPOSE])
 includeProject(":compose:material3:material3-adaptive:material3-adaptive-samples", "compose/material3/material3-adaptive/samples", [BuildType.COMPOSE])
+includeProject(":compose:material3:material3-adaptive-navigation-suite", [BuildType.COMPOSE])
+includeProject(":compose:material3:material3-adaptive-navigation-suite:material3-adaptive-navigation-suite-samples", "compose/material3/material3-adaptive-navigation-suite/samples", [BuildType.COMPOSE])
 includeProject(":compose:material3:material3-lint", [BuildType.COMPOSE])
 includeProject(":compose:material3:material3-window-size-class", [BuildType.COMPOSE])
 includeProject(":compose:material3:material3-window-size-class:material3-window-size-class-samples", "compose/material3/material3-window-size-class/samples", [BuildType.COMPOSE])