# CellRenderer

Fields, allowed values, and APIs that use CellRenderer.

Canonical: https://grid.syidax.com/docs/types/CellRenderer/

<a id="definition"></a>

## Type definition

A question mark (?) marks an optional field; readonly marks a value you should not change directly. A union (|) accepts one of the listed forms. Functions are callbacks that Grid invokes at the relevant point.

```typescript
export type CellRenderer<
  TRow = Record<string, unknown>,
  TValue = unknown,
> = (
  input: CellRendererInput<TRow, TValue>,
) => CellRenderOutput;
```

<a id="used-by"></a>

## APIs using this type

- [cellRenderer](https://grid.syidax.com/docs/columns/cellRenderer.md) — Displays cells through text, html, vnode, or a registered custom renderer.
- [registerCellRenderer](https://grid.syidax.com/docs/methods/registerCellRenderer.md) — Registers a named cell renderer and returns the result.

<a id="parents"></a>

## Contracts containing this type

- [ColumnDef](https://grid.syidax.com/docs/types/ColumnDef.md)
- [SyGridImperativeMethods](https://grid.syidax.com/docs/types/SyGridImperativeMethods.md)

<a id="related"></a>

## Related types

- [CellRendererInput](https://grid.syidax.com/docs/types/CellRendererInput.md)
- [CellRenderOutput](https://grid.syidax.com/docs/types/CellRenderOutput.md)
