Revert "Auto generate dark mode previews and screenshots (#776)" (#784)

This reverts commit fd467c2451.
This commit is contained in:
Marco Romano 2023-07-05 15:47:53 +02:00 committed by GitHub
parent b751e41e80
commit ca695ca077
1247 changed files with 1940 additions and 2265 deletions

View file

@ -24,11 +24,11 @@ import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.roomListPlaceholder
import io.element.android.libraries.theme.ElementTheme
@ -50,13 +50,12 @@ fun PlaceholderAtom(
)
}
@ElementPreviews
@Preview
@Composable
internal fun PlaceholderAtomLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun PlaceholderAtomLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun PlaceholderAtomDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -30,11 +30,11 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.theme.ElementTheme
@ -96,13 +96,12 @@ private fun RoundedIconAtomSize.toIconSize(): Dp {
}
}
@ElementPreviews
@Preview
@Composable
internal fun RoundedIconAtomLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun RoundedIconAtomLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun RoundedIconAtomDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -24,11 +24,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.unreadIndicator
import io.element.android.libraries.theme.ElementTheme
@ -47,13 +47,12 @@ fun UnreadIndicatorAtom(
)
}
@ElementPreviews
@Preview
@Composable
internal fun UnreadIndicatorAtomLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun UnreadIndicatorAtomLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun UnreadIndicatorAtomDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -23,10 +23,10 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Button
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TextButton
@ -46,13 +46,12 @@ fun ButtonColumnMolecule(
}
}
@ElementPreviews
@Preview
@Composable
internal fun ButtonColumnMoleculeLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun ButtonColumnMoleculeLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun ButtonColumnMoleculeDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -22,9 +22,9 @@ import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TextButton
@ -41,13 +41,12 @@ fun ButtonRowMolecule(
}
}
@ElementPreviews
@Preview
@Composable
internal fun ButtonRowMoleculeLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun ButtonRowMoleculeLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun ButtonRowMoleculeDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -27,14 +27,14 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.style.TextAlign
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.ElementTextStyles
import io.element.android.libraries.designsystem.R
import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtom
import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtomSize
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Text
/**
@ -85,13 +85,12 @@ fun IconTitleSubtitleMolecule(
}
}
@ElementPreviews
@Preview
@Composable
internal fun IconTitleSubtitleMoleculeLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun IconTitleSubtitleMoleculeLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun IconTitleSubtitleMoleculeDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -25,10 +25,10 @@ import androidx.compose.foundation.layout.systemBarsPadding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.theme.ElementTheme
@ -66,13 +66,12 @@ fun HeaderFooterPage(
}
}
@ElementPreviews
@Preview
@Composable
internal fun HeaderFooterPageLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun HeaderFooterPageLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun HeaderFooterPageDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -28,11 +28,11 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.R
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.theme.ElementTheme
@ -89,13 +89,12 @@ fun OnBoardingPage(
}
}
@ElementPreviews
@Preview
@Composable
internal fun OnBoardingPageLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun OnBoardingPageLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun OnBoardingPageDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -34,8 +34,8 @@ import androidx.compose.ui.text.ExperimentalTextApi
import androidx.compose.ui.text.ParagraphStyle
import androidx.compose.ui.text.TextLayoutResult
import androidx.compose.ui.text.TextStyle
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
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.Text
import kotlinx.collections.immutable.ImmutableMap
@ -97,11 +97,10 @@ fun ClickableLinkText(
)
}
@ElementPreviews(group = PreviewGroup.Text)
@Preview(group = PreviewGroup.Text)
@Composable
internal fun ClickableLinkTextPreview() {
ElementPreview { ContentToPreview() }
}
internal fun ClickableLinkTextPreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -22,8 +22,8 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
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.Checkbox
import io.element.android.libraries.designsystem.theme.components.Text
@ -52,11 +52,9 @@ fun LabelledCheckbox(
}
}
@ElementPreviews(group = PreviewGroup.Toggles)
@Preview(group = PreviewGroup.Toggles)
@Composable
internal fun LabelledCheckboxPreview() {
ElementPreview { ContentToPreview() }
}
internal fun LabelledCheckboxPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -24,10 +24,10 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TextField
@ -64,13 +64,11 @@ fun LabelledTextField(
}
}
@ElementPreviews
@Preview
@Composable
fun LabelledTextFieldLightPreview() {
ElementPreview { ContentToPreview() }
}
fun LabelledTextFieldLightPreview() = ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
fun LabelledTextFieldDarkPreview() = ElementPreviewDark { ContentToPreview() }

View file

@ -23,11 +23,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.R
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.theme.ElementTheme
@ -50,13 +50,12 @@ fun PinIcon(
}
}
@ElementPreviews
@Preview
@Composable
fun PinIconLightPreview() {
ElementPreview { ContentToPreview() }
}
fun PinIconLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
fun PinIconDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -28,12 +28,12 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
import io.element.android.libraries.designsystem.components.dialogs.DialogPreview
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
import io.element.android.libraries.designsystem.theme.components.Text
@ -111,11 +111,9 @@ private fun ProgressDialogContent(
}
}
@ElementPreviews(group = PreviewGroup.Dialogs)
@Preview(group = PreviewGroup.Dialogs)
@Composable
internal fun ProgressDialogPreview() {
ElementPreview { ContentToPreview() }
}
internal fun ProgressDialogPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -25,10 +25,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.Button
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.ui.strings.CommonStrings
@ -55,13 +55,11 @@ fun AsyncFailure(
}
}
@ElementPreviews
@Preview
@Composable
internal fun AsyncFailurePreviewLight() {
ElementPreview { ContentToPreview() }
}
internal fun AsyncFailurePreviewLight() = ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun AsyncFailurePreviewDark() = ElementPreviewDark { ContentToPreview() }

View file

@ -22,10 +22,10 @@ import androidx.compose.foundation.layout.height
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
@Composable
@ -40,13 +40,11 @@ fun AsyncLoading(modifier: Modifier = Modifier) {
}
}
@ElementPreviews
@Preview
@Composable
internal fun AsyncLoadingPreviewLight() {
ElementPreview { ContentToPreview() }
}
internal fun AsyncLoadingPreviewLight() = ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun AsyncLoadingPreviewDark() = ElementPreviewDark { ContentToPreview() }

View file

@ -28,11 +28,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.preview.debugPlaceholderAvatar
import io.element.android.libraries.designsystem.text.toSp
@ -100,10 +100,10 @@ private fun InitialsAvatar(
}
}
@ElementPreviews(group = PreviewGroup.Avatars)
@Preview(group = PreviewGroup.Avatars)
@Composable
fun AvatarPreview(@PreviewParameter(AvatarDataProvider::class) avatarData: AvatarData) {
ElementPreview {
fun AvatarPreview(@PreviewParameter(AvatarDataProvider::class) avatarData: AvatarData) =
ElementThemedPreview {
Row(
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(16.dp)
@ -112,4 +112,3 @@ fun AvatarPreview(@PreviewParameter(AvatarDataProvider::class) avatarData: Avata
Text(text = avatarData.size.name + " " + avatarData.size.dp)
}
}
}

View file

@ -23,8 +23,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.stringResource
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
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.Icon
import io.element.android.libraries.designsystem.theme.components.IconButton
@ -47,13 +47,11 @@ fun BackButton(
}
}
@ElementPreviews(group = PreviewGroup.Buttons)
@Preview(group = PreviewGroup.Buttons)
@Composable
internal fun BackButtonPreview() {
ElementPreview {
Column {
BackButton(onClick = { }, enabled = true, contentDescription = "Back")
BackButton(onClick = { }, enabled = false, contentDescription = "Back")
}
internal fun BackButtonPreview() = ElementThemedPreview {
Column {
BackButton(onClick = { }, enabled = true, contentDescription = "Back")
BackButton(onClick = { }, enabled = false, contentDescription = "Back")
}
}

View file

@ -30,10 +30,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Shape
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.ElementTextStyles
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Button
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
@ -93,14 +93,12 @@ fun ButtonWithProgress(
}
}
@ElementPreviews(group = PreviewGroup.Buttons)
@Preview(group = PreviewGroup.Buttons)
@Composable
internal fun ButtonWithProgressPreview() {
ElementPreview {
ButtonWithProgress(
text = "Button with progress",
onClick = {},
showProgress = true,
)
}
internal fun ButtonWithProgressPreview() = ElementThemedPreview {
ButtonWithProgress(
text = "Button with progress",
onClick = {},
showProgress = true,
)
}

View file

@ -34,10 +34,10 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.ElementTextStyles
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Text
@ -77,10 +77,10 @@ fun MainActionButton(
}
}
@ElementPreviews(group = PreviewGroup.Buttons)
@Preview(group = PreviewGroup.Buttons)
@Composable
internal fun MainActionButtonPreview() {
ElementPreview {
ElementThemedPreview {
ContentsToPreview()
}
}

View file

@ -25,10 +25,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.res.stringResource
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.Dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.utils.BooleanProvider
import io.element.android.libraries.ui.strings.CommonStrings
@ -117,10 +117,10 @@ private fun ConfirmationDialogContent(
)
}
@ElementPreviews(group = PreviewGroup.Dialogs)
@Preview(group = PreviewGroup.Dialogs)
@Composable
internal fun ConfirmationDialogPreview(@PreviewParameter(BooleanProvider::class) emphasizeSubmitButton: Boolean) {
ElementPreview {
internal fun ConfirmationDialogPreview(@PreviewParameter(BooleanProvider::class) emphasizeSubmitButton: Boolean) =
ElementThemedPreview {
DialogPreview {
ConfirmationDialogContent(
content = "Content",
@ -134,4 +134,3 @@ internal fun ConfirmationDialogPreview(@PreviewParameter(BooleanProvider::class)
)
}
}
}

View file

@ -24,9 +24,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.res.stringResource
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.ui.strings.CommonStrings
@ -95,10 +95,10 @@ object ErrorDialogDefaults {
val submitText: String @Composable get() = stringResource(id = CommonStrings.action_ok)
}
@ElementPreviews(group = PreviewGroup.Dialogs)
@Preview(group = PreviewGroup.Dialogs)
@Composable
internal fun ErrorDialogPreview() {
ElementPreview {
ElementThemedPreview {
DialogPreview {
ErrorDialogContent(
content = "Content",

View file

@ -24,9 +24,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.res.stringResource
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.ui.strings.CommonStrings
@ -114,11 +114,9 @@ object RetryDialogDefaults {
val dismissText: String @Composable get() = stringResource(id = CommonStrings.action_cancel)
}
@ElementPreviews(group = PreviewGroup.Dialogs)
@Preview(group = PreviewGroup.Dialogs)
@Composable
internal fun RetryDialogPreview() {
ElementPreview { ContentToPreview() }
}
internal fun RetryDialogPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -25,9 +25,9 @@ import androidx.compose.material.icons.filled.Announcement
import androidx.compose.material.icons.filled.BugReport
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.theme.ElementTheme
@ -68,11 +68,9 @@ fun PreferenceCategoryTitle(title: String, modifier: Modifier = Modifier) {
)
}
@ElementPreviews(group = PreviewGroup.Preferences)
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceCategoryPreview() {
ElementPreview { ContentToPreview() }
}
internal fun PreferenceCategoryPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -27,10 +27,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.components.preferences.components.PreferenceIcon
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Checkbox
import io.element.android.libraries.designsystem.theme.components.Text
@ -77,11 +77,9 @@ fun PreferenceCheckbox(
}
}
@ElementPreviews(group = PreviewGroup.Preferences)
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceCheckboxPreview() {
ElementPreview { ContentToPreview() }
}
internal fun PreferenceCheckboxPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -18,8 +18,8 @@ package io.element.android.libraries.designsystem.components.preferences
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
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.theme.ElementTheme
@ -34,11 +34,9 @@ fun PreferenceDivider(
)
}
@ElementPreviews(group = PreviewGroup.Preferences)
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceDividerPreview() {
ElementPreview { ContentToPreview() }
}
internal fun PreferenceDividerPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -24,8 +24,8 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
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.Text
@ -48,11 +48,9 @@ fun PreferenceRow(
}
}
@ElementPreviews(group = PreviewGroup.Preferences)
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceRowPreview() {
ElementPreview { ContentToPreview() }
}
internal fun PreferenceRowPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -35,10 +35,10 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextOverflow
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
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.TopAppBar
@ -101,13 +101,11 @@ fun PreferenceTopAppBar(
)
}
@ElementPreviews
@Preview
@Composable
internal fun PreferenceViewLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun PreferenceViewLightPreview() = ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun PreferenceViewDarkPreview() = ElementPreviewDark { ContentToPreview() }

View file

@ -27,10 +27,10 @@ import androidx.compose.material.icons.filled.Person
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.components.preferences.components.PreferenceIcon
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Slider
import io.element.android.libraries.designsystem.theme.components.Text
@ -83,11 +83,9 @@ fun PreferenceSlide(
}
}
@ElementPreviews(group = PreviewGroup.Preferences)
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceSlidePreview() {
ElementPreview { ContentToPreview() }
}
internal fun PreferenceSlidePreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -32,10 +32,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.components.preferences.components.PreferenceIcon
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.toEnabledColor
@ -98,11 +98,9 @@ fun PreferenceSwitch(
}
}
@ElementPreviews(group = PreviewGroup.Preferences)
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceSwitchPreview() {
ElementPreview { ContentToPreview() }
}
internal fun PreferenceSwitchPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -32,10 +32,10 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.components.preferences.components.PreferenceIcon
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
import io.element.android.libraries.designsystem.theme.components.Text
@ -111,11 +111,9 @@ fun PreferenceText(
}
}
@ElementPreviews(group = PreviewGroup.Preferences)
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceTextPreview() {
ElementPreview { ContentToPreview() }
}
internal fun PreferenceTextPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -24,10 +24,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.toSecondaryEnabledColor
@ -54,11 +54,10 @@ fun PreferenceIcon(
}
}
@ElementPreviews(group = PreviewGroup.Preferences)
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceIconPreview(@PreviewParameter(ImageVectorProvider::class) content: ImageVector?) {
ElementPreview { ContentToPreview(content) }
}
internal fun PreferenceIconPreview(@PreviewParameter(ImageVectorProvider::class) content: ImageVector?) =
ElementThemedPreview { ContentToPreview(content) }
@Composable
private fun ContentToPreview(content: ImageVector?) {

View file

@ -16,38 +16,88 @@
package io.element.android.libraries.designsystem.preview
import android.content.res.Configuration
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.theme.components.Surface
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import io.element.android.libraries.theme.ElementTheme
import io.element.android.libraries.designsystem.theme.components.Surface
const val DAY_MODE_NAME = "D"
const val NIGHT_MODE_NAME = "N"
/**
* Generates 2 previews of the composable it is applied to: day and night mode.
*
* NB: Content should be wrapped into [ElementPreview] to apply proper theming.
*/
@Preview(name = DAY_MODE_NAME)
@Preview(name = NIGHT_MODE_NAME, uiMode = Configuration.UI_MODE_NIGHT_YES)
annotation class ElementPreviews(
val group: String = "",
val widthDp: Int = -1,
val heightDp: Int = -1,
)
@Deprecated("Don't use anymore.")
@Composable
fun ElementPreviewDark(content: @Composable () -> Unit) {}
fun ElementPreviewLight(
showBackground: Boolean = true,
content: @Composable () -> Unit
) {
ElementPreview(
darkTheme = false,
showBackground = showBackground,
content = content
)
}
@Composable
fun ElementPreviewDark(
showBackground: Boolean = true,
content: @Composable () -> Unit
) {
ElementPreview(
darkTheme = true,
showBackground = showBackground,
content = content
)
}
@Composable
@Suppress("ModifierMissing")
fun ElementPreview(
darkTheme: Boolean = isSystemInDarkTheme(),
fun ElementThemedPreview(
showBackground: Boolean = true,
vertical: Boolean = true,
content: @Composable () -> Unit,
) {
Box(modifier = Modifier
.background(Color.Gray)
.padding(4.dp)) {
if (vertical) {
Column {
ElementPreviewLight(
showBackground = showBackground,
content = content,
)
Spacer(modifier = Modifier.height(4.dp))
ElementPreviewDark(
showBackground = showBackground,
content = content
)
}
} else {
Row {
ElementPreviewLight(
showBackground = showBackground,
content = content,
)
Spacer(modifier = Modifier.width(4.dp))
ElementPreviewDark(
showBackground = showBackground,
content = content
)
}
}
}
}
@Composable
@Suppress("ModifierMissing")
private fun ElementPreview(
darkTheme: Boolean,
showBackground: Boolean,
content: @Composable () -> Unit
) {
ElementTheme(darkTheme = darkTheme) {
@ -59,3 +109,4 @@ fun ElementPreview(
}
}
}

View file

@ -16,9 +16,11 @@
package io.element.android.libraries.designsystem.preview
import androidx.compose.ui.tooling.preview.Preview
/**
* Our Paparazzi tests will check components with non-null `heightDp` and use a custom rendering for them,
* adding extra vertical space so long scrolling components can be displayed. This is a helper for that functionality.
*/
@ElementPreviews(heightDp = 1000)
@Preview(heightDp = 1000)
annotation class LargeHeightPreview

View file

@ -24,11 +24,11 @@ import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
/**
* Horizontal ruler is a debug composable that displays a horizontal ruler.
@ -65,13 +65,12 @@ private fun HorizontalRulerItem(height: Dp, color: Color) {
)
}
@ElementPreviews
@Preview
@Composable
internal fun HorizontalRulerLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun HorizontalRulerLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun HorizontalRulerDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -24,11 +24,11 @@ import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
/**
* Vertical ruler is a debug composable that displays a vertical ruler.
@ -65,13 +65,12 @@ private fun VerticalRulerItem(width: Dp, color: Color) {
)
}
@ElementPreviews
@Preview
@Composable
internal fun VerticalRulerLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun VerticalRulerLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun VerticalRulerDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -19,11 +19,11 @@ package io.element.android.libraries.designsystem.ruler
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.Layout
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.components.OutlinedButton
import io.element.android.libraries.designsystem.theme.components.Text
@ -63,13 +63,12 @@ fun WithRulers(
)
}
@ElementPreviews
@Preview
@Composable
internal fun WithRulerLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun WithRulerLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun WithRulerDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -19,9 +19,9 @@ package io.element.android.libraries.designsystem.theme
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.theme.ElementTheme
import io.element.android.libraries.theme.compound.generated.SemanticColors
import io.element.android.libraries.theme.previews.ColorListPreview
@ -65,13 +65,11 @@ val SemanticColors.messageFromOtherBackground
Color(0xFF26282D)
}
@ElementPreviews
@Preview
@Composable
internal fun ColorAliasesLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun ColorAliasesLightPreview() = ElementPreviewLight { ContentToPreview() }
@ElementPreviews
@Preview
@Composable
internal fun ColorAliasesDarkPreview() = ElementPreviewDark { ContentToPreview() }

View file

@ -28,9 +28,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Shape
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -71,17 +71,15 @@ object ElementButtonDefaults {
}
@ElementPreviews(group = PreviewGroup.Buttons)
@Preview(group = PreviewGroup.Buttons)
@Composable
internal fun ButtonPreview() {
ElementPreview {
Column {
Button(onClick = {}, enabled = true) {
Text(text = "Click me! - Enabled")
}
Button(onClick = {}, enabled = false) {
Text(text = "Click me! - Disabled")
}
internal fun ButtonPreview() = ElementThemedPreview {
Column {
Button(onClick = {}, enabled = true) {
Text(text = "Click me! - Enabled")
}
Button(onClick = {}, enabled = false) {
Text(text = "Click me! - Disabled")
}
}
}

View file

@ -24,8 +24,8 @@ import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@OptIn(ExperimentalMaterial3Api::class)
@ -50,11 +50,10 @@ fun CenterAlignedTopAppBar(
)
}
@ElementPreviews(group = PreviewGroup.AppBars)
@Preview(group = PreviewGroup.AppBars)
@Composable
internal fun CenterAlignedTopAppBarPreview() {
ElementPreview { ContentToPreview() }
}
internal fun CenterAlignedTopAppBarPreview() =
ElementThemedPreview { ContentToPreview() }
@OptIn(ExperimentalMaterial3Api::class)
@Composable

View file

@ -23,8 +23,8 @@ import androidx.compose.material3.CheckboxDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -46,11 +46,9 @@ fun Checkbox(
)
}
@ElementPreviews(group = PreviewGroup.Toggles)
@Preview(group = PreviewGroup.Toggles)
@Composable
internal fun CheckboxesPreview() {
ElementPreview { ContentToPreview() }
}
internal fun CheckboxesPreview() = ElementThemedPreview(vertical = false) { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -23,10 +23,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalInspectionMode
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -67,11 +67,9 @@ fun CircularProgressIndicator(
}
}
@ElementPreviews(group = PreviewGroup.Progress)
@Preview(group = PreviewGroup.Progress)
@Composable
internal fun CircularProgressIndicatorPreview() {
ElementPreview { ContentToPreview() }
}
internal fun CircularProgressIndicatorPreview() = ElementThemedPreview(vertical = false) { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -23,10 +23,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -46,13 +46,11 @@ object ElementDividerDefaults {
val thickness = 0.5.dp
}
@ElementPreviews(group = PreviewGroup.Dividers)
@Preview(group = PreviewGroup.Dividers)
@Composable
internal fun DividerPreview() {
ElementPreview {
Box(Modifier.padding(vertical = 10.dp), contentAlignment = Alignment.Center) {
ContentToPreview()
}
internal fun DividerPreview() = ElementThemedPreview {
Box(Modifier.padding(vertical = 10.dp), contentAlignment = Alignment.Center) {
ContentToPreview()
}
}

View file

@ -26,8 +26,8 @@ import androidx.compose.material3.MenuItemColors
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
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.theme.ElementTheme
@ -69,11 +69,9 @@ fun DropdownMenuItemText(
)
}
@ElementPreviews(group = PreviewGroup.Menus)
@Preview(group = PreviewGroup.Menus)
@Composable
internal fun DropdownMenuItemPreview() {
ElementPreview { ContentToPreview() }
}
internal fun DropdownMenuItemPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -29,9 +29,9 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -57,11 +57,10 @@ fun FloatingActionButton(
)
}
@ElementPreviews(group = PreviewGroup.FABs)
@Preview(group = PreviewGroup.FABs)
@Composable
internal fun FloatingActionButtonPreview() {
ElementPreview { ContentToPreview() }
}
internal fun FloatingActionButtonPreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -26,8 +26,8 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.painterResource
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
/**
@ -123,11 +123,10 @@ fun Icon(
)
}
@ElementPreviews(group = PreviewGroup.Icons)
@Preview(group = PreviewGroup.Icons)
@Composable
internal fun IconImageVectorPreview() {
ElementPreview { ContentToPreview() }
}
internal fun IconImageVectorPreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -24,8 +24,8 @@ import androidx.compose.material3.IconButtonDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -46,11 +46,10 @@ fun IconButton(
)
}
@ElementPreviews(group = PreviewGroup.Buttons)
@Preview(group = PreviewGroup.Buttons)
@Composable
internal fun IconButtonPreview() {
ElementPreview { ContentToPreview() }
}
internal fun IconButtonPreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -24,8 +24,8 @@ import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@OptIn(ExperimentalMaterial3Api::class)
@ -50,11 +50,10 @@ fun MediumTopAppBar(
)
}
@ElementPreviews(group = PreviewGroup.AppBars)
@Preview(group = PreviewGroup.AppBars)
@Composable
internal fun MediumTopAppBarPreview() {
ElementPreview { ContentToPreview() }
}
internal fun MediumTopAppBarPreview() =
ElementThemedPreview { ContentToPreview() }
@OptIn(ExperimentalMaterial3Api::class)
@Composable

View file

@ -32,11 +32,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.theme.ElementTheme
import kotlinx.coroutines.CoroutineScope
@ -81,14 +81,13 @@ fun SheetState.hide(coroutineScope: CoroutineScope, then: suspend () -> Unit) {
}
// This preview and its screenshots are blank, see: https://issuetracker.google.com/issues/283843380
@ElementPreviews(group = PreviewGroup.BottomSheets)
@Preview(group = PreviewGroup.BottomSheets)
@Composable
internal fun ModalBottomSheetLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun ModalBottomSheetLightPreview() =
ElementPreviewLight { ContentToPreview() }
// This preview and its screenshots are blank, see: https://issuetracker.google.com/issues/283843380
@ElementPreviews(group = PreviewGroup.BottomSheets)
@Preview(group = PreviewGroup.BottomSheets)
@Composable
internal fun ModalBottomSheetDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -40,12 +40,12 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.modifiers.applyIf
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
@OptIn(ExperimentalMaterialApi::class)
@ -95,13 +95,12 @@ fun ModalBottomSheetLayout(
)
}
@ElementPreviews(group = PreviewGroup.BottomSheets)
@Preview(group = PreviewGroup.BottomSheets)
@Composable
internal fun ModalBottomSheetLayoutLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun ModalBottomSheetLayoutLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews(group = PreviewGroup.BottomSheets)
@Preview(group = PreviewGroup.BottomSheets)
@Composable
internal fun ModalBottomSheetLayoutDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -29,9 +29,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Shape
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -74,11 +74,9 @@ object ElementOutlinedButtonDefaults {
}
@ElementPreviews(group = PreviewGroup.Buttons)
@Preview(group = PreviewGroup.Buttons)
@Composable
internal fun OutlinedButtonsPreview() {
ElementPreview { ContentToPreview() }
}
internal fun OutlinedButtonsPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -41,10 +41,10 @@ import androidx.compose.ui.input.key.type
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.input.VisualTransformation
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.utils.allBooleans
import io.element.android.libraries.designsystem.utils.asInt
@ -157,13 +157,11 @@ fun Modifier.onTabOrEnterKeyFocusNext(focusManager: FocusManager): Modifier = on
}
}
@ElementPreviews(group = PreviewGroup.TextFields)
@Preview(group = PreviewGroup.TextFields)
@Composable
internal fun OutlinedTextFieldsPreview() {
ElementPreview { ContentToPreview() }
}
internal fun OutlinedTextFieldsPreview() = ElementPreviewLight { ContentToPreview() }
@ElementPreviews(group = PreviewGroup.TextFields)
@Preview(group = PreviewGroup.TextFields)
@Composable
internal fun OutlinedTextFieldsDarkPreview() = ElementPreviewDark { ContentToPreview() }

View file

@ -23,8 +23,8 @@ import androidx.compose.material3.RadioButtonDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -46,11 +46,9 @@ fun RadioButton(
)
}
@ElementPreviews(group = PreviewGroup.Toggles)
@Preview(group = PreviewGroup.Toggles)
@Composable
internal fun RadioButtonPreview() {
ElementPreview { ContentToPreview() }
}
internal fun RadioButtonPreview() = ElementThemedPreview(vertical = false) { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -40,11 +40,11 @@ import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.theme.ElementTheme
import io.element.android.libraries.ui.strings.CommonStrings
@ -193,89 +193,71 @@ sealed interface SearchBarResultState<in T> {
data class Results<T>(val results: T) : SearchBarResultState<T>
}
@ElementPreviews(group = PreviewGroup.Search)
@Preview(group = PreviewGroup.Search)
@Composable
internal fun SearchBarPreviewInactive() {
ElementPreview { ContentToPreview() }
internal fun SearchBarPreviewInactive() = ElementThemedPreview { ContentToPreview() }
@Preview(group = PreviewGroup.Search)
@Composable
internal fun SearchBarPreviewActiveEmptyQuery() = ElementThemedPreview {
ContentToPreview(
query = "",
active = true,
)
}
@ElementPreviews(group = PreviewGroup.Search)
@Preview(group = PreviewGroup.Search)
@Composable
internal fun SearchBarPreviewActiveEmptyQuery() {
ElementPreview {
ContentToPreview(
query = "",
active = true,
)
}
internal fun SearchBarPreviewActiveWithQuery() = ElementThemedPreview {
ContentToPreview(
query = "search term",
active = true,
)
}
@ElementPreviews(group = PreviewGroup.Search)
@Preview(group = PreviewGroup.Search)
@Composable
internal fun SearchBarPreviewActiveWithQuery() {
ElementPreview {
ContentToPreview(
query = "search term",
active = true,
)
}
internal fun SearchBarPreviewActiveWithQueryNoBackButton() = ElementThemedPreview {
ContentToPreview(
query = "search term",
active = true,
showBackButton = false,
)
}
@ElementPreviews(group = PreviewGroup.Search)
@Preview(group = PreviewGroup.Search)
@Composable
internal fun SearchBarPreviewActiveWithQueryNoBackButton() {
ElementPreview {
ContentToPreview(
query = "search term",
active = true,
showBackButton = false,
)
}
internal fun SearchBarPreviewActiveWithNoResults() = ElementThemedPreview {
ContentToPreview(
query = "search term",
active = true,
resultState = SearchBarResultState.NoResults(),
)
}
@ElementPreviews(group = PreviewGroup.Search)
@Preview(group = PreviewGroup.Search)
@Composable
internal fun SearchBarPreviewActiveWithNoResults() {
ElementPreview {
ContentToPreview(
query = "search term",
active = true,
resultState = SearchBarResultState.NoResults(),
)
}
}
@ElementPreviews(group = PreviewGroup.Search)
@Composable
internal fun SearchBarPreviewActiveWithContent() {
ElementPreview {
ContentToPreview(
query = "search term",
active = true,
resultState = SearchBarResultState.Results("result!"),
contentPrefix = {
Text(
text = "Content that goes before the search results", modifier = Modifier
.background(color = Color.Red)
.fillMaxWidth()
)
},
contentSuffix = {
Text(
text = "Content that goes after the search results", modifier = Modifier
.background(color = Color.Blue)
.fillMaxWidth()
)
},
resultHandler = {
Text(
text = "Results go here", modifier = Modifier
.background(color = Color.Green)
.fillMaxWidth()
)
}
)
}
internal fun SearchBarPreviewActiveWithContent() = ElementThemedPreview {
ContentToPreview(
query = "search term",
active = true,
resultState = SearchBarResultState.Results("result!"),
contentPrefix = {
Text(text = "Content that goes before the search results", modifier = Modifier
.background(color = Color.Red)
.fillMaxWidth())
},
contentSuffix = {
Text(text = "Content that goes after the search results", modifier = Modifier
.background(color = Color.Blue)
.fillMaxWidth())
},
resultHandler = {
Text(text = "Results go here", modifier = Modifier
.background(color = Color.Green)
.fillMaxWidth())
}
)
}
@OptIn(ExperimentalMaterial3Api::class)

View file

@ -26,8 +26,8 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -56,11 +56,9 @@ fun Slider(
)
}
@ElementPreviews(group = PreviewGroup.Sliders)
@Preview(group = PreviewGroup.Sliders)
@Composable
internal fun SlidersPreview() {
ElementPreview { ContentToPreview() }
}
internal fun SlidersPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -26,10 +26,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.Shape
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
@Composable
fun Surface(
@ -54,11 +54,10 @@ fun Surface(
)
}
@ElementPreviews
@Preview
@Composable
internal fun SurfacePreview() {
ElementPreview { ContentToPreview() }
}
internal fun SurfacePreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -41,11 +41,11 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.text.style.TextOverflow
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.theme.utils.toHrf
import kotlinx.collections.immutable.ImmutableMap
@ -145,13 +145,11 @@ fun Text(
)
}
@ElementPreviews(group = PreviewGroup.Text)
@Preview(group = PreviewGroup.Text)
@Composable
internal fun TextLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun TextLightPreview() = ElementPreviewLight { ContentToPreview() }
@ElementPreviews(group = PreviewGroup.Text)
@Preview(group = PreviewGroup.Text)
@Composable
internal fun TextDarkPreview() = ElementPreviewDark { ContentToPreview() }

View file

@ -28,8 +28,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Shape
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@Composable
@ -59,11 +59,9 @@ fun TextButton(
)
}
@ElementPreviews(group = PreviewGroup.Buttons)
@Preview(group = PreviewGroup.Buttons)
@Composable
internal fun TextButtonPreview() {
ElementPreview { ContentToPreview() }
}
internal fun TextButtonPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {

View file

@ -42,10 +42,10 @@ import androidx.compose.ui.platform.LocalAutofillTree
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.input.VisualTransformation
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.utils.allBooleans
import io.element.android.libraries.designsystem.utils.asInt
@ -144,13 +144,12 @@ fun TextField(
)
}
@ElementPreviews(group = PreviewGroup.TextFields)
@Preview(group = PreviewGroup.TextFields)
@Composable
internal fun TextFieldLightPreview() {
ElementPreview { ContentToPreview() }
}
internal fun TextFieldLightPreview() =
ElementPreviewLight { ContentToPreview() }
@ElementPreviews(group = PreviewGroup.TextFields)
@Preview(group = PreviewGroup.TextFields)
@Composable
internal fun TextFieldDarkPreview() =
ElementPreviewDark { ContentToPreview() }

View file

@ -24,8 +24,8 @@ import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@OptIn(ExperimentalMaterial3Api::class)
@ -50,11 +50,10 @@ fun TopAppBar(
)
}
@ElementPreviews(group = PreviewGroup.AppBars)
@Preview(group = PreviewGroup.AppBars)
@Composable
internal fun TopAppBarPreview() {
ElementPreview { ContentToPreview() }
}
internal fun TopAppBarPreview() =
ElementThemedPreview { ContentToPreview() }
@OptIn(ExperimentalMaterial3Api::class)
@Composable

View file

@ -22,19 +22,19 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.rememberDatePickerState
import androidx.compose.runtime.Composable
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.components.dialogs.AlertDialogContent
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
@ElementPreviews(group = PreviewGroup.DateTimePickers)
@Preview(group = PreviewGroup.DateTimePickers)
@Composable
internal fun DatePickerPreviewLight() {
ElementPreview { ContentToPreview() }
ElementPreviewLight { ContentToPreview() }
}
@ElementPreviews(group = PreviewGroup.DateTimePickers)
@Preview(group = PreviewGroup.DateTimePickers)
@Composable
internal fun DatePickerPreviewDark() {
ElementPreviewDark { ContentToPreview() }

View file

@ -24,8 +24,8 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import io.element.android.libraries.designsystem.preview.ElementPreviews
import io.element.android.libraries.designsystem.preview.ElementPreview
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.Button
import io.element.android.libraries.designsystem.theme.components.DropdownMenu
@ -34,10 +34,10 @@ import io.element.android.libraries.designsystem.theme.components.DropdownMenuIt
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Text
@ElementPreviews(group = PreviewGroup.Menus)
@Preview(group = PreviewGroup.Menus)
@Composable
internal fun MenuPreview() {
ElementPreview {
ElementThemedPreview {
var isExpanded by remember { mutableStateOf(false) }
Button(onClick = { isExpanded = !isExpanded }) {
Text("Toggle")

View file

@ -26,16 +26,16 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.theme.components.Icon
@ElementPreviews(group = PreviewGroup.Toggles)
@Preview(group = PreviewGroup.Toggles)
@Composable
internal fun SwitchPreview() {
ElementPreview {
ElementThemedPreview {
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
var checked by remember { mutableStateOf(false) }
Switch(checked = checked, onCheckedChange = { checked = !checked })
@ -43,13 +43,9 @@ internal fun SwitchPreview() {
Icon(imageVector = Icons.Outlined.Check, contentDescription = null)
})
Switch(checked = checked, enabled = false, onCheckedChange = { checked = !checked })
Switch(
checked = checked,
enabled = false,
onCheckedChange = { checked = !checked },
thumbContent = {
Icon(imageVector = Icons.Outlined.Check, contentDescription = null)
})
Switch(checked = checked, enabled = false, onCheckedChange = { checked = !checked }, thumbContent = {
Icon(imageVector = Icons.Outlined.Check, contentDescription = null)
})
}
}
}

View file

@ -23,27 +23,23 @@ import androidx.compose.material3.TimePicker
import androidx.compose.material3.TimePickerLayoutType
import androidx.compose.material3.rememberTimePickerState
import androidx.compose.runtime.Composable
import io.element.android.libraries.designsystem.preview.ElementPreviews
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.designsystem.components.dialogs.AlertDialogContent
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@OptIn(ExperimentalMaterial3Api::class)
@ElementPreviews(widthDp = 600, group = PreviewGroup.DateTimePickers)
@Preview(widthDp = 600, group = PreviewGroup.DateTimePickers)
@Composable
internal fun TimePickerHorizontalPreview() {
ElementPreview {
ElementThemedPreview {
AlertDialogContent(
buttons = { /*TODO*/ },
icon = { /*TODO*/ },
title = { /*TODO*/ },
text = {
TimePicker(
state = rememberTimePickerState(),
layoutType = TimePickerLayoutType.Horizontal
)
},
text = { TimePicker(state = rememberTimePickerState(), layoutType = TimePickerLayoutType.Horizontal) },
shape = AlertDialogDefaults.shape,
containerColor = AlertDialogDefaults.containerColor,
tonalElevation = AlertDialogDefaults.TonalElevation,
@ -56,10 +52,10 @@ internal fun TimePickerHorizontalPreview() {
}
@OptIn(ExperimentalMaterial3Api::class)
@ElementPreviews(group = PreviewGroup.DateTimePickers)
@Preview(group = PreviewGroup.DateTimePickers)
@Composable
internal fun TimePickerVerticalPreviewLight() {
ElementPreview {
ElementPreviewLight {
AlertDialogContent(
buttons = { /*TODO*/ },
icon = { /*TODO*/ },
@ -77,7 +73,7 @@ internal fun TimePickerVerticalPreviewLight() {
}
@OptIn(ExperimentalMaterial3Api::class)
@ElementPreviews(group = PreviewGroup.DateTimePickers)
@Preview(group = PreviewGroup.DateTimePickers)
@Composable
internal fun TimePickerVerticalPreviewDark() {
val pickerState = rememberTimePickerState(