Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun <T> PreferenceScope.PreferenceList(style: PreferenceList.Style = PreferenceList.Style.Dialog(), value: T, onValueChange: (value: T) -> Unit, items: List<T>, itemTextProvider: @Composable (item: T) -> String = { it.toString() }, itemIconProvider: @Composable (item: T) -> Unit? = null, title: String, enabled: Dependency = Dependency.Enabled, visible: Dependency = Dependency.Enabled, subtitle: String? = null, icon: @Composable () -> Unit? = null, itemStyle: PreferenceItemStyle = LocalPreferenceSettings.current.style.defaultItemStyle, itemSetup: PreferenceItemSetup = PreferenceListDefaults.itemSetup(style), titleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, subtitleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, filterTags: List<String> = emptyList(), dialog: @Composable (state: DialogState) -> Unit = { dialogState -> PreferenceListDefaults.dialog( style, dialogState, value, onValueChange, items, itemTextProvider, itemIconProvider, title, icon ) })
fun <T> PreferenceScope.PreferenceList(style: PreferenceList.Style = PreferenceList.Style.Dialog(), value: MutableState<T>, items: List<T>, itemTextProvider: @Composable (item: T) -> String = { it.toString() }, itemIconProvider: @Composable (item: T) -> Unit? = null, filter: (filter: String, item: T) -> Boolean? = null, title: String, enabled: Dependency = Dependency.Enabled, visible: Dependency = Dependency.Enabled, subtitle: String? = null, icon: @Composable () -> Unit? = null, itemStyle: PreferenceItemStyle = LocalPreferenceSettings.current.style.defaultItemStyle, itemSetup: PreferenceItemSetup = PreferenceListDefaults.itemSetup(style), titleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, subtitleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, filterTags: List<String> = emptyList(), dialog: @Composable (state: DialogState) -> Unit = { dialogState -> PreferenceListDefaults.dialog( style, dialogState, value.value, { value.value = it }, items, itemTextProvider, itemIconProvider, title, icon, filter?.let { DialogList.Filter( filter = it, keepSelectionForInvisibleItems = false ) } ) })

A list preference item - this item provides a list dialog or a dropdown to change this preference

Link copied to clipboard
fun <T> PreferenceScope.PreferenceListMulti(value: MutableState<List<T>>, items: List<T>, itemTextProvider: @Composable (item: T) -> String = { it.toString() }, itemIconProvider: @Composable (item: T) -> Unit? = null, formatter: @Composable (selected: List<T>) -> String = { selected -> selected.map { itemTextProvider(it) }.joinToString(";") }, title: String, enabled: Dependency = Dependency.Enabled, visible: Dependency = Dependency.Enabled, subtitle: String? = null, icon: @Composable () -> Unit? = null, itemStyle: PreferenceItemStyle = LocalPreferenceSettings.current.style.defaultItemStyle, itemSetup: PreferenceItemSetup = PreferenceMultiListDefaults.itemSetup(), titleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, subtitleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, filterTags: List<String> = emptyList(), dialog: @Composable (state: DialogState) -> Unit = { dialogState -> PreferenceMultiListDefaults.dialog(dialogState, value.value, { value.value = it }, items, itemTextProvider, itemIconProvider, title, icon) })
fun <T> PreferenceScope.PreferenceListMulti(value: List<T>, onValueChange: (value: List<T>) -> Unit, items: List<T>, itemTextProvider: @Composable (item: T) -> String = { it.toString() }, itemIconProvider: @Composable (item: T) -> Unit? = null, formatter: @Composable (selected: List<T>) -> String = { selected -> selected.map { itemTextProvider(it) }.joinToString(";") }, title: String, enabled: Dependency = Dependency.Enabled, visible: Dependency = Dependency.Enabled, subtitle: String? = null, icon: @Composable () -> Unit? = null, itemStyle: PreferenceItemStyle = LocalPreferenceSettings.current.style.defaultItemStyle, itemSetup: PreferenceItemSetup = PreferenceMultiListDefaults.itemSetup(), titleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, subtitleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, filterTags: List<String> = emptyList(), dialog: @Composable (state: DialogState) -> Unit = { dialogState -> PreferenceMultiListDefaults.dialog(dialogState, value, onValueChange, items, itemTextProvider, itemIconProvider, title, icon) })

A list preference item - this item provides a list dialog to change this preference