# XWUITable

Data table with sorting, filtering, and selection

## Basic Usage

Data table with columns.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: Data table with columns.
```

## Sizes

Different size presets.

```example
file: examples/Sizes.ts
html: examples/Sizes.html
title: Sizes
description: Different size presets.
```

## Sortable Columns

Click a sortable header to toggle ascending/descending; `onSort` reports the active column and direction.

```example
file: examples/Sortable.ts
html: examples/Sortable.html
title: Sortable Columns
description: Click-to-sort columns with an onSort callback.
```

## Row Selection

Per-row checkboxes plus a header select-all, with a live selection summary driven by `onSelect`.

```example
file: examples/Selectable.ts
html: examples/Selectable.html
title: Row Selection
description: Row selection with checkboxes and a selection summary.
```

## Paginated Data

Page through a larger dataset with numbered page buttons plus prev/next controls.

```example
file: examples/Paginated.ts
html: examples/Paginated.html
title: Paginated Data
description: Paged data with numbered page controls.
```

## Empty State

A defined column set with zero rows renders headers only and shows a graceful placeholder.

```example
file: examples/EmptyState.ts
html: examples/EmptyState.html
title: Empty State
description: Graceful no-data rendering with a placeholder.
```

## Custom Cell Renderers

Per-column `render` functions draw status badges, avatar+name cells, and action buttons.

```example
file: examples/CustomCells.ts
html: examples/CustomCells.html
title: Custom Cell Renderers
description: Cells rendering badges, avatars, and actions.
```

## Row Actions

One `rowActions` prop adds a trailing "⋯" dropdown to every row - list the actions
you want (Edit/Delete/View, or anything custom) and each gets its own `onClick`,
plus optional `isVisible`/`isDisabled` guards evaluated per row. Mark a
destructive action with `variant: "danger"` to paint it in the theme's error
color (see Delete below). Set `rowActionsUrlParam` to persist which row's menu
is open to the URL, so a page refresh reopens it instead of losing the selection.

```example
file: examples/RowActions.ts
html: examples/RowActions.html
title: Row Actions
description: A single rowActions prop adds an Edit/Delete/View dropdown per row, with the open menu persisted to the URL.
```

```api
```
