From c4f0b416108e26de0536f6d3cda648cf8ecfdb94 Mon Sep 17 00:00:00 2001 From: Thomas Andres Gomez Date: Wed, 26 Nov 2025 18:09:09 +0100 Subject: [PATCH] Fix Tooltip with inverted LayoutDirection --- .../composable/tooltip/BasicTooltipLayout.kt | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/composable/tooltip/BasicTooltipLayout.kt b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/composable/tooltip/BasicTooltipLayout.kt index f5e6fee..9c79c5c 100644 --- a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/composable/tooltip/BasicTooltipLayout.kt +++ b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/composable/tooltip/BasicTooltipLayout.kt @@ -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 - ) } } } \ No newline at end of file