# container-query-toolkit

> Basic utilities to work with container query.

Latest version **0.1.3** (published 2018-02-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install container-query-toolkit
pnpm add container-query-toolkit
yarn add container-query-toolkit
bun add container-query-toolkit
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.3 |
| Published | 2018-02-05 |
| First published | 2016-10-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Daiwei Lu |
| Maintainers | daiweilu |

## Links

- npm: https://www.npmjs.com/package/container-query-toolkit
- Repository: https://github.com/d6u/container-query-toolkit
- Homepage: https://github.com/d6u/container-query-toolkit#readme
- Issues: https://github.com/d6u/container-query-toolkit/issues
- npm.io page: https://npm.io/package/container-query-toolkit

## Recent versions

- 0.1.3 (latest) — 2018-02-05
- 0.1.2 — 2018-02-04
- 0.1.1 — 2017-03-05
- 0.1.0 — 2017-03-05
- 0.0.2 — 2016-10-14
- 0.0.1 — 2016-10-14

## README

# container-query-toolkit

:wrench: Basic utilities to work with container query.

## Install

```
npm i -S container-query-toolkit
```

## Usage

```js
const kit = require('container-query-toolkit');
// or
import * as kit from 'container-query-toolkit';
// or
import {matchQueries} from 'container-query-toolkit';
// or
import matchQueries from 'container-query-toolkit/lib/matchQueries';

const query = {
  a: {minWidth: 400, maxWidth: 500, minHeight: 400, maxHeight: 500},
  b: {minWidth: 500, maxWidth: 600, minHeight: 400, maxHeight: 500},
  c: {minWidth: 400, maxWidth: 500, minHeight: 500, maxHeight: 600},
  d: {minWidth: 500, maxWidth: 600, minHeight: 500, maxHeight: 600},
};

const result1 = matchQueries(query)({width: 300, height: 300});
expect(result1).toEqual({a: false, b: false, c: false, d: false});

const result2 = matchQueries(query)({width: 450, height: 450});
expect(result2).toEqual({a: true, b: false, c: false, d: false});

const result3 = matchQueries(query)({width: 450, height: 550});
expect(result3).toEqual({a: false, b: false, c: true, d: false});

const result4 = matchQueries(query)({width: 550, height: 450});
expect(result4).toEqual({a: false, b: true, c: false, d: false});

const result5 = matchQueries(query)({width: 550, height: 550});
expect(result5).toEqual({a: false, b: false, c: false, d: true});

const result6 = matchQueries(query)({width: 700, height: 700});
expect(result6).toEqual({a: false, b: false, c: false, d: false});

// {min|max}Height would be ignored if height is not provided.
const result7 = matchQueries(query)({width: 450});
expect(result7).toEqual({a: true, b: false, c: true, d: false});

// {min|max}Width would be ignored if width is not provided.
const result8 = matchQueries(query)({height: 450});
expect(result8).toEqual({a: true, b: true, c: false, d: false});
```

## API

### `matchQueries(rules)(contentSize)`

- `rules: {[key: string]: {minWidth?: number, maxWidth?: number, minHeight?: number, maxHeight?: number}}`

- `contentSize: {height?: number, width?: number}`

	If `contentSize` is missing `height` or `width`, `{min|max}Height` or `{min|max}Width` rules will be ignored respectively.

---
_Source: https://npm.io/package/container-query-toolkit · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
