/*
* 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.
*/
// VERSION: v0_001 (Inspired by androidx.compose.material3.tokens v0_103)
package androidx.tv.material3.tokens
import androidx.compose.ui.text.PlatformTextStyle
import androidx.compose.ui.text.TextStyle
internal object TypographyTokens {
val BodyLarge =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.BodyLargeFont,
fontWeight = TypeScaleTokens.BodyLargeWeight,
fontSize = TypeScaleTokens.BodyLargeSize,
lineHeight = TypeScaleTokens.BodyLargeLineHeight,
letterSpacing = TypeScaleTokens.BodyLargeTracking
)
val BodyMedium =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.BodyMediumFont,
fontWeight = TypeScaleTokens.BodyMediumWeight,
fontSize = TypeScaleTokens.BodyMediumSize,
lineHeight = TypeScaleTokens.BodyMediumLineHeight,
letterSpacing = TypeScaleTokens.BodyMediumTracking
)
val BodySmall =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.BodySmallFont,
fontWeight = TypeScaleTokens.BodySmallWeight,
fontSize = TypeScaleTokens.BodySmallSize,
lineHeight = TypeScaleTokens.BodySmallLineHeight,
letterSpacing = TypeScaleTokens.BodySmallTracking
)
val DisplayLarge =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.DisplayLargeFont,
fontWeight = TypeScaleTokens.DisplayLargeWeight,
fontSize = TypeScaleTokens.DisplayLargeSize,
lineHeight = TypeScaleTokens.DisplayLargeLineHeight,
letterSpacing = TypeScaleTokens.DisplayLargeTracking
)
val DisplayMedium =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.DisplayMediumFont,
fontWeight = TypeScaleTokens.DisplayMediumWeight,
fontSize = TypeScaleTokens.DisplayMediumSize,
lineHeight = TypeScaleTokens.DisplayMediumLineHeight,
letterSpacing = TypeScaleTokens.DisplayMediumTracking
)
val DisplaySmall =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.DisplaySmallFont,
fontWeight = TypeScaleTokens.DisplaySmallWeight,
fontSize = TypeScaleTokens.DisplaySmallSize,
lineHeight = TypeScaleTokens.DisplaySmallLineHeight,
letterSpacing = TypeScaleTokens.DisplaySmallTracking
)
val HeadlineLarge =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.HeadlineLargeFont,
fontWeight = TypeScaleTokens.HeadlineLargeWeight,
fontSize = TypeScaleTokens.HeadlineLargeSize,
lineHeight = TypeScaleTokens.HeadlineLargeLineHeight,
letterSpacing = TypeScaleTokens.HeadlineLargeTracking
)
val HeadlineMedium =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.HeadlineMediumFont,
fontWeight = TypeScaleTokens.HeadlineMediumWeight,
fontSize = TypeScaleTokens.HeadlineMediumSize,
lineHeight = TypeScaleTokens.HeadlineMediumLineHeight,
letterSpacing = TypeScaleTokens.HeadlineMediumTracking
)
val HeadlineSmall =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.HeadlineSmallFont,
fontWeight = TypeScaleTokens.HeadlineSmallWeight,
fontSize = TypeScaleTokens.HeadlineSmallSize,
lineHeight = TypeScaleTokens.HeadlineSmallLineHeight,
letterSpacing = TypeScaleTokens.HeadlineSmallTracking
)
val LabelLarge =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.LabelLargeFont,
fontWeight = TypeScaleTokens.LabelLargeWeight,
fontSize = TypeScaleTokens.LabelLargeSize,
lineHeight = TypeScaleTokens.LabelLargeLineHeight,
letterSpacing = TypeScaleTokens.LabelLargeTracking
)
val LabelMedium =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.LabelMediumFont,
fontWeight = TypeScaleTokens.LabelMediumWeight,
fontSize = TypeScaleTokens.LabelMediumSize,
lineHeight = TypeScaleTokens.LabelMediumLineHeight,
letterSpacing = TypeScaleTokens.LabelMediumTracking
)
val LabelSmall =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.LabelSmallFont,
fontWeight = TypeScaleTokens.LabelSmallWeight,
fontSize = TypeScaleTokens.LabelSmallSize,
lineHeight = TypeScaleTokens.LabelSmallLineHeight,
letterSpacing = TypeScaleTokens.LabelSmallTracking
)
val TitleLarge =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.TitleLargeFont,
fontWeight = TypeScaleTokens.TitleLargeWeight,
fontSize = TypeScaleTokens.TitleLargeSize,
lineHeight = TypeScaleTokens.TitleLargeLineHeight,
letterSpacing = TypeScaleTokens.TitleLargeTracking
)
val TitleMedium =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.TitleMediumFont,
fontWeight = TypeScaleTokens.TitleMediumWeight,
fontSize = TypeScaleTokens.TitleMediumSize,
lineHeight = TypeScaleTokens.TitleMediumLineHeight,
letterSpacing = TypeScaleTokens.TitleMediumTracking
)
val TitleSmall =
DefaultTextStyle.copy(
fontFamily = TypeScaleTokens.TitleSmallFont,
fontWeight = TypeScaleTokens.TitleSmallWeight,
fontSize = TypeScaleTokens.TitleSmallSize,
lineHeight = TypeScaleTokens.TitleSmallLineHeight,
letterSpacing = TypeScaleTokens.TitleSmallTracking
)
}
private const val DefaultIncludeFontPadding = false
@Suppress("DEPRECATION")
internal val DefaultTextStyle = TextStyle.Default.copy(
platformStyle = PlatformTextStyle(includeFontPadding = DefaultIncludeFontPadding)
)