with-style 5.0.181 → 5.0.182
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example.js +49 -39
- package/lib/css/bnf.js +2 -2
- package/lib/style/declaration.js +37 -23
- package/lib/style/declarations.js +8 -14
- package/lib/utilities/styles.js +2 -1
- package/package.json +1 -1
- package/src/css/bnf.js +21 -33
- package/src/style/declaration.js +40 -28
- package/src/style/declarations.js +6 -23
- package/src/utilities/styles.js +6 -4
package/lib/css/bnf.js
CHANGED
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var bnf = '\n\n
|
|
6
|
+
var bnf = '\n\n stylesheet ::= ( media | ruleSet | declaration | error )+ ;\n\n\n\n media ::= "@media" mediaQueries "{" ( ruleSet | declaration )* "}" ;\n \n ruleSet ::= selectors "{" declaration* "}" ;\n \n declaration ::= propertyName ":" propertyValues important? ";" ;\n\n error! ::= . ;\n\n\n\n propertyValues ::= propertyValue ( "," propertyValue )* ;\n\n\n mediaQueries ::= mediaQuery ( "," mediaQuery )* ;\n \n \n selectors ::= selector ( "," selector )* ;\n\n\n\n mediaQuery ::= "not"? ( "only"? mediaType "and" )? mediaExpression ( "and" mediaExpression )* ;\n\n\n mediaType ::= "all" | "print" | "screen" | "speech" ;\n \n \n mediaExpression ::= "(" [identifier] ( ":" propertyValue )? ")" ;\n\n\n\n propertyValue ::= term ( ","? term )* ;\n\n\n propertyName ::= [identifier] ;\n\n\n important ::= "!important" ;\n\n\n selector ::= ( class | pseudoClass | pseudoElement | attribute )+ ;\n\n\n\n class ::= "."<NO_WHITESPACE>[identifier] parenthesisedSelector? ;\n\n\n pseudoClass ::= ":"<NO_WHITESPACE>[identifier] parenthesisedSelector? ;\n\n\n pseudoElement ::= "::"<NO_WHITESPACE>[identifier] parenthesisedSelector? ;\n\n\n parenthesisedSelector ::= <NO_WHITESPACE>"(" selector <NO_WHITESPACE>")" ;\n\n\n\n attribute ::= "["\n\n [identifier]\n\n (\n\n ( "=" | "~=" | "|=" )\n\n ( [identifier] | [string-literal] )\n\n )?\n\n "]"\n\n ;\n\n\n\n term ::= [arithmetic-operator]?\n \n (\n \n ( [percentage] | [frequency] | [fraction] | [length] | [angle] | [rems] | [ems] | [time] | [number] )\n \n |\n \n uri\n \n |\n \n function\n \n |\n \n [string-literal]+\n \n |\n \n [identifier]\n \n |\n \n [colour]\n \n )\n \n ;\n\n\n uri ::= "url"<NO_WHITESPACE>"(" [string-literal] ")" ;\n\n\n function ::= [identifier]<NO_WHITESPACE>"(" propertyValue ")" ;\n\n';
|
|
7
7
|
var _default = bnf;
|
|
8
8
|
exports.default = _default;
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jc3MvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICBzdHlsZXNoZWV0ICAgICAgICAgICAgICAgICA6Oj0gKCBtZWRpYSB8IHJ1bGVTZXQgfCBkZWNsYXJhdGlvbiB8IGVycm9yICkrIDtcblxuXG5cbiAgICBtZWRpYSAgICAgICAgICAgICAgICAgICAgICA6Oj0gXCJAbWVkaWFcIiBtZWRpYVF1ZXJpZXMgXCJ7XCIgKCBydWxlU2V0IHwgZGVjbGFyYXRpb24gKSogXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICBydWxlU2V0ICAgICAgICAgICAgICAgICAgICA6Oj0gIHNlbGVjdG9ycyBcIntcIiBkZWNsYXJhdGlvbiogXCJ9XCIgO1xuICAgIFxuICAgIGRlY2xhcmF0aW9uICAgICAgICAgICAgICAgIDo6PSAgcHJvcGVydHlOYW1lIFwiOlwiIHByb3BlcnR5VmFsdWVzIGltcG9ydGFudD8gXCI7XCIgO1xuXG4gICAgZXJyb3IhICAgICAgICAgICAgICAgICAgICAgOjo9ICAuIDtcblxuXG5cbiAgICBwcm9wZXJ0eVZhbHVlcyAgICAgICAgICAgICA6Oj0gIHByb3BlcnR5VmFsdWUgKCBcIixcIiBwcm9wZXJ0eVZhbHVlICkqIDtcblxuXG4gICAgbWVkaWFRdWVyaWVzICAgICAgICAgICAgICAgOjo9ICBtZWRpYVF1ZXJ5ICggXCIsXCIgbWVkaWFRdWVyeSApKiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICBzZWxlY3RvcnMgICAgICAgICAgICAgICAgICA6Oj0gIHNlbGVjdG9yICggXCIsXCIgc2VsZWN0b3IgKSogO1xuXG5cblxuICAgIG1lZGlhUXVlcnkgICAgICAgICAgICAgICAgIDo6PSAgXCJub3RcIj8gKCBcIm9ubHlcIj8gbWVkaWFUeXBlIFwiYW5kXCIgKT8gbWVkaWFFeHByZXNzaW9uICggXCJhbmRcIiBtZWRpYUV4cHJlc3Npb24gKSogO1xuXG5cbiAgICBtZWRpYVR5cGUgICAgICAgICAgICAgICAgICA6Oj0gIFwiYWxsXCIgfCBcInByaW50XCIgfCBcInNjcmVlblwiIHwgXCJzcGVlY2hcIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICBtZWRpYUV4cHJlc3Npb24gICAgICAgICAgICA6Oj0gIFwiKFwiIFtpZGVudGlmaWVyXSAoIFwiOlwiIHByb3BlcnR5VmFsdWUgKT8gXCIpXCIgO1xuXG5cblxuICAgIHByb3BlcnR5VmFsdWUgICAgICAgICAgICAgIDo6PSAgdGVybSAoIFwiLFwiPyB0ZXJtICkqIDtcblxuXG4gICAgcHJvcGVydHlOYW1lICAgICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuXG5cbiAgICBpbXBvcnRhbnQgICAgICAgICAgICAgICAgICA6Oj0gIFwiIWltcG9ydGFudFwiIDtcblxuXG4gICAgc2VsZWN0b3IgICAgICAgICAgICAgICAgICAgOjo9ICAoIGNsYXNzIHwgcHNldWRvQ2xhc3MgfCBwc2V1ZG9FbGVtZW50IHwgYXR0cmlidXRlICkrIDtcblxuXG5cbiAgICBjbGFzcyAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiLlwiPE5PX1dISVRFU1BBQ0U+W2lkZW50aWZpZXJdIHBhcmVudGhlc2lzZWRTZWxlY3Rvcj8gO1xuXG5cbiAgICBwc2V1ZG9DbGFzcyAgICAgICAgICAgICAgICA6Oj0gIFwiOlwiPE5PX1dISVRFU1BBQ0U+W2lkZW50aWZpZXJdIHBhcmVudGhlc2lzZWRTZWxlY3Rvcj8gO1xuXG5cbiAgICBwc2V1ZG9FbGVtZW50ICAgICAgICAgICAgICA6Oj0gIFwiOjpcIjxOT19XSElURVNQQUNFPltpZGVudGlmaWVyXSBwYXJlbnRoZXNpc2VkU2VsZWN0b3I/IDtcblxuXG4gICAgcGFyZW50aGVzaXNlZFNlbGVjdG9yICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT5cIihcIiBzZWxlY3RvciA8Tk9fV0hJVEVTUEFDRT5cIilcIiA7XG5cblxuXG4gICAgYXR0cmlidXRlICAgICAgICAgICAgICAgICAgOjo9ICBcIltcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRlbnRpZmllcl1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCI9XCIgfCBcIn49XCIgfCBcInw9XCIgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggW2lkZW50aWZpZXJdIHwgW3N0cmluZy1saXRlcmFsXSApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbiAgICB0ZXJtICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFthcml0aG1ldGljLW9wZXJhdG9yXT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggW3BlcmNlbnRhZ2VdIHwgW2ZyZXF1ZW5jeV0gfCBbZnJhY3Rpb25dIHwgW2xlbmd0aF0gfCBbYW5nbGVdIHwgW3JlbXNdIHwgW2Vtc10gfCBbdGltZV0gfCBbbnVtYmVyXSApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RyaW5nLWxpdGVyYWxdK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRlbnRpZmllcl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG91cl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICAgIHVyaSAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJ1cmxcIjxOT19XSElURVNQQUNFPlwiKFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuXG5cbiAgICBmdW5jdGlvbiAgICAgICAgICAgICAgICAgICA6Oj0gIFtpZGVudGlmaWVyXTxOT19XSElURVNQQUNFPlwiKFwiIHByb3BlcnR5VmFsdWUgXCIpXCIgO1xuXG5gO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7O0FBRWIsSUFBTUEsR0FBRyxHQUFJLGcvSEFvSGIsQUFBQyxBQUFDO2VBRWFBLEdBQUcifQ==
|
package/lib/style/declaration.js
CHANGED
|
@@ -25,50 +25,64 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
25
25
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
26
26
|
return Constructor;
|
|
27
27
|
}
|
|
28
|
-
var
|
|
28
|
+
var importantQuery = _occamQuery.Query.fromExpression("/*/important"), propertyNameQuery = _occamQuery.Query.fromExpression("/*/propertyName"), propertyValuesQuery = _occamQuery.Query.fromExpression("/*/propertyValues");
|
|
29
29
|
var Declaration = /*#__PURE__*/ function() {
|
|
30
|
-
function Declaration(
|
|
30
|
+
function Declaration(propertyValues, propertyName, important) {
|
|
31
31
|
_classCallCheck(this, Declaration);
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
32
|
+
this.propertyValues = propertyValues;
|
|
33
|
+
this.propertyName = propertyName;
|
|
34
|
+
this.important = important;
|
|
35
35
|
}
|
|
36
36
|
_createClass(Declaration, [
|
|
37
37
|
{
|
|
38
|
-
key: "
|
|
39
|
-
value: function
|
|
40
|
-
return this.
|
|
38
|
+
key: "getPropertyValues",
|
|
39
|
+
value: function getPropertyValues() {
|
|
40
|
+
return this.propertyValues;
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
key: "
|
|
45
|
-
value: function
|
|
46
|
-
return this.
|
|
44
|
+
key: "getNameProperty",
|
|
45
|
+
value: function getNameProperty() {
|
|
46
|
+
return this.propertyName;
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
|
-
key: "
|
|
51
|
-
value: function
|
|
52
|
-
return this.
|
|
50
|
+
key: "getImportant",
|
|
51
|
+
value: function getImportant() {
|
|
52
|
+
return this.important;
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
|
-
key: "
|
|
57
|
-
value: function
|
|
56
|
+
key: "matchPropertyName",
|
|
57
|
+
value: function matchPropertyName(propertyName) {
|
|
58
|
+
var matches = this.propertyName === propertyName;
|
|
59
|
+
return matches;
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: "matchDeclaration",
|
|
64
|
+
value: function matchDeclaration(declaration) {
|
|
65
|
+
var propertyName = declaration.getPropertyName(), matches = this.matchPropertyName(propertyName); ///
|
|
66
|
+
return matches;
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: "matchDeclarations",
|
|
71
|
+
value: function matchDeclarations(declarations) {
|
|
58
72
|
var _this = this;
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
if (
|
|
73
|
+
var matches1 = declarations.some(function(declaration) {
|
|
74
|
+
var matches = _this.matchDeclaration(declaration);
|
|
75
|
+
if (matches) {
|
|
62
76
|
return true;
|
|
63
77
|
}
|
|
64
78
|
});
|
|
65
|
-
return
|
|
79
|
+
return matches1;
|
|
66
80
|
}
|
|
67
81
|
},
|
|
68
82
|
{
|
|
69
83
|
key: "asCSS",
|
|
70
84
|
value: function asCSS(indent, last) {
|
|
71
|
-
var css = last ? "".concat(indent).concat(this.
|
|
85
|
+
var css = last ? "".concat(indent).concat(this.propertyName, ": ").concat(this.propertyValues).concat(this.important, ";") : "".concat(indent).concat(this.propertyName, ": ").concat(this.propertyValues).concat(this.important, ";\n");
|
|
72
86
|
return css;
|
|
73
87
|
}
|
|
74
88
|
}
|
|
@@ -76,7 +90,7 @@ var Declaration = /*#__PURE__*/ function() {
|
|
|
76
90
|
{
|
|
77
91
|
key: "fromNodeAndTokens",
|
|
78
92
|
value: function fromNodeAndTokens(node, tokens) {
|
|
79
|
-
var
|
|
93
|
+
var propertyValuesContent = (0, _content).contentFromQueryNodeAndTokens(propertyValuesQuery, node, tokens), propertyNameContent = (0, _content).contentFromQueryNodeAndTokens(propertyNameQuery, node, tokens), importantContent = (0, _content).contentFromQueryNodeAndTokens(importantQuery, node, tokens), propertyValues = propertyValuesContent, propertyName = propertyNameContent, important = importantContent === null ? _constants.EMPTY_STRING : " ".concat(importantContent), declaration = new Declaration(propertyValues, propertyName, important);
|
|
80
94
|
return declaration;
|
|
81
95
|
}
|
|
82
96
|
}
|
|
@@ -85,4 +99,4 @@ var Declaration = /*#__PURE__*/ function() {
|
|
|
85
99
|
}();
|
|
86
100
|
exports.default = Declaration;
|
|
87
101
|
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9kZWNsYXJhdGlvbi5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9kZWNsYXJhdGlvbi5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwib2NjYW0tcXVlcnlcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY29udGVudEZyb21RdWVyeU5vZGVBbmRUb2tlbnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRlbnRcIjtcblxuY29uc3QgaW1wb3J0YW50UXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8qL2ltcG9ydGFudFwiKSxcbiAgICAgIHByb3BlcnR5TmFtZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvKi9wcm9wZXJ0eU5hbWVcIiksXG4gICAgICBwcm9wZXJ0eVZhbHVlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvKi9wcm9wZXJ0eVZhbHVlc1wiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVjbGFyYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eVZhbHVlcywgcHJvcGVydHlOYW1lLCBpbXBvcnRhbnQpIHtcbiAgICB0aGlzLnByb3BlcnR5VmFsdWVzID0gcHJvcGVydHlWYWx1ZXM7XG4gICAgdGhpcy5wcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWU7XG4gICAgdGhpcy5pbXBvcnRhbnQgPSBpbXBvcnRhbnQ7XG4gIH1cblxuICBnZXRQcm9wZXJ0eVZhbHVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eVZhbHVlcztcbiAgfVxuXG4gIGdldE5hbWVQcm9wZXJ0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eU5hbWU7XG4gIH1cblxuICBnZXRJbXBvcnRhbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1wb3J0YW50O1xuICB9XG5cbiAgbWF0Y2hQcm9wZXJ0eU5hbWUocHJvcGVydHlOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9ICh0aGlzLnByb3BlcnR5TmFtZSA9PT0gcHJvcGVydHlOYW1lKTtcblxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hEZWNsYXJhdGlvbihkZWNsYXJhdGlvbikge1xuICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IGRlY2xhcmF0aW9uLmdldFByb3BlcnR5TmFtZSgpLFxuICAgICAgICAgIG1hdGNoZXMgPSB0aGlzLm1hdGNoUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSk7IC8vL1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaERlY2xhcmF0aW9ucyhkZWNsYXJhdGlvbnMpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gZGVjbGFyYXRpb25zLnNvbWUoKGRlY2xhcmF0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtYXRjaGVzID0gdGhpcy5tYXRjaERlY2xhcmF0aW9uKGRlY2xhcmF0aW9uKTtcblxuICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuXG4gIGFzQ1NTKGluZGVudCwgbGFzdCkge1xuICAgIGNvbnN0IGNzcyA9IGxhc3QgP1xuICAgICAgICAgICAgICAgICAgYCR7aW5kZW50fSR7dGhpcy5wcm9wZXJ0eU5hbWV9OiAke3RoaXMucHJvcGVydHlWYWx1ZXN9JHt0aGlzLmltcG9ydGFudH07YCA6XG4gICAgICAgICAgICAgICAgICAgIGAke2luZGVudH0ke3RoaXMucHJvcGVydHlOYW1lfTogJHt0aGlzLnByb3BlcnR5VmFsdWVzfSR7dGhpcy5pbXBvcnRhbnR9O1xcbmA7XG5cbiAgICByZXR1cm4gY3NzO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucykge1xuICAgIGNvbnN0IHByb3BlcnR5VmFsdWVzQ29udGVudCA9IGNvbnRlbnRGcm9tUXVlcnlOb2RlQW5kVG9rZW5zKHByb3BlcnR5VmFsdWVzUXVlcnksIG5vZGUsIHRva2VucyksXG4gICAgICAgICAgcHJvcGVydHlOYW1lQ29udGVudCA9IGNvbnRlbnRGcm9tUXVlcnlOb2RlQW5kVG9rZW5zKHByb3BlcnR5TmFtZVF1ZXJ5LCBub2RlLCB0b2tlbnMpLFxuICAgICAgICAgIGltcG9ydGFudENvbnRlbnQgPSBjb250ZW50RnJvbVF1ZXJ5Tm9kZUFuZFRva2VucyhpbXBvcnRhbnRRdWVyeSwgbm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBwcm9wZXJ0eVZhbHVlcyA9IHByb3BlcnR5VmFsdWVzQ29udGVudCwgLy8vXG4gICAgICAgICAgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lQ29udGVudCwgLy8vXG4gICAgICAgICAgaW1wb3J0YW50ID0gKGltcG9ydGFudENvbnRlbnQgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgYCAke2ltcG9ydGFudENvbnRlbnR9YCxcbiAgICAgICAgICBkZWNsYXJhdGlvbiA9IG5ldyBEZWNsYXJhdGlvbihwcm9wZXJ0eVZhbHVlcywgcHJvcGVydHlOYW1lLCBpbXBvcnRhbnQpO1xuXG4gICAgcmV0dXJuIGRlY2xhcmF0aW9uO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbImltcG9ydGFudFF1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvbiIsInByb3BlcnR5TmFtZVF1ZXJ5IiwicHJvcGVydHlWYWx1ZXNRdWVyeSIsIkRlY2xhcmF0aW9uIiwicHJvcGVydHlWYWx1ZXMiLCJwcm9wZXJ0eU5hbWUiLCJpbXBvcnRhbnQiLCJnZXRQcm9wZXJ0eVZhbHVlcyIsImdldE5hbWVQcm9wZXJ0eSIsImdldEltcG9ydGFudCIsIm1hdGNoUHJvcGVydHlOYW1lIiwibWF0Y2hlcyIsIm1hdGNoRGVjbGFyYXRpb24iLCJkZWNsYXJhdGlvbiIsImdldFByb3BlcnR5TmFtZSIsIm1hdGNoRGVjbGFyYXRpb25zIiwiZGVjbGFyYXRpb25zIiwic29tZSIsImFzQ1NTIiwiaW5kZW50IiwibGFzdCIsImNzcyIsImZyb21Ob2RlQW5kVG9rZW5zIiwibm9kZSIsInRva2VucyIsInByb3BlcnR5VmFsdWVzQ29udGVudCIsImNvbnRlbnRGcm9tUXVlcnlOb2RlQW5kVG9rZW5zIiwicHJvcGVydHlOYW1lQ29udGVudCIsImltcG9ydGFudENvbnRlbnQiLCJFTVBUWV9TVFJJTkciXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7QUFFUyxJQUFBLFdBQWEsV0FBYixhQUFhLENBQUE7QUFFTixJQUFBLFVBQWMsV0FBZCxjQUFjLENBQUE7QUFDRyxJQUFBLFFBQXNCLFdBQXRCLHNCQUFzQixDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVwRSxJQUFNQSxjQUFjLEdBQUdDLFdBQUssTUFBQSxDQUFDQyxjQUFjLENBQUMsY0FBYyxDQUFDLEVBQ3JEQyxpQkFBaUIsR0FBR0YsV0FBSyxNQUFBLENBQUNDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUMzREUsbUJBQW1CLEdBQUdILFdBQUssTUFBQSxDQUFDQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQUFBQztBQUV2RCxJQUFBLEFBQU1HLFdBQVcsaUJBQWpCO2FBQU1BLFdBQVcsQ0FDbEJDLGNBQWMsRUFBRUMsWUFBWSxFQUFFQyxTQUFTOztRQUNqRCxJQUFJLENBQUNGLGNBQWMsR0FBR0EsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQ0MsWUFBWSxHQUFHQSxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDQyxTQUFTLEdBQUdBLFNBQVMsQ0FBQzs7OztZQUc3QkMsR0FBaUIsRUFBakJBLG1CQUFpQjttQkFBakJBLFNBQUFBLGlCQUFpQixHQUFHO2dCQUNsQixPQUFPLElBQUksQ0FBQ0gsY0FBYyxDQUFDO2FBQzVCOzs7WUFFREksR0FBZSxFQUFmQSxpQkFBZTttQkFBZkEsU0FBQUEs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
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _occamQuery = require("occam-query");
|
|
7
|
+
var _necessary = require("necessary");
|
|
7
8
|
var _declaration = _interopRequireDefault(require("./declaration"));
|
|
8
9
|
var _constants = require("../constants");
|
|
9
10
|
function _classCallCheck(instance, Constructor) {
|
|
@@ -30,6 +31,7 @@ function _interopRequireDefault(obj) {
|
|
|
30
31
|
default: obj
|
|
31
32
|
};
|
|
32
33
|
}
|
|
34
|
+
var forwardsForEach = _necessary.arrayUtilities.forwardsForEach, backwardsForEach = _necessary.arrayUtilities.backwardsForEach;
|
|
33
35
|
var declarationQuery = _occamQuery.Query.fromExpression("/*/declaration");
|
|
34
36
|
var Declarations = /*#__PURE__*/ function() {
|
|
35
37
|
function Declarations(array) {
|
|
@@ -39,22 +41,14 @@ var Declarations = /*#__PURE__*/ function() {
|
|
|
39
41
|
_createClass(Declarations, [
|
|
40
42
|
{
|
|
41
43
|
key: "forwardsForEach",
|
|
42
|
-
value: function
|
|
43
|
-
|
|
44
|
-
for(var index = firstIndex; index <= lastIndex; index++){
|
|
45
|
-
var declaration = this.array[index];
|
|
46
|
-
callback(declaration, index);
|
|
47
|
-
}
|
|
44
|
+
value: function forwardsForEach1(callback) {
|
|
45
|
+
forwardsForEach(this.array, callback);
|
|
48
46
|
}
|
|
49
47
|
},
|
|
50
48
|
{
|
|
51
49
|
key: "backwardsForEach",
|
|
52
|
-
value: function
|
|
53
|
-
|
|
54
|
-
for(var index = lastIndex; index >= firstIndex; index--){
|
|
55
|
-
var declaration = this.array[index];
|
|
56
|
-
callback(declaration, index);
|
|
57
|
-
}
|
|
50
|
+
value: function backwardsForEach1(callback) {
|
|
51
|
+
backwardsForEach(this.array, callback);
|
|
58
52
|
}
|
|
59
53
|
},
|
|
60
54
|
{
|
|
@@ -62,7 +56,7 @@ var Declarations = /*#__PURE__*/ function() {
|
|
|
62
56
|
value: function unshift(declarations) {
|
|
63
57
|
var _this = this;
|
|
64
58
|
declarations.backwardsForEach(function(declaration) {
|
|
65
|
-
var matches = declaration.
|
|
59
|
+
var matches = declaration.matchDeclarations(_this); ///
|
|
66
60
|
if (!matches) {
|
|
67
61
|
_this.array.unshift(declaration);
|
|
68
62
|
}
|
|
@@ -109,4 +103,4 @@ var Declarations = /*#__PURE__*/ function() {
|
|
|
109
103
|
}();
|
|
110
104
|
exports.default = Declarations;
|
|
111
105
|
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9kZWNsYXJhdGlvbnMuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IERlY2xhcmF0aW9uIGZyb20gXCIuL2RlY2xhcmF0aW9uXCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBmb3J3YXJkc0ZvckVhY2gsIGJhY2t3YXJkc0ZvckVhY2ggfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5jb25zdCBkZWNsYXJhdGlvblF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvKi9kZWNsYXJhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVjbGFyYXRpb25zIHtcbiAgY29uc3RydWN0b3IoYXJyYXkpIHtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBmb3J3YXJkc0ZvckVhY2goY2FsbGJhY2spIHsgZm9yd2FyZHNGb3JFYWNoKHRoaXMuYXJyYXksIGNhbGxiYWNrKTsgfVxuXG4gIGJhY2t3YXJkc0ZvckVhY2goY2FsbGJhY2spIHsgYmFja3dhcmRzRm9yRWFjaCh0aGlzLmFycmF5LCBjYWxsYmFjayk7IH1cblxuICB1bnNoaWZ0KGRlY2xhcmF0aW9ucykge1xuICAgIGRlY2xhcmF0aW9ucy5iYWNrd2FyZHNGb3JFYWNoKChkZWNsYXJhdGlvbikgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IGRlY2xhcmF0aW9uLm1hdGNoRGVjbGFyYXRpb25zKHRoaXMpOyAvLy9cblxuICAgICAgaWYgKCFtYXRjaGVzKSB7XG4gICAgICAgIHRoaXMuYXJyYXkudW5zaGlmdChkZWNsYXJhdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc0NTUyhjbGFzc05hbWUsIGluZGVudCkge1xuICAgIGlmIChpbmRlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5kZW50ID0gY2xhc3NOYW1lOyAvLy9cblxuICAgICAgY2xhc3NOYW1lID0gbnVsbDsgLy8vXG4gICAgfVxuXG4gICAgbGV0IGNzcyA9IEVNUFRZX1NUUklORztcblxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuYXJyYXkubGVuZ3RoO1xuXG4gICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxhc3RJbmRleCA9IGxlbmd0aCAtIDEsXG4gICAgICAgICAgICBkZWNsYXJhdGlvbnNDU1MgPSB0aGlzLmFycmF5LnJlZHVjZSgoZGVjbGFyYXRpb25zQ1NTLCBkZWNsYXJhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbGFzdCA9IChpbmRleCA9PT0gbGFzdEluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgZGVjbGFyYXRpb25DU1MgPSBkZWNsYXJhdGlvbi5hc0NTUyhpbmRlbnQsIGxhc3QpO1xuXG4gICAgICAgICAgICAgIGRlY2xhcmF0aW9uc0NTUyArPSBkZWNsYXJhdGlvbkNTUztcblxuICAgICAgICAgICAgICByZXR1cm4gZGVjbGFyYXRpb25zQ1NTO1xuICAgICAgICAgICAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICAgICAgaWYgKGNsYXNzTmFtZSA9PT0gbnVsbCkge1xuICAgICAgICBjc3MgPSBkZWNsYXJhdGlvbnNDU1M7ICAvLy9cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNzcyA9IGAuJHtjbGFzc05hbWV9IHtcbiR7ZGVjbGFyYXRpb25zQ1NTfVxufVxuXG5gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjc3M7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gICAgY29uc3QgZGVjbGFyYXRpb25Ob2RlcyA9IGRlY2xhcmF0aW9uUXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgICBhcnJheSA9IGRlY2xhcmF0aW9uTm9kZXMubWFwKChkZWNsYXJhdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBkZWNsYXJhdGlvbk5vZGUsIC8vL1xuICAgICAgICAgICAgICAgICAgZGVjbGFyYXRpb24gPSBEZWNsYXJhdGlvbi5mcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpO1xuXG4gICAgICAgICAgICByZXR1cm4gZGVjbGFyYXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZGVjbGFyYXRpb25zID0gbmV3IERlY2xhcmF0aW9ucyhhcnJheSk7XG5cbiAgICByZXR1cm4gZGVjbGFyYXRpb25zO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbImZvcndhcmRzRm9yRWFjaCIsImFycmF5VXRpbGl0aWVzIiwiYmFja3dhcmRzRm9yRWFjaCIsImRlY2xhcmF0aW9uUXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uIiwiRGVjbGFyYXRpb25zIiwiYXJyYXkiLCJjYWxsYmFjayIsInVuc2hpZnQiLCJkZWNsYXJhdGlvbnMiLCJkZWNsYXJhdGlvbiIsIm1hdGNoZXMiLCJtYXRjaERlY2xhcmF0aW9ucyIsImFzQ1NTIiwiY2xhc3NOYW1lIiwiaW5kZW50IiwidW5kZWZpbmVkIiwiY3NzIiwiRU1QVFlfU1RSSU5HIiwibGVuZ3RoIiwibGFzdEluZGV4IiwiZGVjbGFyYXRpb25zQ1NTIiwicmVkdWNlIiwiaW5kZXgiLCJsYXN0IiwiZGVjbGFyYXRpb25DU1MiLCJmcm9tTm9kZUFuZFRva2VucyIsIm5vZGUiLCJ0b2tlbnMiLCJkZWNsYXJhdGlvbk5vZGVzIiwiZXhlY3V0ZSIsIm1hcCIsImRlY2xhcmF0aW9uTm9kZSIsIkRlY2xhcmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7O0FBRVMsSUFBQSxXQUFhLFdBQWIsYUFBYSxDQUFBO0FBQ0osSUFB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
|
package/lib/utilities/styles.js
CHANGED
|
@@ -23,6 +23,7 @@ function renderStyle(style) {
|
|
|
23
23
|
innerHTML: innerHTML
|
|
24
24
|
});
|
|
25
25
|
headDOMElement.appendChild(styleDOMElement);
|
|
26
|
+
return styleDOMElement;
|
|
26
27
|
}
|
|
27
28
|
function renderStyles() {
|
|
28
29
|
var stylesCSS = retrieveStylesCSS(), style = stylesCSS; ///
|
|
@@ -60,4 +61,4 @@ function retrieveStylesCSS() {
|
|
|
60
61
|
return stylesCSS1;
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3R5bGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3R5bGUgZnJvbSBcIi4uL3N0eWxlXCI7XG5pbXBvcnQgQ1NTTGV4ZXIgZnJvbSBcIi4uL2Nzcy9sZXhlclwiO1xuaW1wb3J0IENTU1BhcnNlciBmcm9tIFwiLi4vY3NzL3BhcnNlclwiO1xuXG5pbXBvcnQgeyBIRUFELCBTVFlMRSwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCBjc3NMZXhlciA9IENTU0xleGVyLmZyb21Ob3RoaW5nKCksXG4gICAgICBjc3NQYXJzZXIgPSBDU1NQYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuaWYgKCFnbG9iYWxUaGlzLnN0eWxlTWFwKSB7XG4gIGdsb2JhbFRoaXMuc3R5bGVNYXAgPSB7fTtcbn1cblxuY29uc3QgeyBzdHlsZU1hcCB9ID0gZ2xvYmFsVGhpcztcblxuZnVuY3Rpb24gcmVuZGVyU3R5bGUoc3R5bGUpIHtcbiAgY29uc3QgaGVhZERPTUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKEhFQUQpLFxuICAgICAgICBzdHlsZURPTUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFNUWUxFKSxcbiAgICAgICAgaW5uZXJIVE1MID0gYFxuICAgICAgICBcbiR7c3R5bGV9YDtcblxuICBPYmplY3QuYXNzaWduKHN0eWxlRE9NRWxlbWVudCwge1xuICAgIGlubmVySFRNTFxuICB9KTtcblxuICBoZWFkRE9NRWxlbWVudC5hcHBlbmRDaGlsZChzdHlsZURPTUVsZW1lbnQpO1xuXG4gIHJldHVybiBzdHlsZURPTUVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIHJlbmRlclN0eWxlcygpIHtcbiAgY29uc3Qgc3R5bGVzQ1NTID0gcmV0cmlldmVTdHlsZXNDU1MoKSxcbiAgICAgICAgc3R5bGUgPSBzdHlsZXNDU1M7ICAvLy9cblxuICByZW5kZXJTdHlsZShzdHlsZSk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlU3R5bGUoYXJncywgY2xhc3NOYW1lLCBzdXBlclN0eWxlID0gbnVsbCkge1xuICBjb25zdCBzdHJpbmdzID0gYXJncy5zaGlmdCgpLFx0Ly8vXG4gICAgICAgIGNvbnRlbnQgPSBzdHJpbmdzLnJlZHVjZSgoY29udGVudCwgc3RyaW5nLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFyZyA9IGFyZ3NbaW5kZXhdO1xuXG4gICAgICAgICAgY29udGVudCA9IChhcmcgIT09IHVuZGVmaW5lZCkgP1xuICAgICAgICAgICAgICAgICAgICAgIGAke2NvbnRlbnR9JHtzdHJpbmd9JHthcmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICBgJHtjb250ZW50fSR7c3RyaW5nfWA7XG5cbiAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgfSwgRU1QVFlfU1RSSU5HKSxcbiAgICAgICAgdG9rZW5zID0gY3NzTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgIG5vZGUgPSBjc3NQYXJzZXIucGFyc2UodG9rZW5zKSxcbiAgICAgICAgc3R5bGUgPSBTdHlsZS5mcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpO1xuXG4gIGlmIChzdXBlclN0eWxlICE9PSBudWxsKSB7XG4gICAgc3R5bGUuZXh0ZW5kcyhzdXBlclN0eWxlKTtcbiAgfVxuXG4gIHN0eWxlTWFwW2NsYXNzTmFtZV0gPSBzdHlsZTtcbn1cblxuZnVuY3Rpb24gcmV0cmlldmVTdHlsZShjbGFzc05hbWUpIHtcbiAgY29uc3Qgc3R5bGUgPSBzdHlsZU1hcFtjbGFzc05hbWVdIHx8IG51bGw7XG5cbiAgcmV0dXJuIHN0eWxlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHJlbmRlclN0eWxlLFxuICByZW5kZXJTdHlsZXMsXG4gIGdlbmVyYXRlU3R5bGUsXG4gIHJldHJpZXZlU3R5bGVcbn07XG5cbmZ1bmN0aW9uIHJldHJpZXZlU3R5bGVzQ1NTKCkge1xuICBjb25zdCBjbGFzc05hbWVzID0gT2JqZWN0LmtleXMoc3R5bGVNYXApLFxuICAgICAgICBzdHlsZXNDU1MgPSBjbGFzc05hbWVzLnJlZHVjZSgoc3R5bGVzQ1NTLCBjbGFzc05hbWUpID0+IHtcbiAgICAgICAgICBjb25zdCBzdHlsZSA9IHJldHJpZXZlU3R5bGUoY2xhc3NOYW1lKSxcbiAgICAgICAgICAgICAgICBzdHlsZUNTUyA9IHN0eWxlLmFzQ1NTKGNsYXNzTmFtZSk7XG5cbiAgICAgICAgICBzdHlsZXNDU1MgKz0gc3R5bGVDU1M7XG5cbiAgICAgICAgICByZXR1cm4gc3R5bGVzQ1NTO1xuICAgICAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBzdHlsZXNDU1M7XG59XG4iXSwibmFtZXMiOlsiY3NzTGV4ZXIiLCJDU1NMZXhlciIsImZyb21Ob3RoaW5nIiwiY3NzUGFyc2VyIiwiQ1NTUGFyc2VyIiwiZ2xvYmFsVGhpcyIsInN0eWxlTWFwIiwicmVuZGVyU3R5bGUiLCJzdHlsZSIsImhlYWRET01FbGVtZW50IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiSEVBRCIsInN0eWxlRE9NRWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJTVFlMRSIsImlubmVySFRNTCIsIk9iamVjdCIsImFzc2lnbiIsImFwcGVuZENoaWxkIiwicmVuZGVyU3R5bGVzIiwic3R5bGVzQ1NTIiwicmV0cmlldmVTdHlsZXNDU1MiLCJnZW5lcmF0ZVN0eWxlIiwiYXJncyIsImNsYXNzTmFtZSIsInN1cGVyU3R5bGUiLCJzdHJpbmdzIiwic2hpZnQiLCJjb250ZW50IiwicmVkdWNlIiwic3RyaW5nIiwiaW5kZXgiLCJhcmciLCJ1bmRlZmluZWQiLCJFTVBUWV9TVFJJTkciLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsIlN0eWxlIiwiZnJvbU5vZGVBbmRUb2tlbnMiLCJleHRlbmRzIiwicmV0cmlldmVTdHlsZSIsImNsYXNzTmFtZXMiLCJrZXlzIiwic3R5bGVD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
|
package/package.json
CHANGED
package/src/css/bnf.js
CHANGED
|
@@ -2,45 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
const bnf = `
|
|
4
4
|
|
|
5
|
+
stylesheet ::= ( media | ruleSet | declaration | error )+ ;
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
stylesheet ::= ( media | ruleSet | declaration | error )+ ;
|
|
8
8
|
|
|
9
|
+
media ::= "@media" mediaQueries "{" ( ruleSet | declaration )* "}" ;
|
|
10
|
+
|
|
11
|
+
ruleSet ::= selectors "{" declaration* "}" ;
|
|
12
|
+
|
|
13
|
+
declaration ::= propertyName ":" propertyValues important? ";" ;
|
|
9
14
|
|
|
15
|
+
error! ::= . ;
|
|
10
16
|
|
|
11
17
|
|
|
12
18
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
propertyValues ::= propertyValue ( "," propertyValue )* ;
|
|
20
|
+
|
|
21
|
+
|
|
16
22
|
mediaQueries ::= mediaQuery ( "," mediaQuery )* ;
|
|
17
23
|
|
|
18
24
|
|
|
25
|
+
selectors ::= selector ( "," selector )* ;
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
19
29
|
mediaQuery ::= "not"? ( "only"? mediaType "and" )? mediaExpression ( "and" mediaExpression )* ;
|
|
20
30
|
|
|
21
31
|
|
|
22
32
|
mediaType ::= "all" | "print" | "screen" | "speech" ;
|
|
23
33
|
|
|
24
34
|
|
|
25
|
-
mediaExpression ::= "(" [identifier] ( ":"
|
|
35
|
+
mediaExpression ::= "(" [identifier] ( ":" propertyValue )? ")" ;
|
|
26
36
|
|
|
27
37
|
|
|
28
38
|
|
|
39
|
+
propertyValue ::= term ( ","? term )* ;
|
|
29
40
|
|
|
30
41
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
selectors ::= selector ( "," selector )* ;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
selector ::= ( class | pseudoClass | pseudoElement | attribute )+ ;
|
|
42
|
+
propertyName ::= [identifier] ;
|
|
38
43
|
|
|
39
44
|
|
|
45
|
+
important ::= "!important" ;
|
|
40
46
|
|
|
41
47
|
|
|
48
|
+
selector ::= ( class | pseudoClass | pseudoElement | attribute )+ ;
|
|
42
49
|
|
|
43
|
-
declaration ::= property ":" expression ( "," expression )* priority? ";" ;
|
|
44
50
|
|
|
45
51
|
|
|
46
52
|
class ::= "."<NO_WHITESPACE>[identifier] parenthesisedSelector? ;
|
|
@@ -55,6 +61,7 @@ const bnf = `
|
|
|
55
61
|
parenthesisedSelector ::= <NO_WHITESPACE>"(" selector <NO_WHITESPACE>")" ;
|
|
56
62
|
|
|
57
63
|
|
|
64
|
+
|
|
58
65
|
attribute ::= "["
|
|
59
66
|
|
|
60
67
|
[identifier]
|
|
@@ -72,17 +79,6 @@ const bnf = `
|
|
|
72
79
|
;
|
|
73
80
|
|
|
74
81
|
|
|
75
|
-
property ::= [identifier] ;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
expression ::= term ( ","? term )* ;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
priority ::= "!important" ;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
82
|
|
|
87
83
|
term ::= [arithmetic-operator]?
|
|
88
84
|
|
|
@@ -118,15 +114,7 @@ const bnf = `
|
|
|
118
114
|
uri ::= "url"<NO_WHITESPACE>"(" [string-literal] ")" ;
|
|
119
115
|
|
|
120
116
|
|
|
121
|
-
function ::= [identifier]<NO_WHITESPACE>"("
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
error! ::= . ;
|
|
128
|
-
|
|
129
|
-
|
|
117
|
+
function ::= [identifier]<NO_WHITESPACE>"(" propertyValue ")" ;
|
|
130
118
|
|
|
131
119
|
`;
|
|
132
120
|
|
package/src/style/declaration.js
CHANGED
|
@@ -5,35 +5,47 @@ import { Query } from "occam-query";
|
|
|
5
5
|
import { EMPTY_STRING } from "../constants";
|
|
6
6
|
import { contentFromQueryNodeAndTokens } from "../utilities/content";
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const importantQuery = Query.fromExpression("/*/important"),
|
|
9
|
+
propertyNameQuery = Query.fromExpression("/*/propertyName"),
|
|
10
|
+
propertyValuesQuery = Query.fromExpression("/*/propertyValues");
|
|
11
11
|
|
|
12
12
|
export default class Declaration {
|
|
13
|
-
constructor(
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
13
|
+
constructor(propertyValues, propertyName, important) {
|
|
14
|
+
this.propertyValues = propertyValues;
|
|
15
|
+
this.propertyName = propertyName;
|
|
16
|
+
this.important = important;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
return this.
|
|
19
|
+
getPropertyValues() {
|
|
20
|
+
return this.propertyValues;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
return this.
|
|
23
|
+
getNameProperty() {
|
|
24
|
+
return this.propertyName;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
return this.
|
|
27
|
+
getImportant() {
|
|
28
|
+
return this.important;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
matchPropertyName(propertyName) {
|
|
32
|
+
const matches = (this.propertyName === propertyName);
|
|
33
|
+
|
|
34
|
+
return matches;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
matchDeclaration(declaration) {
|
|
38
|
+
const propertyName = declaration.getPropertyName(),
|
|
39
|
+
matches = this.matchPropertyName(propertyName); ///
|
|
40
|
+
|
|
41
|
+
return matches;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
matchDeclarations(declarations) {
|
|
32
45
|
const matches = declarations.some((declaration) => {
|
|
33
|
-
const
|
|
34
|
-
propertiesMatch = (property === this.property);
|
|
46
|
+
const matches = this.matchDeclaration(declaration);
|
|
35
47
|
|
|
36
|
-
if (
|
|
48
|
+
if (matches) {
|
|
37
49
|
return true;
|
|
38
50
|
}
|
|
39
51
|
});
|
|
@@ -43,22 +55,22 @@ export default class Declaration {
|
|
|
43
55
|
|
|
44
56
|
asCSS(indent, last) {
|
|
45
57
|
const css = last ?
|
|
46
|
-
|
|
47
|
-
|
|
58
|
+
`${indent}${this.propertyName}: ${this.propertyValues}${this.important};` :
|
|
59
|
+
`${indent}${this.propertyName}: ${this.propertyValues}${this.important};\n`;
|
|
48
60
|
|
|
49
61
|
return css;
|
|
50
62
|
}
|
|
51
63
|
|
|
52
64
|
static fromNodeAndTokens(node, tokens) {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
declaration = new Declaration(
|
|
65
|
+
const propertyValuesContent = contentFromQueryNodeAndTokens(propertyValuesQuery, node, tokens),
|
|
66
|
+
propertyNameContent = contentFromQueryNodeAndTokens(propertyNameQuery, node, tokens),
|
|
67
|
+
importantContent = contentFromQueryNodeAndTokens(importantQuery, node, tokens),
|
|
68
|
+
propertyValues = propertyValuesContent, ///
|
|
69
|
+
propertyName = propertyNameContent, ///
|
|
70
|
+
important = (importantContent === null) ?
|
|
71
|
+
EMPTY_STRING :
|
|
72
|
+
` ${importantContent}`,
|
|
73
|
+
declaration = new Declaration(propertyValues, propertyName, important);
|
|
62
74
|
|
|
63
75
|
return declaration;
|
|
64
76
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Query } from "occam-query";
|
|
4
|
+
import { arrayUtilities } from "necessary";
|
|
4
5
|
|
|
5
6
|
import Declaration from "./declaration";
|
|
6
7
|
|
|
7
8
|
import { EMPTY_STRING } from "../constants";
|
|
8
9
|
|
|
10
|
+
const { forwardsForEach, backwardsForEach } = arrayUtilities;
|
|
11
|
+
|
|
9
12
|
const declarationQuery = Query.fromExpression("/*/declaration");
|
|
10
13
|
|
|
11
14
|
export default class Declarations {
|
|
@@ -13,33 +16,13 @@ export default class Declarations {
|
|
|
13
16
|
this.array = array;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
|
-
forwardsForEach(callback) {
|
|
17
|
-
const length = this.array.length,
|
|
18
|
-
firstIndex = 0,
|
|
19
|
-
lastIndex = length - 1;
|
|
20
|
-
|
|
21
|
-
for (let index = firstIndex; index <= lastIndex; index++) {
|
|
22
|
-
const declaration = this.array[index];
|
|
23
|
-
|
|
24
|
-
callback(declaration, index);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
19
|
+
forwardsForEach(callback) { forwardsForEach(this.array, callback); }
|
|
27
20
|
|
|
28
|
-
backwardsForEach(callback) {
|
|
29
|
-
const length = this.array.length,
|
|
30
|
-
firstIndex = 0,
|
|
31
|
-
lastIndex = length - 1;
|
|
32
|
-
|
|
33
|
-
for (let index = lastIndex; index >= firstIndex; index--) {
|
|
34
|
-
const declaration = this.array[index];
|
|
35
|
-
|
|
36
|
-
callback(declaration, index);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
21
|
+
backwardsForEach(callback) { backwardsForEach(this.array, callback); }
|
|
39
22
|
|
|
40
23
|
unshift(declarations) {
|
|
41
24
|
declarations.backwardsForEach((declaration) => {
|
|
42
|
-
const matches = declaration.
|
|
25
|
+
const matches = declaration.matchDeclarations(this); ///
|
|
43
26
|
|
|
44
27
|
if (!matches) {
|
|
45
28
|
this.array.unshift(declaration);
|
package/src/utilities/styles.js
CHANGED
|
@@ -27,6 +27,8 @@ ${style}`;
|
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
headDOMElement.appendChild(styleDOMElement);
|
|
30
|
+
|
|
31
|
+
return styleDOMElement;
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
function renderStyles() {
|
|
@@ -51,11 +53,11 @@ function generateStyle(args, className, superStyle = null) {
|
|
|
51
53
|
node = cssParser.parse(tokens),
|
|
52
54
|
style = Style.fromNodeAndTokens(node, tokens);
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
if (superStyle !== null) {
|
|
57
|
+
style.extends(superStyle);
|
|
58
|
+
}
|
|
57
59
|
|
|
58
|
-
|
|
60
|
+
styleMap[className] = style;
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
function retrieveStyle(className) {
|