# HR Scorecard block

> HR KPI scorecard grid with collapsible groups, tinted index cells, trends and target editing

Monthly HR scorecard on ReUI DataGrid: 24 KPIs in collapsible groups, tinted index cells against target and prior year, a 12 month trend, editable targets and actuals, Month or YTD and thresholds. ReUI Filters.

- Type: Pro block
- Category: [Advanced](https://reui.io/blocks/data-grid/advanced.md)
- Page: https://reui.io/blocks/data-grid/advanced/data-grid-advanced-13
- Docs (Base UI): https://reui.io/docs/components/base/data-grid.md
- Docs (Radix UI): https://reui.io/docs/components/radix/data-grid.md
- MCP: `get_block("data-grid-advanced-13")`
- Built with: Alert Dialog, Avatar, Button, Button Group, Data Grid, Dropdown Menu, Empty, Field, Filters, Frame, Input, Input Group, Kbd, Popover, Select, Separator, Sheet, Skeleton, Slider, Toggle Group, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://reui.io/docs/license-setup

## Best for

Grouped KPIs scored against target and prior year with tinted index cells, a trend line and in-cell editing

## Agent notes

- `SEEDS` spreads the demo KPIs into monthly arrays and `DEFAULT_BASELINE` feeds the HR ratio row; swap in your figures
- `computeScorecard` holds the math: Month or YTD rollup, the direction aware `indexOf` and status by `Thresholds`
- Edits stay in `DataGridView` state; send `writeFigure`, `addKpi`, `updateKpi` and `removeKpi` to your API

## Third-party libraries

- TanStack Table v9: [API reference](https://tanstack.com/table/v9/docs/framework/react/reference/index), [docs](https://tanstack.com/table/v9/docs/framework/react/quick-start)
- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)

## Install

```bash
npx shadcn@latest add @reui/data-grid-advanced-13
```

## About Advanced blocks

### When to use

- Reporting tables whose rows carry in-cell bars, sparklines or heat cells beside the figures
- Performance reviews that weigh each record against a target, a plan or a prior period
- Review queues and record lists with create, edit, delete and undo, each row opening a tabbed sheet

### When not to use

- A rule builder on its own, to narrow a list or table you already have: use [Filters](https://reui.io/components/filters.md) (`get_component("filters")`)
- A plain sortable table of text cells, assembled from parts in your own layout: use [Data Grid](https://reui.io/components/data-grid.md) (`get_component("data-grid")`)
- Values typed into the cells themselves, with validation and a save or discard bar: use the [Editing blocks](https://reui.io/blocks/data-grid/editing.md)

### Agent notes

- Rows live in a client store hook whose `create`, `update` and `remove` change only browser state; back them with your API
- Search, filters and sort run in the browser over every row before `useTable` sees them; move that query to your API at scale
- Each page.tsx wraps the block in a `min-h-svh` main with padding, a `max-w-7xl` width and an sr-only `h1`; drop that wrapper inside an app shell

Every ReUI item has a twin like this one; the index is https://reui.io/llms.txt. Agents with the ReUI MCP (https://reui.io/docs/mcp) get the same guidance from the getters named above.
