generated from mpetuska/template-kmp-library
-
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathMDCTouchTarget.kt
36 lines (33 loc) · 902 Bytes
/
MDCTouchTarget.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package showcases
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import dev.petuska.katalog.runtime.Showcase
import dev.petuska.katalog.runtime.layout.InteractiveShowcase
import dev.petuska.kmdc.fab.MDCFab
import dev.petuska.kmdc.fab.MDCFabType
import dev.petuska.kmdc.touch.target.MDCTouchTarget
import sandbox.control.BooleanControl
private class MDCTouchTargetVM {
var enabled by mutableStateOf(true)
}
@Composable
@Showcase(id = "MDCTouchTarget")
fun MDCTouchTarget() = InteractiveShowcase(
viewModel = { MDCTouchTargetVM() },
controls = {
BooleanControl("Enabled", ::enabled)
},
) {
val render = @Composable {
MDCFab(type = MDCFabType.Mini, touch = enabled)
}
if (enabled) {
MDCTouchTarget {
render()
}
} else {
render()
}
}