open-index/open-npm huggingface dataset:
npm package: @kalabass/react-responsive
Description: ``` import React from 'react' import { useMediaQuery } from '@kalabass/react-responsive'
Latest version: 0.0.2

# Пример работы хука react-responsive :

```
import React from 'react'
import { useMediaQuery } from '@kalabass/react-responsive'

const Example = () => {
  const isDesktopOrLaptop = useMediaQuery({
    query: '(min-width: 1224px)'
  })
  const isBigScreen = useMediaQuery({ query: '(min-width: 1824px)' })
  const isTabletOrMobile = useMediaQuery({ query: '(max-width: 1224px)' })
  const isPortrait = useMediaQuery({ query: '(orientation: portrait)' })
  const isRetina = useMediaQuery({ query: '(min-resolution: 2dppx)' })

  return <div>
    <h1>Device Test!</h1>
    {isDesktopOrLaptop && <p>You are a desktop or laptop</p>}
    {isBigScreen && <p>You  have a huge screen</p>}
    {isTabletOrMobile && <p>You are a tablet or mobile phone</p>}
    <p>Your are in {isPortrait ? 'portrait' : 'landscape'} orientation</p>
    {isRetina && <p>You are retina</p>}
  </div>
}

```

# Пример работы компонента

```
import React from 'react'
import MediaQuery from '@kalabass/react-responsive'

const Example = () => (
  <div>
    <h1>Device Test!</h1>
    <MediaQuery minWidth={1224}>
      <p>You are a desktop or laptop</p>
      <MediaQuery minWidth={1824}>
        <p>You also have a huge screen</p>
      </MediaQuery>
    </MediaQuery>
    <MediaQuery minResolution="2dppx"> {/* @media (-webkit-min-device-pixel-ratio: 2) */}
      {/* You can also use a function (render prop) as a child */}
      {(matches) =>
        matches
          ? <p>You are retina</p>
          : <p>You are not retina</p>
      }
    </MediaQuery>
  </div>
)
```
npm package: @kalabass/react-use-document-visibility
Description: ``` import { useDocumentVisibility } from "@kalabass/react-use-document-visibility"; import { FC, useEffect } from "react";
Latest version: 1.3.8

# Пример работы хука useDocumentVisibility :

```
import { useDocumentVisibility } from "@kalabass/react-use-document-visibility";
import { FC, useEffect } from "react";

const DocumentVisibility: FC = () => {
	const { count, visible, onVisibilityChange } = useDocumentVisibility();

	useEffect(() => {
		const unsubscribeFirstHandler = onVisibilityChange(isVisible => {
			console.log("first handler", isVisible);
		});

		const unsubscribeSecondHandler = onVisibilityChange(isVisible => {
			console.log("second handler", isVisible);
		});

		const timerId = setTimeout(() => unsubscribeSecondHandler(), 5000);

		return () => {
			unsubscribeFirstHandler();
			unsubscribeSecondHandler();
			clearTimeout(timerId);
		};
	}, [onVisibilityChange]);

	return (
		<div>
			<span>
				Вы покинули страницу: {count} раз Вкладка активна?{" "}
				{visible ? "да" : "нет"}
			</span>
		</div>
	);
};

export default DocumentVisibility;

```