import selectProps from '!!ts-docgen-loader!./props.tsx';

### Конфигурация темы на уровне проекта:

```ts
// src/lib/theme.ts
import { configureRootTheme } from '@yandex-lego/components/Theme'
import { theme } from '@yandex-lego/components/Theme/presets/default'

configureRootTheme({ theme })
```

### Использование с нужным набором модификаторов:

```ts
// src/App.ts
import React, { useState } from 'react'
import { compose } from '@bem-react/core'
import { withRegistry, Registry } from '@bem-react/di'

import {
  Select as SelectDesktop,
  cnSelect,
} from '@yandex-lego/components/Select/desktop'

import { withTogglable } from '@yandex-lego/components/withTogglable'

import {
  Button as ButtonDesktop,
  withSizeM as withButtonSizeM,
  withViewDefault as withButtonViewDefault,
} from '@yandex-lego/components/Button/desktop'

import {
  Menu as MenuDesktop,
  withSizeM as withMenuSizeM,
  withViewDefault as withMenuViewDefault,
} from '@yandex-lego/components/Menu/desktop'

import {
  Popup as PopupDesktop,
  withViewDefault as withPopupViewDefault,
  withTargetAnchor,
} from '@yandex-lego/components/Popup/desktop'

import {
  Icon as IconDesktop,
  withGlyphCaretsV,
} from '@yandex-lego/components/Icon/desktop'

const selectRegistry = new Registry({ id: cnSelect() })

const Button = compose(withButtonSizeM, withButtonViewDefault)(ButtonDesktop)

const Menu = compose(withMenuSizeM, withMenuViewDefault)(MenuDesktop)

const Popup = compose(withPopupViewDefault, withTargetAnchor)(PopupDesktop)

const Icon = compose(withGlyphCaretsV)(IconDesktop)

selectRegistry
  .set('Trigger', Button)
  .set('Popup', Popup)
  .set('Menu', Menu)
  .set('Icon', Icon)

const Select = compose(
  withTogglable,
  withRegistry(selectRegistry),
)(SelectDesktop)

const App = () => {
  const [value, setValue] = useState('a')

  return (
    <Select
      size="m"
      view="default"
      onChange={(event) => setValue(event.target.value)}
      value={value}
      options={[
        { value: 'a', content: 'Каждый' },
        { value: 'b', content: 'Охотник' },
        { value: 'c', content: 'Желает', disabled: true },
      ]}
    />
  )
}
```

### Использование с полным набором модификаторов:

```ts
// src/App.ts
import React, { useState } from 'react'
import { Select } from '@yandex-lego/components/Select/desktop/bundle'

const App = () => {
  const [value, setValue] = useState('a')

  return (
    <Select
      size="m"
      view="default"
      onChange={(event) => setValue(event.target.value)}
      value={value}
      options={[
        { value: 'a', content: 'Каждый' },
        { value: 'b', content: 'Охотник' },
        { value: 'c', content: 'Желает', disabled: true },
      ]}
    />
  )
}
```
### Props

<PropsTable props={selectProps} />
