# OrganizationAutocompleteField

Компонент для автозаполнения данных организаций с использованием DADATA API.

## Использование

```tsx
import { OrganizationAutocompleteField } from '@/modules/fields/shared/lib/components';

function MyForm() {
  const [organizationName, setOrganizationName] = useState('');
  const [organizationData, setOrganizationData] = useState(null);

  const handleOrganizationSelect = (organization) => {
    console.log('Выбрана организация:', organization);
    setOrganizationData(organization);

    // Можно автоматически заполнить другие поля
    // setInn(organization.inn);
    // setKpp(organization.kpp);
    // setAddress(organization.address?.unrestrictedValue);
  };

  return (
    <OrganizationAutocompleteField
      value={organizationName}
      onChange={setOrganizationName}
      onOrganizationSelect={handleOrganizationSelect}
      placeholder="Введите название организации"
    />
  );
}
```

## Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `value` | `string` | - | Текущее значение поля |
| `onChange` | `(value: string) => void` | - | Обработчик изменения значения |
| `onOrganizationSelect` | `(organization: DadataOrgRequisitesSuggestion) => void` | - | Обработчик выбора организации из подсказок |
| `placeholder` | `string` | "Введите название организации, ИНН или ОГРН" | Плейсхолдер поля |
| `disabled` | `boolean` | `false` | Отключение поля |

## Особенности

- Автоматический поиск начинается после ввода 3 символов
- Debounced запросы (300мс задержка)
- Кеширование результатов на 7 дней
- Показывает название организации, ИНН, ОГРН и руководителя
- При выборе организации вызывается колбек с полными данными

## DADATA API

Компонент использует DADATA API для получения данных организаций. Требуется настроенный API ключ в `backend/.env`:

```
DATA_ENRICHMENT_DADATA_API_KEY=ваш_api_ключ
```

## Пример данных организации

```json
{
  "value": "ООО \"Компания\"",
  "inn": "1234567890",
  "kpp": "123456789",
  "ogrn": "1234567890123",
  "name": {
    "full": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"КОМПАНИЯ\"",
    "short": "ООО \"КОМПАНИЯ\""
  },
  "management": {
    "name": "Иванов Иван Иванович",
    "post": "ГЕНЕРАЛЬНЫЙ ДИРЕКТОР"
  },
  "address": {
    "unrestrictedValue": "г Москва, ул Ленина, д 1"
  }
}
