stylecow-plugin-nested-rules
Advanced tools
Comparing version 4.2.2 to 5.0.0
268
index.js
@@ -1,172 +0,168 @@ | ||
module.exports = function (stylecow) { | ||
"use strict"; | ||
stylecow.addTask({ | ||
filter: { | ||
type: 'Rule' | ||
}, | ||
fn: function (parentRule) { | ||
var index = parentRule.index(); | ||
var offset = 1; | ||
module.exports = function (tasks, stylecow) { | ||
parentRule | ||
.getChild('Block') | ||
.getChildren() | ||
.forEach(function (child) { | ||
tasks.addTask({ | ||
filter: 'Rule', | ||
fn: function (parentRule) { | ||
var index = parentRule.index(), offset = 1; | ||
// resolve nested @media | ||
if (child.type === 'AtRule' && child.name === 'media') { | ||
nestedRuleMedia(parentRule, child, index + offset); | ||
++offset; | ||
} | ||
parentRule | ||
.getChild('Block') | ||
.getChildren() | ||
.forEach(function (child) { | ||
// resolve nested @media | ||
if (child.type === 'AtRule' && child.name === 'media') { | ||
nestedRuleMedia(parentRule, child, index + offset); | ||
++offset; | ||
} | ||
// resolve nested rules | ||
else if (child.type === 'Rule') { | ||
nestedRule(parentRule, child, index + offset); | ||
++offset; | ||
} | ||
}); | ||
// resolve nested rules | ||
else if (child.type === 'Rule') { | ||
nestedRule(parentRule, child, index + offset); | ||
++offset; | ||
} | ||
}); | ||
if (!parentRule.getChild('Block').length) { | ||
parentRule.remove(); | ||
} | ||
} | ||
}); | ||
//remove the rule if it's empty | ||
if (!parentRule.getChild('Block').length) { | ||
parentRule.remove(); | ||
} | ||
} | ||
}); | ||
//Merge nested @media | ||
stylecow.addTask({ | ||
filter: { | ||
type: 'AtRule', | ||
name: 'media' | ||
}, | ||
fn: function (parentMedia) { | ||
var index = parentMedia.index(); | ||
var offset = 1; | ||
//Merge nested @media | ||
tasks.addTask({ | ||
filter: { | ||
type: 'AtRule', | ||
name: 'media' | ||
}, | ||
fn: function (parentMedia) { | ||
var index = parentMedia.index(), offset = 1; | ||
parentMedia | ||
.getChild('Block') | ||
.getChildren({ | ||
type: 'AtRule', | ||
name: 'media' | ||
}) | ||
.forEach(function (child) { | ||
nestedMedia(parentMedia, child, index + offset); | ||
}); | ||
} | ||
}); | ||
parentMedia | ||
.getChild('Block') | ||
.getChildren({ | ||
type: 'AtRule', | ||
name: 'media' | ||
}) | ||
.forEach(child => nestedMedia(parentMedia, child, index + offset)); | ||
} | ||
}); | ||
function nestedRuleMedia(parentRule, media, parentRuleIndex) { | ||
var rule = new stylecow.Rule(); | ||
function nestedRuleMedia(parentRule, media, parentRuleIndex) { | ||
var rule = new stylecow.Rule(); | ||
rule.push(parentRule.getChild('Selectors').clone()); | ||
rule.push(media.getChild('Block')); | ||
rule.push(parentRule.getChild('Selectors').clone()); | ||
rule.push(media.getChild('Block')); | ||
var block = new stylecow.Block(); | ||
block.push(rule); | ||
media.push(block); | ||
var block = new stylecow.Block(); | ||
block.push(rule); | ||
media.push(block); | ||
var index = rule.index(); | ||
var offset = 1; | ||
var index = rule.index(), offset = 1; | ||
rule | ||
.getChild('Block') | ||
.getChildren('Rule') | ||
.forEach(function (child) { | ||
nestedRule(rule, child, index + offset); | ||
++offset; | ||
}); | ||
rule | ||
.getChild('Block') | ||
.getChildren('Rule') | ||
.forEach(function (child) { | ||
nestedRule(rule, child, index + offset); | ||
++offset; | ||
}); | ||
if (rule.getChild('Block').length === 0) { | ||
rule.remove(); | ||
} | ||
if (rule.getChild('Block').length === 0) { | ||
rule.remove(); | ||
} | ||
parentRule.getParent().splice(parentRuleIndex, 0, media); | ||
} | ||
parentRule.getParent().splice(parentRuleIndex, 0, media); | ||
} | ||
function nestedMedia(parentMedia, media, parentMediaIndex) { | ||
var mediaQueries = media.getChild('MediaQueries'); | ||
var mergedMediaQueries = new stylecow.MediaQueries(); | ||
function nestedMedia(parentMedia, media, parentMediaIndex) { | ||
var mediaQueries = media.getChild('MediaQueries'), | ||
mergedMediaQueries = new stylecow.MediaQueries(); | ||
parentMedia | ||
.getChild('MediaQueries') | ||
.forEach(function (parentMediaQuery) { | ||
mediaQueries.forEach(function (mediaQuery) { | ||
mergedMediaQueries.push(mergeMediaQuery(parentMediaQuery.clone(), mediaQuery.clone())); | ||
}); | ||
}); | ||
parentMedia | ||
.getChild('MediaQueries') | ||
.forEach(function (parentMediaQuery) { | ||
mediaQueries.forEach(function (mediaQuery) { | ||
mergedMediaQueries.push(mergeMediaQuery(parentMediaQuery.clone(), mediaQuery.clone())); | ||
}); | ||
}); | ||
mediaQueries.replaceWith(mergedMediaQueries); | ||
parentMedia.getParent().splice(parentMediaIndex, 0, media); | ||
} | ||
mediaQueries.replaceWith(mergedMediaQueries); | ||
parentMedia.getParent().splice(parentMediaIndex, 0, media); | ||
} | ||
function nestedRule(parentRule, rule, parentRuleIndex) { | ||
var selectors = rule.getChild('Selectors'); | ||
var mergedSelectors = new stylecow.Selectors(); | ||
function nestedRule(parentRule, rule, parentRuleIndex) { | ||
var selectors = rule.getChild('Selectors'), | ||
mergedSelectors = new stylecow.Selectors(); | ||
parentRule | ||
.getChild('Selectors') | ||
.forEach(function (parentSelector) { | ||
selectors.forEach(function (selector) { | ||
mergedSelectors.push(mergeSelector(parentSelector.clone(), selector.clone())); | ||
}); | ||
}); | ||
parentRule | ||
.getChild('Selectors') | ||
.forEach(function (parentSelector) { | ||
selectors.forEach(function (selector) { | ||
mergedSelectors.push(mergeSelector(parentSelector.clone(), selector.clone())); | ||
}); | ||
}); | ||
selectors.replaceWith(mergedSelectors); | ||
parentRule.getParent().splice(parentRuleIndex, 0, rule); | ||
} | ||
selectors.replaceWith(mergedSelectors); | ||
parentRule.getParent().splice(parentRuleIndex, 0, rule); | ||
} | ||
function mergeSelector (selector, appendedSelector) { | ||
var joinCombinator = appendedSelector.getChild({ | ||
type: 'Combinator', | ||
name: '&' | ||
}); | ||
function mergeSelector (selector, appendedSelector) { | ||
var joinCombinator = appendedSelector.getChild({ | ||
type: 'Combinator', | ||
name: '&' | ||
}); | ||
if (!joinCombinator) { | ||
if (appendedSelector[0].type !== 'Combinator') { | ||
appendedSelector.unshift((new stylecow.Combinator()).setName(' ')); | ||
} | ||
joinCombinator = (new stylecow.Combinator()).setName('&'); | ||
appendedSelector.unshift(joinCombinator); | ||
} | ||
if (!joinCombinator) { | ||
if (appendedSelector[0].type !== 'Combinator') { | ||
appendedSelector.unshift((new stylecow.Combinator()).setName(' ')); | ||
} | ||
//resolve .foo&html => html.foo | ||
var next = joinCombinator.next(); | ||
joinCombinator = (new stylecow.Combinator()).setName('&'); | ||
appendedSelector.unshift(joinCombinator); | ||
} | ||
if (next && next.is('TypeSelector')) { | ||
var combinators = selector.getChildren('Combinator'); | ||
//resolve .foo&html => html.foo | ||
var next = joinCombinator.next(); | ||
if (combinators.length) { | ||
combinators.pop().after(next); | ||
} else { | ||
selector.unshift(next); | ||
} | ||
} | ||
if (next && next.is('TypeSelector')) { | ||
var combinators = selector.getChildren('Combinator'); | ||
while (selector[0]) { | ||
joinCombinator.before(selector.shift()); | ||
} | ||
if (combinators.length) { | ||
combinators.pop().after(next); | ||
} else { | ||
selector.unshift(next); | ||
} | ||
} | ||
joinCombinator.remove(); | ||
while (selector[0]) { | ||
joinCombinator.before(selector.shift()); | ||
} | ||
return appendedSelector; | ||
} | ||
joinCombinator.remove(); | ||
function mergeMediaQuery (mediaQueries, appendedMediaQuery) { | ||
mediaQueries.push((new stylecow.Keyword()).setName('and')); | ||
return appendedSelector; | ||
} | ||
if ((appendedMediaQuery.length === 1) && (appendedMediaQuery[0].type === 'ConditionalExpression')) { | ||
mediaQueries.push(appendedMediaQuery[0]); | ||
function mergeMediaQuery (mediaQueries, appendedMediaQuery) { | ||
mediaQueries.push((new stylecow.Keyword()).setName('and')); | ||
return mediaQueries; | ||
} | ||
if ((appendedMediaQuery.length === 1) && (appendedMediaQuery[0].type === 'ConditionalExpression')) { | ||
mediaQueries.push(appendedMediaQuery[0]); | ||
var expression = new stylecow.ConditionalExpression(); | ||
return mediaQueries; | ||
} | ||
while (appendedMediaQuery[0]) { | ||
expression.push(appendedMediaQuery.shift()); | ||
} | ||
var expression = new stylecow.ConditionalExpression(); | ||
mediaQueries.push(expression); | ||
while (appendedMediaQuery[0]) { | ||
expression.push(appendedMediaQuery.shift()); | ||
} | ||
return mediaQueries; | ||
} | ||
mediaQueries.push(expression); | ||
return mediaQueries; | ||
} | ||
}; |
{ | ||
"name": "stylecow-plugin-nested-rules", | ||
"description": "Stylecow plugin to add support for nested rules.", | ||
"version": "4.2.2", | ||
"version": "5.0.0", | ||
"engines": { | ||
"node": ">=4.0" | ||
}, | ||
"author": "Oscar Otero <oom@oscarotero.com>", | ||
@@ -13,4 +16,5 @@ "homepage": "https://github.com/stylecow/stylecow-plugin-nested-rules", | ||
"devDependencies": { | ||
"mocha": "^2.2.5", | ||
"stylecow-core": "^1.0.1" | ||
"mocha": "^2.3.2", | ||
"stylecow-core": "^2.0.0", | ||
"stylecow-plugin-custom-media": "^2.0.0" | ||
}, | ||
@@ -17,0 +21,0 @@ "scripts": { |
@@ -1,29 +0,22 @@ | ||
var assert = require('assert'); | ||
var stylecow = require('stylecow-core'); | ||
stylecow | ||
.loadNpmModule(__dirname + '/../index') | ||
.minSupport({ | ||
"explorer": 0, | ||
"firefox": 0, | ||
"chrome": 0, | ||
"safari": 0, | ||
"opera": 0, | ||
"android": 0, | ||
"ios": 0 | ||
}) | ||
.testCases(__dirname + '/cases', function (test) { | ||
stylecow.run(test.css); | ||
var tests = new stylecow.Test(__dirname + '/cases'); | ||
var tasks = (new stylecow.Tasks()) | ||
.use(require('../index')) | ||
.use(require('stylecow-plugin-custom-media')); | ||
describe('cases/' + test.name, function() { | ||
it('should match output.css', function() { | ||
//test.write('output.css', test.css.toString()); | ||
assert.equal(test.css.toString(), test.read('output.css')); | ||
}); | ||
tests.run(function (test) { | ||
tasks.run(test.css); | ||
it('should match ast.json', function() { | ||
//test.writeJson('ast.json', test.css.toAst()); | ||
assert.deepEqual(test.css.toAst(), test.readJson('ast.json')); | ||
}); | ||
}); | ||
}); | ||
describe('cases/' + test.name, function() { | ||
it('should match output.css', function() { | ||
//test.writeString() | ||
test.assertString(); | ||
}); | ||
it('should match ast.json', function() { | ||
//test.writeAst() | ||
test.assertAst(); | ||
}); | ||
}); | ||
}); |
{ | ||
"class": "Root", | ||
"type": "Root", | ||
"children": [ | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "body" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "p" | ||
@@ -30,6 +30,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -39,6 +39,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -56,20 +56,20 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "html" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "body" | ||
@@ -80,14 +80,14 @@ } | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "active" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "body" | ||
@@ -100,6 +100,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -109,6 +109,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -126,28 +126,28 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "html" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "body" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "span" | ||
@@ -158,22 +158,22 @@ } | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "active" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "body" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "span" | ||
@@ -186,6 +186,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -195,6 +195,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -201,0 +201,0 @@ "vendor": null |
{ | ||
"class": "Root", | ||
"type": "Root", | ||
"children": [ | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
@@ -22,6 +22,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -31,6 +31,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "red", | ||
@@ -48,20 +48,20 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
@@ -74,6 +74,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -83,6 +83,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "black", | ||
@@ -100,16 +100,17 @@ "vendor": null | ||
{ | ||
"class": "Media", | ||
"type": "AtRule", | ||
"name": "media", | ||
"vendor": null, | ||
"children": [ | ||
{ | ||
"class": "MediaQueries", | ||
"type": "MediaQueries", | ||
"children": [ | ||
{ | ||
"class": "MediaQuery", | ||
"type": "MediaQuery", | ||
"children": [ | ||
{ | ||
"class": "ConditionalExpression", | ||
"type": "ConditionalExpression", | ||
"children": [ | ||
{ | ||
"class": "ConditionalFeature", | ||
"type": "ConditionalFeature", | ||
"name": "min-width", | ||
@@ -119,10 +120,10 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Unit", | ||
"type": "Unit", | ||
"name": "px", | ||
"children": [ | ||
{ | ||
"class": "Number", | ||
"type": "Number", | ||
"name": 500 | ||
@@ -143,23 +144,23 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
@@ -172,6 +173,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -181,6 +182,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -198,28 +199,28 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "span" | ||
@@ -232,6 +233,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -241,6 +242,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "green", | ||
@@ -262,16 +263,17 @@ "vendor": null | ||
{ | ||
"class": "Media", | ||
"type": "AtRule", | ||
"name": "media", | ||
"vendor": null, | ||
"children": [ | ||
{ | ||
"class": "MediaQueries", | ||
"type": "MediaQueries", | ||
"children": [ | ||
{ | ||
"class": "MediaQuery", | ||
"type": "MediaQuery", | ||
"children": [ | ||
{ | ||
"class": "ConditionalExpression", | ||
"type": "ConditionalExpression", | ||
"children": [ | ||
{ | ||
"class": "ConditionalFeature", | ||
"type": "ConditionalFeature", | ||
"name": "min-width", | ||
@@ -281,10 +283,10 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Unit", | ||
"type": "Unit", | ||
"name": "px", | ||
"children": [ | ||
{ | ||
"class": "Number", | ||
"type": "Number", | ||
"name": 500 | ||
@@ -301,10 +303,10 @@ } | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "and" | ||
}, | ||
{ | ||
"class": "ConditionalExpression", | ||
"type": "ConditionalExpression", | ||
"children": [ | ||
{ | ||
"class": "ConditionalFeature", | ||
"type": "ConditionalFeature", | ||
"name": "max-width", | ||
@@ -314,10 +316,10 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Unit", | ||
"type": "Unit", | ||
"name": "px", | ||
"children": [ | ||
{ | ||
"class": "Number", | ||
"type": "Number", | ||
"name": 501 | ||
@@ -338,3 +340,3 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [] | ||
@@ -345,16 +347,17 @@ } | ||
{ | ||
"class": "Media", | ||
"type": "AtRule", | ||
"name": "media", | ||
"vendor": null, | ||
"children": [ | ||
{ | ||
"class": "MediaQueries", | ||
"type": "MediaQueries", | ||
"children": [ | ||
{ | ||
"class": "MediaQuery", | ||
"type": "MediaQuery", | ||
"children": [ | ||
{ | ||
"class": "ConditionalExpression", | ||
"type": "ConditionalExpression", | ||
"children": [ | ||
{ | ||
"class": "ConditionalFeature", | ||
"type": "ConditionalFeature", | ||
"name": "min-width", | ||
@@ -364,10 +367,10 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Unit", | ||
"type": "Unit", | ||
"name": "px", | ||
"children": [ | ||
{ | ||
"class": "Number", | ||
"type": "Number", | ||
"name": 700 | ||
@@ -388,23 +391,23 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": ">" | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "strong" | ||
@@ -417,6 +420,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "font-weight", | ||
@@ -426,6 +429,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "normal", | ||
@@ -443,28 +446,28 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": ">" | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "strong" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "em" | ||
@@ -477,6 +480,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "font-style", | ||
@@ -486,6 +489,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "normal", | ||
@@ -492,0 +495,0 @@ "vendor": null |
{ | ||
"class": "Root", | ||
"type": "Root", | ||
"children": [ | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
@@ -22,6 +22,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -31,6 +31,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "red", | ||
@@ -48,20 +48,20 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
@@ -74,6 +74,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -83,6 +83,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "black", | ||
@@ -100,16 +100,17 @@ "vendor": null | ||
{ | ||
"class": "Media", | ||
"type": "AtRule", | ||
"name": "media", | ||
"vendor": null, | ||
"children": [ | ||
{ | ||
"class": "MediaQueries", | ||
"type": "MediaQueries", | ||
"children": [ | ||
{ | ||
"class": "MediaQuery", | ||
"type": "MediaQuery", | ||
"children": [ | ||
{ | ||
"class": "ConditionalExpression", | ||
"type": "ConditionalExpression", | ||
"children": [ | ||
{ | ||
"class": "ConditionalFeature", | ||
"type": "ConditionalFeature", | ||
"name": "min-width", | ||
@@ -119,10 +120,10 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Unit", | ||
"type": "Unit", | ||
"name": "px", | ||
"children": [ | ||
{ | ||
"class": "Number", | ||
"type": "Number", | ||
"name": 500 | ||
@@ -143,23 +144,23 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
@@ -172,6 +173,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -181,6 +182,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -198,28 +199,28 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "span" | ||
@@ -232,6 +233,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -241,6 +242,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "green", | ||
@@ -258,28 +259,28 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "p" | ||
@@ -292,6 +293,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -301,6 +302,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "black", | ||
@@ -322,16 +323,17 @@ "vendor": null | ||
{ | ||
"class": "Media", | ||
"type": "AtRule", | ||
"name": "media", | ||
"vendor": null, | ||
"children": [ | ||
{ | ||
"class": "MediaQueries", | ||
"type": "MediaQueries", | ||
"children": [ | ||
{ | ||
"class": "MediaQuery", | ||
"type": "MediaQuery", | ||
"children": [ | ||
{ | ||
"class": "ConditionalExpression", | ||
"type": "ConditionalExpression", | ||
"children": [ | ||
{ | ||
"class": "ConditionalFeature", | ||
"type": "ConditionalFeature", | ||
"name": "min-width", | ||
@@ -341,10 +343,10 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Unit", | ||
"type": "Unit", | ||
"name": "px", | ||
"children": [ | ||
{ | ||
"class": "Number", | ||
"type": "Number", | ||
"name": 500 | ||
@@ -361,10 +363,10 @@ } | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "and" | ||
}, | ||
{ | ||
"class": "ConditionalExpression", | ||
"type": "ConditionalExpression", | ||
"children": [ | ||
{ | ||
"class": "ConditionalFeature", | ||
"type": "ConditionalFeature", | ||
"name": "max-width", | ||
@@ -374,10 +376,10 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Unit", | ||
"type": "Unit", | ||
"name": "px", | ||
"children": [ | ||
{ | ||
"class": "Number", | ||
"type": "Number", | ||
"name": 899 | ||
@@ -398,31 +400,31 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "p" | ||
@@ -435,6 +437,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -444,6 +446,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "red", | ||
@@ -450,0 +452,0 @@ "vendor": null |
{ | ||
"class": "Root", | ||
"type": "Root", | ||
"children": [ | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "body" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "p" | ||
@@ -30,6 +30,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -39,6 +39,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -56,16 +56,16 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "body" | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
@@ -76,10 +76,10 @@ } | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "body" | ||
}, | ||
{ | ||
"class": "PseudoClass", | ||
"type": "PseudoClass", | ||
"name": "hover", | ||
@@ -93,6 +93,6 @@ "vendor": null | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -102,6 +102,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -119,24 +119,24 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "div" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "p" | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
@@ -149,6 +149,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -158,6 +158,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -175,24 +175,24 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "div" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "ul" | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
@@ -205,6 +205,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -214,6 +214,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -231,24 +231,24 @@ "vendor": null | ||
{ | ||
"class": "Rule", | ||
"type": "Rule", | ||
"children": [ | ||
{ | ||
"class": "Selectors", | ||
"type": "Selectors", | ||
"children": [ | ||
{ | ||
"class": "Selector", | ||
"type": "Selector", | ||
"children": [ | ||
{ | ||
"class": "TypeSelector", | ||
"type": "TypeSelector", | ||
"name": "div" | ||
}, | ||
{ | ||
"class": "Combinator", | ||
"type": "Combinator", | ||
"name": " " | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "foo" | ||
}, | ||
{ | ||
"class": "ClassSelector", | ||
"type": "ClassSelector", | ||
"name": "bar" | ||
@@ -261,6 +261,6 @@ } | ||
{ | ||
"class": "Block", | ||
"type": "Block", | ||
"children": [ | ||
{ | ||
"class": "Declaration", | ||
"type": "Declaration", | ||
"name": "color", | ||
@@ -270,6 +270,6 @@ "vendor": null, | ||
{ | ||
"class": "Value", | ||
"type": "Value", | ||
"children": [ | ||
{ | ||
"class": "Keyword", | ||
"type": "Keyword", | ||
"name": "blue", | ||
@@ -276,0 +276,0 @@ "vendor": null |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
54447
22
1936
3