1.1.2 • Published 2 years ago

@kokojer/react-responsive v1.1.2

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

React-responsive

This package provides access to the hook and the "MediaQuery" component for managing the adaptive

Usage

With hook:

import React from 'react'
import { useMediaQuery } from '@kokojer/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>
}

With component:

import MediaQuery from '@kokojer/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">
      {/* 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>
)

Available props and their types:

{
    orientation?: "landscape" | "portrait";
    minResolution?: number | `${number}dppx`; //value in dppx
    maxResolution?: number | `${number}dppx`; //value in dppx
    minWidth?: number; //value in px
    maxWidth?: number; //value in px
    minHeight?: number; //value in px
    maxHeight?: number; //value in px
}
1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago