[go: nahoru, domu]

Add an extension to simplify token to theme color call
Test: run catalog, existing tests

Change-Id: I7c68cbc3a33b410b6b4444a7e58411b1bc2ace68
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AlertDialogTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AlertDialogTest.kt
index 53a64db..0e68e64 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AlertDialogTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AlertDialogTest.kt
@@ -21,6 +21,7 @@
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.Favorite
+import androidx.compose.material3.tokens.DialogTokens
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.setValue
@@ -88,10 +89,7 @@
                     TextButton( /* doSomething() */ }) {
                         Text("Confirm")
                         buttonContentColor = LocalContentColor.current
-                        expectedButtonContentColor =
-                            MaterialTheme.colorScheme.fromToken(
-                                androidx.compose.material3.tokens.DialogTokens.ActionLabelTextColor
-                            )
+                        expectedButtonContentColor = DialogTokens.ActionLabelTextColor.toColor()
                     }
                 },
                 containerColor = Color.Yellow,
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/BadgeTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/BadgeTest.kt
index cbff0c7..9512123 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/BadgeTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/BadgeTest.kt
@@ -105,7 +105,7 @@
     fun badge_noContent_shape() {
         var errorColor = Color.Unspecified
         rule.setMaterialContent(lightColorScheme()) {
-            errorColor = MaterialTheme.colorScheme.fromToken(BadgeTokens.Color)
+            errorColor = BadgeTokens.Color.toColor()
             Badge(modifier = Modifier.testTag(TestBadgeTag))
         }
 
diff --git a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/AndroidAlertDialog.android.kt b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/AndroidAlertDialog.android.kt
index db3aad2..c5faba0 100644
--- a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/AndroidAlertDialog.android.kt
+++ b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/AndroidAlertDialog.android.kt
@@ -16,6 +16,7 @@
 
 package androidx.compose.material3
 
+import androidx.compose.material3.tokens.DialogTokens
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
@@ -75,21 +76,12 @@
     icon: @Composable (() -> Unit)? = null,
     title: @Composable (() -> Unit)? = null,
     text: @Composable (() -> Unit)? = null,
-    shape: Shape = androidx.compose.material3.tokens.DialogTokens.ContainerShape,
-    containerColor: Color =
-        MaterialTheme.colorScheme.fromToken(
-            androidx.compose.material3.tokens.DialogTokens.ContainerColor
-        ),
-    tonalElevation: Dp = androidx.compose.material3.tokens.DialogTokens.ContainerElevation,
-    iconContentColor: Color = MaterialTheme.colorScheme.fromToken(
-        androidx.compose.material3.tokens.DialogTokens.IconColor
-    ),
-    titleContentColor: Color = MaterialTheme.colorScheme.fromToken(
-        androidx.compose.material3.tokens.DialogTokens.SubheadColor
-    ),
-    textContentColor: Color = MaterialTheme.colorScheme.fromToken(
-        androidx.compose.material3.tokens.DialogTokens.SupportingTextColor
-    ),
+    shape: Shape = DialogTokens.ContainerShape,
+    containerColor: Color = DialogTokens.ContainerColor.toColor(),
+    tonalElevation: Dp = DialogTokens.ContainerElevation,
+    iconContentColor: Color = DialogTokens.IconColor.toColor(),
+    titleContentColor: Color = DialogTokens.SubheadColor.toColor(),
+    textContentColor: Color = DialogTokens.SupportingTextColor.toColor(),
     properties: DialogProperties = DialogProperties()
 ) {
     Dialog(
@@ -117,9 +109,7 @@
             // most cases, TextButtons should be used for dismiss and confirm buttons.
             // TextButtons will not consume this provided content color value, and will used their
             // own defined or default colors.
-            buttonContentColor = MaterialTheme.colorScheme.fromToken(
-                androidx.compose.material3.tokens.DialogTokens.ActionLabelTextColor
-            ),
+            buttonContentColor = DialogTokens.ActionLabelTextColor.toColor(),
             iconContentColor = iconContentColor,
             titleContentColor = titleContentColor,
             textContentColor = textContentColor,
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/AppBar.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/AppBar.kt
index 39d9d06..4d9019a 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/AppBar.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/AppBar.kt
@@ -393,18 +393,14 @@
      */
     @Composable
     fun smallTopAppBarColors(
-        containerColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarSmallTokens.ContainerColor),
+        containerColor: Color = TopAppBarSmallTokens.ContainerColor.toColor(),
         scrolledContainerColor: Color = MaterialTheme.colorScheme.applyTonalElevation(
             backgroundColor = containerColor,
             elevation = TopAppBarSmallTokens.OnScrollContainerElevation
         ),
-        navigationIconContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarSmallTokens.LeadingIconColor),
-        titleContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarSmallTokens.HeadlineColor),
-        actionIconContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarSmallTokens.TrailingIconColor)
+        navigationIconContentColor: Color = TopAppBarSmallTokens.LeadingIconColor.toColor(),
+        titleContentColor: Color = TopAppBarSmallTokens.HeadlineColor.toColor(),
+        actionIconContentColor: Color = TopAppBarSmallTokens.TrailingIconColor.toColor(),
     ): TopAppBarColors {
         return remember(
             containerColor,
@@ -436,18 +432,14 @@
      */
     @Composable
     fun centerAlignedTopAppBarColors(
-        containerColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarSmallCenteredTokens.ContainerColor),
+        containerColor: Color = TopAppBarSmallCenteredTokens.ContainerColor.toColor(),
         scrolledContainerColor: Color = MaterialTheme.colorScheme.applyTonalElevation(
             backgroundColor = containerColor,
             elevation = TopAppBarSmallTokens.OnScrollContainerElevation
         ),
-        navigationIconContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarSmallCenteredTokens.LeadingIconColor),
-        titleContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarSmallCenteredTokens.HeadlineColor),
-        actionIconContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarSmallCenteredTokens.TrailingIconColor)
+        navigationIconContentColor: Color = TopAppBarSmallCenteredTokens.LeadingIconColor.toColor(),
+        titleContentColor: Color = TopAppBarSmallCenteredTokens.HeadlineColor.toColor(),
+        actionIconContentColor: Color = TopAppBarSmallCenteredTokens.TrailingIconColor.toColor(),
     ): TopAppBarColors {
         return remember(
             containerColor,
@@ -480,18 +472,14 @@
      */
     @Composable
     fun mediumTopAppBarColors(
-        containerColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarMediumTokens.ContainerColor),
+        containerColor: Color = TopAppBarMediumTokens.ContainerColor.toColor(),
         scrolledContainerColor: Color = MaterialTheme.colorScheme.applyTonalElevation(
             backgroundColor = containerColor,
             elevation = TopAppBarSmallTokens.OnScrollContainerElevation
         ),
-        navigationIconContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarMediumTokens.LeadingIconColor),
-        titleContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarMediumTokens.HeadlineColor),
-        actionIconContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarMediumTokens.TrailingIconColor)
+        navigationIconContentColor: Color = TopAppBarMediumTokens.LeadingIconColor.toColor(),
+        titleContentColor: Color = TopAppBarMediumTokens.HeadlineColor.toColor(),
+        actionIconContentColor: Color = TopAppBarMediumTokens.TrailingIconColor.toColor(),
     ): TopAppBarColors {
         return remember(
             containerColor,
@@ -524,18 +512,14 @@
      */
     @Composable
     fun largeTopAppBarColors(
-        containerColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarLargeTokens.ContainerColor),
+        containerColor: Color = TopAppBarLargeTokens.ContainerColor.toColor(),
         scrolledContainerColor: Color = MaterialTheme.colorScheme.applyTonalElevation(
             backgroundColor = containerColor,
             elevation = TopAppBarSmallTokens.OnScrollContainerElevation
         ),
-        navigationIconContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarLargeTokens.LeadingIconColor),
-        titleContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarLargeTokens.HeadlineColor),
-        actionIconContentColor: Color =
-            MaterialTheme.colorScheme.fromToken(TopAppBarLargeTokens.TrailingIconColor)
+        navigationIconContentColor: Color = TopAppBarLargeTokens.LeadingIconColor.toColor(),
+        titleContentColor: Color = TopAppBarLargeTokens.HeadlineColor.toColor(),
+        actionIconContentColor: Color = TopAppBarLargeTokens.TrailingIconColor.toColor(),
     ): TopAppBarColors {
         return remember(
             containerColor,
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Badge.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Badge.kt
index cccc4a4..c45e63f 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Badge.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Badge.kt
@@ -130,7 +130,7 @@
 @Composable
 fun Badge(
     modifier: Modifier = Modifier,
-    containerColor: Color = MaterialTheme.colorScheme.fromToken(BadgeTokens.Color),
+    containerColor: Color = BadgeTokens.Color.toColor(),
     contentColor: Color = contentColorFor(containerColor),
     content: @Composable (RowScope.() -> Unit)? = null,
 ) {
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Button.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Button.kt
index 84c51c2..9613eed 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Button.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Button.kt
@@ -511,19 +511,12 @@
      */
     @Composable
     fun buttonColors(
-        containerColor: Color = MaterialTheme.colorScheme.fromToken(
-            FilledButtonTokens.ContainerColor
-        ),
-        contentColor: Color = MaterialTheme.colorScheme.fromToken(
-            FilledButtonTokens.LabelTextColor
-        ),
+        containerColor: Color = FilledButtonTokens.ContainerColor.toColor(),
+        contentColor: Color = FilledButtonTokens.LabelTextColor.toColor(),
         disabledContainerColor: Color =
-            MaterialTheme.colorScheme
-                .fromToken(FilledButtonTokens.DisabledContainerColor)
+            FilledButtonTokens.DisabledContainerColor.toColor()
                 .copy(alpha = FilledButtonTokens.DisabledContainerOpacity),
-        disabledContentColor: Color =
-            MaterialTheme.colorScheme
-                .fromToken(FilledButtonTokens.DisabledLabelTextColor)
+        disabledContentColor: Color = FilledButtonTokens.DisabledLabelTextColor.toColor()
                 .copy(alpha = FilledButtonTokens.DisabledLabelTextOpacity),
     ): ButtonColors =
         DefaultButtonColors(
@@ -544,20 +537,14 @@
      */
     @Composable
     fun elevatedButtonColors(
-        containerColor: Color = MaterialTheme.colorScheme.fromToken(
-            ElevatedButtonTokens.ContainerColor
-        ),
-        contentColor: Color = MaterialTheme.colorScheme.fromToken(
-            ElevatedButtonTokens.LabelTextColor
-        ),
-        disabledContainerColor: Color =
-            MaterialTheme.colorScheme
-                .fromToken(ElevatedButtonTokens.DisabledContainerColor)
-                .copy(alpha = ElevatedButtonTokens.DisabledContainerOpacity),
-        disabledContentColor: Color =
-            MaterialTheme.colorScheme
-                .fromToken(ElevatedButtonTokens.DisabledLabelTextColor)
-                .copy(alpha = ElevatedButtonTokens.DisabledLabelTextOpacity),
+        containerColor: Color = ElevatedButtonTokens.ContainerColor.toColor(),
+        contentColor: Color = ElevatedButtonTokens.LabelTextColor.toColor(),
+        disabledContainerColor: Color = ElevatedButtonTokens.DisabledContainerColor
+            .toColor()
+            .copy(alpha = ElevatedButtonTokens.DisabledContainerOpacity),
+        disabledContentColor: Color = ElevatedButtonTokens.DisabledLabelTextColor
+            .toColor()
+            .copy(alpha = ElevatedButtonTokens.DisabledLabelTextOpacity),
     ): ButtonColors =
         DefaultButtonColors(
             containerColor = containerColor,
@@ -577,18 +564,14 @@
      */
     @Composable
     fun filledTonalButtonColors(
-        containerColor: Color =
-            MaterialTheme.colorScheme.fromToken(FilledButtonTonalTokens.ContainerColor),
-        contentColor: Color =
-            MaterialTheme.colorScheme.fromToken(FilledButtonTonalTokens.LabelTextColor),
-        disabledContainerColor: Color =
-            MaterialTheme.colorScheme
-                .fromToken(FilledButtonTonalTokens.DisabledContainerColor)
-                .copy(alpha = FilledButtonTonalTokens.DisabledContainerOpacity),
-        disabledContentColor: Color =
-            MaterialTheme.colorScheme
-                .fromToken(FilledButtonTonalTokens.DisabledLabelTextColor)
-                .copy(alpha = FilledButtonTonalTokens.DisabledLabelTextOpacity),
+        containerColor: Color = FilledButtonTonalTokens.ContainerColor.toColor(),
+        contentColor: Color = FilledButtonTonalTokens.LabelTextColor.toColor(),
+        disabledContainerColor: Color = FilledButtonTonalTokens.DisabledContainerColor
+            .toColor()
+            .copy(alpha = FilledButtonTonalTokens.DisabledContainerOpacity),
+        disabledContentColor: Color = FilledButtonTonalTokens.DisabledLabelTextColor
+            .toColor()
+            .copy(alpha = FilledButtonTonalTokens.DisabledLabelTextOpacity),
     ): ButtonColors =
         DefaultButtonColors(
             containerColor = containerColor,
@@ -609,14 +592,11 @@
     @Composable
     fun outlinedButtonColors(
         containerColor: Color = Color.Transparent,
-        contentColor: Color = MaterialTheme.colorScheme.fromToken(
-            OutlinedButtonTokens.LabelTextColor
-        ),
+        contentColor: Color = OutlinedButtonTokens.LabelTextColor.toColor(),
         disabledContainerColor: Color = Color.Transparent,
-        disabledContentColor: Color =
-            MaterialTheme.colorScheme
-                .fromToken(OutlinedButtonTokens.DisabledLabelTextColor)
-                .copy(alpha = OutlinedButtonTokens.DisabledLabelTextOpacity),
+        disabledContentColor: Color = OutlinedButtonTokens.DisabledLabelTextColor
+            .toColor()
+            .copy(alpha = OutlinedButtonTokens.DisabledLabelTextOpacity),
     ): ButtonColors =
         DefaultButtonColors(
             containerColor = containerColor,
@@ -637,12 +617,11 @@
     @Composable
     fun textButtonColors(
         containerColor: Color = Color.Transparent,
-        contentColor: Color = MaterialTheme.colorScheme.fromToken(TextButtonTokens.LabelTextColor),
+        contentColor: Color = TextButtonTokens.LabelTextColor.toColor(),
         disabledContainerColor: Color = Color.Transparent,
-        disabledContentColor: Color =
-            MaterialTheme.colorScheme
-                .fromToken(TextButtonTokens.DisabledLabelTextColor)
-                .copy(alpha = TextButtonTokens.DisabledLabelTextOpacity),
+        disabledContentColor: Color = TextButtonTokens.DisabledLabelTextColor
+            .toColor()
+            .copy(alpha = TextButtonTokens.DisabledLabelTextOpacity),
     ): ButtonColors =
         DefaultButtonColors(
             containerColor = containerColor,
@@ -765,7 +744,7 @@
         @Composable
         get() = BorderStroke(
             width = OutlinedButtonTokens.OutlineWidth,
-            color = MaterialTheme.colorScheme.fromToken(OutlinedButtonTokens.OutlineColor)
+            color = OutlinedButtonTokens.OutlineColor.toColor(),
         )
 }
 
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Checkbox.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Checkbox.kt
index 465cbe5..bbbb967 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Checkbox.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Checkbox.kt
@@ -231,17 +231,16 @@
      */
     @Composable
     fun colors(
-        checkedColor: Color = MaterialTheme.colorScheme.fromToken(CheckboxTokens.SelectedIconColor),
-        uncheckedColor: Color =
-            MaterialTheme.colorScheme.fromToken(CheckboxTokens.UnselectedIconColor),
+        checkedColor: Color = CheckboxTokens.SelectedIconColor.toColor(),
+        uncheckedColor: Color = CheckboxTokens.UnselectedIconColor.toColor(),
         // TODO(b/188529841): Update the token when this issue is resolved.
-        checkmarkColor: Color = MaterialTheme.colorScheme.fromToken(ColorSchemeKeyTokens.Surface),
-        disabledCheckedColor: Color =
-            MaterialTheme.colorScheme.fromToken(CheckboxTokens.DisabledSelectedIconColor)
-                .copy(alpha = CheckboxTokens.DisabledSelectedIconOpacity),
-        disabledUncheckedColor: Color =
-            MaterialTheme.colorScheme.fromToken(CheckboxTokens.DisabledUnselectedIconColor)
-                .copy(alpha = CheckboxTokens.DisabledUnselectedIconOpacity),
+        checkmarkColor: Color = ColorSchemeKeyTokens.Surface.toColor(),
+        disabledCheckedColor: Color = CheckboxTokens.DisabledSelectedIconColor
+            .toColor()
+            .copy(alpha = CheckboxTokens.DisabledSelectedIconOpacity),
+        disabledUncheckedColor: Color = CheckboxTokens.DisabledUnselectedIconColor
+            .toColor()
+            .copy(alpha = CheckboxTokens.DisabledUnselectedIconOpacity),
         disabledIndeterminateColor: Color = disabledCheckedColor
     ): CheckboxColors {
         return remember(
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ColorScheme.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ColorScheme.kt
index d6d75a7..aecd682 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ColorScheme.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ColorScheme.kt
@@ -558,3 +558,9 @@
  * A low level of alpha used to represent disabled components, such as text in a disabled Button.
  */
 internal const val DisabledAlpha = 0.38f
+
+/** Converts a color token key to the local color scheme provided by the theme */
+@Composable
+internal fun ColorSchemeKeyTokens.toColor(): Color {
+    return MaterialTheme.colorScheme.fromToken(this)
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/FloatingActionButton.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/FloatingActionButton.kt
index 6e61e1a..2536aac 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/FloatingActionButton.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/FloatingActionButton.kt
@@ -80,7 +80,7 @@
     modifier: Modifier = Modifier,
     interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
     shape: Shape = FabPrimaryTokens.ContainerShape,
-    containerColor: Color = MaterialTheme.colorScheme.fromToken(FabPrimaryTokens.ContainerColor),
+    containerColor: Color = FabPrimaryTokens.ContainerColor.toColor(),
     contentColor: Color = contentColorFor(containerColor),
     elevation: FloatingActionButtonElevation = FloatingActionButtonDefaults.elevation(),
     content: @Composable () -> Unit,
@@ -151,7 +151,7 @@
     modifier: Modifier = Modifier,
     interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
     shape: Shape = FabPrimarySmallTokens.ContainerShape,
-    containerColor: Color = MaterialTheme.colorScheme.fromToken(FabPrimaryTokens.ContainerColor),
+    containerColor: Color = FabPrimaryTokens.ContainerColor.toColor(),
     contentColor: Color = contentColorFor(containerColor),
     elevation: FloatingActionButtonElevation = FloatingActionButtonDefaults.elevation(),
     content: @Composable () -> Unit,
@@ -199,9 +199,7 @@
     modifier: Modifier = Modifier,
     interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
     shape: Shape = FabPrimaryLargeTokens.ContainerShape,
-    containerColor: Color = MaterialTheme.colorScheme.fromToken(
-        FabPrimaryLargeTokens.ContainerColor
-    ),
+    containerColor: Color = FabPrimaryLargeTokens.ContainerColor.toColor(),
     contentColor: Color = contentColorFor(containerColor),
     elevation: FloatingActionButtonElevation = FloatingActionButtonDefaults.elevation(),
     content: @Composable () -> Unit,
@@ -253,9 +251,7 @@
     icon: @Composable (() -> Unit)? = null,
     interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
     shape: Shape = ExtendedFabPrimaryTokens.ContainerShape,
-    containerColor: Color = MaterialTheme.colorScheme.fromToken(
-        ExtendedFabPrimaryTokens.ContainerColor
-    ),
+    containerColor: Color = ExtendedFabPrimaryTokens.ContainerColor.toColor(),
     contentColor: Color = contentColorFor(containerColor),
     elevation: FloatingActionButtonElevation = FloatingActionButtonDefaults.elevation(),
 ) {
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/IconButton.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/IconButton.kt
index bee5621..d01c472 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/IconButton.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/IconButton.kt
@@ -80,8 +80,8 @@
         val contentColor =
             if (enabled) LocalContentColor.current
             else
-                MaterialTheme.colorScheme
-                    .fromToken(IconButtonTokens.DisabledIconColor)
+                IconButtonTokens.DisabledIconColor
+                    .toColor()
                     .copy(alpha = IconButtonTokens.DisabledIconOpacity)
         CompositionLocalProvider(LocalContentColor provides contentColor, content = content)
     }
@@ -133,9 +133,7 @@
     ) {
         val contentColor =
             if (enabled) LocalContentColor.current
-            else
-                MaterialTheme.colorScheme
-                    .fromToken(IconButtonTokens.DisabledIconColor)
+            else IconButtonTokens.DisabledIconColor.toColor()
                     .copy(alpha = IconButtonTokens.DisabledIconOpacity)
         CompositionLocalProvider(LocalContentColor provides contentColor, content = content)
     }
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationBar.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationBar.kt
index 92991ae..ec3e5a9 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationBar.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationBar.kt
@@ -86,7 +86,7 @@
 @Composable
 fun NavigationBar(
     modifier: Modifier = Modifier,
-    containerColor: Color = MaterialTheme.colorScheme.fromToken(NavigationBarTokens.ContainerColor),
+    containerColor: Color = NavigationBarTokens.ContainerColor.toColor(),
     contentColor: Color = MaterialTheme.colorScheme.contentColorFor(containerColor),
     tonalElevation: Dp = NavigationBarTokens.ContainerElevation,
     content: @Composable RowScope.() -> Unit
@@ -215,16 +215,11 @@
      */
     @Composable
     fun colors(
-        selectedIconColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationBarTokens.ActiveIconColor),
-        unselectedIconColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationBarTokens.InactiveIconColor),
-        selectedTextColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationBarTokens.ActiveLabelTextColor),
-        unselectedTextColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationBarTokens.InactiveLabelTextColor),
-        indicatorColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationBarTokens.ActiveIndicatorColor),
+        selectedIconColor: Color = NavigationBarTokens.ActiveIconColor.toColor(),
+        unselectedIconColor: Color = NavigationBarTokens.InactiveIconColor.toColor(),
+        selectedTextColor: Color = NavigationBarTokens.ActiveLabelTextColor.toColor(),
+        unselectedTextColor: Color = NavigationBarTokens.InactiveLabelTextColor.toColor(),
+        indicatorColor: Color = NavigationBarTokens.ActiveIndicatorColor.toColor(),
     ): NavigationBarItemColors = remember(
         selectedIconColor,
         unselectedIconColor,
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationDrawer.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationDrawer.kt
index 8f23615..8a3290b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationDrawer.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationDrawer.kt
@@ -250,8 +250,7 @@
     gesturesEnabled: Boolean = true,
     drawerShape: Shape = RoundedCornerShape(0.dp, 16.dp, 16.dp, 0.dp),
     drawerTonalElevation: Dp = DrawerDefaults.Elevation,
-    drawerContainerColor: Color =
-        MaterialTheme.colorScheme.fromToken(NavigationDrawerTokens.ContainerColor),
+    drawerContainerColor: Color = NavigationDrawerTokens.ContainerColor.toColor(),
     drawerContentColor: Color = contentColorFor(drawerContainerColor),
     scrimColor: Color = DrawerDefaults.scrimColor,
     content: @Composable () -> Unit
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationRail.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationRail.kt
index d4bd101..a731fcc 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationRail.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationRail.kt
@@ -88,8 +88,7 @@
 @Composable
 fun NavigationRail(
     modifier: Modifier = Modifier,
-    containerColor: Color =
-        MaterialTheme.colorScheme.fromToken(NavigationRailTokens.ContainerColor),
+    containerColor: Color = NavigationRailTokens.ContainerColor.toColor(),
     contentColor: Color = contentColorFor(containerColor),
     header: @Composable (ColumnScope.() -> Unit)? = null,
     content: @Composable ColumnScope.() -> Unit
@@ -223,16 +222,11 @@
      */
     @Composable
     fun colors(
-        selectedIconColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationRailTokens.ActiveIconColor),
-        unselectedIconColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationRailTokens.InactiveIconColor),
-        selectedTextColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationRailTokens.ActiveLabelTextColor),
-        unselectedTextColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationRailTokens.InactiveLabelTextColor),
-        indicatorColor: Color =
-            MaterialTheme.colorScheme.fromToken(NavigationRailTokens.ActiveIndicatorColor),
+        selectedIconColor: Color = NavigationRailTokens.ActiveIconColor.toColor(),
+        unselectedIconColor: Color = NavigationRailTokens.InactiveIconColor.toColor(),
+        selectedTextColor: Color = NavigationRailTokens.ActiveLabelTextColor.toColor(),
+        unselectedTextColor: Color = NavigationRailTokens.InactiveLabelTextColor.toColor(),
+        indicatorColor: Color = NavigationRailTokens.ActiveIndicatorColor.toColor(),
     ): NavigationRailItemColors = remember(
         selectedIconColor,
         unselectedIconColor,
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ProgressIndicator.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ProgressIndicator.kt
index 0415185..dc4109b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ProgressIndicator.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ProgressIndicator.kt
@@ -71,10 +71,8 @@
 fun LinearProgressIndicator(
     progress: Float,
     modifier: Modifier = Modifier,
-    color: Color =
-        MaterialTheme.colorScheme.fromToken(LinearProgressIndicatorTokens.ActiveIndicatorColor),
-    trackColor: Color =
-        MaterialTheme.colorScheme.fromToken(LinearProgressIndicatorTokens.TrackColor),
+    color: Color = LinearProgressIndicatorTokens.ActiveIndicatorColor.toColor(),
+    trackColor: Color = LinearProgressIndicatorTokens.TrackColor.toColor(),
 ) {
     Canvas(
         modifier
@@ -101,10 +99,8 @@
 @Composable
 fun LinearProgressIndicator(
     modifier: Modifier = Modifier,
-    color: Color =
-        MaterialTheme.colorScheme.fromToken(LinearProgressIndicatorTokens.ActiveIndicatorColor),
-    trackColor: Color =
-        MaterialTheme.colorScheme.fromToken(LinearProgressIndicatorTokens.TrackColor),
+    color: Color = LinearProgressIndicatorTokens.ActiveIndicatorColor.toColor(),
+    trackColor: Color = LinearProgressIndicatorTokens.TrackColor.toColor(),
 ) {
     val infiniteTransition = rememberInfiniteTransition()
     // Fractional position of the 'head' and 'tail' of the two lines drawn, i.e. if the head is 0.8
@@ -226,8 +222,7 @@
 fun CircularProgressIndicator(
     progress: Float,
     modifier: Modifier = Modifier,
-    color: Color =
-        MaterialTheme.colorScheme.fromToken(CircularProgressIndicatorTokens.ActiveIndicatorColor),
+    color: Color = CircularProgressIndicatorTokens.ActiveIndicatorColor.toColor(),
     strokeWidth: Dp = CircularProgressIndicatorTokens.ActiveIndicatorWidth
 ) {
     val stroke = with(LocalDensity.current) {
@@ -258,8 +253,7 @@
 @Composable
 fun CircularProgressIndicator(
     modifier: Modifier = Modifier,
-    color: Color =
-        MaterialTheme.colorScheme.fromToken(CircularProgressIndicatorTokens.ActiveIndicatorColor),
+    color: Color = CircularProgressIndicatorTokens.ActiveIndicatorColor.toColor(),
     strokeWidth: Dp = CircularProgressIndicatorTokens.ActiveIndicatorWidth
 ) {
     val stroke = with(LocalDensity.current) {
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/RadioButton.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/RadioButton.kt
index c65a794..17963d4 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/RadioButton.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/RadioButton.kt
@@ -161,16 +161,14 @@
      */
     @Composable
     fun colors(
-        selectedColor: Color =
-            MaterialTheme.colorScheme.fromToken(RadioButtonTokens.SelectedIconColor),
-        unselectedColor: Color =
-            MaterialTheme.colorScheme.fromToken(RadioButtonTokens.UnselectedIconColor),
-        disabledSelectedColor: Color =
-            MaterialTheme.colorScheme.fromToken(RadioButtonTokens.DisabledSelectedIconColor)
-                .copy(alpha = RadioButtonTokens.DisabledSelectedIconOpacity),
-        disabledUnselectedColor: Color =
-            MaterialTheme.colorScheme.fromToken(RadioButtonTokens.DisabledUnselectedIconColor)
-                .copy(alpha = RadioButtonTokens.DisabledUnselectedIconOpacity)
+        selectedColor: Color = RadioButtonTokens.SelectedIconColor.toColor(),
+        unselectedColor: Color = RadioButtonTokens.UnselectedIconColor.toColor(),
+        disabledSelectedColor: Color = RadioButtonTokens.DisabledSelectedIconColor
+            .toColor()
+            .copy(alpha = RadioButtonTokens.DisabledSelectedIconOpacity),
+        disabledUnselectedColor: Color = RadioButtonTokens.DisabledUnselectedIconColor
+            .toColor()
+            .copy(alpha = RadioButtonTokens.DisabledUnselectedIconOpacity)
     ): RadioButtonColors {
         return remember(
             selectedColor,
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Snackbar.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Snackbar.kt
index fa20bb2..e03eed9 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Snackbar.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Snackbar.kt
@@ -88,8 +88,8 @@
     dismissAction: @Composable (() -> Unit)? = null,
     actionOnNewLine: Boolean = false,
     shape: Shape = SnackbarTokens.ContainerShape,
-    containerColor: Color = MaterialTheme.colorScheme.fromToken(SnackbarTokens.ContainerColor),
-    contentColor: Color = MaterialTheme.colorScheme.fromToken(SnackbarTokens.SupportingTextColor),
+    containerColor: Color = SnackbarTokens.ContainerColor.toColor(),
+    contentColor: Color = SnackbarTokens.SupportingTextColor.toColor(),
     content: @Composable () -> Unit
 ) {
     Surface(
@@ -168,9 +168,9 @@
     modifier: Modifier = Modifier,
     actionOnNewLine: Boolean = false,
     shape: Shape = SnackbarTokens.ContainerShape,
-    containerColor: Color = MaterialTheme.colorScheme.fromToken(SnackbarTokens.ContainerColor),
-    contentColor: Color = MaterialTheme.colorScheme.fromToken(SnackbarTokens.SupportingTextColor),
-    actionColor: Color = MaterialTheme.colorScheme.fromToken(SnackbarTokens.ActionLabelTextColor)
+    containerColor: Color = SnackbarTokens.ContainerColor.toColor(),
+    contentColor: Color = SnackbarTokens.SupportingTextColor.toColor(),
+    actionColor: Color = SnackbarTokens.ActionLabelTextColor.toColor()
 ) {
     val actionLabel = snackbarData.visuals.actionLabel
     val actionComposable: (@Composable () -> Unit)? = if (actionLabel != null) {
@@ -238,8 +238,7 @@
                 .padding(end = if (dismissAction == null) HorizontalSpacingButtonSide else 0.dp)
         ) {
             Row {
-                val actionTextColor =
-                    MaterialTheme.colorScheme.fromToken(SnackbarTokens.ActionLabelTextColor)
+                val actionTextColor = SnackbarTokens.ActionLabelTextColor.toColor()
                 val actionTextStyle =
                     MaterialTheme.typography.fromToken(SnackbarTokens.ActionLabelTextFont)
                 CompositionLocalProvider(
@@ -249,8 +248,7 @@
                 )
 
                 if (dismissAction != null) {
-                    val dismissActionColor =
-                        MaterialTheme.colorScheme.fromToken(SnackbarTokens.IconColor)
+                    val dismissActionColor = SnackbarTokens.IconColor.toColor()
                     CompositionLocalProvider(
                         LocalContentColor provides dismissActionColor,
                         content = dismissAction
@@ -275,8 +273,7 @@
             Box(Modifier.layoutId(textTag).padding(vertical = SnackbarVerticalPadding)) { text() }
             if (action != null) {
                 Box(Modifier.layoutId(actionTag)) {
-                    val actionTextColor =
-                        MaterialTheme.colorScheme.fromToken(SnackbarTokens.ActionLabelTextColor)
+                    val actionTextColor = SnackbarTokens.ActionLabelTextColor.toColor()
                     val actionTextStyle =
                         MaterialTheme.typography.fromToken(SnackbarTokens.ActionLabelTextFont)
                     CompositionLocalProvider(
@@ -288,8 +285,7 @@
             }
             if (dismissAction != null) {
                 Box(Modifier.layoutId(dismissActionTag)) {
-                    val dismissActionColor =
-                        MaterialTheme.colorScheme.fromToken(SnackbarTokens.IconColor)
+                    val dismissActionColor = SnackbarTokens.IconColor.toColor()
                     CompositionLocalProvider(
                         LocalContentColor provides dismissActionColor,
                         content = dismissAction