# ResizeController

> _Since v0.1.1_

Controller managing drag-based column resize lifecycle.

Exposed internally for plugins that need to interact with resize behavior.

#### Example

```typescript
import type { ResizeController, InternalGrid } from '@toolbox-web/grid';

class MyPlugin extends BaseGridPlugin {
  handleColumnAction(colIndex: number): void {
    const grid = this.grid as InternalGrid;
    const resizeCtrl = grid._resizeController;

    // Check if resize is in progress
    if (resizeCtrl?.isResizing) {
      return; // Don't interfere
    }

    // Reset column to configured width
    resizeCtrl?.resetColumn(colIndex);
  }
}
```

## Properties

| Property | Type | Description |
| -------- | ---- | ----------- |
| <span id="start"></span>`start` | <code>(e: MouseEvent &#124; PointerEvent, colIndex: number, cell: HTMLElement, captureTarget: Element) =&gt; void</code> | Begin a column resize drag. |
| <span id="resetcolumn"></span>`resetColumn` | <code>(colIndex: number) =&gt; void</code> | Reset a column to its configured width (or auto-size if none configured). |
| `setColumnWidth` | <code>(colIndex: number, width: number) =&gt; void</code> | Set a column's width directly, without a drag gesture. <span class="since-badge" title="Introduced in v3.6.0">v3.6.0+</span> |
| <span id="getcolumnwidth"></span>`getColumnWidth` | <code>(colIndex: number) =&gt; number</code> | Current rendered width of a column in px. <span class="since-badge" title="Introduced in v3.6.0">v3.6.0+</span> |
| <span id="dispose"></span>`dispose` | <code>() =&gt; void</code> |  |
| <span id="isresizing"></span>`isResizing` | <code>boolean</code> | True while a resize drag is in progress (used to suppress header click/sort). |

### Property Details

#### `setColumnWidth`

Set a column's width directly, without a drag gesture.

Clamps to the column's `minWidth` (or 40px), commits the same state the
drag path commits, and emits `column-resize`. This is the primitive behind
the click-only width control required by WCAG 2.2 SC 2.5.7.

---

## See Also

- [`ColumnResizeDetail`](https://toolboxjs.com/grid/api/core/interfaces/columnresizedetail.md) for resize event details
