--- name: DataTable kind: component lang: typescript domain: core version: "1.0.0" purity: impure signature: "DataTable(props: { data: T[]; columns: ColumnDef[]; onRowClick?: (row: T) => void }): JSX.Element" description: "Tabla de datos generica con soporte para columnas configurables y click en fila." tags: [table, component, generic, ui] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [react] output: "tabla HTML interactiva con los datos renderizados segĂșn las columnas" tested: false tests: [] test_file_path: "" file_path: "frontend/functions/ui/data_table.tsx" props: - name: data type: "T[]" required: true description: "Array de datos a renderizar" - name: columns type: "ColumnDef[]" required: true description: "Definicion de columnas" - name: onRowClick type: "(row: T) => void" required: false description: "Callback al hacer click en una fila" emits: [onRowClick] has_state: true framework: react variant: [default, compact, striped] --- ## Ejemplo ```tsx ``` ## Notas Componente con estado interno para manejar seleccion y scroll.