Merge feat/grouped-row-rich-text for Calendula's pin
This commit is contained in:
@@ -12,6 +12,11 @@ are no binary releases; "version" tracks the shared `version` in the root build
|
||||
|
||||
### Added
|
||||
|
||||
- **`components`** — `GroupedRow` takes an `AnnotatedString` title and summary
|
||||
as well as plain `String`s, so a row can carry its own emphasis: marking the
|
||||
run a search matched, without every caller having to rebuild the row. The
|
||||
`String` overload delegates to it, so existing callers are unchanged.
|
||||
|
||||
- **`components`** — `SnackChip`, the family's compact confirmation: a
|
||||
content-sized pill sliding up from the bottom with an optional trailing action,
|
||||
for the case where the surface behind the confirmation *is* the confirmation
|
||||
|
||||
@@ -24,6 +24,7 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.Shape
|
||||
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
|
||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
||||
@@ -130,7 +131,6 @@ fun GroupedSurface(
|
||||
* gap for a caller that owns its own uniform spacing, e.g. [ReorderableColumn].
|
||||
* [onLongClick] (see [GroupedSurface]) adds a long-press to the row.
|
||||
*/
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun GroupedRow(
|
||||
title: String,
|
||||
@@ -146,6 +146,43 @@ fun GroupedRow(
|
||||
trailing: @Composable (() -> Unit)? = null,
|
||||
onClick: (() -> Unit)? = null,
|
||||
onLongClick: (() -> Unit)? = null,
|
||||
) = GroupedRow(
|
||||
title = AnnotatedString(title),
|
||||
position = position,
|
||||
modifier = modifier,
|
||||
summary = summary?.let { AnnotatedString(it) },
|
||||
selected = selected,
|
||||
dimmed = dimmed,
|
||||
container = container,
|
||||
minHeight = minHeight,
|
||||
gapBelow = gapBelow,
|
||||
leading = leading,
|
||||
trailing = trailing,
|
||||
onClick = onClick,
|
||||
onLongClick = onLongClick,
|
||||
)
|
||||
|
||||
/**
|
||||
* [GroupedRow] with styled text, for a row whose title or summary carries its own
|
||||
* emphasis — a search hit marking the run that matched, say. Identical otherwise;
|
||||
* the plain-[String] overload delegates here.
|
||||
*/
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun GroupedRow(
|
||||
title: AnnotatedString,
|
||||
position: Position,
|
||||
modifier: Modifier = Modifier,
|
||||
summary: AnnotatedString? = null,
|
||||
selected: Boolean = false,
|
||||
dimmed: Boolean = false,
|
||||
container: Color? = null,
|
||||
minHeight: Dp = 72.dp,
|
||||
gapBelow: Boolean = true,
|
||||
leading: @Composable (() -> Unit)? = null,
|
||||
trailing: @Composable (() -> Unit)? = null,
|
||||
onClick: (() -> Unit)? = null,
|
||||
onLongClick: (() -> Unit)? = null,
|
||||
) {
|
||||
val itemColors = if (selected) {
|
||||
ListItemDefaults.colors(
|
||||
|
||||
Reference in New Issue
Block a user