# GridProvider

> _Since v0.1.0_

Combined provider for type defaults and icons.

```ts
const GridProvider: DefineComponent<ExtractPropTypes<{ typeDefaults: { type: PropType<TypeDefaultsMap>; default: undefined }; icons: { type: PropType<Partial<GridIcons>>; default: undefined } }>, () => VNode<RendererNode, RendererElement, object> | VNode<RendererNode, RendererElement, object>[] | undefined, object, object, object, ComponentOptionsMixin, ComponentOptionsMixin, object, string, PublicProps, ToResolvedProps<ExtractPropTypes<{ typeDefaults: { type: PropType<TypeDefaultsMap>; default: undefined }; icons: { type: PropType<Partial<GridIcons>>; default: undefined } }>, object>, { typeDefaults: TypeDefaultsMap; icons: Partial<GridIcons> }, object, object, object, string, ComponentProvideOptions, true, object, any>
```

#### Example

```vue
<script setup>
import { GridProvider, type TypeDefaultsMap } from '@toolbox-web/grid-vue';
import { h } from 'vue';

const typeDefaults: TypeDefaultsMap = {
  country: { renderer: (ctx) => h('span', ctx.value) },
};

const icons = { sortAsc: '↑', sortDesc: '↓' };
</script>

<template>
  <GridProvider :typeDefaults="typeDefaults" :icons="icons">
    <App />
  </GridProvider>
</template>
```
