Socket
Book a DemoInstallSign in
Socket

@zeecoder/react-container-query

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zeecoder/react-container-query

React higher order component to manage a single Container instance.

npmnpm
Version
2.4.0-alpha.cf2a40f9
Version published
Weekly downloads
239
-20.33%
Maintainers
1
Weekly downloads
 
Created
Source

react-container-query

This module is part of a monorepo.

Detailed documentation can be found there.

Install

npm install --save @zeecoder/react-container-query

or

yarn add @zeecoder/react-container-query

Usage

<ResizeObserver>

This component simply observes a root element's size changes.

Useful to allow for rendering parts of the component conditionally, based on its size.

(Uses a polyfill, if a native implementation is not available.)

import { ResizeObserver } from "@zeecoder/react-container-query";

const App = () => (
  <ResizeObserver
    render={size => (
      // size can be "null" when size is still not available
      <div>My size is: {size ? `${size.width}x${size.height}` : "?"}</div>
    )}
  />
);

export default App;

<ContainerQuery>

Assuming the following CSS:

.App {
  background: red;
  font-size: 20px;
  color: white;
  padding: 10px;
  border: none;

  @container (width > 900px) {
    background: green;
  }
}

And assuming that stats is the object obtained by running the above CSS through the postcss plugin.

import { ContainerQuery } from "@zeecoder/react-container-query";
// Assuming postcss-loader to be set up
import "./App.pcss";
import stats from "./App.pcss.json";

const App = () => (
  <ContainerQuery
    stats={stats}
    render={size => (
      <div className="App">
        My size is: {size ? `${size.width}x${size.height}` : "?"}
      </div>
    )}
  />
);

export default App;

withContainerQueryCSS

Similar to the one above, just using the Higher-Order Component pattern.

Note that size is not available to it however, and simply used to manage the container query.

import { withContainerQueryCSS } from "@zeecoder/react-container-query";
// Assuming postcss-loader to be set up
import "./App.pcss";
import stats from "./App.pcss.json";

const App = () => <div className="App">Styled app</div>;

export default withContainerQueryCSS(App, stats);

License

MIT

Keywords

react

FAQs

Package last updated on 05 Feb 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts