@zipify/wysiwyg 1.1.1-0 → 1.1.1

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.
Files changed (164) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/wysiwyg.css +11 -11
  3. package/dist/wysiwyg.mjs +46 -53
  4. package/lib/components/toolbar/controls/link/LinkControl.vue +4 -5
  5. package/lib/components/toolbar/controls/link/LinkControlHeader.vue +2 -2
  6. package/lib/components/toolbar/controls/link/__tests__/LinkControl.test.js +1 -1
  7. package/lib/components/toolbar/controls/link/__tests__/LinkControlHeader.test.js +1 -1
  8. package/lib/components/toolbar/controls/link/composables/useLink.js +5 -7
  9. package/lib/enums/TextSettings.js +0 -2
  10. package/lib/extensions/Alignment.js +10 -8
  11. package/lib/extensions/FontSize.js +8 -3
  12. package/lib/extensions/FontStyle.js +2 -2
  13. package/lib/extensions/LineHeight.js +10 -4
  14. package/lib/extensions/Link.js +15 -13
  15. package/lib/extensions/TextDecoration.js +13 -12
  16. package/lib/extensions/__tests__/FontFamily.test.js +6 -7
  17. package/lib/extensions/__tests__/FontWeight.test.js +10 -11
  18. package/lib/extensions/__tests__/TextDecoration.test.js +42 -73
  19. package/lib/extensions/__tests__/__snapshots__/Alignment.test.js.snap +3 -3
  20. package/lib/extensions/__tests__/__snapshots__/FontFamily.test.js.snap +0 -18
  21. package/lib/extensions/__tests__/__snapshots__/FontSize.test.js.snap +9 -9
  22. package/lib/extensions/__tests__/__snapshots__/FontStyle.test.js.snap +0 -16
  23. package/lib/extensions/__tests__/__snapshots__/LineHeight.test.js.snap +5 -5
  24. package/lib/extensions/__tests__/__snapshots__/TextDecoration.test.js.snap +43 -0
  25. package/lib/services/NodeFactory.js +4 -1
  26. package/node_modules_lambda/acorn-globals/node_modules/.bin/acorn +4 -0
  27. package/node_modules_lambda/acorn-globals/node_modules/acorn/CHANGELOG.md +620 -0
  28. package/node_modules_lambda/acorn-globals/node_modules/acorn/LICENSE +21 -0
  29. package/node_modules_lambda/acorn-globals/node_modules/acorn/README.md +269 -0
  30. package/node_modules_lambda/acorn-globals/node_modules/acorn/bin/acorn +4 -0
  31. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.d.ts +209 -0
  32. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.js +5186 -0
  33. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.js.map +1 -0
  34. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs +5155 -0
  35. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs.d.ts +2 -0
  36. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs.map +1 -0
  37. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/bin.js +64 -0
  38. package/node_modules_lambda/acorn-globals/node_modules/acorn/package.json +35 -0
  39. package/node_modules_lambda/cssstyle/node_modules/cssom/LICENSE.txt +20 -0
  40. package/node_modules_lambda/cssstyle/node_modules/cssom/README.mdown +67 -0
  41. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSDocumentRule.js +39 -0
  42. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSFontFaceRule.js +36 -0
  43. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSHostRule.js +37 -0
  44. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSImportRule.js +132 -0
  45. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSKeyframeRule.js +37 -0
  46. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSKeyframesRule.js +39 -0
  47. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSMediaRule.js +41 -0
  48. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSOM.js +3 -0
  49. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSRule.js +43 -0
  50. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleDeclaration.js +148 -0
  51. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleRule.js +190 -0
  52. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleSheet.js +88 -0
  53. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSSupportsRule.js +36 -0
  54. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSValue.js +43 -0
  55. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSValueExpression.js +344 -0
  56. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/MatcherList.js +62 -0
  57. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/MediaList.js +61 -0
  58. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/StyleSheet.js +17 -0
  59. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/clone.js +82 -0
  60. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/index.js +21 -0
  61. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/parse.js +464 -0
  62. package/node_modules_lambda/cssstyle/node_modules/cssom/package.json +18 -0
  63. package/node_modules_lambda/data-urls/node_modules/whatwg-url/LICENSE.txt +21 -0
  64. package/node_modules_lambda/data-urls/node_modules/whatwg-url/README.md +106 -0
  65. package/node_modules_lambda/data-urls/node_modules/whatwg-url/index.js +27 -0
  66. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/Function.js +42 -0
  67. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URL-impl.js +209 -0
  68. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URL.js +442 -0
  69. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URLSearchParams-impl.js +130 -0
  70. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URLSearchParams.js +472 -0
  71. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/VoidFunction.js +26 -0
  72. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/encoding.js +16 -0
  73. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/infra.js +26 -0
  74. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/percent-encoding.js +142 -0
  75. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/url-state-machine.js +1244 -0
  76. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/urlencoded.js +106 -0
  77. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/utils.js +190 -0
  78. package/node_modules_lambda/data-urls/node_modules/whatwg-url/package.json +58 -0
  79. package/node_modules_lambda/data-urls/node_modules/whatwg-url/webidl2js-wrapper.js +7 -0
  80. package/node_modules_lambda/escodegen/node_modules/estraverse/.jshintrc +16 -0
  81. package/node_modules_lambda/escodegen/node_modules/estraverse/LICENSE.BSD +19 -0
  82. package/node_modules_lambda/escodegen/node_modules/estraverse/README.md +153 -0
  83. package/node_modules_lambda/escodegen/node_modules/estraverse/estraverse.js +805 -0
  84. package/node_modules_lambda/escodegen/node_modules/estraverse/gulpfile.js +70 -0
  85. package/node_modules_lambda/escodegen/node_modules/estraverse/package.json +40 -0
  86. package/node_modules_lambda/escodegen/node_modules/levn/LICENSE +22 -0
  87. package/node_modules_lambda/escodegen/node_modules/levn/README.md +196 -0
  88. package/node_modules_lambda/escodegen/node_modules/levn/lib/cast.js +298 -0
  89. package/node_modules_lambda/escodegen/node_modules/levn/lib/coerce.js +285 -0
  90. package/node_modules_lambda/escodegen/node_modules/levn/lib/index.js +22 -0
  91. package/node_modules_lambda/escodegen/node_modules/levn/lib/parse-string.js +113 -0
  92. package/node_modules_lambda/escodegen/node_modules/levn/lib/parse.js +102 -0
  93. package/node_modules_lambda/escodegen/node_modules/levn/package.json +47 -0
  94. package/node_modules_lambda/escodegen/node_modules/optionator/CHANGELOG.md +56 -0
  95. package/node_modules_lambda/escodegen/node_modules/optionator/LICENSE +22 -0
  96. package/node_modules_lambda/escodegen/node_modules/optionator/README.md +238 -0
  97. package/node_modules_lambda/escodegen/node_modules/optionator/lib/help.js +260 -0
  98. package/node_modules_lambda/escodegen/node_modules/optionator/lib/index.js +465 -0
  99. package/node_modules_lambda/escodegen/node_modules/optionator/lib/util.js +54 -0
  100. package/node_modules_lambda/escodegen/node_modules/optionator/package.json +44 -0
  101. package/node_modules_lambda/escodegen/node_modules/prelude-ls/CHANGELOG.md +99 -0
  102. package/node_modules_lambda/escodegen/node_modules/prelude-ls/LICENSE +22 -0
  103. package/node_modules_lambda/escodegen/node_modules/prelude-ls/README.md +15 -0
  104. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Func.js +65 -0
  105. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/List.js +686 -0
  106. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Num.js +130 -0
  107. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Obj.js +154 -0
  108. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Str.js +92 -0
  109. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/index.js +178 -0
  110. package/node_modules_lambda/escodegen/node_modules/prelude-ls/package.json +52 -0
  111. package/node_modules_lambda/escodegen/node_modules/source-map/CHANGELOG.md +301 -0
  112. package/node_modules_lambda/escodegen/node_modules/source-map/LICENSE +28 -0
  113. package/node_modules_lambda/escodegen/node_modules/source-map/README.md +742 -0
  114. package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.debug.js +3234 -0
  115. package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.js +3233 -0
  116. package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.min.js +2 -0
  117. package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.min.js.map +1 -0
  118. package/node_modules_lambda/escodegen/node_modules/source-map/lib/array-set.js +121 -0
  119. package/node_modules_lambda/escodegen/node_modules/source-map/lib/base64-vlq.js +140 -0
  120. package/node_modules_lambda/escodegen/node_modules/source-map/lib/base64.js +67 -0
  121. package/node_modules_lambda/escodegen/node_modules/source-map/lib/binary-search.js +111 -0
  122. package/node_modules_lambda/escodegen/node_modules/source-map/lib/mapping-list.js +79 -0
  123. package/node_modules_lambda/escodegen/node_modules/source-map/lib/quick-sort.js +114 -0
  124. package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  125. package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-map-generator.js +425 -0
  126. package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-node.js +413 -0
  127. package/node_modules_lambda/escodegen/node_modules/source-map/lib/util.js +488 -0
  128. package/node_modules_lambda/escodegen/node_modules/source-map/package.json +73 -0
  129. package/node_modules_lambda/escodegen/node_modules/source-map/source-map.d.ts +98 -0
  130. package/node_modules_lambda/escodegen/node_modules/source-map/source-map.js +8 -0
  131. package/node_modules_lambda/escodegen/node_modules/type-check/LICENSE +22 -0
  132. package/node_modules_lambda/escodegen/node_modules/type-check/README.md +210 -0
  133. package/node_modules_lambda/escodegen/node_modules/type-check/lib/check.js +126 -0
  134. package/node_modules_lambda/escodegen/node_modules/type-check/lib/index.js +16 -0
  135. package/node_modules_lambda/escodegen/node_modules/type-check/lib/parse-type.js +196 -0
  136. package/node_modules_lambda/escodegen/node_modules/type-check/package.json +40 -0
  137. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/.github/dependabot.yml +11 -0
  138. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/Changelog.md +212 -0
  139. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/LICENSE +21 -0
  140. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/README.md +130 -0
  141. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +597 -0
  142. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-data.js +188 -0
  143. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/index.js +23 -0
  144. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/internal.js +198 -0
  145. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  146. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  147. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
  148. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  149. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  150. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  151. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  152. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  153. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  154. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  155. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  156. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf16.js +197 -0
  157. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf32.js +319 -0
  158. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf7.js +290 -0
  159. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  160. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/index.d.ts +41 -0
  161. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/index.js +180 -0
  162. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/streams.js +109 -0
  163. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/package.json +44 -0
  164. package/package.json +1 -1
@@ -0,0 +1,148 @@
1
+ //.CommonJS
2
+ var CSSOM = {};
3
+ ///CommonJS
4
+
5
+
6
+ /**
7
+ * @constructor
8
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration
9
+ */
10
+ CSSOM.CSSStyleDeclaration = function CSSStyleDeclaration(){
11
+ this.length = 0;
12
+ this.parentRule = null;
13
+
14
+ // NON-STANDARD
15
+ this._importants = {};
16
+ };
17
+
18
+
19
+ CSSOM.CSSStyleDeclaration.prototype = {
20
+
21
+ constructor: CSSOM.CSSStyleDeclaration,
22
+
23
+ /**
24
+ *
25
+ * @param {string} name
26
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue
27
+ * @return {string} the value of the property if it has been explicitly set for this declaration block.
28
+ * Returns the empty string if the property has not been set.
29
+ */
30
+ getPropertyValue: function(name) {
31
+ return this[name] || "";
32
+ },
33
+
34
+ /**
35
+ *
36
+ * @param {string} name
37
+ * @param {string} value
38
+ * @param {string} [priority=null] "important" or null
39
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty
40
+ */
41
+ setProperty: function(name, value, priority) {
42
+ if (this[name]) {
43
+ // Property already exist. Overwrite it.
44
+ var index = Array.prototype.indexOf.call(this, name);
45
+ if (index < 0) {
46
+ this[this.length] = name;
47
+ this.length++;
48
+ }
49
+ } else {
50
+ // New property.
51
+ this[this.length] = name;
52
+ this.length++;
53
+ }
54
+ this[name] = value + "";
55
+ this._importants[name] = priority;
56
+ },
57
+
58
+ /**
59
+ *
60
+ * @param {string} name
61
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty
62
+ * @return {string} the value of the property if it has been explicitly set for this declaration block.
63
+ * Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property.
64
+ */
65
+ removeProperty: function(name) {
66
+ if (!(name in this)) {
67
+ return "";
68
+ }
69
+ var index = Array.prototype.indexOf.call(this, name);
70
+ if (index < 0) {
71
+ return "";
72
+ }
73
+ var prevValue = this[name];
74
+ this[name] = "";
75
+
76
+ // That's what WebKit and Opera do
77
+ Array.prototype.splice.call(this, index, 1);
78
+
79
+ // That's what Firefox does
80
+ //this[index] = ""
81
+
82
+ return prevValue;
83
+ },
84
+
85
+ getPropertyCSSValue: function() {
86
+ //FIXME
87
+ },
88
+
89
+ /**
90
+ *
91
+ * @param {String} name
92
+ */
93
+ getPropertyPriority: function(name) {
94
+ return this._importants[name] || "";
95
+ },
96
+
97
+
98
+ /**
99
+ * element.style.overflow = "auto"
100
+ * element.style.getPropertyShorthand("overflow-x")
101
+ * -> "overflow"
102
+ */
103
+ getPropertyShorthand: function() {
104
+ //FIXME
105
+ },
106
+
107
+ isPropertyImplicit: function() {
108
+ //FIXME
109
+ },
110
+
111
+ // Doesn't work in IE < 9
112
+ get cssText(){
113
+ var properties = [];
114
+ for (var i=0, length=this.length; i < length; ++i) {
115
+ var name = this[i];
116
+ var value = this.getPropertyValue(name);
117
+ var priority = this.getPropertyPriority(name);
118
+ if (priority) {
119
+ priority = " !" + priority;
120
+ }
121
+ properties[i] = name + ": " + value + priority + ";";
122
+ }
123
+ return properties.join(" ");
124
+ },
125
+
126
+ set cssText(text){
127
+ var i, name;
128
+ for (i = this.length; i--;) {
129
+ name = this[i];
130
+ this[name] = "";
131
+ }
132
+ Array.prototype.splice.call(this, 0, this.length);
133
+ this._importants = {};
134
+
135
+ var dummyRule = CSSOM.parse('#bogus{' + text + '}').cssRules[0].style;
136
+ var length = dummyRule.length;
137
+ for (i = 0; i < length; ++i) {
138
+ name = dummyRule[i];
139
+ this.setProperty(dummyRule[i], dummyRule.getPropertyValue(name), dummyRule.getPropertyPriority(name));
140
+ }
141
+ }
142
+ };
143
+
144
+
145
+ //.CommonJS
146
+ exports.CSSStyleDeclaration = CSSOM.CSSStyleDeclaration;
147
+ CSSOM.parse = require('./parse').parse; // Cannot be included sooner due to the mutual dependency between parse.js and CSSStyleDeclaration.js
148
+ ///CommonJS
@@ -0,0 +1,190 @@
1
+ //.CommonJS
2
+ var CSSOM = {
3
+ CSSStyleDeclaration: require("./CSSStyleDeclaration").CSSStyleDeclaration,
4
+ CSSRule: require("./CSSRule").CSSRule
5
+ };
6
+ ///CommonJS
7
+
8
+
9
+ /**
10
+ * @constructor
11
+ * @see http://dev.w3.org/csswg/cssom/#cssstylerule
12
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule
13
+ */
14
+ CSSOM.CSSStyleRule = function CSSStyleRule() {
15
+ CSSOM.CSSRule.call(this);
16
+ this.selectorText = "";
17
+ this.style = new CSSOM.CSSStyleDeclaration();
18
+ this.style.parentRule = this;
19
+ };
20
+
21
+ CSSOM.CSSStyleRule.prototype = new CSSOM.CSSRule();
22
+ CSSOM.CSSStyleRule.prototype.constructor = CSSOM.CSSStyleRule;
23
+ CSSOM.CSSStyleRule.prototype.type = 1;
24
+
25
+ Object.defineProperty(CSSOM.CSSStyleRule.prototype, "cssText", {
26
+ get: function() {
27
+ var text;
28
+ if (this.selectorText) {
29
+ text = this.selectorText + " {" + this.style.cssText + "}";
30
+ } else {
31
+ text = "";
32
+ }
33
+ return text;
34
+ },
35
+ set: function(cssText) {
36
+ var rule = CSSOM.CSSStyleRule.parse(cssText);
37
+ this.style = rule.style;
38
+ this.selectorText = rule.selectorText;
39
+ }
40
+ });
41
+
42
+
43
+ /**
44
+ * NON-STANDARD
45
+ * lightweight version of parse.js.
46
+ * @param {string} ruleText
47
+ * @return CSSStyleRule
48
+ */
49
+ CSSOM.CSSStyleRule.parse = function(ruleText) {
50
+ var i = 0;
51
+ var state = "selector";
52
+ var index;
53
+ var j = i;
54
+ var buffer = "";
55
+
56
+ var SIGNIFICANT_WHITESPACE = {
57
+ "selector": true,
58
+ "value": true
59
+ };
60
+
61
+ var styleRule = new CSSOM.CSSStyleRule();
62
+ var name, priority="";
63
+
64
+ for (var character; (character = ruleText.charAt(i)); i++) {
65
+
66
+ switch (character) {
67
+
68
+ case " ":
69
+ case "\t":
70
+ case "\r":
71
+ case "\n":
72
+ case "\f":
73
+ if (SIGNIFICANT_WHITESPACE[state]) {
74
+ // Squash 2 or more white-spaces in the row into 1
75
+ switch (ruleText.charAt(i - 1)) {
76
+ case " ":
77
+ case "\t":
78
+ case "\r":
79
+ case "\n":
80
+ case "\f":
81
+ break;
82
+ default:
83
+ buffer += " ";
84
+ break;
85
+ }
86
+ }
87
+ break;
88
+
89
+ // String
90
+ case '"':
91
+ j = i + 1;
92
+ index = ruleText.indexOf('"', j) + 1;
93
+ if (!index) {
94
+ throw '" is missing';
95
+ }
96
+ buffer += ruleText.slice(i, index);
97
+ i = index - 1;
98
+ break;
99
+
100
+ case "'":
101
+ j = i + 1;
102
+ index = ruleText.indexOf("'", j) + 1;
103
+ if (!index) {
104
+ throw "' is missing";
105
+ }
106
+ buffer += ruleText.slice(i, index);
107
+ i = index - 1;
108
+ break;
109
+
110
+ // Comment
111
+ case "/":
112
+ if (ruleText.charAt(i + 1) === "*") {
113
+ i += 2;
114
+ index = ruleText.indexOf("*/", i);
115
+ if (index === -1) {
116
+ throw new SyntaxError("Missing */");
117
+ } else {
118
+ i = index + 1;
119
+ }
120
+ } else {
121
+ buffer += character;
122
+ }
123
+ break;
124
+
125
+ case "{":
126
+ if (state === "selector") {
127
+ styleRule.selectorText = buffer.trim();
128
+ buffer = "";
129
+ state = "name";
130
+ }
131
+ break;
132
+
133
+ case ":":
134
+ if (state === "name") {
135
+ name = buffer.trim();
136
+ buffer = "";
137
+ state = "value";
138
+ } else {
139
+ buffer += character;
140
+ }
141
+ break;
142
+
143
+ case "!":
144
+ if (state === "value" && ruleText.indexOf("!important", i) === i) {
145
+ priority = "important";
146
+ i += "important".length;
147
+ } else {
148
+ buffer += character;
149
+ }
150
+ break;
151
+
152
+ case ";":
153
+ if (state === "value") {
154
+ styleRule.style.setProperty(name, buffer.trim(), priority);
155
+ priority = "";
156
+ buffer = "";
157
+ state = "name";
158
+ } else {
159
+ buffer += character;
160
+ }
161
+ break;
162
+
163
+ case "}":
164
+ if (state === "value") {
165
+ styleRule.style.setProperty(name, buffer.trim(), priority);
166
+ priority = "";
167
+ buffer = "";
168
+ } else if (state === "name") {
169
+ break;
170
+ } else {
171
+ buffer += character;
172
+ }
173
+ state = "selector";
174
+ break;
175
+
176
+ default:
177
+ buffer += character;
178
+ break;
179
+
180
+ }
181
+ }
182
+
183
+ return styleRule;
184
+
185
+ };
186
+
187
+
188
+ //.CommonJS
189
+ exports.CSSStyleRule = CSSOM.CSSStyleRule;
190
+ ///CommonJS
@@ -0,0 +1,88 @@
1
+ //.CommonJS
2
+ var CSSOM = {
3
+ StyleSheet: require("./StyleSheet").StyleSheet,
4
+ CSSStyleRule: require("./CSSStyleRule").CSSStyleRule
5
+ };
6
+ ///CommonJS
7
+
8
+
9
+ /**
10
+ * @constructor
11
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet
12
+ */
13
+ CSSOM.CSSStyleSheet = function CSSStyleSheet() {
14
+ CSSOM.StyleSheet.call(this);
15
+ this.cssRules = [];
16
+ };
17
+
18
+
19
+ CSSOM.CSSStyleSheet.prototype = new CSSOM.StyleSheet();
20
+ CSSOM.CSSStyleSheet.prototype.constructor = CSSOM.CSSStyleSheet;
21
+
22
+
23
+ /**
24
+ * Used to insert a new rule into the style sheet. The new rule now becomes part of the cascade.
25
+ *
26
+ * sheet = new Sheet("body {margin: 0}")
27
+ * sheet.toString()
28
+ * -> "body{margin:0;}"
29
+ * sheet.insertRule("img {border: none}", 0)
30
+ * -> 0
31
+ * sheet.toString()
32
+ * -> "img{border:none;}body{margin:0;}"
33
+ *
34
+ * @param {string} rule
35
+ * @param {number} index
36
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule
37
+ * @return {number} The index within the style sheet's rule collection of the newly inserted rule.
38
+ */
39
+ CSSOM.CSSStyleSheet.prototype.insertRule = function(rule, index) {
40
+ if (index < 0 || index > this.cssRules.length) {
41
+ throw new RangeError("INDEX_SIZE_ERR");
42
+ }
43
+ var cssRule = CSSOM.parse(rule).cssRules[0];
44
+ cssRule.parentStyleSheet = this;
45
+ this.cssRules.splice(index, 0, cssRule);
46
+ return index;
47
+ };
48
+
49
+
50
+ /**
51
+ * Used to delete a rule from the style sheet.
52
+ *
53
+ * sheet = new Sheet("img{border:none} body{margin:0}")
54
+ * sheet.toString()
55
+ * -> "img{border:none;}body{margin:0;}"
56
+ * sheet.deleteRule(0)
57
+ * sheet.toString()
58
+ * -> "body{margin:0;}"
59
+ *
60
+ * @param {number} index within the style sheet's rule list of the rule to remove.
61
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule
62
+ */
63
+ CSSOM.CSSStyleSheet.prototype.deleteRule = function(index) {
64
+ if (index < 0 || index >= this.cssRules.length) {
65
+ throw new RangeError("INDEX_SIZE_ERR");
66
+ }
67
+ this.cssRules.splice(index, 1);
68
+ };
69
+
70
+
71
+ /**
72
+ * NON-STANDARD
73
+ * @return {string} serialize stylesheet
74
+ */
75
+ CSSOM.CSSStyleSheet.prototype.toString = function() {
76
+ var result = "";
77
+ var rules = this.cssRules;
78
+ for (var i=0; i<rules.length; i++) {
79
+ result += rules[i].cssText + "\n";
80
+ }
81
+ return result;
82
+ };
83
+
84
+
85
+ //.CommonJS
86
+ exports.CSSStyleSheet = CSSOM.CSSStyleSheet;
87
+ CSSOM.parse = require('./parse').parse; // Cannot be included sooner due to the mutual dependency between parse.js and CSSStyleSheet.js
88
+ ///CommonJS
@@ -0,0 +1,36 @@
1
+ //.CommonJS
2
+ var CSSOM = {
3
+ CSSRule: require("./CSSRule").CSSRule,
4
+ };
5
+ ///CommonJS
6
+
7
+
8
+ /**
9
+ * @constructor
10
+ * @see https://drafts.csswg.org/css-conditional-3/#the-csssupportsrule-interface
11
+ */
12
+ CSSOM.CSSSupportsRule = function CSSSupportsRule() {
13
+ CSSOM.CSSRule.call(this);
14
+ this.conditionText = '';
15
+ this.cssRules = [];
16
+ };
17
+
18
+ CSSOM.CSSSupportsRule.prototype = new CSSOM.CSSRule();
19
+ CSSOM.CSSSupportsRule.prototype.constructor = CSSOM.CSSSupportsRule;
20
+ CSSOM.CSSSupportsRule.prototype.type = 12;
21
+
22
+ Object.defineProperty(CSSOM.CSSSupportsRule.prototype, "cssText", {
23
+ get: function() {
24
+ var cssTexts = [];
25
+
26
+ for (var i = 0, length = this.cssRules.length; i < length; i++) {
27
+ cssTexts.push(this.cssRules[i].cssText);
28
+ }
29
+
30
+ return "@supports " + this.conditionText + " {" + cssTexts.join("") + "}";
31
+ }
32
+ });
33
+
34
+ //.CommonJS
35
+ exports.CSSSupportsRule = CSSOM.CSSSupportsRule;
36
+ ///CommonJS
@@ -0,0 +1,43 @@
1
+ //.CommonJS
2
+ var CSSOM = {};
3
+ ///CommonJS
4
+
5
+
6
+ /**
7
+ * @constructor
8
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue
9
+ *
10
+ * TODO: add if needed
11
+ */
12
+ CSSOM.CSSValue = function CSSValue() {
13
+ };
14
+
15
+ CSSOM.CSSValue.prototype = {
16
+ constructor: CSSOM.CSSValue,
17
+
18
+ // @see: http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue
19
+ set cssText(text) {
20
+ var name = this._getConstructorName();
21
+
22
+ throw new Error('DOMException: property "cssText" of "' + name + '" is readonly and can not be replaced with "' + text + '"!');
23
+ },
24
+
25
+ get cssText() {
26
+ var name = this._getConstructorName();
27
+
28
+ throw new Error('getter "cssText" of "' + name + '" is not implemented!');
29
+ },
30
+
31
+ _getConstructorName: function() {
32
+ var s = this.constructor.toString(),
33
+ c = s.match(/function\s([^\(]+)/),
34
+ name = c[1];
35
+
36
+ return name;
37
+ }
38
+ };
39
+
40
+
41
+ //.CommonJS
42
+ exports.CSSValue = CSSOM.CSSValue;
43
+ ///CommonJS