UNPKG

1.23 kBJavaScriptView Raw
1/**
2@license
3Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
4This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7Code distributed by Google as part of the polymer project is also
8subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9*/
10/**
11 Utility method that calls a callback whenever a media-query matches in response
12 to the viewport size changing. The callback should take a boolean parameter
13 (with `true` meaning the media query is matched).
14
15 Example:
16
17 import { installMediaQueryWatcher } from 'pwa-helpers/media-query.js';
18
19 installMediaQueryWatcher(`(min-width: 600px)`, (matches) => {
20 console.log(matches ? 'wide screen' : 'narrow sreen');
21 });
22*/
23export const installMediaQueryWatcher = (mediaQuery, layoutChangedCallback) => {
24 let mql = window.matchMedia(mediaQuery);
25 mql.addListener((e) => layoutChangedCallback(e.matches));
26 layoutChangedCallback(mql.matches);
27};
28//# sourceMappingURL=media-query.js.map
\No newline at end of file