Skip to content

Responsive Media ​

2.0.2 ​

2026-09-25

  • Пример useContainerState в гайде по интеграции с Vue вызывал useTemplateRef('card') без явного типового аргумента — дефолт самого Vue (unknown) не удовлетворяет параметру useContainerState's Ref<Element | null>, поэтому пример в исходном виде фактически не компилировался. Теперь показан useTemplateRef<HTMLDivElement>('card').

2.0.1 ​

2026-09-12

  • isAbove(key) теперь корректно возвращает false для нераспознанного ключа брейкпоинта — исправлено в core-, Vue- и React-реализациях.
  • Две независимые реализации isSSR() в пакете объединены в одну, более строгую проверку (наличие window и window.matchMedia).
  • useBreakpoints() (Vue) теперь учитывает inject()/DI, как и useResponsive().
  • useMediaQuery() (Vue) больше не может утечь слушатель matchMedia при вызове вне активного компонента — composable всегда возвращает функцию отписки.
  • React useContainerState() пересоздаёт ResizeObserver, если ref.current был null при первом срабатывании эффекта (например, элемент под условным рендером/порталом).
  • hydrate(initialState) больше не отбрасывает молча ключи, которых нет в текущем состоянии — теперь выводится предупреждение.
  • Добавлено базовое покрытие тестами для Vue- и React-адаптеров (ранее тестировалось только фреймворк-независимое ядро).