Package-level declarations

Types

Link copied to clipboard
data class FormatDialogColors(val containerColor: Color, val titleContentColor: Color, val textContentColor: Color, val tonalElevation: Dp)

Colors for the format dialog and its portable content; mirrors the color parameters of Material3 AlertDialog. FormatDialog uses all four; FormatDialogContent applies only titleContentColor and textContentColor and leaves containerColor / tonalElevation to its host container.

Link copied to clipboard

Default factory for FormatDialogColors, resolving to the Material3 AlertDialog defaults.

Link copied to clipboard
data class FormatFilterData<E : Enum<E>>(val field: E, val filterType: TableFilterType<*>, val filterState: TableFilterState<*>, val onChange: (TableFilterState<*>) -> Unit)

Functions

Link copied to clipboard
fun <E : Enum<E>, FILTER> FormatDialog(showDialog: Boolean, rules: ImmutableList<TableFormatRule<E, FILTER>>, onRulesChange: (ImmutableList<TableFormatRule<E, FILTER>>) -> Unit, getNewRule: (id: Long) -> TableFormatRule<E, FILTER>, getTitle: @Composable (E) -> String, filters: (TableFormatRule<E, FILTER>, onApply: (TableFormatRule<E, FILTER>) -> Unit) -> List<FormatFilterData<E>>, entries: ImmutableList<E>, key: Any, strings: StringProvider, onDismissRequest: () -> Unit, settings: FormatDialogSettings = FormatDialogSettings(), scrollbarRenderer: VerticalScrollbarRenderer? = null, colors: FormatDialogColors = FormatDialogDefaults.colors())

Modal editor for a table's conditional-formatting rules, rendered in a Material3 AlertDialog. Shares its title, buttons and body with FormatDialogContent, which hosts the same editor in a caller-supplied container.

Link copied to clipboard
fun <E : Enum<E>, FILTER> FormatDialogConditionTab(item: TableFormatRule<E, FILTER>, getTitle: @Composable (E) -> String, filters: (TableFormatRule<E, FILTER>, onApply: (TableFormatRule<E, FILTER>) -> Unit) -> List<FormatFilterData<E>>, onChange: (TableFormatRule<E, FILTER>) -> Unit, strings: StringProvider, modifier: Modifier = Modifier, scrollbarRenderer: VerticalScrollbarRenderer? = null)
Link copied to clipboard
fun <E : Enum<E>, FILTER> FormatDialogContent(rules: ImmutableList<TableFormatRule<E, FILTER>>, onRulesChange: (ImmutableList<TableFormatRule<E, FILTER>>) -> Unit, getNewRule: (id: Long) -> TableFormatRule<E, FILTER>, getTitle: @Composable (E) -> String, filters: (TableFormatRule<E, FILTER>, onApply: (TableFormatRule<E, FILTER>) -> Unit) -> List<FormatFilterData<E>>, entries: ImmutableList<E>, key: Any, strings: StringProvider, modifier: Modifier = Modifier, onDismissRequest: () -> Unit? = null, colors: FormatDialogColors = FormatDialogDefaults.colors(), settings: FormatDialogSettings = FormatDialogSettings(), scrollbarRenderer: VerticalScrollbarRenderer? = null)

Conditional-formatting UI as portable content: host it in any container (a custom dialog host, a side panel, a split pane) instead of only FormatDialog. The container owns visibility, scrim, background and elevation; this composable applies only FormatDialogColors.titleContentColor and FormatDialogColors.textContentColor from colors. The host MUST impose a bounded height (a fixed height or a fill-height container): the rule list is a vertical viewport, so an unbounded-height parent (e.g. a scrolling Column) throws at composition. key resets the in-flight edit list when it changes. Pass onDismissRequest = null (the default) to hide the close button for embedded, non-modal placements.

Link copied to clipboard
fun <E : Enum<E>, FILTER> FormatDialogDesignTab(item: TableFormatRule<E, FILTER>, onChange: (TableFormatRule<E, FILTER>) -> Unit, strings: StringProvider, modifier: Modifier = Modifier, scrollbarRenderer: VerticalScrollbarRenderer? = null)
Link copied to clipboard
fun <E : Enum<E>, FILTER> FormatDialogFieldTab(item: TableFormatRule<E, FILTER>, entries: ImmutableList<E>, getTitle: @Composable (E) -> String, onChange: (TableFormatRule<E, FILTER>) -> Unit, modifier: Modifier = Modifier, scrollbarRenderer: VerticalScrollbarRenderer? = null)
Link copied to clipboard
fun <T : Any, C, FILTER> rememberCustomization(rules: ImmutableList<TableFormatRule<C, FILTER>>, matches: (item: T, filter: FILTER) -> Boolean, key: Any? = null, baseRowStyle: @Composable (TableRowContext<T, C>) -> TableRowStyle? = null, baseCellStyle: @Composable (TableCellContext<T, C>) -> TableCellStyle? = null): TableCustomization<T, C>