// matchMedia() polyfill - Test a CSS media type/query in JS.
-// Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
-let matchMedia = window.matchMedia || (function() {
- 'use strict';
+// Authors & copyright(c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license
+/* eslint-disable */
+window.matchMedia || (window.matchMedia = (function () {
+ "use strict";
// For browsers that support matchMedium api such as IE 9 and webkit
var styleMedia = (window.styleMedia || window.media);
style.type = 'text/css';
style.id = 'matchmediajs-test';
- script && script.parentNode && script.parentNode.insertBefore(style, script);
+ if (!script) {
+ document.head.appendChild(style);
+ } else {
+ script.parentNode.insertBefore(style, script);
+ }
// 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;
styleMedia = {
- matchMedium(media) {
- var text = `@media ${media}{ #matchmediajs-test { width: 1px; } }`;
+ matchMedium: function (media) {
+ var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
// 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
if (style.styleSheet) {
// Test if media query is true or false
return info.width === '1px';
}
- }
+ };
}
return function(media) {
matches: styleMedia.matchMedium(media || 'all'),
media: media || 'all'
};
- }
-})();
+ };
+})());
+/* eslint-enable */
var MediaQuery = {
queries: [],
var query = this.get(size);
if (query) {
- return matchMedia(query).matches;
+ return window.matchMedia(query).matches;
}
return false;
for (var i = 0; i < this.queries.length; i++) {
var query = this.queries[i];
- if (matchMedia(query.value).matches) {
+ if (window.matchMedia(query.value).matches) {
matched = query;
}
}