RightShadow.kt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package eu.mjdev.desktop.components.shadow
  2. import androidx.compose.desktop.ui.tooling.preview.Preview
  3. import androidx.compose.foundation.background
  4. import androidx.compose.foundation.layout.*
  5. import androidx.compose.runtime.Composable
  6. import androidx.compose.ui.Alignment
  7. import androidx.compose.ui.Modifier
  8. import androidx.compose.ui.graphics.Brush
  9. import androidx.compose.ui.graphics.Color
  10. import androidx.compose.ui.unit.Dp
  11. import androidx.compose.ui.unit.dp
  12. import eu.mjdev.desktop.extensions.Compose.SuperDarkGray
  13. @Suppress("unused")
  14. @Preview
  15. @Composable
  16. fun RightShadow(
  17. modifier: Modifier = Modifier,
  18. alpha: Float = 0.5f,
  19. height: Dp = 8.dp,
  20. color: Color = Color.Black,
  21. contentBackgroundColor: Color = Color.SuperDarkGray,
  22. content: @Composable () -> Unit = {}
  23. ) = Row(
  24. modifier = modifier,
  25. verticalAlignment = Alignment.Top,
  26. horizontalArrangement = Arrangement.Start
  27. ) {
  28. Box(
  29. modifier = Modifier.background(contentBackgroundColor)
  30. ) {
  31. content()
  32. }
  33. Box(
  34. modifier = Modifier
  35. .fillMaxHeight()
  36. .width(height)
  37. .background(
  38. brush = Brush.horizontalGradient(
  39. colors = listOf(
  40. color.copy(alpha = alpha),
  41. Color.Transparent,
  42. )
  43. )
  44. )
  45. )
  46. }