Fix Tooltip with inverted LayoutDirection

This commit is contained in:
Thomas Andres Gomez 2025-11-26 18:09:09 +01:00
parent d648b8a05e
commit c4f0b41610

View file

@ -11,13 +11,16 @@ import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.Stable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
@Stable
@ -71,29 +74,33 @@ private fun BasicTooltip(
elevation: Dp = BasicTooltipDefault.elevation,
tooltip: BasicTooltipUio,
) {
Surface(
modifier = Modifier
.padding(16.dp)
.then(other = modifier),
color = MaterialTheme.colors.surface,
elevation = elevation,
shape = remember { RoundedCornerShape(4.dp) }
CompositionLocalProvider(
LocalLayoutDirection provides LayoutDirection.Ltr,
) {
Column(
modifier = Modifier.padding(16.dp),
verticalArrangement = Arrangement.spacedBy(space = 4.dp),
Surface(
modifier = Modifier
.padding(16.dp)
.then(other = modifier),
color = MaterialTheme.colors.surface,
elevation = elevation,
shape = remember { RoundedCornerShape(4.dp) }
) {
tooltip.title?.let {
Column(
modifier = Modifier.padding(16.dp),
verticalArrangement = Arrangement.spacedBy(space = 4.dp),
) {
tooltip.title?.let {
Text(
style = MaterialTheme.typography.body2,
fontWeight = FontWeight.Bold,
text = it
)
}
Text(
style = MaterialTheme.typography.body2,
fontWeight = FontWeight.Bold,
text = it
style = MaterialTheme.typography.caption,
text = tooltip.description
)
}
Text(
style = MaterialTheme.typography.caption,
text = tooltip.description
)
}
}
}