Skip to content

Commit 7958531

Browse files
committed
Properly multiply nested media queries
1 parent ffb3c26 commit 7958531

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

scss.inc.php

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,26 +1058,33 @@ protected function joinSelectors($parent, $child) {
10581058
return $setSelf ? $out : array_merge($parent, $child);
10591059
}
10601060

1061-
protected function multiplyMedia($env, $childMedia = null) {
1061+
protected function multiplyMedia($env, $childQueries = null) {
10621062
if (is_null($env) ||
10631063
!empty($env->block->type) && $env->block->type != "media")
10641064
{
1065-
return $childMedia;
1065+
return $childQueries;
10661066
}
10671067

10681068
// plain old block, skip
10691069
if (empty($env->block->type)) {
1070-
return $this->multiplyMedia($env->parent, $childMedia);
1070+
return $this->multiplyMedia($env->parent, $childQueries);
10711071
}
10721072

1073-
$query = $env->block->query;
1074-
if ($childMedia == null) {
1075-
$childMedia = $query;
1073+
$parentQueries = $env->block->query;
1074+
if ($childQueries == null) {
1075+
$childQueries = $parentQueries;
10761076
} else {
1077-
$childMedia = array_merge($query, $childMedia);
1077+
$originalQueries = $childQueries;
1078+
$childQueries = array();
1079+
1080+
foreach ($parentQueries as $parentQuery){
1081+
foreach ($originalQueries as $childQuery) {
1082+
$childQueries []= array_merge($parentQuery, $childQuery);
1083+
}
1084+
}
10781085
}
10791086

1080-
return $this->multiplyMedia($env->parent, $childMedia);
1087+
return $this->multiplyMedia($env->parent, $childQueries);
10811088
}
10821089

10831090
// convert something to list

0 commit comments

Comments
 (0)