### История изменений

#### 3.11.0 `29.04.2021`
- [ISL-9833](https://st.yandex-team.ru/ISL-9833): Tooltip.ts: Добавить задержку для открытия/закрытия [[#1762130](https://a.yandex-team.ru/review/1762130)]
  - 📚 docs(lego-components): add tooltip example with delay [[3791ba](https://github.yandex-team.ru/search-interfaces/frontend/commit/3791ba5167bd901e849d7666353f1d16be1004fb)]
  - 🚀 feat(lego-components): supports open and close delay for TooltipStateful [[be6a8e](https://github.yandex-team.ru/search-interfaces/frontend/commit/be6a8e2c1f12c30f5a696a27e069f0da36247fd6)]

<details>
    <summary>Пояснения к релизу</summary>

### TooltipStateful

Добавлена возможность указать задержку при открытии или закрытии подсказки.

**Пример использования**

```tsx
import React, { useRef, useState, useMemo } from 'react';
import { Button } from '@yandex-lego/components/Button/desktop/bundle';
import { TooltipStateful } from '@yandex-lego/components/Tooltip/desktop/bundle';

const Example = () => {
    return (
        <TooltipStateful
            view="default"
            size="m"
            hasTail
            content="Tooltip"
            trigger="hover"
            openDelay={500}
            closeDelay={600}
        >
            <Button view="default" size="m">
                Trigger
            </Button>
        </TooltipStateful>
    );
};
```

Подробнее читайте в [документации](https://lego.yandex-team.ru/lego-components/components/tooltip/examples).

</details>

#### 3.10.13 `22.04.2021`
- [ISL-9704](https://st.yandex-team.ru/ISL-9704): @yandex-lego/components: Удалить старую документацию [[#1751023](https://a.yandex-team.ru/review/1751023)]
  - 📚 docs: update readme [[56fc67](https://github.yandex-team.ru/search-interfaces/frontend/commit/56fc67984ff681c3ade222be6c306d95b556dc46)]


#### 3.10.9 `16.04.2021`
- [ISL-9892](https://st.yandex-team.ru/ISL-9892): Tooltip.ts, MessageBoxPopup.ts: Добавить свойство boundary и другие свойства попапа [[#1743529](https://a.yandex-team.ru/review/1743529)]
  - 🛠 fix: add boundary and modifiers props for Tooltip [[7fc3a5](https://github.yandex-team.ru/search-interfaces/frontend/commit/7fc3a5229eebd3d6481e04d55d712d4f1ca439c5)]


#### 3.10.5 `12.04.2021`
- [ISL-9805](https://st.yandex-team.ru/ISL-9805): Раздел с известными проблемами/задачами для каждого компонента [[#1732584](https://a.yandex-team.ru/review/1732584)]
  - 📚 docs(lego-components): update mdx for all components [[66c5fd](https://github.yandex-team.ru/search-interfaces/frontend/commit/66c5fd12bba1e1a3ec46d6f8e6717844ba17b40e)]


#### 3.8.0 `22.03.2021`
- [ISL-9741](https://st.yandex-team.ru/ISL-9741): useOverlay.ts: Перенести логику из LayerManager в отдельный реакт-хук [[#21450](https://github.yandex-team.ru/search-interfaces/frontend/pull/21450)]
  - 🚀 feat(lego-components): use useOverlay hook instead of LayerManager [[12e596](https://github.yandex-team.ru/search-interfaces/frontend/commit/12e5967f6ebe25d6fecd078d3ef62fadbeb4f553)]

<details>
    <summary>Пояснения к релизу</summary>

### LayerManager

Компонент `LayerManager` помечен как устаревший и будет удален в следующем мажорном релизе. Вместо него теперь следует использовать React-хук `useOverlay`.

### useOverlay

Добавлен новый React-хук `useOverlay`, который содержит в себе логику, которая была в компоненте `LayerManager`. Благодаря этому в дереве компонентов `React` теперь не содержится лишняя информация в виде компонента `LayerManager`, а использование данного функционала стало проще.

**Пример использования**

```tsx
import React, { useRef, useState, useMemo } from 'react';
import { useOverlay, OnClose } from '@yandex-lego/components/useOverlay';

export interface ModalProps {
  visible?: boolean;
  onClose?: OnClose;
}

const Modal: FC<ModalProps> = (props) => {
  const { visible, onClose, children } = props;
  const hostRef = useRef(null);

  useOverlay({ visible, onClose, essentialRefs: [hostRef] });

  return <div ref={hostRef}>{children}</div>;
}
```

Также были добавлены некоторые оптимизации подписок на DOM-события. Раньше каждый экземпляр подписывался на глобальные события документа.
Теперь подписка происходит в момент, когда в стек добавляется первый слой, а отписка - когда удаляется последний слой из стека.

</details>
<br />

#### 3.5.0 `11.03.2021`
- [ISL-9561](https://st.yandex-team.ru/ISL-9561): Portal.ts: Реализовать компонент [[#20772](https://github.yandex-team.ru/search-interfaces/frontend/pull/20772)]
  - 🚀 feat: use Portal for Popup and Modal [[2325c8](https://github.yandex-team.ru/search-interfaces/frontend/commit/2325c81f847c8b65e29ddc1dbe8dd5218e09b548)]


#### 3.2.3 `20.02.2021`
- [ISL-9668](https://st.yandex-team.ru/ISL-9668): Popup.ts: Исправить проблемы хвостика [[#20304](https://github.yandex-team.ru/search-interfaces/frontend/pull/20304)]
  - 🛠 fix: remove border fill for tooltips [[520a78](https://github.yandex-team.ru/search-interfaces/frontend/commit/520a7850f1431aa15309ba064e7e5da578a5469b)]


#### 3.1.1 `08.02.2021`
- [ISL-9637](https://st.yandex-team.ru/ISL-9637): Popup.ts: Удалить неиспользуемый обработчик onOusideClick [[#19759](https://github.yandex-team.ru/search-interfaces/frontend/pull/19759)]
  - 🛠 fix: remove legacy onOutsideClick [[2b8492](https://github.yandex-team.ru/search-interfaces/frontend/commit/2b84921fdc952c87055e25a46eb83bc4a580b106)]
