> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pharen.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Filters

> Import and use the Filters components from @pharen/ui.

export const PharenUiPreview = ({name, title = 'Pharen UI component preview'}) => <div className="not-prose my-6 overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm dark:border-white/10 dark:bg-zinc-950">
    <div className="pharen-ui-preview-root" data-pharen-ui-preview data-example={name} role="region" aria-label={title} />
  </div>;

Use **Filters** to build composable filtering controls. This page covers every Vue component exported by the public module.

<PharenUiPreview name="filters" title="Filters preview" />

<Accordion title="View code">
  ```vue theme={null}
  <script setup lang="ts">
  import { Filters } from '@pharen/ui';
  import { ref } from 'vue';
  import type { Filter, FilterFieldConfig } from '@pharen/ui';

  const filters = ref<Filter[]>([]);
  const fields: FilterFieldConfig[] = [
    { id: 'status', label: 'Status', type: 'select', options: [
      { label: 'Active', value: 'active' },
      { label: 'Paused', value: 'paused' },
    ] },
  ];
  </script>

  <template>
    <Filters v-model="filters" :fields="fields" />
  </template>
  ```
</Accordion>

## Installation

<CodeGroup>
  ```bash npm theme={null}
  npm install @pharen/ui
  ```

  ```bash pnpm theme={null}
  pnpm add @pharen/ui
  ```

  ```bash yarn theme={null}
  yarn add @pharen/ui
  ```

  ```bash bun theme={null}
  bun add @pharen/ui
  ```
</CodeGroup>

<Note>
  Import `@pharen/ui/styles.css` exactly once in your application entrypoint.
</Note>

## Usage

```ts theme={null}
import { Filters, FilterInput, FilterValueSelector } from '@pharen/ui';
```

## Exports

| Export                | Purpose                                  |
| --------------------- | ---------------------------------------- |
| `Filters`             | Exported Vue component from this module. |
| `FilterInput`         | Exported Vue component from this module. |
| `FilterValueSelector` | Exported Vue component from this module. |

## Source

[Open the source on GitHub](https://github.com/PharenIT/ELEV8-Labs/tree/main/src/packages/ui/src/components/filters)
