package dev.inmo.kmppscriptbuilder.core.ui import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateListOf import dev.inmo.kmppscriptbuilder.core.ui.utils.Drawer expect class ListViewDrawer() : Drawer> abstract class ListView(title: String) : VerticalView(title) { internal val itemsList = mutableStateListOf() internal open val addItemText: String = "Add" internal open val removeItemText: String = "Remove" internal abstract fun createItem(): T @Composable internal abstract fun buildView(item: T) protected val drawer = ListViewDrawer() override val content: @Composable () -> Unit = { with(drawer) { draw() } } }