You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
package example.todoapp.lite.common |
|
|
|
import androidx.compose.foundation.lazy.LazyListState |
|
import androidx.compose.runtime.Composable |
|
import androidx.compose.ui.Modifier |
|
import androidx.compose.ui.input.key.Key |
|
import androidx.compose.ui.input.key.KeyEventType |
|
import androidx.compose.ui.input.key.key |
|
import androidx.compose.ui.input.key.onKeyEvent |
|
import androidx.compose.ui.input.key.type |
|
import androidx.compose.ui.unit.Dp |
|
|
|
internal expect val MARGIN_SCROLLBAR: Dp |
|
|
|
internal expect interface ScrollbarAdapter |
|
|
|
@Composable |
|
internal expect fun rememberScrollbarAdapter(scrollState: LazyListState): ScrollbarAdapter |
|
|
|
@Composable |
|
internal expect fun VerticalScrollbar( |
|
modifier: Modifier, |
|
adapter: ScrollbarAdapter |
|
) |
|
|
|
@Composable |
|
internal expect fun Dialog( |
|
title: String, |
|
onCloseRequest: () -> Unit, |
|
content: @Composable () -> Unit |
|
) |
|
|
|
internal fun Modifier.onKeyUp(key: Key, action: () -> Unit): Modifier = |
|
onKeyEvent { event -> |
|
if ((event.type == KeyEventType.KeyUp) && (event.key == key)) { |
|
action() |
|
true |
|
} else { |
|
false |
|
} |
|
}
|
|
|