---
title: "MaterialTheme"
description: "Contains functions to access the current theme values provided at the call site's position in the hierarchy."
type: "object"
---
## API Reference

> Source set: Common

```kotlin
public object MaterialTheme
```

Contains functions to access the current theme values provided at the call site's position in the
hierarchy.

## Properties

### colorScheme

> Source set: Common

```kotlin
public val colorScheme: ColorScheme
```

Retrieves the current [ColorScheme](/jetpack-compose/androidx.compose.material3/material3/classes/ColorScheme/api) at the call site's position in the hierarchy.

### typography

> Source set: Common

```kotlin
public val typography: Typography
```

Retrieves the current [Typography](/jetpack-compose/androidx.compose.material3/material3/classes/Typography/api) at the call site's position in the hierarchy.

### shapes

> Source set: Common

```kotlin
public val shapes: Shapes
```

Retrieves the current [Shapes](/jetpack-compose/androidx.compose.material3/material3/classes/Shapes/api) at the call site's position in the hierarchy.

### motionScheme

> Source set: Common

```kotlin
public val motionScheme: MotionScheme
```

Retrieves the current [MotionScheme](/jetpack-compose/androidx.compose.material3/material3/interfaces/MotionScheme/api) at the call site's position in the hierarchy.

### LocalMaterialTheme

> Source set: Common

```kotlin
public val LocalMaterialTheme: CompositionLocal<Values>
```

`CompositionLocal` providing [MaterialTheme](/jetpack-compose/androidx.compose.material3/material3/objects/MaterialTheme/api) subsystems throughout the hierarchy. You can use
properties in the companion object to access specific subsystems, for example `colorScheme`.
To provide a new value for this, use [MaterialTheme](/jetpack-compose/androidx.compose.material3/material3/objects/MaterialTheme/api). This API is exposed to allow retrieving
values from inside CompositionLocalConsumerModifierNode implementations - in most cases you
should use `colorScheme` and other properties directly.

### LocalMotionScheme

> Source set: Common

```kotlin
@Deprecated(
        level = DeprecationLevel.WARNING,
        message = "Use [LocalMaterialTheme.current.motionScheme] instead",
    )
    public val LocalMotionScheme: CompositionLocal<MotionScheme>
```

A read-only `CompositionLocal` that provides the current [MotionScheme](/jetpack-compose/androidx.compose.material3/material3/interfaces/MotionScheme/api) to Material 3
components.

The motion scheme is typically supplied by `MaterialTheme.motionScheme` and can be overridden
for specific UI subtrees by wrapping it with another [MaterialTheme](/jetpack-compose/androidx.compose.material3/material3/objects/MaterialTheme/api).

This API is exposed to allow retrieving motion values from inside
`CompositionLocalConsumerModifierNode` implementations, but in most cases it's recommended to
read the motion values from `MaterialTheme.motionScheme`.

## Members

### Values

> Source set: Common

```kotlin
public class Values(
        public val colorScheme: ColorScheme = lightColorScheme(),
        public val typography: Typography = Typography(),
        public val shapes: Shapes = Shapes(),
        public val motionScheme: MotionScheme = standard(),
    )
```

Material 3 contains different theme subsystems to allow visual customization across a UI
hierarchy.

Components use properties provided here when retrieving default values.

## Functions

### equals

> Source set: Common

```kotlin
override fun equals(other: Any?): Boolean
```

### hashCode

> Source set: Common

```kotlin
override fun hashCode(): Int
```

### toString

> Source set: Common

```kotlin
override fun toString(): String
```
