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:
parent
814c8edc4f
commit
e3cfbc113b
791 changed files with 1657 additions and 1578 deletions
|
|
@ -1,4 +1,6 @@
|
||||||
|
import com.google.devtools.ksp.gradle.KspTask
|
||||||
import kotlinx.kover.api.KoverTaskExtension
|
import kotlinx.kover.api.KoverTaskExtension
|
||||||
|
import org.apache.tools.ant.taskdefs.optional.ReplaceRegExp
|
||||||
import org.jetbrains.kotlin.cli.common.toBooleanLenient
|
import org.jetbrains.kotlin.cli.common.toBooleanLenient
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
|
|
@ -343,3 +345,21 @@ subprojects {
|
||||||
tasks.findByName("recordPaparazziDebug")?.dependsOn(removeOldScreenshotsTask)
|
tasks.findByName("recordPaparazziDebug")?.dependsOn(removeOldScreenshotsTask)
|
||||||
tasks.findByName("recordPaparazziRelease")?.dependsOn(removeOldScreenshotsTask)
|
tasks.findByName("recordPaparazziRelease")?.dependsOn(removeOldScreenshotsTask)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Workaround for https://github.com/airbnb/Showkase/issues/335
|
||||||
|
subprojects {
|
||||||
|
tasks.withType<KspTask>() {
|
||||||
|
doLast {
|
||||||
|
fileTree(buildDir).apply { include("**/*ShowkaseExtension*.kt") }.files.forEach { file ->
|
||||||
|
ReplaceRegExp().apply {
|
||||||
|
setMatch("public fun Showkase.getMetadata")
|
||||||
|
setReplace("@Suppress(\"DEPRECATION\") public fun Showkase.getMetadata")
|
||||||
|
setFlags("g")
|
||||||
|
setByLine(true)
|
||||||
|
setFile(file)
|
||||||
|
execute()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.Divider
|
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
|
||||||
import io.element.android.libraries.matrix.ui.components.CheckableMatrixUserRow
|
import io.element.android.libraries.matrix.ui.components.CheckableMatrixUserRow
|
||||||
import io.element.android.libraries.matrix.ui.components.CheckableUnresolvedUserRow
|
import io.element.android.libraries.matrix.ui.components.CheckableUnresolvedUserRow
|
||||||
import io.element.android.libraries.matrix.ui.components.aMatrixUser
|
import io.element.android.libraries.matrix.ui.components.aMatrixUser
|
||||||
|
|
@ -63,11 +63,11 @@ internal fun SearchMultipleUsersResultItemPreview() = ElementThemedPreview { Con
|
||||||
private fun ContentToPreview() {
|
private fun ContentToPreview() {
|
||||||
Column {
|
Column {
|
||||||
SearchMultipleUsersResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = false), isUserSelected = false)
|
SearchMultipleUsersResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = false), isUserSelected = false)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
SearchMultipleUsersResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = false), isUserSelected = true)
|
SearchMultipleUsersResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = false), isUserSelected = true)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
SearchMultipleUsersResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = true), isUserSelected = false)
|
SearchMultipleUsersResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = true), isUserSelected = false)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
SearchMultipleUsersResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = true), isUserSelected = true)
|
SearchMultipleUsersResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = true), isUserSelected = true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.Divider
|
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
|
||||||
import io.element.android.libraries.matrix.ui.components.MatrixUserRow
|
import io.element.android.libraries.matrix.ui.components.MatrixUserRow
|
||||||
import io.element.android.libraries.matrix.ui.components.UnresolvedUserRow
|
import io.element.android.libraries.matrix.ui.components.UnresolvedUserRow
|
||||||
import io.element.android.libraries.matrix.ui.components.aMatrixUser
|
import io.element.android.libraries.matrix.ui.components.aMatrixUser
|
||||||
|
|
@ -59,7 +59,7 @@ internal fun SearchSingleUserResultItemPreview() = ElementThemedPreview { Conten
|
||||||
private fun ContentToPreview() {
|
private fun ContentToPreview() {
|
||||||
Column {
|
Column {
|
||||||
SearchSingleUserResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = false))
|
SearchSingleUserResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = false))
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
SearchSingleUserResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = true))
|
SearchSingleUserResultItem(searchResult = UserSearchResult(aMatrixUser(), isUnresolved = true))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
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.SearchBar
|
import io.element.android.libraries.designsystem.theme.components.SearchBar
|
||||||
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
|
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
|
||||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||||
|
|
@ -117,7 +117,7 @@ fun SearchUserBar(
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if (index < users.lastIndex) {
|
if (index < users.lastIndex) {
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -128,7 +128,7 @@ fun SearchUserBar(
|
||||||
onClick = { onUserSelected(searchResult.matrixUser) }
|
onClick = { onUserSelected(searchResult.matrixUser) }
|
||||||
)
|
)
|
||||||
if (index < users.lastIndex) {
|
if (index < users.lastIndex) {
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
||||||
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
||||||
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.Scaffold
|
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||||
|
|
@ -161,7 +161,7 @@ fun InviteListContent(
|
||||||
)
|
)
|
||||||
|
|
||||||
if (index != state.inviteList.lastIndex) {
|
if (index != state.inviteList.lastIndex) {
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtom
|
||||||
import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtomSize
|
import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtomSize
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
||||||
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.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.theme.ElementTheme
|
import io.element.android.libraries.theme.ElementTheme
|
||||||
|
|
@ -55,7 +55,7 @@ fun AccountProviderView(
|
||||||
Column(modifier = modifier
|
Column(modifier = modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.clickable { onClick() }) {
|
.clickable { onClick() }) {
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
import io.element.android.libraries.designsystem.preview.DayNightPreviews
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.text.toSp
|
import io.element.android.libraries.designsystem.text.toSp
|
||||||
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.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
|
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
|
||||||
import io.element.android.libraries.designsystem.theme.components.hide
|
import io.element.android.libraries.designsystem.theme.components.hide
|
||||||
|
|
@ -177,7 +177,7 @@ private fun SheetContent(
|
||||||
.padding(horizontal = 16.dp)
|
.padding(horizontal = 16.dp)
|
||||||
)
|
)
|
||||||
Spacer(modifier = Modifier.height(14.dp))
|
Spacer(modifier = Modifier.height(14.dp))
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (state.displayEmojiReactions) {
|
if (state.displayEmojiReactions) {
|
||||||
|
|
@ -188,7 +188,7 @@ private fun SheetContent(
|
||||||
onCustomReactionClicked = onCustomReactionClicked,
|
onCustomReactionClicked = onCustomReactionClicked,
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
)
|
)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
items(
|
items(
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ import io.element.android.libraries.designsystem.components.dialogs.ErrorDialogD
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
||||||
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
||||||
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.RadioButton
|
import io.element.android.libraries.designsystem.theme.components.RadioButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||||
import io.element.android.libraries.designsystem.theme.components.SearchBar
|
import io.element.android.libraries.designsystem.theme.components.SearchBar
|
||||||
|
|
@ -161,7 +161,7 @@ fun ForwardMessagesView(
|
||||||
state.eventSink(ForwardMessagesEvents.SetSelectedRoom(roomSummary))
|
state.eventSink(ForwardMessagesEvents.SetSelectedRoom(roomSummary))
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
Divider(modifier = Modifier.fillMaxWidth())
|
HorizontalDivider(modifier = Modifier.fillMaxWidth())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -186,7 +186,7 @@ fun ForwardMessagesView(
|
||||||
state.eventSink(ForwardMessagesEvents.SetSelectedRoom(roomSummary))
|
state.eventSink(ForwardMessagesEvents.SetSelectedRoom(roomSummary))
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
Divider(modifier = Modifier.fillMaxWidth())
|
HorizontalDivider(modifier = Modifier.fillMaxWidth())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ fun EmojiPicker(
|
||||||
|
|
||||||
val emojiProvider = remember { GoogleEmojiProvider() }
|
val emojiProvider = remember { GoogleEmojiProvider() }
|
||||||
val categories = remember { emojiProvider.categories }
|
val categories = remember { emojiProvider.categories }
|
||||||
val pagerState = rememberPagerState()
|
val pagerState = rememberPagerState(pageCount = { emojiProvider.categories.size })
|
||||||
Column(modifier) {
|
Column(modifier) {
|
||||||
TabRow(
|
TabRow(
|
||||||
selectedTabIndex = pagerState.currentPage,
|
selectedTabIndex = pagerState.currentPage,
|
||||||
|
|
@ -88,7 +88,6 @@ fun EmojiPicker(
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalPager(
|
HorizontalPager(
|
||||||
pageCount = categories.size,
|
|
||||||
state = pagerState,
|
state = pagerState,
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
) { index ->
|
) { index ->
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import androidx.compose.foundation.layout.widthIn
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material.ripple.rememberRipple
|
import androidx.compose.material.ripple.rememberRipple
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
|
|
@ -152,7 +153,7 @@ private fun ContentToPreview(state: BubbleState) {
|
||||||
) {
|
) {
|
||||||
MessageEventBubble(
|
MessageEventBubble(
|
||||||
state = state,
|
state = state,
|
||||||
interactionSource = MutableInteractionSource(),
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
) {
|
) {
|
||||||
// Render the state as a text to better understand the previews
|
// Render the state as a text to better understand the previews
|
||||||
Box(
|
Box(
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ import androidx.compose.foundation.layout.widthIn
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material.ripple.rememberRipple
|
import androidx.compose.material.ripple.rememberRipple
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
|
@ -81,13 +82,13 @@ private fun ContentToPreview() {
|
||||||
Column {
|
Column {
|
||||||
MessageStateEventContainer(
|
MessageStateEventContainer(
|
||||||
isHighlighted = false,
|
isHighlighted = false,
|
||||||
interactionSource = MutableInteractionSource(),
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
) {
|
) {
|
||||||
Spacer(modifier = Modifier.size(width = 120.dp, height = 32.dp))
|
Spacer(modifier = Modifier.size(width = 120.dp, height = 32.dp))
|
||||||
}
|
}
|
||||||
MessageStateEventContainer(
|
MessageStateEventContainer(
|
||||||
isHighlighted = true,
|
isHighlighted = true,
|
||||||
interactionSource = MutableInteractionSource(),
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
) {
|
) {
|
||||||
Spacer(modifier = Modifier.size(width = 120.dp, height = 32.dp))
|
Spacer(modifier = Modifier.size(width = 120.dp, height = 32.dp))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import androidx.compose.material.icons.filled.Error
|
||||||
import androidx.compose.material.ripple.rememberRipple
|
import androidx.compose.material.ripple.rememberRipple
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
|
@ -63,7 +64,7 @@ fun TimelineEventTimestampView(
|
||||||
onClick = onClick,
|
onClick = onClick,
|
||||||
onLongClick = onLongClick,
|
onLongClick = onLongClick,
|
||||||
indication = rememberRipple(bounded = false),
|
indication = rememberRipple(bounded = false),
|
||||||
interactionSource = MutableInteractionSource()
|
interactionSource = remember { MutableInteractionSource() }
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Modifier
|
Modifier
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ internal fun TimelineItemTextViewDarkPreview(@PreviewParameter(TimelineItemTextB
|
||||||
fun ContentToPreview(content: TimelineItemTextBasedContent) {
|
fun ContentToPreview(content: TimelineItemTextBasedContent) {
|
||||||
TimelineItemTextView(
|
TimelineItemTextView(
|
||||||
content = content,
|
content = content,
|
||||||
interactionSource = MutableInteractionSource(),
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
extraPadding = ExtraPadding(nbChars = 8),
|
extraPadding = ExtraPadding(nbChars = 8),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import androidx.compose.material3.ColorScheme
|
||||||
import androidx.compose.material3.LocalTextStyle
|
import androidx.compose.material3.LocalTextStyle
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.drawBehind
|
import androidx.compose.ui.draw.drawBehind
|
||||||
import androidx.compose.ui.geometry.Offset
|
import androidx.compose.ui.geometry.Offset
|
||||||
|
|
@ -599,5 +600,5 @@ internal fun HtmlDocumentDarkPreview(@PreviewParameter(DocumentProvider::class)
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun ContentToPreview(document: Document) {
|
private fun ContentToPreview(document: Document) {
|
||||||
HtmlDocument(document, MutableInteractionSource())
|
HtmlDocument(document, remember { MutableInteractionSource() })
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ private fun SheetContent(
|
||||||
summary.reactions.indexOfFirst { it.key == selectedReactionKey }
|
summary.reactions.indexOfFirst { it.key == selectedReactionKey }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val pagerState = rememberPagerState(initialPage = selectedReactionIndex)
|
val pagerState = rememberPagerState(initialPage = selectedReactionIndex, pageCount = { summary.reactions.size })
|
||||||
val reactionListState = rememberLazyListState()
|
val reactionListState = rememberLazyListState()
|
||||||
|
|
||||||
LaunchedEffect(pagerState.currentPage) {
|
LaunchedEffect(pagerState.currentPage) {
|
||||||
|
|
@ -123,7 +123,8 @@ private fun SheetContent(
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.fillMaxHeight()
|
.fillMaxHeight()
|
||||||
) {
|
) {
|
||||||
LazyRow(state = reactionListState,
|
LazyRow(
|
||||||
|
state = reactionListState,
|
||||||
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
||||||
contentPadding = PaddingValues(start = 12.dp, end = 12.dp, bottom = 12.dp)
|
contentPadding = PaddingValues(start = 12.dp, end = 12.dp, bottom = 12.dp)
|
||||||
) {
|
) {
|
||||||
|
|
@ -140,7 +141,7 @@ private fun SheetContent(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
HorizontalPager(state = pagerState, pageCount = summary.reactions.size) { page ->
|
HorizontalPager(state = pagerState) { page ->
|
||||||
LazyColumn(modifier = Modifier.fillMaxHeight()) {
|
LazyColumn(modifier = Modifier.fillMaxHeight()) {
|
||||||
items(summary.reactions[page].senders) { sender ->
|
items(summary.reactions[page].senders) { sender ->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ import io.element.android.libraries.designsystem.components.preferences.Preferen
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
||||||
import io.element.android.libraries.designsystem.preview.LargeHeightPreview
|
import io.element.android.libraries.designsystem.preview.LargeHeightPreview
|
||||||
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.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.designsystem.utils.SnackbarHost
|
import io.element.android.libraries.designsystem.utils.SnackbarHost
|
||||||
import io.element.android.libraries.designsystem.utils.rememberSnackbarHostState
|
import io.element.android.libraries.designsystem.utils.rememberSnackbarHostState
|
||||||
|
|
@ -73,7 +73,7 @@ fun PreferencesRootView(
|
||||||
icon = Icons.Outlined.VerifiedUser,
|
icon = Icons.Outlined.VerifiedUser,
|
||||||
onClick = onVerifyClicked,
|
onClick = onVerifyClicked,
|
||||||
)
|
)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
if (state.showAnalyticsSettings) {
|
if (state.showAnalyticsSettings) {
|
||||||
PreferenceText(
|
PreferenceText(
|
||||||
|
|
@ -95,7 +95,7 @@ fun PreferencesRootView(
|
||||||
if (state.showDeveloperSettings) {
|
if (state.showDeveloperSettings) {
|
||||||
DeveloperPreferencesView(onOpenDeveloperSettings)
|
DeveloperPreferencesView(onOpenDeveloperSettings)
|
||||||
}
|
}
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
LogoutPreferenceView(
|
LogoutPreferenceView(
|
||||||
state = state.logoutState,
|
state = state.logoutState,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ import io.element.android.libraries.designsystem.components.button.BackButton
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
||||||
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
||||||
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.Scaffold
|
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||||
import io.element.android.libraries.designsystem.theme.components.SearchBar
|
import io.element.android.libraries.designsystem.theme.components.SearchBar
|
||||||
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
|
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
|
||||||
|
|
@ -208,7 +208,7 @@ private fun RoomInviteMembersSearchBar(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (index < results.lastIndex) {
|
if (index < results.lastIndex) {
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
|
||||||
import io.element.android.features.roomlist.impl.search.RoomListSearchResultView
|
import io.element.android.features.roomlist.impl.search.RoomListSearchResultView
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
||||||
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.FloatingActionButton
|
import io.element.android.libraries.designsystem.theme.components.FloatingActionButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||||
|
|
@ -207,7 +207,7 @@ fun RoomListContent(
|
||||||
onLongClick = onRoomLongClicked,
|
onLongClick = onRoomLongClicked,
|
||||||
)
|
)
|
||||||
if (index != state.roomList.lastIndex) {
|
if (index != state.roomList.lastIndex) {
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,3 +56,6 @@ android.experimental.enableTestFixtures=true
|
||||||
|
|
||||||
# Create BuildConfig files as bytecode to avoid Java compilation phase
|
# Create BuildConfig files as bytecode to avoid Java compilation phase
|
||||||
android.enableBuildConfigAsBytecode=true
|
android.enableBuildConfigAsBytecode=true
|
||||||
|
|
||||||
|
# This should be removed after upgrading to AGP 8.1.0
|
||||||
|
android.suppressUnsupportedCompileSdk=34
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ androidx_startup = { module = "androidx.startup:startup-runtime", version.ref =
|
||||||
androidx_preference = "androidx.preference:preference:1.2.0"
|
androidx_preference = "androidx.preference:preference:1.2.0"
|
||||||
|
|
||||||
androidx_compose_bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose_bom" }
|
androidx_compose_bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose_bom" }
|
||||||
|
androidx_compose_material3 = "androidx.compose.material3:material3:1.2.0-alpha05"
|
||||||
|
|
||||||
# Coroutines
|
# Coroutines
|
||||||
coroutines_core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
|
coroutines_core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ private fun ContentToPreview() {
|
||||||
linkAnnotationTag = "",
|
linkAnnotationTag = "",
|
||||||
onClick = {},
|
onClick = {},
|
||||||
onLongClick = {},
|
onLongClick = {},
|
||||||
interactionSource = MutableInteractionSource(),
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
import androidx.compose.ui.unit.sp
|
||||||
import coil.compose.AsyncImage
|
import coil.compose.AsyncImage
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
|
|
@ -91,10 +92,14 @@ private fun InitialsAvatar(
|
||||||
Box(
|
Box(
|
||||||
modifier.background(color = avatarColor),
|
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(
|
Text(
|
||||||
modifier = Modifier.align(Alignment.Center),
|
modifier = Modifier.align(Alignment.Center),
|
||||||
text = avatarData.initial,
|
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,
|
color = Color.White,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import androidx.compose.material.ripple.rememberRipple
|
||||||
import androidx.compose.material3.LocalContentColor
|
import androidx.compose.material3.LocalContentColor
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
|
|
@ -51,7 +52,7 @@ fun MainActionButton(
|
||||||
contentDescription: String = title,
|
contentDescription: String = title,
|
||||||
) {
|
) {
|
||||||
val ripple = rememberRipple(bounded = false)
|
val ripple = rememberRipple(bounded = false)
|
||||||
val interactionSource = MutableInteractionSource()
|
val interactionSource = remember { MutableInteractionSource() }
|
||||||
Column(
|
Column(
|
||||||
modifier.clickable(
|
modifier.clickable(
|
||||||
enabled = enabled,
|
enabled = enabled,
|
||||||
|
|
|
||||||
|
|
@ -21,14 +21,14 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
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
|
import io.element.android.libraries.theme.ElementTheme
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PreferenceDivider(
|
fun PreferenceDivider(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
Divider(
|
HorizontalDivider(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
color = ElementTheme.colors.borderDisabled,
|
color = ElementTheme.colors.borderDisabled,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,13 @@ package io.element.android.libraries.designsystem.preview
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.SheetState
|
import androidx.compose.material3.SheetState
|
||||||
import androidx.compose.material3.SheetValue
|
import androidx.compose.material3.SheetValue
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
val sheetStateForPreview = SheetState(
|
@Composable
|
||||||
|
fun sheetStateForPreview() = SheetState(
|
||||||
skipPartiallyExpanded = true,
|
skipPartiallyExpanded = true,
|
||||||
initialValue = SheetValue.Expanded,
|
initialValue = SheetValue.Expanded,
|
||||||
|
density = LocalDensity.current,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ private fun ContentToPreview() {
|
||||||
onClick = {},
|
onClick = {},
|
||||||
trailingIcon = { Icon(Icons.Default.ArrowRight, contentDescription = null) },
|
trailingIcon = { Icon(Icons.Default.ArrowRight, contentDescription = null) },
|
||||||
)
|
)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
DropdownMenuItem(
|
DropdownMenuItem(
|
||||||
text = { Text(text = "Item") },
|
text = { Text(text = "Item") },
|
||||||
onClick = {},
|
onClick = {},
|
||||||
|
|
@ -109,7 +109,7 @@ private fun ContentToPreview() {
|
||||||
leadingIcon = { Icon(Icons.Default.BugReport, contentDescription = null) },
|
leadingIcon = { Icon(Icons.Default.BugReport, contentDescription = null) },
|
||||||
trailingIcon = { Icon(Icons.Default.ArrowRight, contentDescription = null) },
|
trailingIcon = { Icon(Icons.Default.ArrowRight, contentDescription = null) },
|
||||||
)
|
)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
DropdownMenuItem(
|
DropdownMenuItem(
|
||||||
text = { Text(text = "Multiline\nItem") },
|
text = { Text(text = "Multiline\nItem") },
|
||||||
onClick = {},
|
onClick = {},
|
||||||
|
|
|
||||||
|
|
@ -30,12 +30,12 @@ import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun Divider(
|
fun HorizontalDivider(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
thickness: Dp = ElementDividerDefaults.thickness,
|
thickness: Dp = ElementDividerDefaults.thickness,
|
||||||
color: Color = DividerDefaults.color,
|
color: Color = DividerDefaults.color,
|
||||||
) {
|
) {
|
||||||
androidx.compose.material3.Divider(
|
androidx.compose.material3.HorizontalDivider(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
thickness = thickness,
|
thickness = thickness,
|
||||||
color = color,
|
color = color,
|
||||||
|
|
@ -48,7 +48,7 @@ object ElementDividerDefaults {
|
||||||
|
|
||||||
@Preview(group = PreviewGroup.Dividers)
|
@Preview(group = PreviewGroup.Dividers)
|
||||||
@Composable
|
@Composable
|
||||||
internal fun DividerPreview() = ElementThemedPreview {
|
internal fun HorizontalDividerPreview() = ElementThemedPreview {
|
||||||
Box(Modifier.padding(vertical = 10.dp), contentAlignment = Alignment.Center) {
|
Box(Modifier.padding(vertical = 10.dp), contentAlignment = Alignment.Center) {
|
||||||
ContentToPreview()
|
ContentToPreview()
|
||||||
}
|
}
|
||||||
|
|
@ -56,5 +56,5 @@ internal fun DividerPreview() = ElementThemedPreview {
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun ContentToPreview() {
|
private fun ContentToPreview() {
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
}
|
}
|
||||||
|
|
@ -100,7 +100,7 @@ private fun ContentToPreview() {
|
||||||
) {
|
) {
|
||||||
ModalBottomSheet(
|
ModalBottomSheet(
|
||||||
onDismissRequest = {},
|
onDismissRequest = {},
|
||||||
sheetState = sheetStateForPreview,
|
sheetState = sheetStateForPreview(),
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "Sheet Content",
|
text = "Sheet Content",
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,9 @@
|
||||||
* limitations under the License.
|
* 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
|
package io.element.android.libraries.designsystem.theme.components
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
|
|
@ -40,6 +43,7 @@ import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.Shape
|
import androidx.compose.ui.graphics.Shape
|
||||||
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
|
@ -111,7 +115,7 @@ private fun ContentToPreview() {
|
||||||
ModalBottomSheetLayout(
|
ModalBottomSheetLayout(
|
||||||
modifier = Modifier.height(140.dp),
|
modifier = Modifier.height(140.dp),
|
||||||
displayHandle = true,
|
displayHandle = true,
|
||||||
sheetState = ModalBottomSheetState(ModalBottomSheetValue.Expanded),
|
sheetState = ModalBottomSheetState(ModalBottomSheetValue.Expanded, density = LocalDensity.current),
|
||||||
sheetContent = {
|
sheetContent = {
|
||||||
Text(text = "Sheet Content", modifier = Modifier
|
Text(text = "Sheet Content", modifier = Modifier
|
||||||
.padding(start = 16.dp, end = 16.dp, bottom = 20.dp)
|
.padding(start = 16.dp, end = 16.dp, bottom = 20.dp)
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ fun <T> SearchBar(
|
||||||
showBackButton: Boolean = true,
|
showBackButton: Boolean = true,
|
||||||
resultState: SearchBarResultState<T> = SearchBarResultState.NotSearching(),
|
resultState: SearchBarResultState<T> = SearchBarResultState.NotSearching(),
|
||||||
shape: Shape = SearchBarDefaults.inputFieldShape,
|
shape: Shape = SearchBarDefaults.inputFieldShape,
|
||||||
tonalElevation: Dp = SearchBarDefaults.Elevation,
|
tonalElevation: Dp = SearchBarDefaults.TonalElevation,
|
||||||
windowInsets: WindowInsets = SearchBarDefaults.windowInsets,
|
windowInsets: WindowInsets = SearchBarDefaults.windowInsets,
|
||||||
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
|
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
|
||||||
inactiveColors: SearchBarColors = ElementSearchBarDefaults.inactiveColors(),
|
inactiveColors: SearchBarColors = ElementSearchBarDefaults.inactiveColors(),
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@file:OptIn(ExperimentalMaterialApi::class)
|
@file:OptIn(ExperimentalMaterialApi::class)
|
||||||
|
@file:Suppress("UsingMaterialAndMaterial3Libraries")
|
||||||
|
|
||||||
package io.element.android.libraries.matrix.ui.components
|
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.Composable
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||||
|
|
@ -124,7 +126,8 @@ private fun ContentToPreview() {
|
||||||
AvatarActionBottomSheet(
|
AvatarActionBottomSheet(
|
||||||
actions = persistentListOf(AvatarAction.TakePhoto, AvatarAction.ChoosePhoto, AvatarAction.Remove),
|
actions = persistentListOf(AvatarAction.TakePhoto, AvatarAction.ChoosePhoto, AvatarAction.Remove),
|
||||||
modalBottomSheetState = ModalBottomSheetState(
|
modalBottomSheetState = ModalBottomSheetState(
|
||||||
initialValue = ModalBottomSheetValue.Expanded
|
initialValue = ModalBottomSheetValue.Expanded,
|
||||||
|
density = LocalDensity.current,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
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.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.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
|
|
@ -149,11 +149,11 @@ internal fun CheckableUnresolvedUserRowPreview() =
|
||||||
val matrixUser = aMatrixUser()
|
val matrixUser = aMatrixUser()
|
||||||
Column {
|
Column {
|
||||||
CheckableUnresolvedUserRow(false, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value)
|
CheckableUnresolvedUserRow(false, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
CheckableUnresolvedUserRow(true, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value)
|
CheckableUnresolvedUserRow(true, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
CheckableUnresolvedUserRow(false, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value, enabled = false)
|
CheckableUnresolvedUserRow(false, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value, enabled = false)
|
||||||
Divider()
|
HorizontalDivider()
|
||||||
CheckableUnresolvedUserRow(true, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value, enabled = false)
|
CheckableUnresolvedUserRow(true, matrixUser.getAvatarData(AvatarSize.UserListItem), matrixUser.userId.value, enabled = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ import androidx.compose.material3.TextFieldDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.mutableIntStateOf
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
|
|
@ -114,8 +115,8 @@ fun TextComposer(
|
||||||
Spacer(modifier = Modifier.width(12.dp))
|
Spacer(modifier = Modifier.width(12.dp))
|
||||||
val roundCornerSmall = 20.dp.applyScaleUp()
|
val roundCornerSmall = 20.dp.applyScaleUp()
|
||||||
val roundCornerLarge = 28.dp.applyScaleUp()
|
val roundCornerLarge = 28.dp.applyScaleUp()
|
||||||
|
var lineCount by remember { mutableIntStateOf(0) }
|
||||||
|
|
||||||
var lineCount by remember { mutableStateOf(0) }
|
|
||||||
val roundedCornerSize = remember(lineCount, composerMode) {
|
val roundedCornerSize = remember(lineCount, composerMode) {
|
||||||
if (lineCount > 1 || composerMode is MessageComposerMode.Special) {
|
if (lineCount > 1 || composerMode is MessageComposerMode.Special) {
|
||||||
roundCornerSmall
|
roundCornerSmall
|
||||||
|
|
@ -288,7 +289,7 @@ private fun EditingModeView(
|
||||||
.clickable(
|
.clickable(
|
||||||
enabled = true,
|
enabled = true,
|
||||||
onClick = onResetComposerMode,
|
onClick = onResetComposerMode,
|
||||||
interactionSource = MutableInteractionSource(),
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
indication = rememberRipple(bounded = false)
|
indication = rememberRipple(bounded = false)
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
@ -351,7 +352,7 @@ private fun ReplyToModeView(
|
||||||
.clickable(
|
.clickable(
|
||||||
enabled = true,
|
enabled = true,
|
||||||
onClick = onResetComposerMode,
|
onClick = onResetComposerMode,
|
||||||
interactionSource = MutableInteractionSource(),
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
indication = rememberRipple(bounded = false)
|
indication = rememberRipple(bounded = false)
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
@ -390,7 +391,7 @@ private fun BoxScope.SendButton(
|
||||||
composerMode: MessageComposerMode,
|
composerMode: MessageComposerMode,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
val interactionSource = MutableInteractionSource()
|
val interactionSource = remember { MutableInteractionSource() }
|
||||||
Box(
|
Box(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.clip(CircleShape)
|
.clip(CircleShape)
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ android {
|
||||||
namespace = "io.element.android.libraries.theme"
|
namespace = "io.element.android.libraries.theme"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
api(libs.androidx.compose.material3)
|
||||||
|
|
||||||
ksp(libs.showkase.processor)
|
ksp(libs.showkase.processor)
|
||||||
kspTest(libs.showkase.processor)
|
kspTest(libs.showkase.processor)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ object ElementTheme {
|
||||||
val materialTypography: Typography
|
val materialTypography: Typography
|
||||||
@Composable
|
@Composable
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
get()= MaterialTheme.typography
|
get() = MaterialTheme.typography
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether the theme version used is the light or the dark one.
|
* Returns whether the theme version used is the light or the dark one.
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,11 @@
|
||||||
package io.element.android.libraries.theme.compound
|
package io.element.android.libraries.theme.compound
|
||||||
|
|
||||||
import androidx.compose.material3.Typography
|
import androidx.compose.material3.Typography
|
||||||
|
import androidx.compose.ui.text.PlatformTextStyle
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
import androidx.compose.ui.text.font.FontFamily
|
import androidx.compose.ui.text.font.FontFamily
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
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.em
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import io.element.android.libraries.theme.compound.generated.TypographyTokens
|
import io.element.android.libraries.theme.compound.generated.TypographyTokens
|
||||||
|
|
@ -41,6 +43,8 @@ internal val defaultHeadlineSmall = TextStyle(
|
||||||
lineHeight = 32.sp,
|
lineHeight = 32.sp,
|
||||||
fontSize = 24.sp,
|
fontSize = 24.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
|
|
||||||
// 22px (Material) vs 20px, it's the closest one
|
// 22px (Material) vs 20px, it's the closest one
|
||||||
|
|
|
||||||
|
|
@ -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
|
// 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.text.TextStyle
|
||||||
import androidx.compose.ui.unit.em
|
import androidx.compose.ui.unit.em
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
import androidx.compose.ui.text.PlatformTextStyle
|
||||||
|
import androidx.compose.ui.text.style.LineHeightStyle
|
||||||
|
|
||||||
object TypographyTokens {
|
object TypographyTokens {
|
||||||
val fontBodyLgMedium = TextStyle(
|
val fontBodyLgMedium = TextStyle(
|
||||||
|
|
@ -35,6 +23,8 @@ object TypographyTokens {
|
||||||
lineHeight = 22.sp,
|
lineHeight = 22.sp,
|
||||||
fontSize = 16.sp,
|
fontSize = 16.sp,
|
||||||
letterSpacing = 0.015629999999999998.em,
|
letterSpacing = 0.015629999999999998.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontBodyLgRegular = TextStyle(
|
val fontBodyLgRegular = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -42,6 +32,8 @@ object TypographyTokens {
|
||||||
lineHeight = 22.sp,
|
lineHeight = 22.sp,
|
||||||
fontSize = 16.sp,
|
fontSize = 16.sp,
|
||||||
letterSpacing = 0.015629999999999998.em,
|
letterSpacing = 0.015629999999999998.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontBodyMdMedium = TextStyle(
|
val fontBodyMdMedium = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -49,6 +41,8 @@ object TypographyTokens {
|
||||||
lineHeight = 20.sp,
|
lineHeight = 20.sp,
|
||||||
fontSize = 14.sp,
|
fontSize = 14.sp,
|
||||||
letterSpacing = 0.01786.em,
|
letterSpacing = 0.01786.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontBodyMdRegular = TextStyle(
|
val fontBodyMdRegular = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -56,6 +50,8 @@ object TypographyTokens {
|
||||||
lineHeight = 20.sp,
|
lineHeight = 20.sp,
|
||||||
fontSize = 14.sp,
|
fontSize = 14.sp,
|
||||||
letterSpacing = 0.01786.em,
|
letterSpacing = 0.01786.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontBodySmMedium = TextStyle(
|
val fontBodySmMedium = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -63,6 +59,8 @@ object TypographyTokens {
|
||||||
lineHeight = 17.sp,
|
lineHeight = 17.sp,
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
letterSpacing = 0.03333.em,
|
letterSpacing = 0.03333.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontBodySmRegular = TextStyle(
|
val fontBodySmRegular = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -70,6 +68,8 @@ object TypographyTokens {
|
||||||
lineHeight = 17.sp,
|
lineHeight = 17.sp,
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
letterSpacing = 0.03333.em,
|
letterSpacing = 0.03333.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontBodyXsMedium = TextStyle(
|
val fontBodyXsMedium = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -77,6 +77,8 @@ object TypographyTokens {
|
||||||
lineHeight = 15.sp,
|
lineHeight = 15.sp,
|
||||||
fontSize = 11.sp,
|
fontSize = 11.sp,
|
||||||
letterSpacing = 0.04545.em,
|
letterSpacing = 0.04545.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontBodyXsRegular = TextStyle(
|
val fontBodyXsRegular = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -84,6 +86,8 @@ object TypographyTokens {
|
||||||
lineHeight = 15.sp,
|
lineHeight = 15.sp,
|
||||||
fontSize = 11.sp,
|
fontSize = 11.sp,
|
||||||
letterSpacing = 0.04545.em,
|
letterSpacing = 0.04545.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontHeadingLgBold = TextStyle(
|
val fontHeadingLgBold = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -91,6 +95,8 @@ object TypographyTokens {
|
||||||
lineHeight = 34.sp,
|
lineHeight = 34.sp,
|
||||||
fontSize = 28.sp,
|
fontSize = 28.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontHeadingLgRegular = TextStyle(
|
val fontHeadingLgRegular = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -98,6 +104,8 @@ object TypographyTokens {
|
||||||
lineHeight = 34.sp,
|
lineHeight = 34.sp,
|
||||||
fontSize = 28.sp,
|
fontSize = 28.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontHeadingMdBold = TextStyle(
|
val fontHeadingMdBold = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -105,6 +113,8 @@ object TypographyTokens {
|
||||||
lineHeight = 27.sp,
|
lineHeight = 27.sp,
|
||||||
fontSize = 22.sp,
|
fontSize = 22.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontHeadingMdRegular = TextStyle(
|
val fontHeadingMdRegular = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -112,6 +122,8 @@ object TypographyTokens {
|
||||||
lineHeight = 27.sp,
|
lineHeight = 27.sp,
|
||||||
fontSize = 22.sp,
|
fontSize = 22.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontHeadingSmMedium = TextStyle(
|
val fontHeadingSmMedium = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -119,6 +131,8 @@ object TypographyTokens {
|
||||||
lineHeight = 25.sp,
|
lineHeight = 25.sp,
|
||||||
fontSize = 20.sp,
|
fontSize = 20.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontHeadingSmRegular = TextStyle(
|
val fontHeadingSmRegular = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -126,6 +140,8 @@ object TypographyTokens {
|
||||||
lineHeight = 25.sp,
|
lineHeight = 25.sp,
|
||||||
fontSize = 20.sp,
|
fontSize = 20.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontHeadingXlBold = TextStyle(
|
val fontHeadingXlBold = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -133,6 +149,8 @@ object TypographyTokens {
|
||||||
lineHeight = 41.sp,
|
lineHeight = 41.sp,
|
||||||
fontSize = 34.sp,
|
fontSize = 34.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
val fontHeadingXlRegular = TextStyle(
|
val fontHeadingXlRegular = TextStyle(
|
||||||
fontFamily = FontFamily.Default,
|
fontFamily = FontFamily.Default,
|
||||||
|
|
@ -140,5 +158,7 @@ object TypographyTokens {
|
||||||
lineHeight = 41.sp,
|
lineHeight = 41.sp,
|
||||||
fontSize = 34.sp,
|
fontSize = 34.sp,
|
||||||
letterSpacing = 0.em,
|
letterSpacing = 0.em,
|
||||||
|
platformStyle = PlatformTextStyle(includeFontPadding = false),
|
||||||
|
lineHeightStyle = LineHeightStyle(LineHeightStyle.Alignment.Center, LineHeightStyle.Trim.None)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ private const val versionPatch = 4
|
||||||
object Versions {
|
object Versions {
|
||||||
val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch
|
val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch
|
||||||
val versionName = "$versionMajor.$versionMinor.$versionPatch"
|
val versionName = "$versionMajor.$versionMinor.$versionPatch"
|
||||||
const val compileSdk = 33
|
const val compileSdk = 34
|
||||||
const val targetSdk = 33
|
const val targetSdk = 33
|
||||||
const val minSdk = 23
|
const val minSdk = 23
|
||||||
val javaCompileVersion = JavaVersion.VERSION_17
|
val javaCompileVersion = JavaVersion.VERSION_17
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ fun CommonExtension<*, *, *, *>.androidConfig(project: Project) {
|
||||||
checkDependencies = true
|
checkDependencies = true
|
||||||
abortOnError = true
|
abortOnError = true
|
||||||
ignoreTestFixturesSources = true
|
ignoreTestFixturesSources = true
|
||||||
|
checkGeneratedSources = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,6 +72,7 @@ fun CommonExtension<*, *, *, *>.composeConfig(libs: LibrariesForLibs) {
|
||||||
// error.add("ComposableLambdaParameterNaming")
|
// error.add("ComposableLambdaParameterNaming")
|
||||||
error.add("ComposableLambdaParameterPosition")
|
error.add("ComposableLambdaParameterPosition")
|
||||||
ignoreTestFixturesSources = true
|
ignoreTestFixturesSources = true
|
||||||
|
checkGeneratedSources = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ import androidx.compose.ui.platform.LocalLifecycleOwner
|
||||||
import androidx.compose.ui.unit.Density
|
import androidx.compose.ui.unit.Density
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import app.cash.paparazzi.Paparazzi
|
import app.cash.paparazzi.Paparazzi
|
||||||
|
import app.cash.paparazzi.detectEnvironment
|
||||||
import com.airbnb.android.showkase.models.Showkase
|
import com.airbnb.android.showkase.models.Showkase
|
||||||
import com.android.ide.common.rendering.api.SessionParams
|
import com.android.ide.common.rendering.api.SessionParams
|
||||||
import com.android.resources.NightMode
|
import com.android.resources.NightMode
|
||||||
|
|
@ -70,6 +71,10 @@ class ScreenshotTest {
|
||||||
|
|
||||||
@get:Rule
|
@get:Rule
|
||||||
val paparazzi = Paparazzi(
|
val paparazzi = Paparazzi(
|
||||||
|
environment = detectEnvironment().run {
|
||||||
|
// Workaround to work with API 34 (https://github.com/cashapp/paparazzi/issues/1025)
|
||||||
|
copy(compileSdkVersion = 33, platformDir = platformDir.replace("34", "33"))
|
||||||
|
},
|
||||||
maxPercentDifference = 0.01,
|
maxPercentDifference = 0.01,
|
||||||
renderingMode = SessionParams.RenderingMode.NORMAL,
|
renderingMode = SessionParams.RenderingMode.NORMAL,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e32421c7814394247655f198ae6466f3011478ab30019d15cb951be40e6b70ec
|
oid sha256:34c1373d524046c3b9a68c2f91d1a5eafe73eaf31e625d1eb377f167b9a6a777
|
||||||
size 8190
|
size 8228
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:92811ffa031d8d61593e9040214ca45056a02d81f2de76c46c57606de05dcbb4
|
oid sha256:092bbab2db19b8b11c8a9d3d854f691b7fc802bc8f26ae7495f684902fbe65bb
|
||||||
size 8041
|
size 8020
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:6b3c972ef288022f40478133fa66c822d051e39b427d1f2cfd3434417c0f885f
|
oid sha256:b16f369917dfe1435b6123a57aa3795d3e23ac541b4a38ffa50ee6be4b55886f
|
||||||
size 7229
|
size 7184
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:43eb2e8c816159ee75836569f8b3264acd5d0561fec70f5645e72c37604d6af3
|
oid sha256:e96047b21c6df61868b3b4ba7c220aff7f5dff4ecbd400643e753b626d7629c7
|
||||||
size 12480
|
size 12496
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:06a9e835c3c349bddaae22024457c66bbed7e425dbd289bba728c2c9cc8a1b91
|
oid sha256:21c294f747f99caa4828af16c3442b9bfe3060653defab076bae59925f154656
|
||||||
size 11763
|
size 11595
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b285f487ae95f4bf599da529ef4cc13b861717722ea9349324446ab8ba6d0e4e
|
oid sha256:5e7a76bb5fc2e81e513f492f492168acf8c35628c04f719a0173a88492d6c602
|
||||||
size 9973
|
size 10167
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:2b47ee31afffe2a6d12ddc3404f73662bb416d0299e170c8832db69e4fd22cfe
|
oid sha256:e09d5ad389f099dfcc2fcb1e5ae775e4790ea2e527875539ff28919dc3e86026
|
||||||
size 7630
|
size 7506
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:cd0708db595e85815a474c9c67f12e826e24527a37bd19eb29d2a2e25480d935
|
oid sha256:b63be6149beaf712ff2a5ac11ecf226cc43ed2452bf9f0240a84eea81e0cb069
|
||||||
size 7416
|
size 7414
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f1a99561c83e130159a788ef0b3966407d9762afd98f6039622a24b1db80361b
|
oid sha256:227a5985812b4d7eff5ff5a5c64412a67e7b7c4306b9ffa13daf7a3d3a1d756b
|
||||||
size 6783
|
size 6935
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:3193b06fff17f1d0489569233578a71935f2d515748fe8aff22395f1ba39a847
|
oid sha256:82a4ba64d2cf5d870a3d2873549d7e7c92ebd7db2213f0905860cffe828c98b5
|
||||||
size 8646
|
size 8591
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f37c0b5b314d68e49c0137d7142460ff9aba5a6301a447f45f77b813fb4d1b3b
|
oid sha256:9cb12f37edba89c2eb07cf0f6431bf317fa79dd5fe2a4a387cc71bf8f001967a
|
||||||
size 8005
|
size 7987
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:058960a1b5b76cd6af96adf44cdba466ed4241632aa1ba700d6034159209ba21
|
oid sha256:1b2f22d0b3963a2bf18df60919ab52fc26a55e896f894b49462e01315f63fa3b
|
||||||
size 7242
|
size 7096
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ee84ea7218ad52104a3f030d3daefa5174e122c511a8d7ab7515fb50e9eb8e01
|
oid sha256:00fe416a44e16ba4352e4f5d5b1384b8068bd5e775af2495c0ce0c48189c77f9
|
||||||
size 9580
|
size 9533
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e2d3f6f72be52a27e0ce15f091a44d7796f91a10eb7dab54787631b2a6d33f74
|
oid sha256:2157254093863473fa5e86478e8f68d40f092af7d2280bef8c9dd475f50f694c
|
||||||
size 8220
|
size 8193
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:90b1daf3ab9e6377fa703ea1e13943eaf40e84ccbc61212d606a527759ff20a9
|
oid sha256:0f12f65bd54debdd46849ee2de58727cc5525df402e6467e641218184aa017c7
|
||||||
size 9689
|
size 9628
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:58a097099974131832bae557acf824154bb76fb34d309cb68bd2ae5e658d5371
|
oid sha256:6a5a759ada36389158202ec331ca097da81cf487dcfab639dc15018a5f5fc03c
|
||||||
size 8347
|
size 8229
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:3f18e74bfbebd69109f36a7154b20d3ee61071bff0d8ebf28f4b3b35c58e2938
|
oid sha256:2aa1c935d7edf22dec032f0939fcbab77db2993ca7e6a7f8659cbf4f765ea7e7
|
||||||
size 9256
|
size 9245
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:eea203b9527f7c3dc3692e7db3e9d5cee20ca08fddf04977c948933dc2784022
|
oid sha256:92f8e01bf645641bfc00bda9c4573374afa0312605028883697197df282b6435
|
||||||
size 11274
|
size 11338
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b5c69ae7d27eb7024e9a2f9c7100b308562ef2fc702e28604098180cb02a3813
|
oid sha256:efc62a8981579a8d573449af5cb8f0cb83be9c38c750c3897e885bd5e71e8f3a
|
||||||
size 9645
|
size 9667
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:62149a4d9b0dd62ddb56e1cdb24fe401f189fda05d17dd16f8c0bc511eab6561
|
oid sha256:3ed4dc5ba331a1535248921013451dc05d0ecf40245f6a8fb2e4e6e226d015dc
|
||||||
size 11616
|
size 11870
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:862bbfc81d7c4ccc16e6d8d1db4f81306c0219b45b3630cd2f73dcabf0550b3b
|
oid sha256:528d1efc10ed0d8bcfa7a1df2b85949a59561e69c3b7adb9172f529a8e10566e
|
||||||
size 26007
|
size 26046
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:32f331dd755437c67fd5251e3034b63d1e099f1032043b86b6f6f989680e390f
|
oid sha256:81df1d3c22ca848182686e2a9dcc7ab4a9f06ac8707169561f735ac77a7f2c7e
|
||||||
size 28184
|
size 28185
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:250a6ae8cb93c781d570c40054f34b21832434f9a692adf637cf9e2560c6a09e
|
oid sha256:6278291a4f82614b0c931b38c6c85044fc2ff45e05036eaeca2c27db1bc9239c
|
||||||
size 21538
|
size 21592
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:087d4e2355b7b64f930c8e4c149f565b77304ba0f62fc16ce0ff99696dc51b5e
|
oid sha256:3e0ab2d4a281829f1d4a502c7e4ac78b96b3756c1fbbc2ac2eac5a4a72c68fb6
|
||||||
size 27966
|
size 27842
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:702d61eabe690c6b7a259d3773ed7e25011b0a8a99c7a1109930c2ea78b234a2
|
oid sha256:585dea08c8746f34287f221f04e9b30ecb0552d64eeea56c463cae42cf22eab0
|
||||||
size 30106
|
size 30074
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:85b0c428cf44532739245c8303cc2c86ab5e0c6ffc060871f1eef8e1bce9955b
|
oid sha256:1252536f27f9cdb8f7626952b38f232ff0ae6f7b600d9cde9c17cf310c427981
|
||||||
size 23123
|
size 23256
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:940c3ac11da74a6eb734085c468050040c2d31056b6d8de516e49ddb0058c9ee
|
oid sha256:a08d5ff1f91c0db7c502882815d36d6a675567ebf8c3eddc0ebff431e3592e67
|
||||||
size 23412
|
size 23390
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:97b9796def982afb2d5611db431489a2a42f80f11f949ea4aaab41fd01f87cb1
|
oid sha256:6a5300ac57d9d0137cf82af4ed4bd86c3ab7f3a70d2560954e524b7b3c120199
|
||||||
size 23478
|
size 23515
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5fd66b90f0566317a48565be56e75496a7b156fc96354ea61a0cc0a7f036625a
|
oid sha256:909b3ccdbc1a7cb8585c11acc088ee4f65cefb013d84b42433ccef7964cf6ff9
|
||||||
size 49329
|
size 49616
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5b6dc784e88a7c9ef9d5812ee474e8cbc5cafc55dfd21adeb15d3ace99a41db0
|
oid sha256:e5bfb7ac9cffa2ef6057862d889c5fe2a520cc377fc02a72ff5f99f46953fb8a
|
||||||
size 50340
|
size 50784
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7e62ff59a909d9fc8c255236756a6f7f9d7efbb85e222de92843251367e2f774
|
oid sha256:f4ea73eabf37a9fd4534c182036dc83c4d44c0fffcfff63ca960426af5f20726
|
||||||
size 14150
|
size 14222
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a3b008e2364af89731ba0431b7a97998452aa4d0ab7b25cb3d5130737b017a9e
|
oid sha256:208bb2b2743d33d15741f502329ac9ed67eb73c0556c14803edf33eafeadbc06
|
||||||
size 28525
|
size 28586
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:92a09f9c5915b444e92853809d6d42b0b2b76152f9fa58a1ac9856b15ee15373
|
oid sha256:2e82e6e9f3463f449cb8f1eec4b2fe12ce60c9245f6b4adc79967e1accce2af4
|
||||||
size 15222
|
size 15285
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:d5ac056ba00dd474b08e1a1de0886c5e6989c12ea97a106e379fff9394aa5b90
|
oid sha256:abc707d2ec2e23878e78126063ea31c5eaa93559d2803fba5cf453e4a02a01bb
|
||||||
size 29263
|
size 29293
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7b42afece0186cbbcb9ca5b716c3c535147d27bf1c57cabf033339fe9100edeb
|
oid sha256:e9db229841f668f3a6333a21a84d5d7d9379dfa5aa4513c1cdb9a117ff5fcfac
|
||||||
size 33889
|
size 34089
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:248817743f94c09d5bb02580687f5d9150dcf22b1670289955197491f375ad65
|
oid sha256:5a7dffd1d10d39574e767925b0cce138cbe2b7ee6212cc722474583e46adf8f1
|
||||||
size 35640
|
size 35929
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a4f987d8b03013d3aacbcc2b5a7374148c29d2c24dc41211781db15a06f3d52a
|
oid sha256:013b3e67d39a895fb391b82a633d85bc5e372e2b209854dcda9a72db0c243812
|
||||||
size 86365
|
size 86646
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:0eadad4490c76da04073c25dffff74a2fe5a6a0dd7612f9c5a61a631a54edd77
|
oid sha256:1a72958cbdae4807f345d98501420e8f6ac1409ac534f8434341df4c3e53cd5e
|
||||||
size 45613
|
size 45342
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:9c1e29ad621b3056562c71ff8b28b898b5aa972899a4ebeaef7fdd835ec128c4
|
oid sha256:737c044b958a49d0f8ce8512e54ea1e5f2abb07ef315c620f8db5b56acd78769
|
||||||
size 10308
|
size 10319
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e7642a1adb1faec60a301ee86bb34558ea71d15f4fbd3d5ddd5d1661249b725a
|
oid sha256:f66d2db6c718056a13f463f0f0f62321250222039c234d267d788351a051ed4d
|
||||||
size 25759
|
size 25777
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ed3be9611781a6f7ae4ed7c2793f76f52c02d0893dba5cbdba97d651c909edef
|
oid sha256:be08f781bae5096983b331377f16236193edfb5cad0e34f4d23a0e84ba15965a
|
||||||
size 8593
|
size 8628
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7ce0a9b678aea7899837db2d308d60c2f11f849ba001f41c077cd60c5a5bcb13
|
oid sha256:eba459839d22c4a2809195bba52c79ad72723bdabc0677bb87c4054032cba332
|
||||||
size 7304
|
size 7292
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7ce0a9b678aea7899837db2d308d60c2f11f849ba001f41c077cd60c5a5bcb13
|
oid sha256:eba459839d22c4a2809195bba52c79ad72723bdabc0677bb87c4054032cba332
|
||||||
size 7304
|
size 7292
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f57dd2c8b41fca0a1ef74ae16ad720054a29ccfca3c38d5d16dbfbf8c79ef3d6
|
oid sha256:e688c0f31238dd9870c8634409f854b29cb5ab43ca251fb41466f959103627af
|
||||||
size 64119
|
size 64149
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:90a7a6bc46fea5d6a02c9e3b6a29018e51fe270fc5034fdd7f9045f6fbbbc1d9
|
oid sha256:421f94cb97db6395d5b53188e7084599c2adba2ae44d38004d3e088bcc0daad2
|
||||||
size 67916
|
size 67968
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:6d164e84631d8a95e890c909d4759dda4b8a8bc8e830913c006a5ee3948c220f
|
oid sha256:d74867084116e6784cf2da68345c5367cb48fd017692d072f012efb27dd88786
|
||||||
size 11683
|
size 11633
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:76c3baf61206fed7f95a0ae1e68288ace113b1c617f5c8a8b5bbedf7f66787ab
|
oid sha256:e1dae4febc4801c4de178cf937e8ac6e22cd871766dcb1870edf3019caab900a
|
||||||
size 10495
|
size 10467
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f467065bb9c78d0e95a8a688bfc50edce522b2832c9a53e5a68899e843a988ca
|
oid sha256:44a6cda760e51d3710a951f38d14e1cc17a4fdcb91f281e8c002d424e53b82d6
|
||||||
size 25859
|
size 25829
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:6c942037766a2ced31344013441c478b8f0e22bead1fd86d1d4ef9c76e8dc8e3
|
oid sha256:81a8495067496b7daa8f14795b601264b467c43404563814ff6802c2db2c4cda
|
||||||
size 8799
|
size 8857
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:eb8e2fd1cf19945aada2385effd87afb61c7c31e91096051a4d18070fe807827
|
oid sha256:72cc5e561f69b8f871570f68d7283d03fd427c8daf3d9f3ac99678e7a769ceda
|
||||||
size 7672
|
size 7655
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:eb8e2fd1cf19945aada2385effd87afb61c7c31e91096051a4d18070fe807827
|
oid sha256:72cc5e561f69b8f871570f68d7283d03fd427c8daf3d9f3ac99678e7a769ceda
|
||||||
size 7672
|
size 7655
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:faf0fc318f5b70b0251b5e1334e2532f156e8ed62ef0a3608d2bf056e145f30d
|
oid sha256:251f0553c3b80a4ca7c1c21fbf776c74ec6f0c85233d0481e0a6859c5f7fa53b
|
||||||
size 65876
|
size 65976
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:037e24e82436183ed2ff4138a997c232e331076dd5374958e11efcfa8063b4d2
|
oid sha256:71639d6a2869732e57c682158360c1bf281a3c3ed3522007139200606794b3ec
|
||||||
size 69962
|
size 69992
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:081188524742d9aaea836bafa94e8c49686f7c18d805ce74c1e203ea9647169e
|
oid sha256:bee0d98b7b58d3aa6074a57788ff3716289c44a598f8d26bb6deef052d5da6a5
|
||||||
size 12492
|
size 12411
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:3f0c16ef939ce2625d8e6788c0ccba95a4bc85d96acf282bed01cd67db65a4de
|
oid sha256:e6137817016d7892f947a4add91925ac4bdecde22abdb9ba89e44ff21b40e22a
|
||||||
size 58090
|
size 57903
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ab118e4c47a83d68eda51b8b077a3eb55f0b5ad829b670be56ddddb99545c2a3
|
oid sha256:71255625dff4f333e8c8e0fe3cb77435dc552fdc756b8b517e2a783cf6c4677e
|
||||||
size 83648
|
size 83540
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:d016b99c433497a620543a4cdb1eae7207ca94bcd434b712b81d4ff72a886296
|
oid sha256:bca29fc313aec50c9a7f1e5e6c2a0b6c288e1faa971760300b5145e847490e89
|
||||||
size 61485
|
size 61236
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:3cf250f67844c383047ca24b496f8539360467f8fb16c0623fce9c9fff942c1e
|
oid sha256:0af148880e1609550dca835b9ca7d18ca277f19c056d5acc160d6877dc2192e0
|
||||||
size 86880
|
size 87215
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b26cfcc46bf0f1e3669424d4e135019c3a045fea09af5006fc90bca5f93e776a
|
oid sha256:7ce2386124550f79fc5cf32efbe44448ca81ce96041ca4419f25d503ec8a8ec3
|
||||||
size 21870
|
size 21914
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e3199a1e88702733887ce8d29c1373711c600060fb15cb6f24fde388d706ea86
|
oid sha256:19dd4781caa51e81180bced8aea7a43133fabcc67dff1912bd2b4a5060668aad
|
||||||
size 21256
|
size 21103
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue