Upgrade compose-material3 to 1.2.0-alpha05 version (#1011)

Co-authored-by: ElementBot <benoitm+elementbot@element.io>

Also upgrade compileSdk to 34.
This commit is contained in:
Jorge Martin Espinosa 2023-08-17 14:20:54 +02:00 committed by GitHub
parent 814c8edc4f
commit e3cfbc113b
791 changed files with 1657 additions and 1578 deletions

View file

@ -109,7 +109,7 @@ private fun ContentToPreview() {
linkAnnotationTag = "",
onClick = {},
onLongClick = {},
interactionSource = MutableInteractionSource(),
interactionSource = remember { MutableInteractionSource() },
)
}

View file

@ -31,6 +31,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import coil.compose.AsyncImage
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@ -91,10 +92,14 @@ private fun InitialsAvatar(
Box(
modifier.background(color = avatarColor),
) {
val fontSize = avatarData.size.dp.toSp() / 2
val originalFont = ElementTheme.typography.fontBodyMdRegular
val ratio = fontSize.value / originalFont.fontSize.value
val lineHeight = originalFont.lineHeight * ratio
Text(
modifier = Modifier.align(Alignment.Center),
text = avatarData.initial,
style = ElementTheme.typography.fontBodyMdRegular.copy(fontSize = avatarData.size.dp.toSp() / 2),
style = originalFont.copy(fontSize = fontSize, lineHeight = lineHeight, letterSpacing = 0.sp),
color = Color.White,
)
}

View file

@ -30,6 +30,7 @@ import androidx.compose.material.ripple.rememberRipple
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
@ -51,7 +52,7 @@ fun MainActionButton(
contentDescription: String = title,
) {
val ripple = rememberRipple(bounded = false)
val interactionSource = MutableInteractionSource()
val interactionSource = remember { MutableInteractionSource() }
Column(
modifier.clickable(
enabled = enabled,

View file

@ -21,14 +21,14 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Divider
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
import io.element.android.libraries.theme.ElementTheme
@Composable
fun PreferenceDivider(
modifier: Modifier = Modifier,
) {
Divider(
HorizontalDivider(
modifier = modifier,
color = ElementTheme.colors.borderDisabled,
)

View file

@ -19,9 +19,13 @@ package io.element.android.libraries.designsystem.preview
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.SheetState
import androidx.compose.material3.SheetValue
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalDensity
@OptIn(ExperimentalMaterial3Api::class)
val sheetStateForPreview = SheetState(
@Composable
fun sheetStateForPreview() = SheetState(
skipPartiallyExpanded = true,
initialValue = SheetValue.Expanded,
density = LocalDensity.current,
)

View file

@ -90,7 +90,7 @@ private fun ContentToPreview() {
onClick = {},
trailingIcon = { Icon(Icons.Default.ArrowRight, contentDescription = null) },
)
Divider()
HorizontalDivider()
DropdownMenuItem(
text = { Text(text = "Item") },
onClick = {},
@ -109,7 +109,7 @@ private fun ContentToPreview() {
leadingIcon = { Icon(Icons.Default.BugReport, contentDescription = null) },
trailingIcon = { Icon(Icons.Default.ArrowRight, contentDescription = null) },
)
Divider()
HorizontalDivider()
DropdownMenuItem(
text = { Text(text = "Multiline\nItem") },
onClick = {},

View file

@ -30,12 +30,12 @@ import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
fun Divider(
fun HorizontalDivider(
modifier: Modifier = Modifier,
thickness: Dp = ElementDividerDefaults.thickness,
color: Color = DividerDefaults.color,
) {
androidx.compose.material3.Divider(
androidx.compose.material3.HorizontalDivider(
modifier = modifier,
thickness = thickness,
color = color,
@ -48,7 +48,7 @@ object ElementDividerDefaults {
@Preview(group = PreviewGroup.Dividers)
@Composable
internal fun DividerPreview() = ElementThemedPreview {
internal fun HorizontalDividerPreview() = ElementThemedPreview {
Box(Modifier.padding(vertical = 10.dp), contentAlignment = Alignment.Center) {
ContentToPreview()
}
@ -56,5 +56,5 @@ internal fun DividerPreview() = ElementThemedPreview {
@Composable
private fun ContentToPreview() {
Divider()
HorizontalDivider()
}

View file

@ -100,7 +100,7 @@ private fun ContentToPreview() {
) {
ModalBottomSheet(
onDismissRequest = {},
sheetState = sheetStateForPreview,
sheetState = sheetStateForPreview(),
) {
Text(
text = "Sheet Content",

View file

@ -14,6 +14,9 @@
* limitations under the License.
*/
// This is actually expected, as we should remove this component soon and use ModalBottomSheet instead
@file:Suppress("UsingMaterialAndMaterial3Libraries")
package io.element.android.libraries.designsystem.theme.components
import androidx.compose.foundation.background
@ -40,6 +43,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
@ -111,7 +115,7 @@ private fun ContentToPreview() {
ModalBottomSheetLayout(
modifier = Modifier.height(140.dp),
displayHandle = true,
sheetState = ModalBottomSheetState(ModalBottomSheetValue.Expanded),
sheetState = ModalBottomSheetState(ModalBottomSheetValue.Expanded, density = LocalDensity.current),
sheetContent = {
Text(text = "Sheet Content", modifier = Modifier
.padding(start = 16.dp, end = 16.dp, bottom = 20.dp)

View file

@ -62,7 +62,7 @@ fun <T> SearchBar(
showBackButton: Boolean = true,
resultState: SearchBarResultState<T> = SearchBarResultState.NotSearching(),
shape: Shape = SearchBarDefaults.inputFieldShape,
tonalElevation: Dp = SearchBarDefaults.Elevation,
tonalElevation: Dp = SearchBarDefaults.TonalElevation,
windowInsets: WindowInsets = SearchBarDefaults.windowInsets,
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
inactiveColors: SearchBarColors = ElementSearchBarDefaults.inactiveColors(),

View file

@ -15,6 +15,7 @@
*/
@file:OptIn(ExperimentalMaterialApi::class)
@file:Suppress("UsingMaterialAndMaterial3Libraries")
package io.element.android.libraries.matrix.ui.components
@ -32,6 +33,7 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
@ -124,7 +126,8 @@ private fun ContentToPreview() {
AvatarActionBottomSheet(
actions = persistentListOf(AvatarAction.TakePhoto, AvatarAction.ChoosePhoto, AvatarAction.Remove),
modalBottomSheetState = ModalBottomSheetState(
initialValue = ModalBottomSheetValue.Expanded
initialValue = ModalBottomSheetValue.Expanded,
density = LocalDensity.current,
),
)
}

View file

@ -41,7 +41,7 @@ import io.element.android.libraries.designsystem.components.avatar.AvatarData
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.theme.components.Checkbox
import io.element.android.libraries.designsystem.theme.components.Divider
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.matrix.ui.model.getAvatarData
@ -149,11 +149,11 @@ internal fun CheckableUnresolvedUserRowPreview() =
val matrixUser = aMatrixUser()
Column {
CheckableUnresolvedUserRow(false, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value)
Divider()
HorizontalDivider()
CheckableUnresolvedUserRow(true, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value)
Divider()
HorizontalDivider()
CheckableUnresolvedUserRow(false, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value, enabled = false)
Divider()
HorizontalDivider()
CheckableUnresolvedUserRow(true, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value, enabled = false)
}
}

View file

@ -49,6 +49,7 @@ import androidx.compose.material3.TextFieldDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
@ -114,8 +115,8 @@ fun TextComposer(
Spacer(modifier = Modifier.width(12.dp))
val roundCornerSmall = 20.dp.applyScaleUp()
val roundCornerLarge = 28.dp.applyScaleUp()
var lineCount by remember { mutableIntStateOf(0) }
var lineCount by remember { mutableStateOf(0) }
val roundedCornerSize = remember(lineCount, composerMode) {
if (lineCount > 1 || composerMode is MessageComposerMode.Special) {
roundCornerSmall
@ -288,7 +289,7 @@ private fun EditingModeView(
.clickable(
enabled = true,
onClick = onResetComposerMode,
interactionSource = MutableInteractionSource(),
interactionSource = remember { MutableInteractionSource() },
indication = rememberRipple(bounded = false)
),
)
@ -351,7 +352,7 @@ private fun ReplyToModeView(
.clickable(
enabled = true,
onClick = onResetComposerMode,
interactionSource = MutableInteractionSource(),
interactionSource = remember { MutableInteractionSource() },
indication = rememberRipple(bounded = false)
),
)
@ -390,7 +391,7 @@ private fun BoxScope.SendButton(
composerMode: MessageComposerMode,
modifier: Modifier = Modifier,
) {
val interactionSource = MutableInteractionSource()
val interactionSource = remember { MutableInteractionSource() }
Box(
modifier = modifier
.clip(CircleShape)

View file

@ -23,6 +23,8 @@ android {
namespace = "io.element.android.libraries.theme"
dependencies {
api(libs.androidx.compose.material3)
ksp(libs.showkase.processor)
kspTest(libs.showkase.processor)

View file

@ -74,7 +74,7 @@ object ElementTheme {
val materialTypography: Typography
@Composable
@ReadOnlyComposable
get()= MaterialTheme.typography
get() = MaterialTheme.typography
/**
* Returns whether the theme version used is the light or the dark one.

View file

@ -17,9 +17,11 @@
package io.element.android.libraries.theme.compound
import androidx.compose.material3.Typography
import androidx.compose.ui.text.PlatformTextStyle
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.LineHeightStyle
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
import io.element.android.libraries.theme.compound.generated.TypographyTokens
@ -41,6 +43,8 @@ internal val defaultHeadlineSmall = TextStyle(
lineHeight = 32.sp,
fontSize = 24.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
// 22px (Material) vs 20px, it's the closest one

View file

@ -1,21 +1,7 @@
/*
* Copyright (c) 2023 New Vector Ltd
*
* 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.
*/
// Do not edit directly
// Generated on Tue, 27 Jun 2023 13:31:52 GMT
// Generated on Fri, 28 Jul 2023 10:11:16 GMT
@ -27,6 +13,8 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
import androidx.compose.ui.text.PlatformTextStyle
import androidx.compose.ui.text.style.LineHeightStyle
object TypographyTokens {
val fontBodyLgMedium = TextStyle(
@ -35,6 +23,8 @@ object TypographyTokens {
lineHeight = 22.sp,
fontSize = 16.sp,
letterSpacing = 0.015629999999999998.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontBodyLgRegular = TextStyle(
fontFamily = FontFamily.Default,
@ -42,6 +32,8 @@ object TypographyTokens {
lineHeight = 22.sp,
fontSize = 16.sp,
letterSpacing = 0.015629999999999998.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontBodyMdMedium = TextStyle(
fontFamily = FontFamily.Default,
@ -49,6 +41,8 @@ object TypographyTokens {
lineHeight = 20.sp,
fontSize = 14.sp,
letterSpacing = 0.01786.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontBodyMdRegular = TextStyle(
fontFamily = FontFamily.Default,
@ -56,6 +50,8 @@ object TypographyTokens {
lineHeight = 20.sp,
fontSize = 14.sp,
letterSpacing = 0.01786.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontBodySmMedium = TextStyle(
fontFamily = FontFamily.Default,
@ -63,6 +59,8 @@ object TypographyTokens {
lineHeight = 17.sp,
fontSize = 12.sp,
letterSpacing = 0.03333.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontBodySmRegular = TextStyle(
fontFamily = FontFamily.Default,
@ -70,6 +68,8 @@ object TypographyTokens {
lineHeight = 17.sp,
fontSize = 12.sp,
letterSpacing = 0.03333.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontBodyXsMedium = TextStyle(
fontFamily = FontFamily.Default,
@ -77,6 +77,8 @@ object TypographyTokens {
lineHeight = 15.sp,
fontSize = 11.sp,
letterSpacing = 0.04545.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontBodyXsRegular = TextStyle(
fontFamily = FontFamily.Default,
@ -84,6 +86,8 @@ object TypographyTokens {
lineHeight = 15.sp,
fontSize = 11.sp,
letterSpacing = 0.04545.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontHeadingLgBold = TextStyle(
fontFamily = FontFamily.Default,
@ -91,6 +95,8 @@ object TypographyTokens {
lineHeight = 34.sp,
fontSize = 28.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontHeadingLgRegular = TextStyle(
fontFamily = FontFamily.Default,
@ -98,6 +104,8 @@ object TypographyTokens {
lineHeight = 34.sp,
fontSize = 28.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontHeadingMdBold = TextStyle(
fontFamily = FontFamily.Default,
@ -105,6 +113,8 @@ object TypographyTokens {
lineHeight = 27.sp,
fontSize = 22.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontHeadingMdRegular = TextStyle(
fontFamily = FontFamily.Default,
@ -112,6 +122,8 @@ object TypographyTokens {
lineHeight = 27.sp,
fontSize = 22.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontHeadingSmMedium = TextStyle(
fontFamily = FontFamily.Default,
@ -119,6 +131,8 @@ object TypographyTokens {
lineHeight = 25.sp,
fontSize = 20.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontHeadingSmRegular = TextStyle(
fontFamily = FontFamily.Default,
@ -126,6 +140,8 @@ object TypographyTokens {
lineHeight = 25.sp,
fontSize = 20.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontHeadingXlBold = TextStyle(
fontFamily = FontFamily.Default,
@ -133,6 +149,8 @@ object TypographyTokens {
lineHeight = 41.sp,
fontSize = 34.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
val fontHeadingXlRegular = TextStyle(
fontFamily = FontFamily.Default,
@ -140,5 +158,7 @@ object TypographyTokens {
lineHeight = 41.sp,
fontSize = 34.sp,
letterSpacing = 0.em,
platformStyle = PlatformTextStyle(includeFontPadding = false),
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
)
}