File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change 306306
307307 let selectors = Selector . split ( ',' ) ;
308308 for ( let j = 0 ; j < selectors . length ; j ++ ) {
309+ if ( selectors [ j ] . includes ( '@' ) ) {
310+ selectors [ j ] = checkMediaQueries ( selectors [ j ] )
311+ if ( selectors [ j ] === false )
312+ continue
313+ }
314+
309315 let queriedElement = element
310316 let specialSelectors = selectors [ j ] . split ( ';' )
311317 for ( let k = 0 ; k < specialSelectors . length ; k ++ ) {
383389 return elements
384390 }
385391
392+ const mediaRanges = {
393+ xs : [ 0 , 575 ] ,
394+ sm : [ 576 , 768 ] ,
395+ md : [ 769 , 992 ] ,
396+ lg : [ 993 , 1200 ] ,
397+ xl : [ 1201 , 0 ] ,
398+ } ;
399+
400+ function checkMediaQueries ( selector ) {
401+ if ( selector && selector . includes ( '@' ) ) {
402+ let screenSizes = selector . split ( '@' )
403+ selector = screenSizes . shift ( ) ;
404+ for ( let screenSize of screenSizes ) {
405+ const viewportWidth = window . innerWidth ;
406+ let mediaViewport = false ;
407+
408+ // Check if screenSize is a valid range in the 'ranges' object
409+ if ( mediaRanges . hasOwnProperty ( screenSize ) ) {
410+ const [ minWidth , maxWidth ] = mediaRanges [ screenSize ] ;
411+ if ( viewportWidth >= minWidth && viewportWidth <= maxWidth ) {
412+ mediaViewport = true ;
413+ break ;
414+ }
415+ }
416+
417+ if ( ! mediaViewport )
418+ return false
419+
420+ }
421+ }
422+
423+ return selector
424+ }
425+
426+
386427 function queryData ( data , query ) {
387428 if ( ! data )
388429 return false ;
668709 escapeHtml,
669710 cssPath,
670711 queryElements,
712+ checkMediaQueries,
671713 queryData,
672714 searchData,
673715 sortData,
You can’t perform that action at this time.
0 commit comments