Vaibhav Jaiswal
01/12/2025, 6:00 AMContextualFlowRowZach Klippenstein (he/him) [MOD]
01/12/2025, 2:14 PMVaibhav Jaiswal
01/12/2025, 2:17 PM@Composable
 fun <T> ChipRow(
     chips: List<T>,
     maxLines: Int,
     lineStepUpCount: Int = 4,
     modifier: Modifier = Modifier,
     horizontalArrangement: Arrangement.Horizontal = Arrangement.spacedBy(8.dp),
     verticalArrangement: Arrangement.Vertical = Arrangement.spacedBy(0.dp),
     expandOrCollapseIndicator: @Composable (Int, () -> Unit) -> Unit = { rem, onClick ->
         AssistChip(
             onClick = onClick,
             label = {
                 val text = if (rem == 0) "Show Less" else "+ $rem"
                 Text(text = text)
             },
             colors = AssistChipDefaults.assistChipColors().copy(
                 labelColor = MaterialTheme.colorScheme.primary.copy(alpha = 0.6f)
             ),
             border = BorderStroke(1.dp, MaterialTheme.colorScheme.primary.copy(alpha = 0.6f))
         )
     },
     chip: @Composable (T) -> Unit,
 ) {
     var maxLineCount by remember { mutableStateOf(maxLines) }
     val expandOrCollapseIndicator: @Composable ContextualFlowRowOverflowScope.() -> Unit = {
         val itemsLeft = totalItemCount - shownItemCount
         expandOrCollapseIndicator(itemsLeft) {
             if (itemsLeft == 0) maxLineCount = maxLines
             else maxLineCount += lineStepUpCount
         }
     }
     ContextualFlowRow(
         itemCount = chips.size,
         modifier = modifier.animateContentSize(),
         horizontalArrangement = horizontalArrangement,
         verticalArrangement = verticalArrangement,
         maxLines = maxLineCount,
         overflow = ContextualFlowRowOverflow.expandOrCollapseIndicator(
             minRowsToShowCollapse = maxLines + 1,
             collapseIndicator = expandOrCollapseIndicator,
             expandIndicator = expandOrCollapseIndicator,
         )
     ) {
         chip(chips[it])
     }
 }java.lang.IllegalArgumentException: Key "true30" was already used. If you are using LazyColumn/Row please make sure you provide a unique key for each item 
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:453)
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$Scope.subcompose(SubcomposeLayout.kt:895)
at androidx.compose.foundation.layout.FlowMeasureLazyPolicy$measure$2.invoke(ContextualFlowLayout.kt:463)Zach Klippenstein (he/him) [MOD]
01/12/2025, 2:17 PMcarbaj0
03/04/2025, 8:37 AMcarbaj0
03/04/2025, 9:01 AMcarbaj0
03/04/2025, 9:02 AMcarbaj0
03/04/2025, 9:14 AM@Deprecated("ContextualFlowLayouts are no longer maintained")
@Composable
@ExperimentalLayoutApi
fun ContextualFlowRow(