Files
fn_registry/frontend/functions/ui/bar_chart.md
T
egutierrez 0be2d7cfe4 feat: mejoras componentes UI — card variants, kpi_card slots, sparkline colors, bar_chart horizontal radius
- card: variantes default/borderless/ghost con ring condicional
- kpi_card: props unit, action, chart y delta con label/suffix personalizable
- sparkline: prop colors para colores por barra en variant bar
- bar_chart: radius condicional según orientación horizontal/vertical

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:32:35 +02:00

57 lines
1.8 KiB
Markdown

---
name: bar_chart
kind: component
lang: typescript
domain: ui
version: "1.1.0"
purity: impure
signature: "BarChart(props: BarChartProps): JSX.Element"
description: "Gráfico de barras Recharts con multi-series, orientación horizontal/vertical, tooltips temáticos y bordes redondeados."
tags: [chart, bar, visualization, recharts, component, ui]
uses_functions: [cn_typescript_core, chart_container_typescript_ui, get_series_color_typescript_core]
uses_types: [ChartSeries_typescript_ui]
returns: []
returns_optional: false
error_type: ""
imports: [recharts]
tested: false
tests: []
test_file_path: ""
file_path: "frontend/functions/ui/bar_chart.tsx"
props:
- name: data
type: "Record<string, unknown>[]"
required: true
description: "Array de datos"
- name: xKey
type: "string"
required: true
description: "Key del eje X/categoría"
- name: horizontal
type: "boolean"
required: false
description: "Orientación horizontal"
- name: series
type: "Series[]"
required: false
description: "Series de datos para multi-series"
emits: []
has_state: false
framework: react
variant: [vertical, horizontal]
source_repo: "https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/Bl4cksmith/Frontend_Library"
source_license: "MIT"
source_file: "frontend/src/components/ui/charts/bar-chart.tsx"
---
## Ejemplo
```tsx
<BarChart data={data} xKey="category" yKey="sales" showLegend />
<BarChart data={data} xKey="name" series={series} horizontal />
```
## Notas
En modo `horizontal=true`: el layout de Recharts es `'vertical'`, YAxis recibe `dataKey={xKey}` con `type="category"` (categorías en eje Y), XAxis recibe `type="number"` (valores en eje X). El radius de las barras se ajusta a `[0, 4, 4, 0]` para redondear la punta derecha. Este intercambio de ejes es obligatorio — sin él las barras horizontales no se renderizan.