Responsive Media
2.0.2
2026-09-25
- The Vue integration guide's
useContainerStateexample calleduseTemplateRef('card')without an explicit type argument — Vue's own default (unknown) doesn't satisfyuseContainerState'sRef<Element | null>parameter, so the example as written never actually compiled. Now showsuseTemplateRef<HTMLDivElement>('card').
2.0.1
2026-09-12
isAbove(key)now correctly returnsfalsefor an unrecognized breakpoint key — fixed in the core, Vue, and React implementations.- Unified the two independent
isSSR()implementations into one, stricter check (windowandwindow.matchMediaboth present). - Vue's
useBreakpoints()now honorsinject()/DI, matchinguseResponsive(). - Vue's
useMediaQuery()can no longer leak itsmatchMedialistener when called outside an active component — the composable now always returns a stop function. - React's
useContainerState()now recreates itsResizeObserverifref.currentwasnullon the first effect run (e.g. an element behind a later-mounted conditional/portal). hydrate(initialState)no longer silently drops keys missing from the live state — it now warns.- Added baseline automated test coverage for the Vue and React adapters (previously only the framework-agnostic core was tested).