@@ -17,9 +17,10 @@ const defaultQueries = {
17
17
18
18
19
19
// matchMedia() polyfill - Test a CSS media type/query in JS.
20
- // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
21
- let matchMedia = window . matchMedia || ( function ( ) {
22
- 'use strict' ;
20
+ // Authors & copyright(c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license
21
+ /* eslint-disable */
22
+ window . matchMedia || ( window . matchMedia = ( function ( ) {
23
+ "use strict" ;
23
24
24
25
// For browsers that support matchMedium api such as IE 9 and webkit
25
26
var styleMedia = ( window . styleMedia || window . media ) ;
@@ -33,14 +34,18 @@ let matchMedia = window.matchMedia || (function() {
33
34
style . type = 'text/css' ;
34
35
style . id = 'matchmediajs-test' ;
35
36
36
- script && script . parentNode && script . parentNode . insertBefore ( style , script ) ;
37
+ if ( ! script ) {
38
+ document . head . appendChild ( style ) ;
39
+ } else {
40
+ script . parentNode . insertBefore ( style , script ) ;
41
+ }
37
42
38
43
// 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
39
44
info = ( 'getComputedStyle' in window ) && window . getComputedStyle ( style , null ) || style . currentStyle ;
40
45
41
46
styleMedia = {
42
- matchMedium ( media ) {
43
- var text = ` @media ${ media } { #matchmediajs-test { width: 1px; } }` ;
47
+ matchMedium : function ( media ) {
48
+ var text = ' @media ' + media + ' { #matchmediajs-test { width: 1px; } }' ;
44
49
45
50
// 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
46
51
if ( style . styleSheet ) {
@@ -52,16 +57,17 @@ let matchMedia = window.matchMedia || (function() {
52
57
// Test if media query is true or false
53
58
return info . width === '1px' ;
54
59
}
55
- }
60
+ } ;
56
61
}
57
62
58
63
return function ( media ) {
59
64
return {
60
65
matches : styleMedia . matchMedium ( media || 'all' ) ,
61
66
media : media || 'all'
62
67
} ;
63
- }
64
- } ) ( ) ;
68
+ } ;
69
+ } ) ( ) ) ;
70
+ /* eslint-enable */
65
71
66
72
var MediaQuery = {
67
73
queries : [ ] ,
@@ -109,7 +115,7 @@ var MediaQuery = {
109
115
var query = this . get ( size ) ;
110
116
111
117
if ( query ) {
112
- return matchMedia ( query ) . matches ;
118
+ return window . matchMedia ( query ) . matches ;
113
119
}
114
120
115
121
return false ;
@@ -160,7 +166,7 @@ var MediaQuery = {
160
166
for ( var i = 0 ; i < this . queries . length ; i ++ ) {
161
167
var query = this . queries [ i ] ;
162
168
163
- if ( matchMedia ( query . value ) . matches ) {
169
+ if ( window . matchMedia ( query . value ) . matches ) {
164
170
matched = query ;
165
171
}
166
172
}
0 commit comments