Giter VIP home page Giter VIP logo

container-query-toolkit's Introduction

container-query-toolkit

๐Ÿ”ง Basic utilities to work with container query.

Install

npm i -S container-query-toolkit

Usage

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});

API

matchQueries(rules)(contentSize)

  • rules: {[key: string]: {minWidth?: number, maxWidth?: number, minHeight?: number, maxHeight?: number}}
  • contentSize: {height: number, width: number}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.