Update Compound to v0.0.5 and update icons (#2380)
Update Compound to `v0.0.5`: - Make sure we fix all the breaking changes. - Update some icons to use the compound version instead. -Replace icons with their Compound counterparts when possible. - Clean up unused icons. - Fix issues with incorrect icons or sizes being used after replacing the temporary icons with the Compound ones. --------- Co-authored-by: ElementBot <benoitm+elementbot@element.io>
This commit is contained in:
parent
896bd4126e
commit
b69cb8175a
1013 changed files with 1945 additions and 3061 deletions
1
changelog.d/+update-icons.misc
Normal file
1
changelog.d/+update-icons.misc
Normal file
|
|
@ -0,0 +1 @@
|
|||
Update Compound icons in the project. **This is a breaking change** since the icon prefix changed to `ic_compound_` and the `CompoundIcons` helper now contains the vector icons as composable functions.
|
||||
|
|
@ -143,7 +143,7 @@ private fun CheckIcon() {
|
|||
.size(20.dp)
|
||||
.background(color = MaterialTheme.colorScheme.background, shape = CircleShape)
|
||||
.padding(2.dp),
|
||||
imageVector = CompoundIcons.Check,
|
||||
imageVector = CompoundIcons.Check(),
|
||||
contentDescription = null,
|
||||
tint = ElementTheme.colors.textActionAccent,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ internal fun CallScreenView(
|
|||
title = { Text(stringResource(R.string.element_call)) },
|
||||
navigationIcon = {
|
||||
BackButton(
|
||||
imageVector = CompoundIcons.Close,
|
||||
imageVector = CompoundIcons.Close(),
|
||||
onClick = { state.eventSink(CallScreenEvents.Hangup) }
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,18 +33,18 @@ data class RoomPrivacyItem(
|
|||
|
||||
@Composable
|
||||
fun roomPrivacyItems(): ImmutableList<RoomPrivacyItem> {
|
||||
return RoomPrivacy.values()
|
||||
return RoomPrivacy.entries
|
||||
.map {
|
||||
when (it) {
|
||||
RoomPrivacy.Private -> RoomPrivacyItem(
|
||||
privacy = it,
|
||||
icon = CompoundDrawables.ic_lock,
|
||||
icon = CompoundDrawables.ic_compound_lock_solid,
|
||||
title = stringResource(R.string.screen_create_room_private_option_title),
|
||||
description = stringResource(R.string.screen_create_room_private_option_description),
|
||||
)
|
||||
RoomPrivacy.Public -> RoomPrivacyItem(
|
||||
privacy = it,
|
||||
icon = CompoundDrawables.ic_public,
|
||||
icon = CompoundDrawables.ic_compound_public,
|
||||
title = stringResource(R.string.screen_create_room_public_option_title),
|
||||
description = stringResource(R.string.screen_create_room_public_option_description),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ private fun CreateRoomRootViewTopBar(
|
|||
},
|
||||
navigationIcon = {
|
||||
BackButton(
|
||||
imageVector = CompoundIcons.Close,
|
||||
imageVector = CompoundIcons.Close(),
|
||||
onClick = onClosePressed,
|
||||
)
|
||||
}
|
||||
|
|
@ -142,12 +142,12 @@ private fun CreateRoomActionButtonsList(
|
|||
) {
|
||||
Column {
|
||||
CreateRoomActionButton(
|
||||
iconRes = CompoundDrawables.ic_plus,
|
||||
iconRes = CompoundDrawables.ic_compound_plus,
|
||||
text = stringResource(id = R.string.screen_create_room_action_create_room),
|
||||
onClick = onNewRoomClicked,
|
||||
)
|
||||
CreateRoomActionButton(
|
||||
iconRes = CompoundDrawables.ic_share_android,
|
||||
iconRes = CompoundDrawables.ic_compound_share_android,
|
||||
text = stringResource(id = CommonStrings.action_invite_friends_to_app, state.applicationName),
|
||||
onClick = onInvitePeopleClicked,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ private fun NotificationsOptInHeader(
|
|||
modifier = modifier,
|
||||
title = stringResource(R.string.screen_notification_optin_title),
|
||||
subTitle = stringResource(R.string.screen_notification_optin_subtitle),
|
||||
iconImageVector = CompoundIcons.NotificationsSolid,
|
||||
iconImageVector = CompoundIcons.NotificationsSolid(),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@ import io.element.android.libraries.designsystem.preview.ElementPreview
|
|||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Button
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.testtags.TestTags
|
||||
import io.element.android.libraries.testtags.testTag
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
|
|
@ -102,11 +101,11 @@ fun WelcomeView(
|
|||
private fun listItems() = persistentListOf(
|
||||
InfoListItem(
|
||||
message = stringResource(R.string.screen_welcome_bullet_2),
|
||||
iconId = CommonDrawables.ic_lock_outline,
|
||||
iconVector = CompoundIcons.Lock(),
|
||||
),
|
||||
InfoListItem(
|
||||
message = stringResource(R.string.screen_welcome_bullet_3),
|
||||
iconVector = CompoundIcons.ChatProblem,
|
||||
iconVector = CompoundIcons.ChatProblem(),
|
||||
),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
|||
import androidx.compose.ui.unit.dp
|
||||
import com.mapbox.mapboxsdk.camera.CameraPosition
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.location.api.Location
|
||||
import io.element.android.features.location.api.internal.centerBottomEdge
|
||||
import io.element.android.features.location.api.internal.rememberTileStyleUrl
|
||||
|
|
@ -211,8 +212,8 @@ fun SendLocationView(
|
|||
.padding(end = 16.dp, bottom = 72.dp + navBarPadding),
|
||||
) {
|
||||
when (state.mode) {
|
||||
SendLocationState.Mode.PinLocation -> Icon(resourceId = CommonDrawables.ic_location_navigator, contentDescription = null)
|
||||
SendLocationState.Mode.SenderLocation -> Icon(resourceId = CommonDrawables.ic_location_navigator_centered, contentDescription = null)
|
||||
SendLocationState.Mode.PinLocation -> Icon(imageVector = CompoundIcons.LocationNavigator(), contentDescription = null)
|
||||
SendLocationState.Mode.SenderLocation -> Icon(imageVector = CompoundIcons.LocationNavigatorCentred(), contentDescription = null)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ fun ShowLocationView(
|
|||
actions = {
|
||||
IconButton(onClick = { state.eventSink(ShowLocationEvents.Share) }) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
contentDescription = stringResource(CommonStrings.action_share),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ fun AccountProviderView(
|
|||
} else {
|
||||
RoundedIconAtom(
|
||||
size = RoundedIconAtomSize.Medium,
|
||||
imageVector = CompoundIcons.Search,
|
||||
imageVector = CompoundIcons.Search(),
|
||||
tint = MaterialTheme.colorScheme.primary,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ private fun LoginForm(
|
|||
IconButton(onClick = {
|
||||
loginFieldState = ""
|
||||
}) {
|
||||
Icon(imageVector = CompoundIcons.Close, contentDescription = stringResource(CommonStrings.action_clear))
|
||||
Icon(imageVector = CompoundIcons.Close(), contentDescription = stringResource(CommonStrings.action_clear))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
@ -263,7 +263,7 @@ private fun LoginForm(
|
|||
visualTransformation = if (passwordVisible) VisualTransformation.None else PasswordVisualTransformation(),
|
||||
trailingIcon = {
|
||||
val image =
|
||||
if (passwordVisible) CompoundIcons.VisibilityOn else CompoundIcons.VisibilityOff
|
||||
if (passwordVisible) CompoundIcons.VisibilityOn() else CompoundIcons.VisibilityOff()
|
||||
val description =
|
||||
if (passwordVisible) stringResource(CommonStrings.a11y_hide_password) else stringResource(CommonStrings.a11y_show_password)
|
||||
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ fun SearchAccountProviderView(
|
|||
item {
|
||||
IconTitleSubtitleMolecule(
|
||||
modifier = Modifier.padding(top = 16.dp, bottom = 40.dp, start = 16.dp, end = 16.dp),
|
||||
iconImageVector = CompoundIcons.Search,
|
||||
iconImageVector = CompoundIcons.Search(),
|
||||
title = stringResource(id = R.string.screen_account_provider_form_title),
|
||||
subTitle = stringResource(id = R.string.screen_account_provider_form_subtitle),
|
||||
)
|
||||
|
|
@ -139,7 +139,7 @@ fun SearchAccountProviderView(
|
|||
eventSink(SearchAccountProviderEvents.UserInput(""))
|
||||
}) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Close,
|
||||
imageVector = CompoundIcons.Close(),
|
||||
contentDescription = stringResource(CommonStrings.action_clear)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,12 +24,11 @@ import androidx.compose.foundation.layout.padding
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.logout.impl.tools.isBackingUp
|
||||
import io.element.android.features.logout.impl.ui.LogoutActionDialog
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
|
|
@ -41,7 +40,6 @@ import io.element.android.libraries.designsystem.theme.components.LinearProgress
|
|||
import io.element.android.libraries.designsystem.theme.components.OutlinedButton
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.theme.progressIndicatorTrackColor
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.matrix.api.encryption.BackupState
|
||||
import io.element.android.libraries.matrix.api.encryption.BackupUploadState
|
||||
import io.element.android.libraries.matrix.api.encryption.RecoveryState
|
||||
|
|
@ -64,7 +62,7 @@ fun LogoutView(
|
|||
onBackClicked = onBackClicked,
|
||||
title = title(state),
|
||||
subTitle = subtitle(state),
|
||||
iconVector = ImageVector.vectorResource(CommonDrawables.ic_key),
|
||||
iconVector = CompoundIcons.KeySolid(),
|
||||
modifier = modifier,
|
||||
content = { Content(state) },
|
||||
buttons = {
|
||||
|
|
|
|||
|
|
@ -481,7 +481,7 @@ private fun MessagesViewTopBar(
|
|||
} else {
|
||||
IconButton(onClick = onJoinCallClicked, enabled = callState != RoomCallState.DISABLED) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.VideoCallSolid,
|
||||
imageVector = CompoundIcons.VideoCallSolid(),
|
||||
contentDescription = stringResource(CommonStrings.a11y_start_call),
|
||||
)
|
||||
}
|
||||
|
|
@ -507,7 +507,7 @@ private fun JoinCallMenuItem(
|
|||
) {
|
||||
Icon(
|
||||
modifier = Modifier.size(20.dp),
|
||||
imageVector = CompoundIcons.VideoCallSolid,
|
||||
imageVector = CompoundIcons.VideoCallSolid(),
|
||||
contentDescription = null
|
||||
)
|
||||
Spacer(Modifier.width(8.dp))
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
|
||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContent
|
||||
|
|
@ -83,7 +84,6 @@ import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
|||
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.theme.components.hide
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
|
||||
|
|
@ -316,7 +316,7 @@ private fun EmojiReactionsRow(
|
|||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_add_reaction,
|
||||
imageVector = CompoundIcons.ReactionAdd(),
|
||||
contentDescription = stringResource(id = CommonStrings.a11y_react_with_other_emojis),
|
||||
tint = MaterialTheme.colorScheme.secondary,
|
||||
modifier = Modifier
|
||||
|
|
|
|||
|
|
@ -29,13 +29,13 @@ sealed class TimelineItemAction(
|
|||
@DrawableRes val icon: Int,
|
||||
val destructive: Boolean = false
|
||||
) {
|
||||
data object Forward : TimelineItemAction(CommonStrings.action_forward, CommonDrawables.ic_forward)
|
||||
data object Copy : TimelineItemAction(CommonStrings.action_copy, CommonDrawables.ic_copy)
|
||||
data object Redact : TimelineItemAction(CommonStrings.action_remove, CompoundDrawables.ic_delete, destructive = true)
|
||||
data object Reply : TimelineItemAction(CommonStrings.action_reply, CommonDrawables.ic_reply)
|
||||
data object ReplyInThread : TimelineItemAction(CommonStrings.action_reply_in_thread, CommonDrawables.ic_reply)
|
||||
data object Edit : TimelineItemAction(CommonStrings.action_edit, CommonDrawables.ic_edit_outline)
|
||||
data object Forward : TimelineItemAction(CommonStrings.action_forward, CompoundDrawables.ic_compound_forward)
|
||||
data object Copy : TimelineItemAction(CommonStrings.action_copy, CompoundDrawables.ic_compound_copy)
|
||||
data object Redact : TimelineItemAction(CommonStrings.action_remove, CompoundDrawables.ic_compound_delete, destructive = true)
|
||||
data object Reply : TimelineItemAction(CommonStrings.action_reply, CompoundDrawables.ic_compound_reply)
|
||||
data object ReplyInThread : TimelineItemAction(CommonStrings.action_reply_in_thread, CompoundDrawables.ic_compound_reply)
|
||||
data object Edit : TimelineItemAction(CommonStrings.action_edit, CompoundDrawables.ic_compound_edit)
|
||||
data object ViewSource : TimelineItemAction(CommonStrings.action_view_source, CommonDrawables.ic_developer_options)
|
||||
data object ReportContent : TimelineItemAction(CommonStrings.action_report_content, CompoundDrawables.ic_chat_problem, destructive = true)
|
||||
data object EndPoll : TimelineItemAction(CommonStrings.action_end_poll, CompoundDrawables.ic_polls_end)
|
||||
data object ReportContent : TimelineItemAction(CommonStrings.action_report_content, CompoundDrawables.ic_compound_chat_problem, destructive = true)
|
||||
data object EndPoll : TimelineItemAction(CommonStrings.action_end_poll, CompoundDrawables.ic_compound_polls_end)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@ import io.element.android.libraries.designsystem.theme.components.ListItem
|
|||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
|
|
@ -109,25 +108,25 @@ private fun AttachmentSourcePickerMenu(
|
|||
) {
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.PickAttachmentSource.FromGallery) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_image)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Image())),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_gallery)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.PickAttachmentSource.FromFiles) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_attachment)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Attachment())),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_files)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.PickAttachmentSource.PhotoFromCamera) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_take_photo_camera)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.TakePhoto())),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_camera_photo)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.PickAttachmentSource.VideoFromCamera) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.VideoCall)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.VideoCall())),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_camera_video)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
|
|
@ -137,7 +136,7 @@ private fun AttachmentSourcePickerMenu(
|
|||
state.eventSink(MessageComposerEvents.PickAttachmentSource.Location)
|
||||
onSendLocationClicked()
|
||||
},
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_location_pin)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.LocationPin())),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_location)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
|
|
@ -148,7 +147,7 @@ private fun AttachmentSourcePickerMenu(
|
|||
state.eventSink(MessageComposerEvents.PickAttachmentSource.Poll)
|
||||
onCreatePollClicked()
|
||||
},
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Polls)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Polls())),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_poll)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
|
|
@ -156,7 +155,7 @@ private fun AttachmentSourcePickerMenu(
|
|||
if (enableTextFormatting) {
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.ToggleTextFormatting(enabled = true)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_text_formatting, null)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.TextFormatting())),
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_attachment_text_formatting)) },
|
||||
style = ListItemStyle.Primary,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ private fun JumpToBottomButton(
|
|||
modifier = Modifier
|
||||
.size(24.dp)
|
||||
.rotate(90f),
|
||||
imageVector = CompoundIcons.ArrowRight,
|
||||
imageVector = CompoundIcons.ArrowRight(),
|
||||
contentDescription = stringResource(id = CommonStrings.a11y_jump_to_bottom)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,13 +49,13 @@ import io.element.android.features.messages.impl.R
|
|||
import io.element.android.features.messages.impl.timeline.model.AggregatedReaction
|
||||
import io.element.android.features.messages.impl.timeline.model.AggregatedReactionProvider
|
||||
import io.element.android.features.messages.impl.timeline.model.aTimelineItemReactions
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.text.toDp
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.theme.components.Surface
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.matrix.api.media.MediaSource
|
||||
import io.element.android.libraries.matrix.ui.media.MediaRequestData
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ internal fun MessagesReactionButtonPreview(@PreviewParameter(AggregatedReactionP
|
|||
@Composable
|
||||
internal fun MessagesAddReactionButtonPreview() = ElementPreview {
|
||||
MessagesReactionButton(
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_add_reaction),
|
||||
content = MessagesReactionsButtonContent.Icon(CompoundDrawables.ic_compound_reaction_add),
|
||||
onClick = {},
|
||||
onLongClick = {}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ import androidx.compose.ui.Alignment
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.graphicsLayer
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
||||
/**
|
||||
* A swipe indicator that appears when swiping to reply to a message.
|
||||
|
|
@ -49,7 +49,7 @@ fun RowScope.ReplySwipeIndicator(
|
|||
alpha = swipeProgress()
|
||||
},
|
||||
contentDescription = null,
|
||||
resourceId = CommonDrawables.ic_reply,
|
||||
imageVector = CompoundIcons.Reply(),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ fun TimelineEventTimestampView(
|
|||
if (hasMessageSendingFailed && tint != null) {
|
||||
Spacer(modifier = Modifier.width(2.dp))
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Error,
|
||||
imageVector = CompoundIcons.Error(),
|
||||
contentDescription = stringResource(id = CommonStrings.common_sending_failed),
|
||||
tint = tint,
|
||||
modifier = Modifier.size(15.dp, 18.dp),
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ private fun MessageEventBubbleContent(
|
|||
) {
|
||||
Icon(
|
||||
modifier = Modifier.height(14.dp),
|
||||
imageVector = CompoundIcons.Threads,
|
||||
imageVector = CompoundIcons.Threads(),
|
||||
contentDescription = null,
|
||||
tint = ElementTheme.colors.iconSecondary,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ import androidx.compose.ui.unit.Dp
|
|||
import androidx.compose.ui.unit.IntOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.messages.impl.R
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
||||
/**
|
||||
* A flow layout for reactions that will show a collapse/expand button when the layout wraps over a defined number of rows.
|
||||
|
|
@ -195,7 +195,7 @@ internal fun TimelineItemReactionsLayoutPreview() = ElementPreview {
|
|||
},
|
||||
addMoreButton = {
|
||||
MessagesReactionButton(
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_add_reaction),
|
||||
content = MessagesReactionsButtonContent.Icon(CompoundDrawables.ic_compound_reaction_add),
|
||||
onClick = {},
|
||||
onLongClick = {}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ import io.element.android.features.messages.impl.R
|
|||
import io.element.android.features.messages.impl.timeline.aTimelineItemReactions
|
||||
import io.element.android.features.messages.impl.timeline.model.AggregatedReaction
|
||||
import io.element.android.features.messages.impl.timeline.model.TimelineItemReactions
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
|
||||
@Composable
|
||||
|
|
@ -99,7 +99,7 @@ private fun TimelineItemReactionsView(
|
|||
addMoreButton = if (userCanSendReaction) {
|
||||
{
|
||||
MessagesReactionButton(
|
||||
content = MessagesReactionsButtonContent.Icon(CommonDrawables.ic_add_reaction),
|
||||
content = MessagesReactionsButtonContent.Icon(CompoundDrawables.ic_compound_reaction_add),
|
||||
onClick = onMoreReactionsClick,
|
||||
onLongClick = {}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEncryptedContent
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
|
||||
|
|
@ -36,7 +36,7 @@ fun TimelineItemEncryptedView(
|
|||
TimelineItemInformativeView(
|
||||
text = stringResource(id = CommonStrings.common_waiting_for_decryption_key),
|
||||
iconDescription = stringResource(id = CommonStrings.dialog_title_warning),
|
||||
iconResourceId = CommonDrawables.ic_waiting_to_decrypt,
|
||||
iconResourceId = CompoundDrawables.ic_compound_time,
|
||||
onContentLayoutChanged = onContentLayoutChanged,
|
||||
modifier = modifier
|
||||
)
|
||||
|
|
|
|||
|
|
@ -37,11 +37,11 @@ import io.element.android.features.messages.impl.timeline.components.layout.Cont
|
|||
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContent
|
||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContentProvider
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
||||
@Composable
|
||||
fun TimelineItemFileView(
|
||||
|
|
@ -62,7 +62,7 @@ fun TimelineItemFileView(
|
|||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_attachment,
|
||||
resourceId = CompoundDrawables.ic_compound_attachment,
|
||||
contentDescription = null,
|
||||
tint = ElementTheme.materialColors.primary,
|
||||
modifier = Modifier
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ internal fun TimelineItemInformativeViewPreview() = ElementPreview {
|
|||
TimelineItemInformativeView(
|
||||
text = "Info",
|
||||
iconDescription = "",
|
||||
iconResourceId = CompoundDrawables.ic_delete,
|
||||
iconResourceId = CompoundDrawables.ic_compound_delete,
|
||||
onContentLayoutChanged = {},
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ fun TimelineItemRedactedView(
|
|||
TimelineItemInformativeView(
|
||||
text = stringResource(id = CommonStrings.common_message_removed),
|
||||
iconDescription = stringResource(id = CommonStrings.common_message_removed),
|
||||
iconResourceId = CompoundDrawables.ic_delete,
|
||||
iconResourceId = CompoundDrawables.ic_compound_delete,
|
||||
onContentLayoutChanged = onContentLayoutChanged,
|
||||
modifier = modifier
|
||||
)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ fun TimelineItemUnknownView(
|
|||
TimelineItemInformativeView(
|
||||
text = stringResource(id = CommonStrings.common_unsupported_event),
|
||||
iconDescription = stringResource(id = CommonStrings.dialog_title_warning),
|
||||
iconResourceId = CompoundDrawables.ic_info_solid,
|
||||
iconResourceId = CompoundDrawables.ic_compound_info_solid,
|
||||
onContentLayoutChanged = onContentLayoutChanged,
|
||||
modifier = modifier
|
||||
)
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import androidx.compose.runtime.remember
|
|||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.layout.onSizeChanged
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
|
|
@ -44,6 +45,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
|||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData
|
||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVoiceContent
|
||||
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVoiceContentProvider
|
||||
|
|
@ -58,7 +60,6 @@ import io.element.android.libraries.designsystem.theme.components.CircularProgre
|
|||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.theme.components.IconButton
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import kotlinx.coroutines.delay
|
||||
|
||||
|
|
@ -126,8 +127,8 @@ private fun PlayButton(
|
|||
onClick = onClick,
|
||||
enabled = enabled,
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_play,
|
||||
ControlIcon(
|
||||
imageVector = CompoundIcons.PlaySolid(),
|
||||
contentDescription = stringResource(id = CommonStrings.a11y_play),
|
||||
)
|
||||
}
|
||||
|
|
@ -140,8 +141,8 @@ private fun PauseButton(
|
|||
CustomIconButton(
|
||||
onClick = onClick,
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_pause,
|
||||
ControlIcon(
|
||||
imageVector = CompoundIcons.PauseSolid(),
|
||||
contentDescription = stringResource(id = CommonStrings.a11y_pause),
|
||||
)
|
||||
}
|
||||
|
|
@ -154,13 +155,25 @@ private fun RetryButton(
|
|||
CustomIconButton(
|
||||
onClick = onClick,
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_retry,
|
||||
ControlIcon(
|
||||
imageVector = CompoundIcons.Restart(),
|
||||
contentDescription = stringResource(id = CommonStrings.action_retry),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun ControlIcon(
|
||||
imageVector: ImageVector,
|
||||
contentDescription: String?,
|
||||
) {
|
||||
Icon(
|
||||
modifier = Modifier.padding(vertical = 10.dp),
|
||||
imageVector = imageVector,
|
||||
contentDescription = contentDescription,
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Progress button is shown when the voice message is being downloaded.
|
||||
*
|
||||
|
|
@ -190,8 +203,8 @@ private fun ProgressButton(
|
|||
strokeWidth = 2.dp,
|
||||
)
|
||||
} else {
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_pause,
|
||||
ControlIcon(
|
||||
imageVector = CompoundIcons.PauseSolid(),
|
||||
contentDescription = stringResource(id = CommonStrings.a11y_pause),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ fun GroupHeaderView(
|
|||
)
|
||||
Icon(
|
||||
modifier = Modifier.rotate(rotation),
|
||||
imageVector = CompoundIcons.ChevronRight,
|
||||
imageVector = CompoundIcons.ChevronRight(),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.secondary
|
||||
)
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ import androidx.compose.ui.unit.dp
|
|||
import androidx.compose.ui.zIndex
|
||||
import io.element.android.appconfig.TimelineConfig
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.messages.impl.timeline.model.ReadReceiptData
|
||||
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||
|
|
@ -49,7 +50,6 @@ import io.element.android.libraries.designsystem.preview.ElementPreview
|
|||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState
|
||||
import io.element.android.libraries.testtags.TestTags
|
||||
import io.element.android.libraries.testtags.testTag
|
||||
|
|
@ -85,7 +85,7 @@ fun TimelineItemReadReceiptView(
|
|||
ReadReceiptsRow(modifier) {
|
||||
Icon(
|
||||
modifier = Modifier.padding(2.dp),
|
||||
resourceId = CommonDrawables.ic_sending,
|
||||
imageVector = CompoundIcons.Circle(),
|
||||
contentDescription = stringResource(id = CommonStrings.common_sending),
|
||||
tint = ElementTheme.colors.iconSecondary
|
||||
)
|
||||
|
|
@ -101,7 +101,7 @@ fun TimelineItemReadReceiptView(
|
|||
ReadReceiptsRow(modifier = modifier) {
|
||||
Icon(
|
||||
modifier = Modifier.padding(2.dp),
|
||||
resourceId = CommonDrawables.ic_sent,
|
||||
imageVector = CompoundIcons.CheckCircle(),
|
||||
contentDescription = stringResource(id = CommonStrings.common_sent),
|
||||
tint = ElementTheme.colors.iconSecondary
|
||||
)
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ fun TimelineEncryptedHistoryBannerView(
|
|||
) {
|
||||
Icon(
|
||||
modifier = Modifier.size(20.dp),
|
||||
imageVector = CompoundIcons.InfoSolid,
|
||||
imageVector = CompoundIcons.InfoSolid(),
|
||||
contentDescription = null,
|
||||
tint = ElementTheme.colors.iconInfoPrimary
|
||||
)
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ private fun CollapsibleSection(
|
|||
Text(title, modifier = Modifier.weight(1f))
|
||||
Icon(
|
||||
modifier = Modifier.rotate(if (isExpanded) 180f else 0f),
|
||||
imageVector = CompoundIcons.ChevronDown,
|
||||
imageVector = CompoundIcons.ChevronDown(),
|
||||
contentDescription = null
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ internal fun Indicator(
|
|||
) {
|
||||
val tint = MaterialTheme.colorScheme.primary
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Offline,
|
||||
imageVector = CompoundIcons.Offline(),
|
||||
contentDescription = null,
|
||||
tint = tint,
|
||||
modifier = Modifier.size(16.sp.toDp()),
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ private fun OnBoardingContent(
|
|||
onClick = onOpenDeveloperSettings,
|
||||
) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.SettingsSolid,
|
||||
imageVector = CompoundIcons.SettingsSolid(),
|
||||
contentDescription = stringResource(CommonStrings.common_settings)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,13 +149,13 @@ private fun PollTitle(
|
|||
) {
|
||||
if (isPollEnded) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.PollsEnd,
|
||||
imageVector = CompoundIcons.PollsEnd(),
|
||||
contentDescription = stringResource(id = CommonStrings.a11y_poll_end),
|
||||
modifier = Modifier.size(22.dp)
|
||||
)
|
||||
} else {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Polls,
|
||||
imageVector = CompoundIcons.Polls(),
|
||||
contentDescription = stringResource(id = CommonStrings.a11y_poll),
|
||||
modifier = Modifier.size(22.dp)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ fun CreatePollView(
|
|||
},
|
||||
trailingContent = ListItemContent.Custom {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Delete,
|
||||
imageVector = CompoundIcons.Delete(),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.clickable(answer.canDelete) {
|
||||
state.eventSink(CreatePollEvents.RemoveAnswer(index))
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ fun ConfigureTracingView(
|
|||
onClick = { showMenu = !showMenu }
|
||||
) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.OverflowVertical,
|
||||
imageVector = CompoundIcons.OverflowVertical(),
|
||||
tint = ElementTheme.materialColors.secondary,
|
||||
contentDescription = null,
|
||||
)
|
||||
|
|
@ -107,7 +107,7 @@ fun ConfigureTracingView(
|
|||
text = { Text("Reset to default") },
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Delete,
|
||||
imageVector = CompoundIcons.Delete(),
|
||||
tint = ElementTheme.materialColors.secondary,
|
||||
contentDescription = null,
|
||||
)
|
||||
|
|
@ -203,7 +203,7 @@ private fun LogLevelDropdownMenu(
|
|||
trailingIcon = {
|
||||
Icon(
|
||||
modifier = Modifier.rotate(if (expanded) 180f else 0f),
|
||||
imageVector = CompoundIcons.ChevronDown,
|
||||
imageVector = CompoundIcons.ChevronDown(),
|
||||
contentDescription = null,
|
||||
)
|
||||
},
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ private fun NotificationSettingsContentView(
|
|||
val context = LocalContext.current
|
||||
if (systemSettings.appNotificationsEnabled && !systemSettings.systemNotificationsEnabled) {
|
||||
PreferenceText(
|
||||
icon = CompoundIcons.NotificationsSolidOff,
|
||||
icon = CompoundIcons.NotificationsOffSolid(),
|
||||
title = stringResource(id = R.string.screen_notification_settings_system_notifications_turned_off),
|
||||
subtitle = stringResource(
|
||||
id = R.string.screen_notification_settings_system_notifications_action_required,
|
||||
|
|
|
|||
|
|
@ -19,8 +19,6 @@ package io.element.android.features.preferences.impl.root
|
|||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.InsertChart
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
|
|
@ -85,14 +83,14 @@ fun PreferencesRootView(
|
|||
if (state.showCompleteVerification) {
|
||||
ListItem(
|
||||
headlineContent = { Text(text = stringResource(CommonStrings.common_verify_device)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.CheckCircle)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.CheckCircle())),
|
||||
onClick = onVerifyClicked
|
||||
)
|
||||
}
|
||||
if (state.showSecureBackup) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.common_chat_backup)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_key_filled)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.KeySolid())),
|
||||
trailingContent = ListItemContent.Badge.takeIf { state.showSecureBackupBadge },
|
||||
onClick = onSecureBackupClicked,
|
||||
)
|
||||
|
|
@ -103,8 +101,8 @@ fun PreferencesRootView(
|
|||
if (state.accountManagementUrl != null) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.action_manage_account)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.UserProfile)),
|
||||
trailingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.PopOut)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.UserProfile())),
|
||||
trailingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.PopOut())),
|
||||
onClick = { onManageAccountClicked(state.accountManagementUrl) },
|
||||
)
|
||||
HorizontalDivider()
|
||||
|
|
@ -112,31 +110,31 @@ fun PreferencesRootView(
|
|||
if (state.showAnalyticsSettings) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.common_analytics)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(Icons.Outlined.InsertChart)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Chart())),
|
||||
onClick = onOpenAnalytics,
|
||||
)
|
||||
}
|
||||
if (state.showNotificationSettings) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = R.string.screen_notification_settings_title)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Notifications)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Notifications())),
|
||||
onClick = onOpenNotificationSettings,
|
||||
)
|
||||
}
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.common_report_a_problem)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.ChatProblem)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.ChatProblem())),
|
||||
onClick = onOpenRageShake
|
||||
)
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.common_about)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Info)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Info())),
|
||||
onClick = onOpenAbout,
|
||||
)
|
||||
if (state.showLockScreenSettings) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.common_screen_lock)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_lock_outline)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Lock())),
|
||||
onClick = onOpenLockScreenSettings,
|
||||
)
|
||||
}
|
||||
|
|
@ -144,15 +142,15 @@ fun PreferencesRootView(
|
|||
if (state.devicesManagementUrl != null) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.action_manage_devices)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_devices)),
|
||||
trailingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.PopOut)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Devices())),
|
||||
trailingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.PopOut())),
|
||||
onClick = { onManageAccountClicked(state.devicesManagementUrl) },
|
||||
)
|
||||
HorizontalDivider()
|
||||
}
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.common_advanced_settings)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Settings)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Settings())),
|
||||
onClick = onOpenAdvancedSettings,
|
||||
)
|
||||
if (state.showDeveloperSettings) {
|
||||
|
|
@ -161,7 +159,7 @@ fun PreferencesRootView(
|
|||
HorizontalDivider()
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(id = CommonStrings.action_signout)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_sign_out)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.SignOut())),
|
||||
style = ListItemStyle.Destructive,
|
||||
onClick = onSignOutClicked,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ private fun MainActionsSection(
|
|||
if (roomNotificationSettings.mode == RoomNotificationMode.MUTE) {
|
||||
MainActionButton(
|
||||
title = stringResource(CommonStrings.common_unmute),
|
||||
imageVector = CompoundIcons.NotificationsOff,
|
||||
imageVector = CompoundIcons.NotificationsOff(),
|
||||
onClick = {
|
||||
state.eventSink(RoomDetailsEvent.UnmuteNotification)
|
||||
},
|
||||
|
|
@ -256,7 +256,7 @@ private fun MainActionsSection(
|
|||
} else {
|
||||
MainActionButton(
|
||||
title = stringResource(CommonStrings.common_mute),
|
||||
imageVector = CompoundIcons.Notifications,
|
||||
imageVector = CompoundIcons.Notifications(),
|
||||
onClick = {
|
||||
state.eventSink(RoomDetailsEvent.MuteNotification)
|
||||
},
|
||||
|
|
@ -266,7 +266,7 @@ private fun MainActionsSection(
|
|||
Spacer(modifier = Modifier.width(20.dp))
|
||||
MainActionButton(
|
||||
title = stringResource(R.string.screen_room_details_share_room_title),
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
onClick = onShareRoom
|
||||
)
|
||||
}
|
||||
|
|
@ -350,7 +350,7 @@ private fun NotificationSection(
|
|||
ListItem(
|
||||
headlineContent = { Text(text = stringResource(R.string.screen_room_details_notification_title)) },
|
||||
supportingContent = { Text(text = subtitle) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Notifications)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Notifications())),
|
||||
onClick = openRoomNotificationSettings,
|
||||
)
|
||||
}
|
||||
|
|
@ -364,7 +364,7 @@ private fun MembersSection(
|
|||
PreferenceCategory {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(CommonStrings.common_people)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_user)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.User())),
|
||||
trailingContent = ListItemContent.Text(memberCount.toString()),
|
||||
onClick = openRoomMemberList,
|
||||
)
|
||||
|
|
@ -378,7 +378,7 @@ private fun InviteSection(
|
|||
PreferenceCategory {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_room_details_invite_people_title)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_user_add)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.UserAdd())),
|
||||
onClick = invitePeople,
|
||||
)
|
||||
}
|
||||
|
|
@ -391,7 +391,7 @@ private fun PollsSection(
|
|||
PreferenceCategory {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_polls_history_title)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Polls)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Polls())),
|
||||
onClick = openPollHistory,
|
||||
)
|
||||
}
|
||||
|
|
@ -422,7 +422,7 @@ private fun OtherActionsSection(isDm: Boolean, onLeaveRoom: () -> Unit) {
|
|||
)
|
||||
Text(leaveText)
|
||||
},
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Leave)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Leave())),
|
||||
style = ListItemStyle.Destructive,
|
||||
onClick = onLeaveRoom,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ private fun PreferenceBlockUser(
|
|||
if (isBlocked.orFalse()) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_dm_details_unblock_user)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Block)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Block())),
|
||||
onClick = { if (!isLoading) eventSink(RoomMemberDetailsEvents.UnblockUser(needsConfirmation = true)) },
|
||||
trailingContent = if (isLoading) ListItemContent.Custom(loadingCurrentValue) else null,
|
||||
style = ListItemStyle.Primary,
|
||||
|
|
@ -90,7 +90,7 @@ private fun PreferenceBlockUser(
|
|||
} else {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(R.string.screen_dm_details_block_user)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Block)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Block())),
|
||||
style = ListItemStyle.Destructive,
|
||||
onClick = { if (!isLoading) eventSink(RoomMemberDetailsEvents.BlockUser(needsConfirmation = true)) },
|
||||
trailingContent = if (isLoading) ListItemContent.Custom(loadingCurrentValue) else null,
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ private fun StartDMSection(
|
|||
) {
|
||||
ListItem(
|
||||
headlineContent = { Text(stringResource(CommonStrings.common_direct_chat)) },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Chat)),
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Chat())),
|
||||
style = ListItemStyle.Primary,
|
||||
onClick = onStartDMClicked,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ fun RoomMemberMainActionsSection(onShareUser: () -> Unit, modifier: Modifier = M
|
|||
Row(modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center) {
|
||||
MainActionButton(
|
||||
title = stringResource(CommonStrings.action_share),
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
onClick = onShareUser
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ private fun RoomListModalBottomSheetContent(
|
|||
modifier = Modifier.clickable { onRoomSettingsClicked() },
|
||||
leadingContent = ListItemContent.Icon(
|
||||
iconSource = IconSource.Vector(
|
||||
CompoundIcons.Settings,
|
||||
CompoundIcons.Settings(),
|
||||
contentDescription = stringResource(id = CommonStrings.common_settings)
|
||||
)
|
||||
),
|
||||
|
|
@ -150,7 +150,7 @@ private fun RoomListModalBottomSheetContent(
|
|||
modifier = Modifier.clickable { onLeaveRoomClicked() },
|
||||
leadingContent = ListItemContent.Icon(
|
||||
iconSource = IconSource.Vector(
|
||||
CompoundIcons.Leave,
|
||||
CompoundIcons.Leave(),
|
||||
contentDescription = stringResource(id = CommonStrings.action_leave_room)
|
||||
)
|
||||
),
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
|||
import androidx.compose.ui.unit.Velocity
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.leaveroom.api.LeaveRoomView
|
||||
import io.element.android.features.networkmonitor.api.ui.ConnectivityIndicatorContainer
|
||||
import io.element.android.features.roomlist.impl.components.ConfirmRecoveryKeyBanner
|
||||
|
|
@ -67,7 +68,6 @@ import io.element.android.libraries.designsystem.theme.components.Icon
|
|||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarHost
|
||||
import io.element.android.libraries.designsystem.utils.snackbar.rememberSnackbarHostState
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
|
|
@ -155,7 +155,7 @@ private fun EmptyRoomListView(
|
|||
Spacer(modifier = Modifier.height(16.dp))
|
||||
Button(
|
||||
text = stringResource(CommonStrings.action_start_chat),
|
||||
leadingIcon = IconSource.Resource(CommonDrawables.ic_new_message),
|
||||
leadingIcon = IconSource.Vector(CompoundIcons.Compose()),
|
||||
onClick = onCreateRoomClicked,
|
||||
)
|
||||
}
|
||||
|
|
@ -284,7 +284,7 @@ private fun RoomListContent(
|
|||
) {
|
||||
Icon(
|
||||
// Note cannot use Icons.Outlined.EditSquare, it does not exist :/
|
||||
resourceId = CommonDrawables.ic_new_message,
|
||||
imageVector = CompoundIcons.Compose(),
|
||||
contentDescription = stringResource(id = R.string.screen_roomlist_a11y_create_message)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@ private fun DefaultRoomListTopBar(
|
|||
onClick = onSearchClicked,
|
||||
) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Search,
|
||||
imageVector = CompoundIcons.Search(),
|
||||
contentDescription = stringResource(CommonStrings.action_search),
|
||||
)
|
||||
}
|
||||
|
|
@ -244,7 +244,7 @@ private fun DefaultRoomListTopBar(
|
|||
onClick = { showMenu = !showMenu }
|
||||
) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.OverflowVertical,
|
||||
imageVector = CompoundIcons.OverflowVertical(),
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
|
|
@ -261,7 +261,7 @@ private fun DefaultRoomListTopBar(
|
|||
text = { Text(stringResource(id = CommonStrings.action_invite)) },
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
tint = ElementTheme.materialColors.secondary,
|
||||
contentDescription = null,
|
||||
)
|
||||
|
|
@ -277,7 +277,7 @@ private fun DefaultRoomListTopBar(
|
|||
text = { Text(stringResource(id = CommonStrings.common_report_a_problem)) },
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.ChatProblem,
|
||||
imageVector = CompoundIcons.ChatProblem(),
|
||||
tint = ElementTheme.materialColors.secondary,
|
||||
contentDescription = null,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ private fun OnGoingCallIcon(
|
|||
) {
|
||||
Icon(
|
||||
modifier = Modifier.size(16.dp),
|
||||
imageVector = CompoundIcons.VideoCallSolid,
|
||||
imageVector = CompoundIcons.VideoCallSolid(),
|
||||
contentDescription = null,
|
||||
tint = color,
|
||||
)
|
||||
|
|
@ -208,7 +208,7 @@ private fun NotificationOffIndicatorAtom() {
|
|||
Icon(
|
||||
modifier = Modifier.size(16.dp),
|
||||
contentDescription = null,
|
||||
imageVector = CompoundIcons.NotificationsSolidOff,
|
||||
imageVector = CompoundIcons.NotificationsOffSolid(),
|
||||
tint = ElementTheme.colors.iconQuaternary,
|
||||
)
|
||||
}
|
||||
|
|
@ -218,7 +218,7 @@ private fun MentionIndicatorAtom() {
|
|||
Icon(
|
||||
modifier = Modifier.size(16.dp),
|
||||
contentDescription = null,
|
||||
imageVector = CompoundIcons.Mention,
|
||||
imageVector = CompoundIcons.Mention(),
|
||||
tint = ElementTheme.colors.unreadIndicator,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ private fun RoomListSearchResultContent(
|
|||
state.eventSink(RoomListEvents.UpdateFilter(""))
|
||||
}) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Close,
|
||||
imageVector = CompoundIcons.Close(),
|
||||
contentDescription = stringResource(CommonStrings.action_cancel)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,9 +25,7 @@ import androidx.compose.foundation.layout.padding
|
|||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
|
|
@ -41,7 +39,6 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
|||
import io.element.android.libraries.designsystem.theme.components.Button
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
||||
@Composable
|
||||
fun SecureBackupDisableView(
|
||||
|
|
@ -55,7 +52,7 @@ fun SecureBackupDisableView(
|
|||
onBackClicked = onBackClicked,
|
||||
title = stringResource(id = R.string.screen_key_backup_disable_title),
|
||||
subTitle = stringResource(id = R.string.screen_key_backup_disable_description),
|
||||
iconVector = ImageVector.vectorResource(CommonDrawables.ic_key_off),
|
||||
iconVector = CompoundIcons.KeyOffSolid(),
|
||||
content = { Content(state = state) },
|
||||
buttons = { Buttons(state = state) },
|
||||
)
|
||||
|
|
@ -117,7 +114,7 @@ private fun Content(state: SecureBackupDisableState) {
|
|||
private fun SecureBackupDisableItem(text: String) {
|
||||
Row(modifier = Modifier.fillMaxWidth()) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Close,
|
||||
imageVector = CompoundIcons.Close(),
|
||||
contentDescription = null,
|
||||
tint = ElementTheme.colors.iconCriticalPrimary,
|
||||
modifier = Modifier.size(20.dp)
|
||||
|
|
|
|||
|
|
@ -20,17 +20,15 @@ import androidx.compose.foundation.layout.ColumnScope
|
|||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.securebackup.impl.R
|
||||
import io.element.android.libraries.designsystem.atomic.pages.FlowStepPage
|
||||
import io.element.android.libraries.designsystem.components.async.AsyncActionView
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Button
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
||||
@Composable
|
||||
fun SecureBackupEnableView(
|
||||
|
|
@ -43,7 +41,7 @@ fun SecureBackupEnableView(
|
|||
modifier = modifier,
|
||||
onBackClicked = onBackClicked,
|
||||
title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable),
|
||||
iconVector = ImageVector.vectorResource(CommonDrawables.ic_key),
|
||||
iconVector = CompoundIcons.KeySolid(),
|
||||
buttons = { Buttons(state = state) }
|
||||
)
|
||||
AsyncActionView(
|
||||
|
|
|
|||
|
|
@ -21,11 +21,10 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.securebackup.impl.R
|
||||
import io.element.android.features.securebackup.impl.setup.views.RecoveryKeyView
|
||||
import io.element.android.libraries.designsystem.atomic.pages.FlowStepPage
|
||||
|
|
@ -33,7 +32,6 @@ import io.element.android.libraries.designsystem.components.async.AsyncActionVie
|
|||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Button
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
|
||||
@Composable
|
||||
|
|
@ -55,7 +53,7 @@ fun SecureBackupEnterRecoveryKeyView(
|
|||
FlowStepPage(
|
||||
modifier = modifier,
|
||||
onBackClicked = onBackClicked,
|
||||
iconVector = ImageVector.vectorResource(CommonDrawables.ic_key),
|
||||
iconVector = CompoundIcons.KeySolid(),
|
||||
title = stringResource(id = R.string.screen_recovery_key_confirm_title),
|
||||
subTitle = stringResource(id = R.string.screen_recovery_key_confirm_description),
|
||||
content = { Content(state = state) },
|
||||
|
|
|
|||
|
|
@ -21,10 +21,8 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
|
|
@ -39,7 +37,6 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
|||
import io.element.android.libraries.designsystem.theme.components.Button
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.OutlinedButton
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
|
||||
@Composable
|
||||
|
|
@ -54,7 +51,7 @@ fun SecureBackupSetupView(
|
|||
onBackClicked = onBackClicked.takeIf { state.canGoBack() },
|
||||
title = title(state),
|
||||
subTitle = subtitle(state),
|
||||
iconVector = ImageVector.vectorResource(CommonDrawables.ic_key),
|
||||
iconVector = CompoundIcons.KeySolid(),
|
||||
content = { Content(state) },
|
||||
buttons = { Buttons(state, onDone = onDone) },
|
||||
)
|
||||
|
|
@ -159,7 +156,7 @@ private fun ColumnScope.Buttons(
|
|||
is SetupState.CreatedAndSaved -> {
|
||||
OutlinedButton(
|
||||
text = stringResource(id = R.string.screen_recovery_key_save_action),
|
||||
leadingIcon = IconSource.Vector(CompoundIcons.Download),
|
||||
leadingIcon = IconSource.Vector(CompoundIcons.Download()),
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
onClick = {
|
||||
context.startSharePlainTextIntent(
|
||||
|
|
|
|||
|
|
@ -53,7 +53,6 @@ import io.element.android.libraries.designsystem.theme.components.Icon
|
|||
import io.element.android.libraries.designsystem.theme.components.OutlinedTextField
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.theme.components.autofill
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
|
||||
@Composable
|
||||
|
|
@ -115,7 +114,7 @@ private fun RecoveryKeyStaticContent(
|
|||
modifier = Modifier.weight(1f),
|
||||
)
|
||||
Icon(
|
||||
resourceId = CommonDrawables.ic_copy,
|
||||
imageVector = CompoundIcons.Copy(),
|
||||
contentDescription = stringResource(id = CommonStrings.action_copy),
|
||||
tint = ElementTheme.colors.iconSecondary,
|
||||
)
|
||||
|
|
@ -200,7 +199,7 @@ private fun RecoveryKeyFooter(state: RecoveryKeyViewState) {
|
|||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.InfoSolid,
|
||||
imageVector = CompoundIcons.InfoSolid(),
|
||||
contentDescription = null,
|
||||
tint = ElementTheme.colors.iconSecondary,
|
||||
modifier = Modifier
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import androidx.compose.ui.res.stringResource
|
|||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule
|
||||
import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
|
||||
import io.element.android.libraries.designsystem.atomic.organisms.InfoListItem
|
||||
|
|
@ -41,7 +42,6 @@ import io.element.android.libraries.designsystem.preview.ElementPreview
|
|||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Button
|
||||
import io.element.android.libraries.designsystem.theme.temporaryColorBgSpecial
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
||||
|
|
@ -90,15 +90,15 @@ private fun SignedOutContent() {
|
|||
items = persistentListOf(
|
||||
InfoListItem(
|
||||
message = stringResource(id = R.string.screen_signed_out_reason_1),
|
||||
iconId = CommonDrawables.ic_lock_outline,
|
||||
iconVector = CompoundIcons.Lock(),
|
||||
),
|
||||
InfoListItem(
|
||||
message = stringResource(id = R.string.screen_signed_out_reason_2),
|
||||
iconId = CommonDrawables.ic_devices,
|
||||
iconVector = CompoundIcons.Devices(),
|
||||
),
|
||||
InfoListItem(
|
||||
message = stringResource(id = R.string.screen_signed_out_reason_3),
|
||||
iconId = CommonDrawables.ic_do_disturb_alt,
|
||||
iconVector = CompoundIcons.Block(),
|
||||
),
|
||||
),
|
||||
textStyle = ElementTheme.typography.fontBodyMdMedium,
|
||||
|
|
|
|||
|
|
@ -40,12 +40,12 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.libraries.androidutils.system.copyToClipboard
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.designsystem.components.async.AsyncFailure
|
||||
import io.element.android.libraries.designsystem.components.async.AsyncLoading
|
||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
||||
|
|
@ -85,7 +85,7 @@ fun ViewFileView(
|
|||
},
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CompoundDrawables.ic_share_android,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
contentDescription = stringResource(id = CommonStrings.action_share),
|
||||
)
|
||||
}
|
||||
|
|
@ -95,7 +95,7 @@ fun ViewFileView(
|
|||
},
|
||||
) {
|
||||
Icon(
|
||||
resourceId = CompoundDrawables.ic_download,
|
||||
imageVector = CompoundIcons.Download(),
|
||||
contentDescription = stringResource(id = CommonStrings.action_save),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ coil = { module = "io.coil-kt:coil", version.ref = "coil" }
|
|||
coil_compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
|
||||
coil_gif = { module = "io.coil-kt:coil-gif", version.ref = "coil" }
|
||||
coil_test = { module = "io.coil-kt:coil-test", version.ref = "coil" }
|
||||
compound = { module = "io.element.android:compound-android", version = "0.0.4" }
|
||||
compound = { module = "io.element.android:compound-android", version = "0.0.5" }
|
||||
datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "datetime" }
|
||||
serialization_json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization_json" }
|
||||
kotlinx_collections_immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.7"
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ fun DialogLikeBannerMolecule(
|
|||
if (onDismissClicked != null) {
|
||||
Icon(
|
||||
modifier = Modifier.clickable(onClick = onDismissClicked),
|
||||
imageVector = CompoundIcons.Close,
|
||||
imageVector = CompoundIcons.Close(),
|
||||
contentDescription = stringResource(CommonStrings.action_close)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ fun IconTitleSubtitleMolecule(
|
|||
@Composable
|
||||
internal fun IconTitleSubtitleMoleculePreview() = ElementPreview {
|
||||
IconTitleSubtitleMolecule(
|
||||
iconImageVector = CompoundIcons.Chat,
|
||||
iconImageVector = CompoundIcons.Chat(),
|
||||
title = "Title",
|
||||
subTitle = "Subtitle",
|
||||
)
|
||||
|
|
|
|||
|
|
@ -78,25 +78,25 @@ internal fun InfoListItemMoleculePreview() {
|
|||
) {
|
||||
InfoListItemMolecule(
|
||||
message = { Text("A single item") },
|
||||
icon = { Icon(imageVector = CompoundIcons.InfoSolid, contentDescription = null) },
|
||||
icon = { Icon(imageVector = CompoundIcons.InfoSolid(), contentDescription = null) },
|
||||
position = InfoListItemPosition.Single,
|
||||
backgroundColor = color,
|
||||
)
|
||||
InfoListItemMolecule(
|
||||
message = { Text("A top item") },
|
||||
icon = { Icon(imageVector = CompoundIcons.InfoSolid, contentDescription = null) },
|
||||
icon = { Icon(imageVector = CompoundIcons.InfoSolid(), contentDescription = null) },
|
||||
position = InfoListItemPosition.Top,
|
||||
backgroundColor = color,
|
||||
)
|
||||
InfoListItemMolecule(
|
||||
message = { Text("A middle item") },
|
||||
icon = { Icon(imageVector = CompoundIcons.InfoSolid, contentDescription = null) },
|
||||
icon = { Icon(imageVector = CompoundIcons.InfoSolid(), contentDescription = null) },
|
||||
position = InfoListItemPosition.Middle,
|
||||
backgroundColor = color,
|
||||
)
|
||||
InfoListItemMolecule(
|
||||
message = { Text("A bottom item") },
|
||||
icon = { Icon(imageVector = CompoundIcons.InfoSolid, contentDescription = null) },
|
||||
icon = { Icon(imageVector = CompoundIcons.InfoSolid(), contentDescription = null) },
|
||||
position = InfoListItemPosition.Bottom,
|
||||
backgroundColor = color,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ internal fun FlowStepPagePreview() = ElementPreview {
|
|||
onBackClicked = {},
|
||||
title = "Title",
|
||||
subTitle = "Subtitle",
|
||||
iconVector = CompoundIcons.Computer,
|
||||
iconVector = CompoundIcons.Computer(),
|
||||
content = {
|
||||
Box(
|
||||
Modifier
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.designsystem.colors
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
|
||||
data class AvatarColors(
|
||||
val background: Color,
|
||||
val foreground: Color,
|
||||
)
|
||||
|
|
@ -17,6 +17,7 @@
|
|||
package io.element.android.libraries.designsystem.colors
|
||||
|
||||
import androidx.collection.LruCache
|
||||
import io.element.android.compound.theme.AvatarColors
|
||||
import io.element.android.compound.theme.avatarColorsDark
|
||||
import io.element.android.compound.theme.avatarColorsLight
|
||||
|
||||
|
|
@ -46,10 +47,7 @@ object AvatarColorsProvider {
|
|||
} else {
|
||||
avatarColorsDark[hash]
|
||||
}
|
||||
return AvatarColors(
|
||||
background = colors.first,
|
||||
foreground = colors.second,
|
||||
)
|
||||
return colors
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -508,7 +508,7 @@ internal fun BloomPreview() {
|
|||
actions = {
|
||||
IconButton(onClick = {}) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ fun BackButton(
|
|||
onClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
// TODO Handle RTL languages
|
||||
imageVector: ImageVector = CompoundIcons.ArrowLeft,
|
||||
imageVector: ImageVector = CompoundIcons.ArrowLeft(),
|
||||
contentDescription: String = stringResource(CommonStrings.action_back),
|
||||
enabled: Boolean = true,
|
||||
) {
|
||||
|
|
|
|||
|
|
@ -89,13 +89,13 @@ private fun ContentsToPreview() {
|
|||
Row(Modifier.padding(10.dp)) {
|
||||
MainActionButton(
|
||||
title = "Share",
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
onClick = { },
|
||||
)
|
||||
Spacer(modifier = Modifier.width(20.dp))
|
||||
MainActionButton(
|
||||
title = "Share",
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
onClick = { },
|
||||
enabled = false,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
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
|
||||
|
|
@ -74,11 +74,11 @@ internal fun PreferenceCategoryPreview() = ElementThemedPreview {
|
|||
) {
|
||||
PreferenceText(
|
||||
title = "Title",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
)
|
||||
PreferenceSwitch(
|
||||
title = "Switch",
|
||||
iconResourceId = CompoundDrawables.ic_threads,
|
||||
icon = CompoundIcons.Threads(),
|
||||
isChecked = true,
|
||||
onCheckedChange = {},
|
||||
)
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ internal fun PreferenceCheckboxPreview() = ElementThemedPreview {
|
|||
Column {
|
||||
PreferenceCheckbox(
|
||||
title = "Checkbox",
|
||||
iconResourceId = CompoundDrawables.ic_threads,
|
||||
iconResourceId = CompoundDrawables.ic_compound_threads,
|
||||
enabled = true,
|
||||
isChecked = true,
|
||||
onCheckedChange = {},
|
||||
|
|
@ -107,7 +107,7 @@ internal fun PreferenceCheckboxPreview() = ElementThemedPreview {
|
|||
PreferenceCheckbox(
|
||||
title = "Checkbox with supporting text",
|
||||
supportingText = "Supporting text",
|
||||
iconResourceId = CompoundDrawables.ic_threads,
|
||||
iconResourceId = CompoundDrawables.ic_compound_threads,
|
||||
enabled = true,
|
||||
isChecked = true,
|
||||
onCheckedChange = {},
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
||||
|
|
@ -109,19 +109,19 @@ internal fun PreferenceViewPreview() = ElementPreview {
|
|||
PreferenceText(
|
||||
title = "Title",
|
||||
subtitle = "Some other text",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
)
|
||||
PreferenceDivider()
|
||||
PreferenceSwitch(
|
||||
title = "Switch",
|
||||
iconResourceId = CompoundDrawables.ic_threads,
|
||||
icon = CompoundIcons.Threads(),
|
||||
isChecked = true,
|
||||
onCheckedChange = {},
|
||||
)
|
||||
PreferenceDivider()
|
||||
PreferenceCheckbox(
|
||||
title = "Checkbox",
|
||||
iconResourceId = CompoundDrawables.ic_notifications,
|
||||
icon = CompoundIcons.Notifications(),
|
||||
isChecked = true,
|
||||
onCheckedChange = {},
|
||||
)
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.libraries.designsystem.components.preferences.components.PreferenceIcon
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
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
|
||||
|
|
@ -92,7 +92,7 @@ fun PreferenceSlide(
|
|||
@Composable
|
||||
internal fun PreferenceSlidePreview() = ElementThemedPreview {
|
||||
PreferenceSlide(
|
||||
iconResourceId = CompoundDrawables.ic_user_profile,
|
||||
icon = CompoundIcons.UserProfile(),
|
||||
title = "Slide",
|
||||
summary = "Summary",
|
||||
value = 0.75F,
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.libraries.designsystem.components.preferences.components.PreferenceIcon
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||
import io.element.android.libraries.designsystem.theme.components.Switch
|
||||
|
|
@ -106,7 +106,7 @@ internal fun PreferenceSwitchPreview() = ElementThemedPreview {
|
|||
PreferenceSwitch(
|
||||
title = "Switch",
|
||||
subtitle = "Subtitle Switch",
|
||||
iconResourceId = CompoundDrawables.ic_threads,
|
||||
icon = CompoundIcons.Threads(),
|
||||
enabled = true,
|
||||
isChecked = true,
|
||||
onCheckedChange = {},
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@ import androidx.compose.ui.text.AnnotatedString
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.libraries.designsystem.atomic.atoms.RedIndicatorAtom
|
||||
import io.element.android.libraries.designsystem.components.preferences.components.PreferenceIcon
|
||||
import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
|
||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||
|
|
@ -169,26 +169,26 @@ private fun ContentToPreview(showEndBadge: Boolean) {
|
|||
) {
|
||||
PreferenceText(
|
||||
title = "Title",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
showEndBadge = showEndBadge,
|
||||
)
|
||||
PreferenceText(
|
||||
title = "Title",
|
||||
subtitle = "Some content",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
showEndBadge = showEndBadge,
|
||||
)
|
||||
PreferenceText(
|
||||
title = "Title",
|
||||
subtitle = "Some content",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
currentValue = "123",
|
||||
showEndBadge = showEndBadge,
|
||||
)
|
||||
PreferenceText(
|
||||
title = "Title",
|
||||
subtitle = "Some content",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
currentValue = "123",
|
||||
enabled = false,
|
||||
showEndBadge = showEndBadge,
|
||||
|
|
@ -196,19 +196,19 @@ private fun ContentToPreview(showEndBadge: Boolean) {
|
|||
PreferenceText(
|
||||
title = "Title",
|
||||
subtitle = "Some content",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
loadingCurrentValue = true,
|
||||
showEndBadge = showEndBadge,
|
||||
)
|
||||
PreferenceText(
|
||||
title = "Title",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
currentValue = "123",
|
||||
showEndBadge = showEndBadge,
|
||||
)
|
||||
PreferenceText(
|
||||
title = "Title",
|
||||
iconResourceId = CompoundDrawables.ic_chat_problem,
|
||||
icon = CompoundIcons.ChatProblem(),
|
||||
loadingCurrentValue = true,
|
||||
showEndBadge = showEndBadge,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -21,36 +21,12 @@ import io.element.android.libraries.designsystem.R
|
|||
// This list and all the drawable it contains should be removed at some point.
|
||||
// All the icons should be defined in Compound.
|
||||
internal val iconsOther = listOf(
|
||||
R.drawable.ic_add_reaction,
|
||||
R.drawable.ic_attachment,
|
||||
R.drawable.ic_copy,
|
||||
R.drawable.ic_cancel,
|
||||
R.drawable.ic_developer_options,
|
||||
R.drawable.ic_devices,
|
||||
R.drawable.ic_edit,
|
||||
R.drawable.ic_edit_outline,
|
||||
R.drawable.ic_encryption_enabled,
|
||||
R.drawable.ic_forward,
|
||||
R.drawable.ic_groups,
|
||||
R.drawable.ic_image,
|
||||
R.drawable.ic_indent_decrease,
|
||||
R.drawable.ic_indent_increase,
|
||||
R.drawable.ic_inline_code,
|
||||
R.drawable.ic_italic,
|
||||
R.drawable.ic_link,
|
||||
R.drawable.ic_location_navigator,
|
||||
R.drawable.ic_location_navigator_centered,
|
||||
R.drawable.ic_new_message,
|
||||
R.drawable.ic_numbered_list,
|
||||
R.drawable.ic_notification_small,
|
||||
R.drawable.ic_plus_composer,
|
||||
R.drawable.ic_quote,
|
||||
R.drawable.ic_reply,
|
||||
R.drawable.ic_retry,
|
||||
R.drawable.ic_sign_out,
|
||||
R.drawable.ic_strikethrough,
|
||||
R.drawable.ic_take_photo_camera,
|
||||
R.drawable.ic_text_formatting,
|
||||
R.drawable.ic_underline,
|
||||
R.drawable.ic_user,
|
||||
R.drawable.ic_user_add,
|
||||
R.drawable.ic_waiting_to_decrypt,
|
||||
R.drawable.ic_stop,
|
||||
R.drawable.pin,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -436,7 +436,7 @@ internal fun DialogWithTitleIconAndOkButtonPreview() {
|
|||
SimpleAlertDialogContent(
|
||||
icon = {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.NotificationsSolid,
|
||||
imageVector = CompoundIcons.NotificationsSolid(),
|
||||
contentDescription = null
|
||||
)
|
||||
},
|
||||
|
|
|
|||
|
|
@ -403,7 +403,7 @@ private fun ColumnScope.ButtonMatrixPreview(
|
|||
)
|
||||
// With icon
|
||||
ButtonRowPreview(
|
||||
leadingIcon = IconSource.Vector(CompoundIcons.ShareAndroid),
|
||||
leadingIcon = IconSource.Vector(CompoundIcons.ShareAndroid()),
|
||||
style = style,
|
||||
size = size,
|
||||
destructive = destructive,
|
||||
|
|
|
|||
|
|
@ -83,32 +83,32 @@ internal fun DropdownMenuItemPreview() = ElementThemedPreview {
|
|||
DropdownMenuItem(
|
||||
text = { Text(text = "Item") },
|
||||
onClick = {},
|
||||
trailingIcon = { Icon(imageVector = CompoundIcons.ChevronRight, contentDescription = null) },
|
||||
trailingIcon = { Icon(imageVector = CompoundIcons.ChevronRight(), contentDescription = null) },
|
||||
)
|
||||
HorizontalDivider()
|
||||
DropdownMenuItem(
|
||||
text = { Text(text = "Item") },
|
||||
onClick = {},
|
||||
leadingIcon = { Icon(imageVector = CompoundIcons.ChatProblem, contentDescription = null) },
|
||||
leadingIcon = { Icon(imageVector = CompoundIcons.ChatProblem(), contentDescription = null) },
|
||||
)
|
||||
DropdownMenuItem(
|
||||
text = { Text(text = "Item") },
|
||||
onClick = {},
|
||||
leadingIcon = { Icon(imageVector = CompoundIcons.ChatProblem, contentDescription = null) },
|
||||
trailingIcon = { Icon(imageVector = CompoundIcons.ChevronRight, contentDescription = null) },
|
||||
leadingIcon = { Icon(imageVector = CompoundIcons.ChatProblem(), contentDescription = null) },
|
||||
trailingIcon = { Icon(imageVector = CompoundIcons.ChevronRight(), contentDescription = null) },
|
||||
)
|
||||
DropdownMenuItem(
|
||||
text = { Text(text = "Item") },
|
||||
onClick = {},
|
||||
enabled = false,
|
||||
leadingIcon = { Icon(imageVector = CompoundIcons.ChatProblem, contentDescription = null) },
|
||||
trailingIcon = { Icon(imageVector = CompoundIcons.ChevronRight, contentDescription = null) },
|
||||
leadingIcon = { Icon(imageVector = CompoundIcons.ChatProblem(), contentDescription = null) },
|
||||
trailingIcon = { Icon(imageVector = CompoundIcons.ChevronRight(), contentDescription = null) },
|
||||
)
|
||||
HorizontalDivider()
|
||||
DropdownMenuItem(
|
||||
text = { Text(text = "Multiline\nItem") },
|
||||
onClick = {},
|
||||
trailingIcon = { Icon(imageVector = CompoundIcons.ChevronRight, contentDescription = null) },
|
||||
trailingIcon = { Icon(imageVector = CompoundIcons.ChevronRight(), contentDescription = null) },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ fun FloatingActionButton(
|
|||
internal fun FloatingActionButtonPreview() = ElementThemedPreview {
|
||||
Box(modifier = Modifier.padding(8.dp)) {
|
||||
FloatingActionButton(onClick = {}) {
|
||||
Icon(imageVector = CompoundIcons.Close, contentDescription = null)
|
||||
Icon(imageVector = CompoundIcons.Close(), contentDescription = null)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,5 +141,5 @@ fun Icon(
|
|||
@Preview(group = PreviewGroup.Icons)
|
||||
@Composable
|
||||
internal fun IconImageVectorPreview() = ElementThemedPreview {
|
||||
Icon(imageVector = CompoundIcons.Close, contentDescription = null)
|
||||
Icon(imageVector = CompoundIcons.Close(), contentDescription = null)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,20 +63,20 @@ internal fun IconButtonPreview() = ElementThemedPreview {
|
|||
CompositionLocalProvider(LocalContentColor provides ElementTheme.colors.iconPrimary) {
|
||||
Row {
|
||||
IconButton(onClick = {}) {
|
||||
Icon(imageVector = CompoundIcons.Close, contentDescription = null)
|
||||
Icon(imageVector = CompoundIcons.Close(), contentDescription = null)
|
||||
}
|
||||
IconButton(enabled = false, onClick = {}) {
|
||||
Icon(imageVector = CompoundIcons.Close, contentDescription = null)
|
||||
Icon(imageVector = CompoundIcons.Close(), contentDescription = null)
|
||||
}
|
||||
}
|
||||
}
|
||||
CompositionLocalProvider(LocalContentColor provides ElementTheme.colors.iconSecondary) {
|
||||
Row {
|
||||
IconButton(onClick = {}) {
|
||||
Icon(imageVector = CompoundIcons.Close, contentDescription = null)
|
||||
Icon(imageVector = CompoundIcons.Close(), contentDescription = null)
|
||||
}
|
||||
IconButton(enabled = false, onClick = {}) {
|
||||
Icon(imageVector = CompoundIcons.Close, contentDescription = null)
|
||||
Icon(imageVector = CompoundIcons.Close(), contentDescription = null)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -471,6 +471,6 @@ private object PreviewItems {
|
|||
|
||||
@Composable
|
||||
fun icon() = ListItemContent.Icon(
|
||||
iconSource = IconSource.Vector(CompoundIcons.ShareAndroid)
|
||||
iconSource = IconSource.Vector(CompoundIcons.ShareAndroid())
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ internal fun ListSupportingTextSmallPaddingPreview() {
|
|||
Column {
|
||||
ListItem(
|
||||
headlineContent = { Text("A title") },
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.ShareAndroid))
|
||||
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.ShareAndroid()))
|
||||
)
|
||||
ListSupportingText(
|
||||
text = "Supporting line text lorem ipsum dolor sit amet, consectetur. Read more",
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ internal fun MediumTopAppBarPreview() = ElementThemedPreview {
|
|||
TextButton(text = "Action", onClick = {})
|
||||
IconButton(onClick = {}) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ fun <T> SearchBar(
|
|||
{
|
||||
IconButton(onClick = { onQueryChange("") }) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Close,
|
||||
imageVector = CompoundIcons.Close(),
|
||||
contentDescription = stringResource(CommonStrings.action_clear),
|
||||
)
|
||||
}
|
||||
|
|
@ -108,7 +108,7 @@ fun <T> SearchBar(
|
|||
!active -> {
|
||||
{
|
||||
Icon(
|
||||
imageVector = CompoundIcons.Search,
|
||||
imageVector = CompoundIcons.Search(),
|
||||
contentDescription = stringResource(CommonStrings.action_search),
|
||||
tint = MaterialTheme.colorScheme.tertiary,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ internal fun SnackbarWithActionAndCloseButtonPreview() {
|
|||
message = "Snackbar supporting text",
|
||||
action = ButtonVisuals.Text("Action") {},
|
||||
dismissAction = ButtonVisuals.Icon(
|
||||
IconSource.Vector(CompoundIcons.Close)
|
||||
IconSource.Vector(CompoundIcons.Close())
|
||||
) {}
|
||||
)
|
||||
}
|
||||
|
|
@ -142,7 +142,7 @@ internal fun SnackbarWithActionOnNewLineAndCloseButtonPreview() {
|
|||
message = "Snackbar supporting text",
|
||||
action = ButtonVisuals.Text("Action", {}),
|
||||
dismissAction = ButtonVisuals.Icon(
|
||||
IconSource.Vector(CompoundIcons.Close)
|
||||
IconSource.Vector(CompoundIcons.Close())
|
||||
) {},
|
||||
actionOnNewLine = true
|
||||
)
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ internal fun TopAppBarPreview() = ElementThemedPreview {
|
|||
TextButton(text = "Action", onClick = {})
|
||||
IconButton(onClick = {}) {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.ShareAndroid,
|
||||
imageVector = CompoundIcons.ShareAndroid(),
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ internal fun MenuPreview() {
|
|||
val trailingIcon: @Composable (() -> Unit)? = if (i in 3..4) {
|
||||
@Composable {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.ChevronRight,
|
||||
imageVector = CompoundIcons.ChevronRight(),
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ fun SnackbarHost(hostState: SnackbarHostState, modifier: Modifier = Modifier) {
|
|||
action = data.visuals.actionLabel?.let { ButtonVisuals.Text(it, data::performAction) },
|
||||
dismissAction = if (data.visuals.withDismissAction) {
|
||||
ButtonVisuals.Icon(
|
||||
IconSource.Vector(CompoundIcons.Close),
|
||||
IconSource.Vector(CompoundIcons.Close()),
|
||||
data::dismiss
|
||||
)
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,22C10.617,22 9.317,21.737 8.1,21.212C6.883,20.688 5.825,19.975 4.925,19.075C4.025,18.175 3.313,17.117 2.787,15.9C2.263,14.683 2,13.383 2,12C2,10.617 2.263,9.317 2.787,8.1C3.313,6.883 4.025,5.825 4.925,4.925C5.825,4.025 6.883,3.313 8.1,2.787C9.317,2.263 10.617,2 12,2C12.717,2 13.408,2.071 14.075,2.213C14.742,2.354 15.383,2.558 16,2.825V5.075C15.417,4.742 14.788,4.479 14.113,4.287C13.438,4.096 12.733,4 12,4C9.783,4 7.896,4.779 6.338,6.338C4.779,7.896 4,9.783 4,12C4,14.217 4.779,16.104 6.338,17.663C7.896,19.221 9.783,20 12,20C14.217,20 16.104,19.221 17.663,17.663C19.221,16.104 20,14.217 20,12C20,11.467 19.946,10.95 19.837,10.45C19.729,9.95 19.583,9.467 19.4,9H21.55C21.7,9.483 21.813,9.971 21.888,10.462C21.962,10.954 22,11.467 22,12C22,13.383 21.737,14.683 21.212,15.9C20.688,17.117 19.975,18.175 19.075,19.075C18.175,19.975 17.117,20.688 15.9,21.212C14.683,21.737 13.383,22 12,22ZM20,5H19C18.717,5 18.479,4.904 18.288,4.713C18.096,4.521 18,4.283 18,4C18,3.717 18.096,3.479 18.288,3.287C18.479,3.096 18.717,3 19,3H20V2C20,1.717 20.096,1.479 20.288,1.288C20.479,1.096 20.717,1 21,1C21.283,1 21.521,1.096 21.712,1.288C21.904,1.479 22,1.717 22,2V3H23C23.283,3 23.521,3.096 23.712,3.287C23.904,3.479 24,3.717 24,4C24,4.283 23.904,4.521 23.712,4.713C23.521,4.904 23.283,5 23,5H22V6C22,6.283 21.904,6.521 21.712,6.713C21.521,6.904 21.283,7 21,7C20.717,7 20.479,6.904 20.288,6.713C20.096,6.521 20,6.283 20,6V5ZM15.5,11C15.917,11 16.271,10.854 16.563,10.563C16.854,10.271 17,9.917 17,9.5C17,9.083 16.854,8.729 16.563,8.438C16.271,8.146 15.917,8 15.5,8C15.083,8 14.729,8.146 14.438,8.438C14.146,8.729 14,9.083 14,9.5C14,9.917 14.146,10.271 14.438,10.563C14.729,10.854 15.083,11 15.5,11ZM8.5,11C8.917,11 9.271,10.854 9.563,10.563C9.854,10.271 10,9.917 10,9.5C10,9.083 9.854,8.729 9.563,8.438C9.271,8.146 8.917,8 8.5,8C8.083,8 7.729,8.146 7.438,8.438C7.146,8.729 7,9.083 7,9.5C7,9.917 7.146,10.271 7.438,10.563C7.729,10.854 8.083,11 8.5,11ZM12,17.5C12.967,17.5 13.858,17.267 14.675,16.8C15.492,16.333 16.15,15.7 16.65,14.9C16.75,14.7 16.742,14.5 16.625,14.3C16.508,14.1 16.333,14 16.1,14H7.9C7.667,14 7.492,14.1 7.375,14.3C7.258,14.5 7.25,14.7 7.35,14.9C7.85,15.7 8.512,16.333 9.337,16.8C10.163,17.267 11.05,17.5 12,17.5Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M11.5,22C9.967,22 8.667,21.467 7.6,20.4C6.533,19.333 6,18.033 6,16.5V6C6,4.9 6.392,3.958 7.175,3.175C7.958,2.392 8.9,2 10,2C11.1,2 12.042,2.392 12.825,3.175C13.608,3.958 14,4.9 14,6V15.5C14,16.2 13.758,16.792 13.275,17.275C12.792,17.758 12.2,18 11.5,18C10.8,18 10.208,17.758 9.725,17.275C9.242,16.792 9,16.2 9,15.5V6.75C9,6.533 9.071,6.354 9.212,6.213C9.354,6.071 9.533,6 9.75,6C9.967,6 10.146,6.071 10.288,6.213C10.429,6.354 10.5,6.533 10.5,6.75V15.5C10.5,15.783 10.596,16.021 10.788,16.212C10.979,16.404 11.217,16.5 11.5,16.5C11.783,16.5 12.021,16.404 12.212,16.212C12.404,16.021 12.5,15.783 12.5,15.5V6C12.5,5.3 12.258,4.708 11.775,4.225C11.292,3.742 10.7,3.5 10,3.5C9.3,3.5 8.708,3.742 8.225,4.225C7.742,4.708 7.5,5.3 7.5,6V16.5C7.5,17.6 7.892,18.542 8.675,19.325C9.458,20.108 10.4,20.5 11.5,20.5C12.6,20.5 13.542,20.108 14.325,19.325C15.108,18.542 15.5,17.6 15.5,16.5V6.75C15.5,6.533 15.571,6.354 15.712,6.213C15.854,6.071 16.033,6 16.25,6C16.467,6 16.646,6.071 16.788,6.213C16.929,6.354 17,6.533 17,6.75V16.5C17,18.033 16.467,19.333 15.4,20.4C14.333,21.467 13.033,22 11.5,22Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="20dp"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="20">
|
||||
<path
|
||||
android:pathData="M7.333,15.833C6.875,15.833 6.483,15.67 6.156,15.343C5.83,15.017 5.667,14.624 5.667,14.166V5.833C5.667,5.374 5.83,4.982 6.156,4.656C6.483,4.329 6.875,4.166 7.333,4.166H10.271C11.174,4.166 12.007,4.444 12.771,4.999C13.535,5.555 13.917,6.326 13.917,7.312C13.917,8.02 13.757,8.565 13.438,8.947C13.118,9.329 12.819,9.604 12.542,9.77C12.889,9.923 13.274,10.208 13.698,10.624C14.122,11.041 14.333,11.666 14.333,12.499C14.333,13.736 13.882,14.6 12.979,15.093C12.076,15.586 11.229,15.833 10.438,15.833H7.333ZM8.188,13.499H10.354C11.021,13.499 11.427,13.329 11.573,12.989C11.719,12.649 11.792,12.402 11.792,12.249C11.792,12.097 11.719,11.85 11.573,11.51C11.427,11.17 11,10.999 10.292,10.999H8.188V13.499ZM8.188,8.749H10.125C10.583,8.749 10.917,8.631 11.125,8.395C11.333,8.159 11.438,7.895 11.438,7.604C11.438,7.27 11.319,6.999 11.083,6.791C10.847,6.583 10.542,6.479 10.167,6.479H8.188V8.749Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="20dp"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="20">
|
||||
<path
|
||||
android:pathData="M8.333,15.834C8.097,15.834 7.899,15.754 7.74,15.594C7.58,15.435 7.5,15.237 7.5,15.001C7.5,14.764 7.58,14.567 7.74,14.407C7.899,14.247 8.097,14.167 8.333,14.167H16.667C16.903,14.167 17.101,14.247 17.26,14.407C17.42,14.567 17.5,14.764 17.5,15.001C17.5,15.237 17.42,15.435 17.26,15.594C17.101,15.754 16.903,15.834 16.667,15.834H8.333ZM8.333,10.834C8.097,10.834 7.899,10.754 7.74,10.594C7.58,10.435 7.5,10.237 7.5,10.001C7.5,9.765 7.58,9.567 7.74,9.407C7.899,9.247 8.097,9.167 8.333,9.167H16.667C16.903,9.167 17.101,9.247 17.26,9.407C17.42,9.567 17.5,9.765 17.5,10.001C17.5,10.237 17.42,10.435 17.26,10.594C17.101,10.754 16.903,10.834 16.667,10.834H8.333ZM8.333,5.834C8.097,5.834 7.899,5.754 7.74,5.594C7.58,5.435 7.5,5.237 7.5,5.001C7.5,4.765 7.58,4.567 7.74,4.407C7.899,4.247 8.097,4.167 8.333,4.167H16.667C16.903,4.167 17.101,4.247 17.26,4.407C17.42,4.567 17.5,4.765 17.5,5.001C17.5,5.237 17.42,5.435 17.26,5.594C17.101,5.754 16.903,5.834 16.667,5.834H8.333ZM4.167,16.667C3.708,16.667 3.316,16.504 2.99,16.178C2.663,15.851 2.5,15.459 2.5,15.001C2.5,14.542 2.663,14.15 2.99,13.824C3.316,13.497 3.708,13.334 4.167,13.334C4.625,13.334 5.017,13.497 5.344,13.824C5.67,14.15 5.833,14.542 5.833,15.001C5.833,15.459 5.67,15.851 5.344,16.178C5.017,16.504 4.625,16.667 4.167,16.667ZM4.167,11.667C3.708,11.667 3.316,11.504 2.99,11.178C2.663,10.851 2.5,10.459 2.5,10.001C2.5,9.542 2.663,9.15 2.99,8.824C3.316,8.497 3.708,8.334 4.167,8.334C4.625,8.334 5.017,8.497 5.344,8.824C5.67,9.15 5.833,9.542 5.833,10.001C5.833,10.459 5.67,10.851 5.344,11.178C5.017,11.504 4.625,11.667 4.167,11.667ZM4.167,6.667C3.708,6.667 3.316,6.504 2.99,6.178C2.663,5.851 2.5,5.459 2.5,5.001C2.5,4.542 2.663,4.15 2.99,3.824C3.316,3.497 3.708,3.334 4.167,3.334C4.625,3.334 5.017,3.497 5.344,3.824C5.67,4.15 5.833,4.542 5.833,5.001C5.833,5.459 5.67,5.851 5.344,6.178C5.017,6.504 4.625,6.667 4.167,6.667Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="20dp"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="20">
|
||||
<path
|
||||
android:pathData="M7.354,10L8.583,8.771C8.75,8.604 8.833,8.41 8.833,8.188C8.833,7.965 8.75,7.771 8.583,7.604C8.417,7.438 8.219,7.354 7.99,7.354C7.76,7.354 7.563,7.438 7.396,7.604L5.583,9.417C5.5,9.5 5.441,9.59 5.406,9.688C5.372,9.785 5.354,9.889 5.354,10C5.354,10.111 5.372,10.215 5.406,10.313C5.441,10.41 5.5,10.5 5.583,10.583L7.396,12.396C7.563,12.563 7.76,12.646 7.99,12.646C8.219,12.646 8.417,12.563 8.583,12.396C8.75,12.229 8.833,12.035 8.833,11.813C8.833,11.59 8.75,11.396 8.583,11.229L7.354,10ZM12.646,10L11.417,11.229C11.25,11.396 11.167,11.59 11.167,11.813C11.167,12.035 11.25,12.229 11.417,12.396C11.583,12.563 11.781,12.646 12.01,12.646C12.24,12.646 12.438,12.563 12.604,12.396L14.417,10.583C14.5,10.5 14.559,10.41 14.594,10.313C14.628,10.215 14.646,10.111 14.646,10C14.646,9.889 14.628,9.785 14.594,9.688C14.559,9.59 14.5,9.5 14.417,9.417L12.604,7.604C12.521,7.521 12.427,7.458 12.323,7.417C12.219,7.375 12.115,7.354 12.01,7.354C11.906,7.354 11.802,7.375 11.698,7.417C11.594,7.458 11.5,7.521 11.417,7.604C11.25,7.771 11.167,7.965 11.167,8.188C11.167,8.41 11.25,8.604 11.417,8.771L12.646,10ZM4.167,17.5C3.708,17.5 3.316,17.337 2.99,17.01C2.663,16.684 2.5,16.292 2.5,15.833V4.167C2.5,3.708 2.663,3.316 2.99,2.99C3.316,2.663 3.708,2.5 4.167,2.5H15.833C16.292,2.5 16.684,2.663 17.01,2.99C17.337,3.316 17.5,3.708 17.5,4.167V15.833C17.5,16.292 17.337,16.684 17.01,17.01C16.684,17.337 16.292,17.5 15.833,17.5H4.167ZM4.167,15.833H15.833V4.167H4.167V15.833Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M9,18C8.45,18 7.979,17.804 7.588,17.413C7.196,17.021 7,16.55 7,16V4C7,3.45 7.196,2.979 7.588,2.588C7.979,2.196 8.45,2 9,2H18C18.55,2 19.021,2.196 19.413,2.588C19.804,2.979 20,3.45 20,4V16C20,16.55 19.804,17.021 19.413,17.413C19.021,17.804 18.55,18 18,18H9ZM9,16H18V4H9V16ZM5,22C4.45,22 3.979,21.804 3.588,21.413C3.196,21.021 3,20.55 3,20V7C3,6.717 3.096,6.479 3.288,6.287C3.479,6.096 3.717,6 4,6C4.283,6 4.521,6.096 4.713,6.287C4.904,6.479 5,6.717 5,7V20H15C15.283,20 15.521,20.096 15.713,20.288C15.904,20.479 16,20.717 16,21C16,21.283 15.904,21.521 15.713,21.712C15.521,21.904 15.283,22 15,22H5Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M3.5,20C3.083,20 2.729,19.854 2.438,19.563C2.146,19.271 2,18.917 2,18.5C2,18.083 2.146,17.729 2.438,17.438C2.729,17.146 3.083,17 3.5,17H4V6C4,5.45 4.196,4.979 4.588,4.588C4.979,4.196 5.45,4 6,4H20C20.283,4 20.521,4.096 20.712,4.287C20.904,4.479 21,4.717 21,5C21,5.283 20.904,5.521 20.712,5.713C20.521,5.904 20.283,6 20,6H6V17H10.5C10.917,17 11.271,17.146 11.563,17.438C11.854,17.729 12,18.083 12,18.5C12,18.917 11.854,19.271 11.563,19.563C11.271,19.854 10.917,20 10.5,20H3.5ZM15,20C14.717,20 14.479,19.904 14.288,19.712C14.096,19.521 14,19.283 14,19V9C14,8.717 14.096,8.479 14.288,8.288C14.479,8.096 14.717,8 15,8H21C21.283,8 21.521,8.096 21.712,8.288C21.904,8.479 22,8.717 22,9V19C22,19.283 21.904,19.521 21.712,19.712C21.521,19.904 21.283,20 21,20H15ZM16,17H20V10H16V17Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="20dp"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="20">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M0,0h20v20h-20z"/>
|
||||
<path
|
||||
android:pathData="M10,1.667C5.417,1.667 1.666,5.417 1.666,10C1.666,14.583 5.417,18.333 10,18.333C14.583,18.333 18.333,14.583 18.333,10C18.333,5.417 14.583,1.667 10,1.667ZM3.333,10C3.333,6.333 6.333,3.333 10,3.333C11.5,3.333 12.917,3.833 14.083,4.75L4.75,14.083C3.833,12.917 3.333,11.5 3.333,10ZM10,16.667C8.5,16.667 7.083,16.167 5.917,15.25L15.25,5.917C16.167,7.083 16.667,8.5 16.667,10C16.667,13.667 13.667,16.667 10,16.667Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</group>
|
||||
</vector>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="16dp"
|
||||
android:height="16dp"
|
||||
android:viewportWidth="16"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:pathData="M12.9,6L10,3.2L11,2.2C11.2,2 11.5,1.8 11.9,1.8C12.3,1.8 12.6,2 12.9,2.2L13.8,3.2C14,3.4 14.2,3.7 14.2,4.1C14.2,4.4 14.1,4.7 13.8,5L12.9,6ZM2.7,14C2.5,14 2.3,13.9 2.2,13.8C2.1,13.7 2,13.5 2,13.3V11.5C2,11.4 2,11.3 2.1,11.2C2.1,11.1 2.1,11 2.2,11L9.1,4.1L11.9,6.9L5,13.8C5,13.9 4.9,13.9 4.8,14C4.7,14 4.6,14 4.6,14H2.7Z"
|
||||
android:fillColor="#1B1D22"/>
|
||||
</vector>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M5,19H6.4L15.025,10.375L13.625,8.975L5,17.6V19ZM19.3,8.925L15.05,4.725L16.45,3.325C16.833,2.942 17.304,2.75 17.862,2.75C18.421,2.75 18.892,2.942 19.275,3.325L20.675,4.725C21.058,5.108 21.258,5.571 21.275,6.113C21.292,6.654 21.108,7.117 20.725,7.5L19.3,8.925ZM4,21C3.717,21 3.479,20.904 3.287,20.712C3.096,20.521 3,20.283 3,20V17.175C3,17.042 3.025,16.913 3.075,16.788C3.125,16.663 3.2,16.55 3.3,16.45L13.6,6.15L17.85,10.4L7.55,20.7C7.45,20.8 7.338,20.875 7.213,20.925C7.088,20.975 6.958,21 6.825,21H4ZM14.325,9.675L13.625,8.975L15.025,10.375L14.325,9.675Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M4,19C3.717,19 3.479,18.904 3.287,18.712C3.096,18.521 3,18.283 3,18V15C3,13.617 3.487,12.438 4.463,11.462C5.438,10.488 6.617,10 8,10H17.2L14.275,7.075C14.092,6.892 14,6.667 14,6.4C14,6.133 14.1,5.9 14.3,5.7C14.483,5.517 14.717,5.425 15,5.425C15.283,5.425 15.517,5.517 15.7,5.7L20.3,10.3C20.4,10.4 20.471,10.508 20.513,10.625C20.554,10.742 20.575,10.867 20.575,11C20.575,11.133 20.554,11.258 20.513,11.375C20.471,11.492 20.4,11.6 20.3,11.7L15.675,16.325C15.492,16.508 15.267,16.6 15,16.6C14.733,16.6 14.5,16.5 14.3,16.3C14.117,16.117 14.025,15.883 14.025,15.6C14.025,15.317 14.117,15.083 14.3,14.9L17.2,12H8C7.167,12 6.458,12.292 5.875,12.875C5.292,13.458 5,14.167 5,15V18C5,18.283 4.904,18.521 4.713,18.712C4.521,18.904 4.283,19 4,19Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M17,9C17,10.1 16.1,11 15,11C13.9,11 13,10.1 13,9C13,7.9 13.9,7 15,7C16.1,7 17,7.9 17,9Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
<path
|
||||
android:pathData="M5,3C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3H5ZM19,5V19L5,19V15.8L9,11.8L16.2,19L19,19L10.4,10.4C9.6,9.6 8.4,9.6 7.6,10.4L5,13V5H19Z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
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