Socket
Socket
Sign inDemoInstall

media-query-facade

Package Overview
Dependencies
0
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    media-query-facade

A nicer JavaScript media query API.


Version published
Weekly downloads
49
decreased by-7.55%
Maintainers
1
Install size
78.0 kB
Created
Weekly downloads
 

Readme

Source

media-query-facade

build status coverage status npm version npm downloads

Do stuff via JavaScript when the media queries on a document change. For efficiency it uses window.matchMedia under the hood.

Usage

import MQFacade from 'media-query-facade'

const mq = new MQFacade({
  small: 'only screen and (max-width: 480px)',
  medium: 'only screen and (min-width: 480px) and (max-width: 720px)'
})

const changeColour = colour => () => {
  document.body.style.backgroundColor = colour
}

mq.on('small', changeColour('blue'))
mq.on('medium', changeColour('green'))
mq.on('only screen and (min-width: 720px)', changeColour('red'))

There is a working version of the above in the example dir. First run npm start, then point a browser at localhost:8080.

API

const mq = new MQFacade(aliases)

Initialise a new MQFacade. Media query aliases may also be provided up front.

mq.registerAlias(alias, query)

Register an alias for a query, or register a number of aliases at once via an object.

mq.registerAlias('small', '(max-width: 100px)')
mq.registerAlias({
  small: '(max-width: 100px)',
  medium: '(max-width: 200px)'
})

mq.on(query, callback, context)

Register a callback which will be executed with the given context on entry of the given query or alias. If context is not specified, it will default to the mq instance.

mq.on('(max-width: 400px)', () => {})
mq.on('smartphones', () => {}, {})

mq.off(query, callback, context)

Remove all callbacks for all queries:

mq.off()

Remove all callbacks for a query or alias:

mq.off('(max-width: 400px)')

Remove a callback for a query or alias:

mq.off('(max-width: 400px)', () => {})

Remove a callback with a context for a query or alias:

mq.off('(max-width: 400px)', () => {}, {})

Install

$ npm install media-query-facade --save

There are also UMD builds available via unpkg:

License

MIT

Keywords

FAQs

Last updated on 24 Dec 2016

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc