---
name: fn_data_table
kind: component
lang: kt
domain: ui
version: "0.1.0"
framework: compose
purity: impure
signature: "@Composable fun <T> FnDataTable(rows: List<T>, columns: List<FnTableColumn<T>>, modifier: Modifier = Modifier)"
description: "Tabla generica por columnas (FnTableColumn: header, weight, cell). Column estatica, cada celda es un Composable. Define FnTableColumn<T>."
tags: [compose, android, ui, data, design-system]
props: []
emits: []
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
output: "Composable del design system @fn_compose. Emite UI con la identidad del registry (paleta Mantine v9 dark + indigo via FnTheme/FnTokens)."
file_path: "kotlin/functions/ui/src/main/kotlin/fn/compose/ui/Data.kt"
---

## Ejemplo

```kotlin
FnDataTable(rows = users, columns = listOf(
    FnTableColumn("Nombre", 2f) { FnText(it.name) },
    FnTableColumn("Estado", 1f) { FnBadge(it.status) },
))
```

## Cuando usarla

Para mostrar datos tabulares con celdas personalizadas. No anidar en verticalScroll con muchas filas. Importa desde `fn.compose.ui`; requiere estar dentro de un `FnTheme {}`.
