# TypeDefault

> _Since v0.10.0_

Type default configuration.

Allows Angular component classes for renderers and editors in typeDefaults.

#### Example

```typescript
import type { GridConfig, TypeDefault } from '@toolbox-web/grid-angular';

const config: GridConfig<Employee> = {
  typeDefaults: {
    boolean: {
      renderer: (ctx) => { ... },  // vanilla JS renderer
      editor: CheckboxEditorComponent, // Angular component
    },
    date: {
      editor: DatePickerComponent, // Angular component
    }
  }
};
```

## Properties

| Property | Type | Description |
| -------- | ---- | ----------- |
| `format?` | <code>(value: unknown, row: TRow) =&gt; string</code> | Format function for cell display |
| `renderer?` | <code><a href="/grid/api/core/types/columnviewrenderer/">ColumnViewRenderer</a>&lt;TRow, any&gt; &#124; Type&lt;<a href="/grid/angular/api/types/cellrenderer/">CellRenderer</a>&lt;TRow, unknown&gt;&gt;</code> | Cell renderer - can be vanilla JS function or Angular component |
| `editor?` | <code><a href="/grid/api/core/types/columneditorspec/">ColumnEditorSpec</a>&lt;TRow, any&gt; &#124; Type&lt;<a href="/grid/angular/api/types/celleditor/">CellEditor</a>&lt;TRow, unknown&gt;&gt;</code> | Cell editor - can be vanilla JS function or Angular component |
| `editorParams?` | <code>Record&lt;string, unknown&gt;</code> | Default editor parameters |
| `filterPanelRenderer?` | <code><a href="/grid/plugins/filtering/types/filterpanelrenderer/">FilterPanelRenderer</a> &#124; Type&lt;<a href="/grid/angular/api/types/filterpanel/">FilterPanel</a>&gt;</code> | Custom filter panel renderer for this type. Requires FilteringPlugin. |

### Property Details

#### filterPanelRenderer

Custom filter panel renderer for this type. Requires FilteringPlugin.

Can be:
- A vanilla `FilterPanelRenderer` function `(container, params) => void`
- An Angular component class implementing `FilterPanel`

```typescript
typeDefaults: {
  date: {
    filterPanelRenderer: DateFilterPanelComponent,
  }
}
```

---
