@universityofmaryland/web-model-library 1.0.0 → 1.0.2-beta.0

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 (231) hide show
  1. package/README.md +1 -1
  2. package/dist/_virtual/___vite-browser-external.js +6 -7
  3. package/dist/_virtual/___vite-browser-external.js.map +1 -1
  4. package/dist/_virtual/__vite-browser-external.js +3 -2
  5. package/dist/_virtual/__vite-browser-external.js.map +1 -1
  6. package/dist/_virtual/_commonjsHelpers.js +4 -4
  7. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  8. package/dist/_virtual/index.js +7 -6
  9. package/dist/_virtual/index.js.map +1 -1
  10. package/dist/_virtual/picocolors.browser.js +3 -3
  11. package/dist/_virtual/picocolors.browser.js.map +1 -1
  12. package/dist/_virtual/postcss.js +7 -6
  13. package/dist/_virtual/postcss.js.map +1 -1
  14. package/dist/_virtual/symbols.js +3 -3
  15. package/dist/_virtual/symbols.js.map +1 -1
  16. package/dist/attributes/checks.d.ts +5 -6
  17. package/dist/attributes/checks.d.ts.map +1 -1
  18. package/dist/attributes/checks.js +338 -340
  19. package/dist/attributes/checks.js.map +1 -1
  20. package/dist/attributes/handler.d.ts +1 -2
  21. package/dist/attributes/handler.d.ts.map +1 -1
  22. package/dist/attributes/handler.js +20 -19
  23. package/dist/attributes/handler.js.map +1 -1
  24. package/dist/attributes/index.d.ts +4 -4
  25. package/dist/attributes/index.d.ts.map +1 -1
  26. package/dist/attributes/names.d.ts +4 -6
  27. package/dist/attributes/names.d.ts.map +1 -1
  28. package/dist/attributes/names.js +7 -8
  29. package/dist/attributes/names.js.map +1 -1
  30. package/dist/attributes/values.d.ts +13 -11
  31. package/dist/attributes/values.d.ts.map +1 -1
  32. package/dist/attributes/values.js +7 -3
  33. package/dist/attributes/values.js.map +1 -1
  34. package/dist/attributes.js +21 -22
  35. package/dist/attributes.js.map +1 -1
  36. package/dist/index.d.ts +1 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +12 -12
  39. package/dist/index.js.map +1 -1
  40. package/dist/model.js +7 -7
  41. package/dist/model.js.map +1 -1
  42. package/dist/node_modules/nanoid/non-secure/index.js +3 -3
  43. package/dist/node_modules/nanoid/non-secure/index.js.map +1 -1
  44. package/dist/node_modules/picocolors/picocolors.browser.js +8 -8
  45. package/dist/node_modules/picocolors/picocolors.browser.js.map +1 -1
  46. package/dist/node_modules/postcss/lib/at-rule.js +5 -5
  47. package/dist/node_modules/postcss/lib/at-rule.js.map +1 -1
  48. package/dist/node_modules/postcss/lib/comment.js +5 -5
  49. package/dist/node_modules/postcss/lib/comment.js.map +1 -1
  50. package/dist/node_modules/postcss/lib/container.js +69 -62
  51. package/dist/node_modules/postcss/lib/container.js.map +1 -1
  52. package/dist/node_modules/postcss/lib/css-syntax-error.js +30 -19
  53. package/dist/node_modules/postcss/lib/css-syntax-error.js.map +1 -1
  54. package/dist/node_modules/postcss/lib/declaration.js +8 -8
  55. package/dist/node_modules/postcss/lib/declaration.js.map +1 -1
  56. package/dist/node_modules/postcss/lib/document.js +5 -5
  57. package/dist/node_modules/postcss/lib/document.js.map +1 -1
  58. package/dist/node_modules/postcss/lib/fromJSON.js +19 -19
  59. package/dist/node_modules/postcss/lib/fromJSON.js.map +1 -1
  60. package/dist/node_modules/postcss/lib/input.js +51 -37
  61. package/dist/node_modules/postcss/lib/input.js.map +1 -1
  62. package/dist/node_modules/postcss/lib/lazy-result.js +67 -67
  63. package/dist/node_modules/postcss/lib/lazy-result.js.map +1 -1
  64. package/dist/node_modules/postcss/lib/list.js +3 -3
  65. package/dist/node_modules/postcss/lib/list.js.map +1 -1
  66. package/dist/node_modules/postcss/lib/map-generator.js +27 -18
  67. package/dist/node_modules/postcss/lib/map-generator.js.map +1 -1
  68. package/dist/node_modules/postcss/lib/no-work-result.js +54 -51
  69. package/dist/node_modules/postcss/lib/no-work-result.js.map +1 -1
  70. package/dist/node_modules/postcss/lib/node.js +91 -38
  71. package/dist/node_modules/postcss/lib/node.js.map +1 -1
  72. package/dist/node_modules/postcss/lib/parse.js +13 -13
  73. package/dist/node_modules/postcss/lib/parse.js.map +1 -1
  74. package/dist/node_modules/postcss/lib/parser.js +21 -20
  75. package/dist/node_modules/postcss/lib/parser.js.map +1 -1
  76. package/dist/node_modules/postcss/lib/postcss.js +4 -3
  77. package/dist/node_modules/postcss/lib/postcss.js.map +1 -1
  78. package/dist/node_modules/postcss/lib/postcss2.js +43 -43
  79. package/dist/node_modules/postcss/lib/postcss2.js.map +1 -1
  80. package/dist/node_modules/postcss/lib/previous-map.js +14 -12
  81. package/dist/node_modules/postcss/lib/previous-map.js.map +1 -1
  82. package/dist/node_modules/postcss/lib/processor.js +13 -13
  83. package/dist/node_modules/postcss/lib/processor.js.map +1 -1
  84. package/dist/node_modules/postcss/lib/result.js +12 -12
  85. package/dist/node_modules/postcss/lib/result.js.map +1 -1
  86. package/dist/node_modules/postcss/lib/root.js +5 -5
  87. package/dist/node_modules/postcss/lib/root.js.map +1 -1
  88. package/dist/node_modules/postcss/lib/rule.js +13 -13
  89. package/dist/node_modules/postcss/lib/rule.js.map +1 -1
  90. package/dist/node_modules/postcss/lib/stringifier.js +3 -3
  91. package/dist/node_modules/postcss/lib/stringifier.js.map +1 -1
  92. package/dist/node_modules/postcss/lib/stringify.js +5 -5
  93. package/dist/node_modules/postcss/lib/stringify.js.map +1 -1
  94. package/dist/node_modules/postcss/lib/symbols.js +8 -8
  95. package/dist/node_modules/postcss/lib/symbols.js.map +1 -1
  96. package/dist/node_modules/postcss/lib/tokenize.js +5 -5
  97. package/dist/node_modules/postcss/lib/tokenize.js.map +1 -1
  98. package/dist/node_modules/postcss/lib/warning.js +3 -3
  99. package/dist/node_modules/postcss/lib/warning.js.map +1 -1
  100. package/dist/packages/model/node_modules/postcss-discard-duplicates/src/index.js +3 -3
  101. package/dist/packages/model/node_modules/postcss-discard-duplicates/src/index.js.map +1 -1
  102. package/dist/slots/create.js +3 -3
  103. package/dist/slots/create.js.map +1 -1
  104. package/dist/slots/element.js +3 -3
  105. package/dist/slots/element.js.map +1 -1
  106. package/dist/slots/index.d.ts +23 -16
  107. package/dist/slots/index.d.ts.map +1 -1
  108. package/dist/slots/mapping.d.ts +4 -0
  109. package/dist/slots/mapping.d.ts.map +1 -1
  110. package/dist/slots/mapping.js +8 -4
  111. package/dist/slots/mapping.js.map +1 -1
  112. package/dist/slots.d.ts +0 -4
  113. package/dist/slots.js +41 -36
  114. package/dist/slots.js.map +1 -1
  115. package/dist/utilities/index.d.ts +1 -1
  116. package/dist/utilities/index.d.ts.map +1 -1
  117. package/dist/utilities/lifecycle.js +4 -4
  118. package/dist/utilities/lifecycle.js.map +1 -1
  119. package/dist/utilities/register.js +6 -6
  120. package/dist/utilities/register.js.map +1 -1
  121. package/dist/utilities/styles.d.ts +1 -2
  122. package/dist/utilities/styles.d.ts.map +1 -1
  123. package/dist/utilities/styles.js +15 -10
  124. package/dist/utilities/styles.js.map +1 -1
  125. package/dist/utilities.js +10 -10
  126. package/dist/utilities.js.map +1 -1
  127. package/package.json +13 -12
  128. package/dist/_virtual/___vite-browser-external.mjs +0 -7
  129. package/dist/_virtual/___vite-browser-external.mjs.map +0 -1
  130. package/dist/_virtual/__vite-browser-external.mjs +0 -5
  131. package/dist/_virtual/__vite-browser-external.mjs.map +0 -1
  132. package/dist/_virtual/_commonjsHelpers.mjs +0 -37
  133. package/dist/_virtual/_commonjsHelpers.mjs.map +0 -1
  134. package/dist/_virtual/index.mjs +0 -8
  135. package/dist/_virtual/index.mjs.map +0 -1
  136. package/dist/_virtual/picocolors.browser.mjs +0 -5
  137. package/dist/_virtual/picocolors.browser.mjs.map +0 -1
  138. package/dist/_virtual/postcss.mjs +0 -8
  139. package/dist/_virtual/postcss.mjs.map +0 -1
  140. package/dist/_virtual/symbols.mjs +0 -5
  141. package/dist/_virtual/symbols.mjs.map +0 -1
  142. package/dist/attributes/checks.mjs +0 -740
  143. package/dist/attributes/checks.mjs.map +0 -1
  144. package/dist/attributes/handler.mjs +0 -206
  145. package/dist/attributes/handler.mjs.map +0 -1
  146. package/dist/attributes/names.mjs +0 -146
  147. package/dist/attributes/names.mjs.map +0 -1
  148. package/dist/attributes/values.mjs +0 -81
  149. package/dist/attributes/values.mjs.map +0 -1
  150. package/dist/attributes.mjs +0 -23
  151. package/dist/attributes.mjs.map +0 -1
  152. package/dist/index.mjs +0 -13
  153. package/dist/index.mjs.map +0 -1
  154. package/dist/model.mjs +0 -259
  155. package/dist/model.mjs.map +0 -1
  156. package/dist/node_modules/nanoid/non-secure/index.mjs +0 -31
  157. package/dist/node_modules/nanoid/non-secure/index.mjs.map +0 -1
  158. package/dist/node_modules/picocolors/picocolors.browser.mjs +0 -17
  159. package/dist/node_modules/picocolors/picocolors.browser.mjs.map +0 -1
  160. package/dist/node_modules/postcss/lib/at-rule.mjs +0 -30
  161. package/dist/node_modules/postcss/lib/at-rule.mjs.map +0 -1
  162. package/dist/node_modules/postcss/lib/comment.mjs +0 -21
  163. package/dist/node_modules/postcss/lib/comment.mjs.map +0 -1
  164. package/dist/node_modules/postcss/lib/container.mjs +0 -383
  165. package/dist/node_modules/postcss/lib/container.mjs.map +0 -1
  166. package/dist/node_modules/postcss/lib/css-syntax-error.mjs +0 -92
  167. package/dist/node_modules/postcss/lib/css-syntax-error.mjs.map +0 -1
  168. package/dist/node_modules/postcss/lib/declaration.mjs +0 -27
  169. package/dist/node_modules/postcss/lib/declaration.mjs.map +0 -1
  170. package/dist/node_modules/postcss/lib/document.mjs +0 -34
  171. package/dist/node_modules/postcss/lib/document.mjs.map +0 -1
  172. package/dist/node_modules/postcss/lib/fromJSON.mjs +0 -67
  173. package/dist/node_modules/postcss/lib/fromJSON.mjs.map +0 -1
  174. package/dist/node_modules/postcss/lib/input.mjs +0 -216
  175. package/dist/node_modules/postcss/lib/input.mjs.map +0 -1
  176. package/dist/node_modules/postcss/lib/lazy-result.mjs +0 -467
  177. package/dist/node_modules/postcss/lib/lazy-result.mjs.map +0 -1
  178. package/dist/node_modules/postcss/lib/list.mjs +0 -60
  179. package/dist/node_modules/postcss/lib/list.mjs.map +0 -1
  180. package/dist/node_modules/postcss/lib/map-generator.mjs +0 -314
  181. package/dist/node_modules/postcss/lib/map-generator.mjs.map +0 -1
  182. package/dist/node_modules/postcss/lib/no-work-result.mjs +0 -113
  183. package/dist/node_modules/postcss/lib/no-work-result.mjs.map +0 -1
  184. package/dist/node_modules/postcss/lib/node.mjs +0 -335
  185. package/dist/node_modules/postcss/lib/node.mjs.map +0 -1
  186. package/dist/node_modules/postcss/lib/parse.mjs +0 -30
  187. package/dist/node_modules/postcss/lib/parse.mjs.map +0 -1
  188. package/dist/node_modules/postcss/lib/parser.mjs +0 -543
  189. package/dist/node_modules/postcss/lib/parser.mjs.map +0 -1
  190. package/dist/node_modules/postcss/lib/postcss.mjs +0 -29
  191. package/dist/node_modules/postcss/lib/postcss.mjs.map +0 -1
  192. package/dist/node_modules/postcss/lib/postcss2.mjs +0 -110
  193. package/dist/node_modules/postcss/lib/postcss2.mjs.map +0 -1
  194. package/dist/node_modules/postcss/lib/previous-map.mjs +0 -123
  195. package/dist/node_modules/postcss/lib/previous-map.mjs.map +0 -1
  196. package/dist/node_modules/postcss/lib/processor.mjs +0 -61
  197. package/dist/node_modules/postcss/lib/processor.mjs.map +0 -1
  198. package/dist/node_modules/postcss/lib/result.mjs +0 -44
  199. package/dist/node_modules/postcss/lib/result.mjs.map +0 -1
  200. package/dist/node_modules/postcss/lib/root.mjs +0 -58
  201. package/dist/node_modules/postcss/lib/root.mjs.map +0 -1
  202. package/dist/node_modules/postcss/lib/rule.mjs +0 -33
  203. package/dist/node_modules/postcss/lib/rule.mjs.map +0 -1
  204. package/dist/node_modules/postcss/lib/stringifier.mjs +0 -308
  205. package/dist/node_modules/postcss/lib/stringifier.mjs.map +0 -1
  206. package/dist/node_modules/postcss/lib/stringify.mjs +0 -19
  207. package/dist/node_modules/postcss/lib/stringify.mjs.map +0 -1
  208. package/dist/node_modules/postcss/lib/symbols.mjs +0 -13
  209. package/dist/node_modules/postcss/lib/symbols.mjs.map +0 -1
  210. package/dist/node_modules/postcss/lib/tokenize.mjs +0 -219
  211. package/dist/node_modules/postcss/lib/tokenize.mjs.map +0 -1
  212. package/dist/node_modules/postcss/lib/warning.mjs +0 -40
  213. package/dist/node_modules/postcss/lib/warning.mjs.map +0 -1
  214. package/dist/packages/model/node_modules/postcss-discard-duplicates/src/index.mjs +0 -130
  215. package/dist/packages/model/node_modules/postcss-discard-duplicates/src/index.mjs.map +0 -1
  216. package/dist/slots/create.mjs +0 -50
  217. package/dist/slots/create.mjs.map +0 -1
  218. package/dist/slots/element.mjs +0 -42
  219. package/dist/slots/element.mjs.map +0 -1
  220. package/dist/slots/mapping.mjs +0 -97
  221. package/dist/slots/mapping.mjs.map +0 -1
  222. package/dist/slots.mjs +0 -74
  223. package/dist/slots.mjs.map +0 -1
  224. package/dist/utilities/lifecycle.mjs +0 -21
  225. package/dist/utilities/lifecycle.mjs.map +0 -1
  226. package/dist/utilities/register.mjs +0 -32
  227. package/dist/utilities/register.mjs.map +0 -1
  228. package/dist/utilities/styles.mjs +0 -80
  229. package/dist/utilities/styles.mjs.map +0 -1
  230. package/dist/utilities.mjs +0 -11
  231. package/dist/utilities.mjs.map +0 -1
@@ -1,16 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const ___viteBrowserExternal_commonjsProxy = require("../../../_virtual/___vite-browser-external.js");
4
- const input = require("./input.js");
1
+ import require$$2 from "../../../_virtual/___vite-browser-external.js";
2
+ import { __require as requireInput } from "./input.js";
5
3
  var mapGenerator;
6
4
  var hasRequiredMapGenerator;
7
5
  function requireMapGenerator() {
8
6
  if (hasRequiredMapGenerator) return mapGenerator;
9
7
  hasRequiredMapGenerator = 1;
10
- let { SourceMapConsumer, SourceMapGenerator } = ___viteBrowserExternal_commonjsProxy;
11
- let { dirname, relative, resolve, sep } = ___viteBrowserExternal_commonjsProxy;
12
- let { pathToFileURL } = ___viteBrowserExternal_commonjsProxy;
13
- let Input = input.__require();
8
+ let { dirname, relative, resolve, sep } = require$$2;
9
+ let { SourceMapConsumer, SourceMapGenerator } = require$$2;
10
+ let { pathToFileURL } = require$$2;
11
+ let Input = requireInput();
14
12
  let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator);
15
13
  let pathAvailable = Boolean(dirname && resolve && relative && sep);
16
14
  class MapGenerator {
@@ -20,6 +18,7 @@ function requireMapGenerator() {
20
18
  this.root = root;
21
19
  this.opts = opts;
22
20
  this.css = cssString;
21
+ this.originalCSS = cssString;
23
22
  this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;
24
23
  this.memoizedFileURLs = /* @__PURE__ */ new Map();
25
24
  this.memoizedPaths = /* @__PURE__ */ new Map();
@@ -48,7 +47,7 @@ function requireMapGenerator() {
48
47
  if (this.mapOpts.sourcesContent === false) {
49
48
  map = new SourceMapConsumer(prev.text);
50
49
  if (map.sourcesContent) {
51
- map.sourcesContent = map.sourcesContent.map(() => null);
50
+ map.sourcesContent = null;
52
51
  }
53
52
  } else {
54
53
  map = prev.consumer();
@@ -63,12 +62,12 @@ function requireMapGenerator() {
63
62
  for (let i = this.root.nodes.length - 1; i >= 0; i--) {
64
63
  node = this.root.nodes[i];
65
64
  if (node.type !== "comment") continue;
66
- if (node.text.indexOf("# sourceMappingURL=") === 0) {
65
+ if (node.text.startsWith("# sourceMappingURL=")) {
67
66
  this.root.removeChild(i);
68
67
  }
69
68
  }
70
69
  } else if (this.css) {
71
- this.css = this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm, "");
70
+ this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, "");
72
71
  }
73
72
  }
74
73
  generate() {
@@ -89,9 +88,14 @@ function requireMapGenerator() {
89
88
  } else if (this.previous().length === 1) {
90
89
  let prev = this.previous()[0].consumer();
91
90
  prev.file = this.outputFile();
92
- this.map = SourceMapGenerator.fromSourceMap(prev);
91
+ this.map = SourceMapGenerator.fromSourceMap(prev, {
92
+ ignoreInvalidMapping: true
93
+ });
93
94
  } else {
94
- this.map = new SourceMapGenerator({ file: this.outputFile() });
95
+ this.map = new SourceMapGenerator({
96
+ file: this.outputFile(),
97
+ ignoreInvalidMapping: true
98
+ });
95
99
  this.map.addMapping({
96
100
  generated: { column: 0, line: 1 },
97
101
  original: { column: 0, line: 1 },
@@ -109,7 +113,10 @@ function requireMapGenerator() {
109
113
  }
110
114
  generateString() {
111
115
  this.css = "";
112
- this.map = new SourceMapGenerator({ file: this.outputFile() });
116
+ this.map = new SourceMapGenerator({
117
+ file: this.outputFile(),
118
+ ignoreInvalidMapping: true
119
+ });
113
120
  let line = 1;
114
121
  let column = 1;
115
122
  let noSource = "<no source>";
@@ -118,7 +125,7 @@ function requireMapGenerator() {
118
125
  original: { column: 0, line: 0 },
119
126
  source: ""
120
127
  };
121
- let lines, last;
128
+ let last, lines;
122
129
  this.stringify(this.root, (str, node, type) => {
123
130
  this.css += str;
124
131
  if (node && type !== "end") {
@@ -243,8 +250,8 @@ function requireMapGenerator() {
243
250
  }
244
251
  });
245
252
  } else {
246
- let input2 = new Input(this.css, this.opts);
247
- if (input2.map) this.previousMaps.push(input2.map);
253
+ let input = new Input(this.originalCSS, this.opts);
254
+ if (input.map) this.previousMaps.push(input.map);
248
255
  }
249
256
  }
250
257
  return this.previousMaps;
@@ -310,5 +317,7 @@ function requireMapGenerator() {
310
317
  mapGenerator = MapGenerator;
311
318
  return mapGenerator;
312
319
  }
313
- exports.__require = requireMapGenerator;
320
+ export {
321
+ requireMapGenerator as __require
322
+ };
314
323
  //# sourceMappingURL=map-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-generator.js","sources":["../../../../../../node_modules/postcss/lib/map-generator.js"],"sourcesContent":["'use strict'\n\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { dirname, relative, resolve, sep } = require('path')\nlet { pathToFileURL } = require('url')\n\nlet Input = require('./input')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(dirname && resolve && relative && sep)\n\nclass MapGenerator {\n constructor(stringify, root, opts, cssString) {\n this.stringify = stringify\n this.mapOpts = opts.map || {}\n this.root = root\n this.opts = opts\n this.css = cssString\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute\n\n this.memoizedFileURLs = new Map()\n this.memoizedPaths = new Map()\n this.memoizedURLs = new Map()\n }\n\n addAnnotation() {\n let content\n\n if (this.isInline()) {\n content =\n 'data:application/json;base64,' + this.toBase64(this.map.toString())\n } else if (typeof this.mapOpts.annotation === 'string') {\n content = this.mapOpts.annotation\n } else if (typeof this.mapOpts.annotation === 'function') {\n content = this.mapOpts.annotation(this.opts.to, this.root)\n } else {\n content = this.outputFile() + '.map'\n }\n let eol = '\\n'\n if (this.css.includes('\\r\\n')) eol = '\\r\\n'\n\n this.css += eol + '/*# sourceMappingURL=' + content + ' */'\n }\n\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file))\n let root = prev.root || dirname(prev.file)\n let map\n\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text)\n if (map.sourcesContent) {\n map.sourcesContent = map.sourcesContent.map(() => null)\n }\n } else {\n map = prev.consumer()\n }\n\n this.map.applySourceMap(map, from, this.toUrl(this.path(root)))\n }\n }\n\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return\n\n if (this.root) {\n let node\n for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n node = this.root.nodes[i]\n if (node.type !== 'comment') continue\n if (node.text.indexOf('# sourceMappingURL=') === 0) {\n this.root.removeChild(i)\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/(\\n)?\\/\\*#[\\S\\s]*?\\*\\/$/gm, '')\n }\n }\n\n generate() {\n this.clearAnnotation()\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap()\n } else {\n let result = ''\n this.stringify(this.root, i => {\n result += i\n })\n return [result]\n }\n }\n\n generateMap() {\n if (this.root) {\n this.generateString()\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer()\n prev.file = this.outputFile()\n this.map = SourceMapGenerator.fromSourceMap(prev)\n } else {\n this.map = new SourceMapGenerator({ file: this.outputFile() })\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '<no source>'\n })\n }\n\n if (this.isSourcesContent()) this.setSourcesContent()\n if (this.root && this.previous().length > 0) this.applyPrevMaps()\n if (this.isAnnotation()) this.addAnnotation()\n\n if (this.isInline()) {\n return [this.css]\n } else {\n return [this.css, this.map]\n }\n }\n\n generateString() {\n this.css = ''\n this.map = new SourceMapGenerator({ file: this.outputFile() })\n\n let line = 1\n let column = 1\n\n let noSource = '<no source>'\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: ''\n }\n\n let lines, last\n this.stringify(this.root, (str, node, type) => {\n this.css += str\n\n if (node && type !== 'end') {\n mapping.generated.line = line\n mapping.generated.column = column - 1\n if (node.source && node.source.start) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.start.line\n mapping.original.column = node.source.start.column - 1\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n this.map.addMapping(mapping)\n }\n }\n\n lines = str.match(/\\n/g)\n if (lines) {\n line += lines.length\n last = str.lastIndexOf('\\n')\n column = str.length - last\n } else {\n column += str.length\n }\n\n if (node && type !== 'start') {\n let p = node.parent || { raws: {} }\n let childless =\n node.type === 'decl' || (node.type === 'atrule' && !node.nodes)\n if (!childless || node !== p.last || p.raws.semicolon) {\n if (node.source && node.source.end) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.end.line\n mapping.original.column = node.source.end.column - 1\n mapping.generated.line = line\n mapping.generated.column = column - 2\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n mapping.generated.line = line\n mapping.generated.column = column - 1\n this.map.addMapping(mapping)\n }\n }\n }\n })\n }\n\n isAnnotation() {\n if (this.isInline()) {\n return true\n }\n if (typeof this.mapOpts.annotation !== 'undefined') {\n return this.mapOpts.annotation\n }\n if (this.previous().length) {\n return this.previous().some(i => i.annotation)\n }\n return true\n }\n\n isInline() {\n if (typeof this.mapOpts.inline !== 'undefined') {\n return this.mapOpts.inline\n }\n\n let annotation = this.mapOpts.annotation\n if (typeof annotation !== 'undefined' && annotation !== true) {\n return false\n }\n\n if (this.previous().length) {\n return this.previous().some(i => i.inline)\n }\n return true\n }\n\n isMap() {\n if (typeof this.opts.map !== 'undefined') {\n return !!this.opts.map\n }\n return this.previous().length > 0\n }\n\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n return this.mapOpts.sourcesContent\n }\n if (this.previous().length) {\n return this.previous().some(i => i.withContent())\n }\n return true\n }\n\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to)\n } else if (this.opts.from) {\n return this.path(this.opts.from)\n } else {\n return 'to.css'\n }\n }\n\n path(file) {\n if (this.mapOpts.absolute) return file\n if (file.charCodeAt(0) === 60 /* `<` */) return file\n if (/^\\w+:\\/\\//.test(file)) return file\n let cached = this.memoizedPaths.get(file)\n if (cached) return cached\n\n let from = this.opts.to ? dirname(this.opts.to) : '.'\n\n if (typeof this.mapOpts.annotation === 'string') {\n from = dirname(resolve(from, this.mapOpts.annotation))\n }\n\n let path = relative(from, file)\n this.memoizedPaths.set(file, path)\n\n return path\n }\n\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = []\n if (this.root) {\n this.root.walk(node => {\n if (node.source && node.source.input.map) {\n let map = node.source.input.map\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map)\n }\n }\n })\n } else {\n let input = new Input(this.css, this.opts)\n if (input.map) this.previousMaps.push(input.map)\n }\n }\n\n return this.previousMaps\n }\n\n setSourcesContent() {\n let already = {}\n if (this.root) {\n this.root.walk(node => {\n if (node.source) {\n let from = node.source.input.from\n if (from && !already[from]) {\n already[from] = true\n let fromUrl = this.usesFileUrls\n ? this.toFileUrl(from)\n : this.toUrl(this.path(from))\n this.map.setSourceContent(fromUrl, node.source.input.css)\n }\n }\n })\n } else if (this.css) {\n let from = this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '<no source>'\n this.map.setSourceContent(from, this.css)\n }\n }\n\n sourcePath(node) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from)\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node.source.input.from)\n } else {\n return this.toUrl(this.path(node.source.input.from))\n }\n }\n\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(unescape(encodeURIComponent(str)))\n }\n }\n\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path)\n if (cached) return cached\n\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString()\n this.memoizedFileURLs.set(path, fileURL)\n\n return fileURL\n } else {\n throw new Error(\n '`map.absolute` option is not available in this PostCSS build'\n )\n }\n }\n\n toUrl(path) {\n let cached = this.memoizedURLs.get(path)\n if (cached) return cached\n\n if (sep === '\\\\') {\n path = path.replace(/\\\\/g, '/')\n }\n\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)\n this.memoizedURLs.set(path, url)\n\n return url\n }\n}\n\nmodule.exports = MapGenerator\n"],"names":["require$$0","require$$1","require$$2","require$$3","input"],"mappings":";;;;;;;;;AAEA,MAAI,EAAE,mBAAmB,uBAAuBA;AAChD,MAAI,EAAE,SAAS,UAAU,SAAS,IAAG,IAAKC;AAC1C,MAAI,EAAE,cAAa,IAAKC;AAExB,MAAI,QAAQC,MAAAA,UAAA;AAEZ,MAAI,qBAAqB,QAAQ,qBAAqB,kBAAkB;AACxE,MAAI,gBAAgB,QAAQ,WAAW,WAAW,YAAY,GAAG;AAAA,EAEjE,MAAM,aAAa;AAAA,IACjB,YAAY,WAAW,MAAM,MAAM,WAAW;AAC5C,WAAK,YAAY;AACjB,WAAK,UAAU,KAAK,OAAO,CAAA;AAC3B,WAAK,OAAO;AACZ,WAAK,OAAO;AACZ,WAAK,MAAM;AACX,WAAK,eAAe,CAAC,KAAK,QAAQ,QAAQ,KAAK,QAAQ;AAEvD,WAAK,mBAAmB,oBAAI,IAAG;AAC/B,WAAK,gBAAgB,oBAAI,IAAG;AAC5B,WAAK,eAAe,oBAAI,IAAG;AAAA,IAC/B;AAAA,IAEE,gBAAgB;AACd,UAAI;AAEJ,UAAI,KAAK,YAAY;AACnB,kBACE,kCAAkC,KAAK,SAAS,KAAK,IAAI,SAAQ,CAAE;AAAA,MAC3E,WAAe,OAAO,KAAK,QAAQ,eAAe,UAAU;AACtD,kBAAU,KAAK,QAAQ;AAAA,MAC7B,WAAe,OAAO,KAAK,QAAQ,eAAe,YAAY;AACxD,kBAAU,KAAK,QAAQ,WAAW,KAAK,KAAK,IAAI,KAAK,IAAI;AAAA,MAC/D,OAAW;AACL,kBAAU,KAAK,eAAe;AAAA,MACpC;AACI,UAAI,MAAM;AACV,UAAI,KAAK,IAAI,SAAS,MAAM,EAAG,OAAM;AAErC,WAAK,OAAO,MAAM,0BAA0B,UAAU;AAAA,IAC1D;AAAA,IAEE,gBAAgB;AACd,eAAS,QAAQ,KAAK,YAAY;AAChC,YAAI,OAAO,KAAK,MAAM,KAAK,KAAK,KAAK,IAAI,CAAC;AAC1C,YAAI,OAAO,KAAK,QAAQ,QAAQ,KAAK,IAAI;AACzC,YAAI;AAEJ,YAAI,KAAK,QAAQ,mBAAmB,OAAO;AACzC,gBAAM,IAAI,kBAAkB,KAAK,IAAI;AACrC,cAAI,IAAI,gBAAgB;AACtB,gBAAI,iBAAiB,IAAI,eAAe,IAAI,MAAM,IAAI;AAAA,UAChE;AAAA,QACA,OAAa;AACL,gBAAM,KAAK,SAAQ;AAAA,QAC3B;AAEM,aAAK,IAAI,eAAe,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC;AAAA,MACpE;AAAA,IACA;AAAA,IAEE,kBAAkB;AAChB,UAAI,KAAK,QAAQ,eAAe,MAAO;AAEvC,UAAI,KAAK,MAAM;AACb,YAAI;AACJ,iBAAS,IAAI,KAAK,KAAK,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;AACpD,iBAAO,KAAK,KAAK,MAAM,CAAC;AACxB,cAAI,KAAK,SAAS,UAAW;AAC7B,cAAI,KAAK,KAAK,QAAQ,qBAAqB,MAAM,GAAG;AAClD,iBAAK,KAAK,YAAY,CAAC;AAAA,UACjC;AAAA,QACA;AAAA,MACA,WAAe,KAAK,KAAK;AACnB,aAAK,MAAM,KAAK,IAAI,QAAQ,6BAA6B,EAAE;AAAA,MACjE;AAAA,IACA;AAAA,IAEE,WAAW;AACT,WAAK,gBAAe;AACpB,UAAI,iBAAiB,sBAAsB,KAAK,MAAK,GAAI;AACvD,eAAO,KAAK,YAAW;AAAA,MAC7B,OAAW;AACL,YAAI,SAAS;AACb,aAAK,UAAU,KAAK,MAAM,OAAK;AAC7B,oBAAU;AAAA,QAClB,CAAO;AACD,eAAO,CAAC,MAAM;AAAA,MACpB;AAAA,IACA;AAAA,IAEE,cAAc;AACZ,UAAI,KAAK,MAAM;AACb,aAAK,eAAc;AAAA,MACzB,WAAe,KAAK,SAAQ,EAAG,WAAW,GAAG;AACvC,YAAI,OAAO,KAAK,SAAQ,EAAG,CAAC,EAAE,SAAQ;AACtC,aAAK,OAAO,KAAK,WAAU;AAC3B,aAAK,MAAM,mBAAmB,cAAc,IAAI;AAAA,MACtD,OAAW;AACL,aAAK,MAAM,IAAI,mBAAmB,EAAE,MAAM,KAAK,aAAY,CAAE;AAC7D,aAAK,IAAI,WAAW;AAAA,UAClB,WAAW,EAAE,QAAQ,GAAG,MAAM,EAAC;AAAA,UAC/B,UAAU,EAAE,QAAQ,GAAG,MAAM,EAAC;AAAA,UAC9B,QAAQ,KAAK,KAAK,OACd,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,IACpC;AAAA,SACL;AAAA,MACP;AAEI,UAAI,KAAK,mBAAoB,MAAK,kBAAiB;AACnD,UAAI,KAAK,QAAQ,KAAK,SAAQ,EAAG,SAAS,EAAG,MAAK,cAAa;AAC/D,UAAI,KAAK,eAAgB,MAAK,cAAa;AAE3C,UAAI,KAAK,YAAY;AACnB,eAAO,CAAC,KAAK,GAAG;AAAA,MACtB,OAAW;AACL,eAAO,CAAC,KAAK,KAAK,KAAK,GAAG;AAAA,MAChC;AAAA,IACA;AAAA,IAEE,iBAAiB;AACf,WAAK,MAAM;AACX,WAAK,MAAM,IAAI,mBAAmB,EAAE,MAAM,KAAK,aAAY,CAAE;AAE7D,UAAI,OAAO;AACX,UAAI,SAAS;AAEb,UAAI,WAAW;AACf,UAAI,UAAU;AAAA,QACZ,WAAW,EAAE,QAAQ,GAAG,MAAM,EAAC;AAAA,QAC/B,UAAU,EAAE,QAAQ,GAAG,MAAM,EAAC;AAAA,QAC9B,QAAQ;AAAA,MACd;AAEI,UAAI,OAAO;AACX,WAAK,UAAU,KAAK,MAAM,CAAC,KAAK,MAAM,SAAS;AAC7C,aAAK,OAAO;AAEZ,YAAI,QAAQ,SAAS,OAAO;AAC1B,kBAAQ,UAAU,OAAO;AACzB,kBAAQ,UAAU,SAAS,SAAS;AACpC,cAAI,KAAK,UAAU,KAAK,OAAO,OAAO;AACpC,oBAAQ,SAAS,KAAK,WAAW,IAAI;AACrC,oBAAQ,SAAS,OAAO,KAAK,OAAO,MAAM;AAC1C,oBAAQ,SAAS,SAAS,KAAK,OAAO,MAAM,SAAS;AACrD,iBAAK,IAAI,WAAW,OAAO;AAAA,UACrC,OAAe;AACL,oBAAQ,SAAS;AACjB,oBAAQ,SAAS,OAAO;AACxB,oBAAQ,SAAS,SAAS;AAC1B,iBAAK,IAAI,WAAW,OAAO;AAAA,UACrC;AAAA,QACA;AAEM,gBAAQ,IAAI,MAAM,KAAK;AACvB,YAAI,OAAO;AACT,kBAAQ,MAAM;AACd,iBAAO,IAAI,YAAY,IAAI;AAC3B,mBAAS,IAAI,SAAS;AAAA,QAC9B,OAAa;AACL,oBAAU,IAAI;AAAA,QACtB;AAEM,YAAI,QAAQ,SAAS,SAAS;AAC5B,cAAI,IAAI,KAAK,UAAU,EAAE,MAAM,CAAA,EAAE;AACjC,cAAI,YACF,KAAK,SAAS,UAAW,KAAK,SAAS,YAAY,CAAC,KAAK;AAC3D,cAAI,CAAC,aAAa,SAAS,EAAE,QAAQ,EAAE,KAAK,WAAW;AACrD,gBAAI,KAAK,UAAU,KAAK,OAAO,KAAK;AAClC,sBAAQ,SAAS,KAAK,WAAW,IAAI;AACrC,sBAAQ,SAAS,OAAO,KAAK,OAAO,IAAI;AACxC,sBAAQ,SAAS,SAAS,KAAK,OAAO,IAAI,SAAS;AACnD,sBAAQ,UAAU,OAAO;AACzB,sBAAQ,UAAU,SAAS,SAAS;AACpC,mBAAK,IAAI,WAAW,OAAO;AAAA,YACvC,OAAiB;AACL,sBAAQ,SAAS;AACjB,sBAAQ,SAAS,OAAO;AACxB,sBAAQ,SAAS,SAAS;AAC1B,sBAAQ,UAAU,OAAO;AACzB,sBAAQ,UAAU,SAAS,SAAS;AACpC,mBAAK,IAAI,WAAW,OAAO;AAAA,YACvC;AAAA,UACA;AAAA,QACA;AAAA,MACA,CAAK;AAAA,IACL;AAAA,IAEE,eAAe;AACb,UAAI,KAAK,YAAY;AACnB,eAAO;AAAA,MACb;AACI,UAAI,OAAO,KAAK,QAAQ,eAAe,aAAa;AAClD,eAAO,KAAK,QAAQ;AAAA,MAC1B;AACI,UAAI,KAAK,SAAQ,EAAG,QAAQ;AAC1B,eAAO,KAAK,SAAQ,EAAG,KAAK,OAAK,EAAE,UAAU;AAAA,MACnD;AACI,aAAO;AAAA,IACX;AAAA,IAEE,WAAW;AACT,UAAI,OAAO,KAAK,QAAQ,WAAW,aAAa;AAC9C,eAAO,KAAK,QAAQ;AAAA,MAC1B;AAEI,UAAI,aAAa,KAAK,QAAQ;AAC9B,UAAI,OAAO,eAAe,eAAe,eAAe,MAAM;AAC5D,eAAO;AAAA,MACb;AAEI,UAAI,KAAK,SAAQ,EAAG,QAAQ;AAC1B,eAAO,KAAK,SAAQ,EAAG,KAAK,OAAK,EAAE,MAAM;AAAA,MAC/C;AACI,aAAO;AAAA,IACX;AAAA,IAEE,QAAQ;AACN,UAAI,OAAO,KAAK,KAAK,QAAQ,aAAa;AACxC,eAAO,CAAC,CAAC,KAAK,KAAK;AAAA,MACzB;AACI,aAAO,KAAK,SAAQ,EAAG,SAAS;AAAA,IACpC;AAAA,IAEE,mBAAmB;AACjB,UAAI,OAAO,KAAK,QAAQ,mBAAmB,aAAa;AACtD,eAAO,KAAK,QAAQ;AAAA,MAC1B;AACI,UAAI,KAAK,SAAQ,EAAG,QAAQ;AAC1B,eAAO,KAAK,SAAQ,EAAG,KAAK,OAAK,EAAE,YAAW,CAAE;AAAA,MACtD;AACI,aAAO;AAAA,IACX;AAAA,IAEE,aAAa;AACX,UAAI,KAAK,KAAK,IAAI;AAChB,eAAO,KAAK,KAAK,KAAK,KAAK,EAAE;AAAA,MACnC,WAAe,KAAK,KAAK,MAAM;AACzB,eAAO,KAAK,KAAK,KAAK,KAAK,IAAI;AAAA,MACrC,OAAW;AACL,eAAO;AAAA,MACb;AAAA,IACA;AAAA,IAEE,KAAK,MAAM;AACT,UAAI,KAAK,QAAQ,SAAU,QAAO;AAClC,UAAI,KAAK,WAAW,CAAC,MAAM,GAAc,QAAO;AAChD,UAAI,YAAY,KAAK,IAAI,EAAG,QAAO;AACnC,UAAI,SAAS,KAAK,cAAc,IAAI,IAAI;AACxC,UAAI,OAAQ,QAAO;AAEnB,UAAI,OAAO,KAAK,KAAK,KAAK,QAAQ,KAAK,KAAK,EAAE,IAAI;AAElD,UAAI,OAAO,KAAK,QAAQ,eAAe,UAAU;AAC/C,eAAO,QAAQ,QAAQ,MAAM,KAAK,QAAQ,UAAU,CAAC;AAAA,MAC3D;AAEI,UAAI,OAAO,SAAS,MAAM,IAAI;AAC9B,WAAK,cAAc,IAAI,MAAM,IAAI;AAEjC,aAAO;AAAA,IACX;AAAA,IAEE,WAAW;AACT,UAAI,CAAC,KAAK,cAAc;AACtB,aAAK,eAAe,CAAA;AACpB,YAAI,KAAK,MAAM;AACb,eAAK,KAAK,KAAK,UAAQ;AACrB,gBAAI,KAAK,UAAU,KAAK,OAAO,MAAM,KAAK;AACxC,kBAAI,MAAM,KAAK,OAAO,MAAM;AAC5B,kBAAI,CAAC,KAAK,aAAa,SAAS,GAAG,GAAG;AACpC,qBAAK,aAAa,KAAK,GAAG;AAAA,cACxC;AAAA,YACA;AAAA,UACA,CAAS;AAAA,QACT,OAAa;AACL,cAAIC,SAAQ,IAAI,MAAM,KAAK,KAAK,KAAK,IAAI;AACzC,cAAIA,OAAM,IAAK,MAAK,aAAa,KAAKA,OAAM,GAAG;AAAA,QACvD;AAAA,MACA;AAEI,aAAO,KAAK;AAAA,IAChB;AAAA,IAEE,oBAAoB;AAClB,UAAI,UAAU,CAAA;AACd,UAAI,KAAK,MAAM;AACb,aAAK,KAAK,KAAK,UAAQ;AACrB,cAAI,KAAK,QAAQ;AACf,gBAAI,OAAO,KAAK,OAAO,MAAM;AAC7B,gBAAI,QAAQ,CAAC,QAAQ,IAAI,GAAG;AAC1B,sBAAQ,IAAI,IAAI;AAChB,kBAAI,UAAU,KAAK,eACf,KAAK,UAAU,IAAI,IACnB,KAAK,MAAM,KAAK,KAAK,IAAI,CAAC;AAC9B,mBAAK,IAAI,iBAAiB,SAAS,KAAK,OAAO,MAAM,GAAG;AAAA,YACpE;AAAA,UACA;AAAA,QACA,CAAO;AAAA,MACP,WAAe,KAAK,KAAK;AACnB,YAAI,OAAO,KAAK,KAAK,OACjB,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,IACpC;AACJ,aAAK,IAAI,iBAAiB,MAAM,KAAK,GAAG;AAAA,MAC9C;AAAA,IACA;AAAA,IAEE,WAAW,MAAM;AACf,UAAI,KAAK,QAAQ,MAAM;AACrB,eAAO,KAAK,MAAM,KAAK,QAAQ,IAAI;AAAA,MACzC,WAAe,KAAK,cAAc;AAC5B,eAAO,KAAK,UAAU,KAAK,OAAO,MAAM,IAAI;AAAA,MAClD,OAAW;AACL,eAAO,KAAK,MAAM,KAAK,KAAK,KAAK,OAAO,MAAM,IAAI,CAAC;AAAA,MACzD;AAAA,IACA;AAAA,IAEE,SAAS,KAAK;AACZ,UAAI,QAAQ;AACV,eAAO,OAAO,KAAK,GAAG,EAAE,SAAS,QAAQ;AAAA,MAC/C,OAAW;AACL,eAAO,OAAO,KAAK,SAAS,mBAAmB,GAAG,CAAC,CAAC;AAAA,MAC1D;AAAA,IACA;AAAA,IAEE,UAAU,MAAM;AACd,UAAI,SAAS,KAAK,iBAAiB,IAAI,IAAI;AAC3C,UAAI,OAAQ,QAAO;AAEnB,UAAI,eAAe;AACjB,YAAI,UAAU,cAAc,IAAI,EAAE,SAAQ;AAC1C,aAAK,iBAAiB,IAAI,MAAM,OAAO;AAEvC,eAAO;AAAA,MACb,OAAW;AACL,cAAM,IAAI;AAAA,UACR;AAAA,QACR;AAAA,MACA;AAAA,IACA;AAAA,IAEE,MAAM,MAAM;AACV,UAAI,SAAS,KAAK,aAAa,IAAI,IAAI;AACvC,UAAI,OAAQ,QAAO;AAEnB,UAAI,QAAQ,MAAM;AAChB,eAAO,KAAK,QAAQ,OAAO,GAAG;AAAA,MACpC;AAEI,UAAI,MAAM,UAAU,IAAI,EAAE,QAAQ,SAAS,kBAAkB;AAC7D,WAAK,aAAa,IAAI,MAAM,GAAG;AAE/B,aAAO;AAAA,IACX;AAAA,EACA;AAEA,iBAAiB;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"map-generator.js","sources":["../../../../../../node_modules/postcss/lib/map-generator.js"],"sourcesContent":["'use strict'\n\nlet { dirname, relative, resolve, sep } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { pathToFileURL } = require('url')\n\nlet Input = require('./input')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(dirname && resolve && relative && sep)\n\nclass MapGenerator {\n constructor(stringify, root, opts, cssString) {\n this.stringify = stringify\n this.mapOpts = opts.map || {}\n this.root = root\n this.opts = opts\n this.css = cssString\n this.originalCSS = cssString\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute\n\n this.memoizedFileURLs = new Map()\n this.memoizedPaths = new Map()\n this.memoizedURLs = new Map()\n }\n\n addAnnotation() {\n let content\n\n if (this.isInline()) {\n content =\n 'data:application/json;base64,' + this.toBase64(this.map.toString())\n } else if (typeof this.mapOpts.annotation === 'string') {\n content = this.mapOpts.annotation\n } else if (typeof this.mapOpts.annotation === 'function') {\n content = this.mapOpts.annotation(this.opts.to, this.root)\n } else {\n content = this.outputFile() + '.map'\n }\n let eol = '\\n'\n if (this.css.includes('\\r\\n')) eol = '\\r\\n'\n\n this.css += eol + '/*# sourceMappingURL=' + content + ' */'\n }\n\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file))\n let root = prev.root || dirname(prev.file)\n let map\n\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text)\n if (map.sourcesContent) {\n map.sourcesContent = null\n }\n } else {\n map = prev.consumer()\n }\n\n this.map.applySourceMap(map, from, this.toUrl(this.path(root)))\n }\n }\n\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return\n\n if (this.root) {\n let node\n for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n node = this.root.nodes[i]\n if (node.type !== 'comment') continue\n if (node.text.startsWith('# sourceMappingURL=')) {\n this.root.removeChild(i)\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*\\/\\*#[\\S\\s]*?\\*\\/$/gm, '')\n }\n }\n\n generate() {\n this.clearAnnotation()\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap()\n } else {\n let result = ''\n this.stringify(this.root, i => {\n result += i\n })\n return [result]\n }\n }\n\n generateMap() {\n if (this.root) {\n this.generateString()\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer()\n prev.file = this.outputFile()\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n })\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '<no source>'\n })\n }\n\n if (this.isSourcesContent()) this.setSourcesContent()\n if (this.root && this.previous().length > 0) this.applyPrevMaps()\n if (this.isAnnotation()) this.addAnnotation()\n\n if (this.isInline()) {\n return [this.css]\n } else {\n return [this.css, this.map]\n }\n }\n\n generateString() {\n this.css = ''\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n\n let line = 1\n let column = 1\n\n let noSource = '<no source>'\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: ''\n }\n\n let last, lines\n this.stringify(this.root, (str, node, type) => {\n this.css += str\n\n if (node && type !== 'end') {\n mapping.generated.line = line\n mapping.generated.column = column - 1\n if (node.source && node.source.start) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.start.line\n mapping.original.column = node.source.start.column - 1\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n this.map.addMapping(mapping)\n }\n }\n\n lines = str.match(/\\n/g)\n if (lines) {\n line += lines.length\n last = str.lastIndexOf('\\n')\n column = str.length - last\n } else {\n column += str.length\n }\n\n if (node && type !== 'start') {\n let p = node.parent || { raws: {} }\n let childless =\n node.type === 'decl' || (node.type === 'atrule' && !node.nodes)\n if (!childless || node !== p.last || p.raws.semicolon) {\n if (node.source && node.source.end) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.end.line\n mapping.original.column = node.source.end.column - 1\n mapping.generated.line = line\n mapping.generated.column = column - 2\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n mapping.generated.line = line\n mapping.generated.column = column - 1\n this.map.addMapping(mapping)\n }\n }\n }\n })\n }\n\n isAnnotation() {\n if (this.isInline()) {\n return true\n }\n if (typeof this.mapOpts.annotation !== 'undefined') {\n return this.mapOpts.annotation\n }\n if (this.previous().length) {\n return this.previous().some(i => i.annotation)\n }\n return true\n }\n\n isInline() {\n if (typeof this.mapOpts.inline !== 'undefined') {\n return this.mapOpts.inline\n }\n\n let annotation = this.mapOpts.annotation\n if (typeof annotation !== 'undefined' && annotation !== true) {\n return false\n }\n\n if (this.previous().length) {\n return this.previous().some(i => i.inline)\n }\n return true\n }\n\n isMap() {\n if (typeof this.opts.map !== 'undefined') {\n return !!this.opts.map\n }\n return this.previous().length > 0\n }\n\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n return this.mapOpts.sourcesContent\n }\n if (this.previous().length) {\n return this.previous().some(i => i.withContent())\n }\n return true\n }\n\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to)\n } else if (this.opts.from) {\n return this.path(this.opts.from)\n } else {\n return 'to.css'\n }\n }\n\n path(file) {\n if (this.mapOpts.absolute) return file\n if (file.charCodeAt(0) === 60 /* `<` */) return file\n if (/^\\w+:\\/\\//.test(file)) return file\n let cached = this.memoizedPaths.get(file)\n if (cached) return cached\n\n let from = this.opts.to ? dirname(this.opts.to) : '.'\n\n if (typeof this.mapOpts.annotation === 'string') {\n from = dirname(resolve(from, this.mapOpts.annotation))\n }\n\n let path = relative(from, file)\n this.memoizedPaths.set(file, path)\n\n return path\n }\n\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = []\n if (this.root) {\n this.root.walk(node => {\n if (node.source && node.source.input.map) {\n let map = node.source.input.map\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map)\n }\n }\n })\n } else {\n let input = new Input(this.originalCSS, this.opts)\n if (input.map) this.previousMaps.push(input.map)\n }\n }\n\n return this.previousMaps\n }\n\n setSourcesContent() {\n let already = {}\n if (this.root) {\n this.root.walk(node => {\n if (node.source) {\n let from = node.source.input.from\n if (from && !already[from]) {\n already[from] = true\n let fromUrl = this.usesFileUrls\n ? this.toFileUrl(from)\n : this.toUrl(this.path(from))\n this.map.setSourceContent(fromUrl, node.source.input.css)\n }\n }\n })\n } else if (this.css) {\n let from = this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '<no source>'\n this.map.setSourceContent(from, this.css)\n }\n }\n\n sourcePath(node) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from)\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node.source.input.from)\n } else {\n return this.toUrl(this.path(node.source.input.from))\n }\n }\n\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(unescape(encodeURIComponent(str)))\n }\n }\n\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path)\n if (cached) return cached\n\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString()\n this.memoizedFileURLs.set(path, fileURL)\n\n return fileURL\n } else {\n throw new Error(\n '`map.absolute` option is not available in this PostCSS build'\n )\n }\n }\n\n toUrl(path) {\n let cached = this.memoizedURLs.get(path)\n if (cached) return cached\n\n if (sep === '\\\\') {\n path = path.replace(/\\\\/g, '/')\n }\n\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)\n this.memoizedURLs.set(path, url)\n\n return url\n }\n}\n\nmodule.exports = MapGenerator\n"],"names":["require$$0","require$$1","require$$3"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,19 +1,56 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const mapGenerator = require("./map-generator.js");
4
- const stringify = require("./stringify.js");
5
- const parse = require("./parse.js");
6
- const result = require("./result.js");
1
+ import { __require as requireMapGenerator } from "./map-generator.js";
2
+ import { __require as requireParse } from "./parse.js";
3
+ import { __require as requireResult } from "./result.js";
4
+ import { __require as requireStringify } from "./stringify.js";
7
5
  var noWorkResult;
8
6
  var hasRequiredNoWorkResult;
9
7
  function requireNoWorkResult() {
10
8
  if (hasRequiredNoWorkResult) return noWorkResult;
11
9
  hasRequiredNoWorkResult = 1;
12
- let MapGenerator = mapGenerator.__require();
13
- let stringify$1 = stringify.__require();
14
- let parse$1 = parse.__require();
15
- const Result = result.__require();
10
+ let MapGenerator = requireMapGenerator();
11
+ let parse = requireParse();
12
+ const Result = requireResult();
13
+ let stringify = requireStringify();
16
14
  class NoWorkResult {
15
+ get content() {
16
+ return this.result.css;
17
+ }
18
+ get css() {
19
+ return this.result.css;
20
+ }
21
+ get map() {
22
+ return this.result.map;
23
+ }
24
+ get messages() {
25
+ return [];
26
+ }
27
+ get opts() {
28
+ return this.result.opts;
29
+ }
30
+ get processor() {
31
+ return this.result.processor;
32
+ }
33
+ get root() {
34
+ if (this._root) {
35
+ return this._root;
36
+ }
37
+ let root;
38
+ let parser = parse;
39
+ try {
40
+ root = parser(this._css, this._opts);
41
+ } catch (error) {
42
+ this.error = error;
43
+ }
44
+ if (this.error) {
45
+ throw this.error;
46
+ } else {
47
+ this._root = root;
48
+ return root;
49
+ }
50
+ }
51
+ get [Symbol.toStringTag]() {
52
+ return "NoWorkResult";
53
+ }
17
54
  constructor(processor, css, opts) {
18
55
  css = css.toString();
19
56
  this.stringified = false;
@@ -22,7 +59,7 @@ function requireNoWorkResult() {
22
59
  this._opts = opts;
23
60
  this._map = void 0;
24
61
  let root;
25
- let str = stringify$1;
62
+ let str = stringify;
26
63
  this.result = new Result(this._processor, root, this._opts);
27
64
  this.result.css = css;
28
65
  let self = this;
@@ -40,6 +77,9 @@ function requireNoWorkResult() {
40
77
  if (generatedMap) {
41
78
  this.result.map = generatedMap;
42
79
  }
80
+ } else {
81
+ map.clearAnnotation();
82
+ this.result.css = map.css;
43
83
  }
44
84
  }
45
85
  async() {
@@ -65,49 +105,12 @@ function requireNoWorkResult() {
65
105
  warnings() {
66
106
  return [];
67
107
  }
68
- get content() {
69
- return this.result.css;
70
- }
71
- get css() {
72
- return this.result.css;
73
- }
74
- get map() {
75
- return this.result.map;
76
- }
77
- get messages() {
78
- return [];
79
- }
80
- get opts() {
81
- return this.result.opts;
82
- }
83
- get processor() {
84
- return this.result.processor;
85
- }
86
- get root() {
87
- if (this._root) {
88
- return this._root;
89
- }
90
- let root;
91
- let parser = parse$1;
92
- try {
93
- root = parser(this._css, this._opts);
94
- } catch (error) {
95
- this.error = error;
96
- }
97
- if (this.error) {
98
- throw this.error;
99
- } else {
100
- this._root = root;
101
- return root;
102
- }
103
- }
104
- get [Symbol.toStringTag]() {
105
- return "NoWorkResult";
106
- }
107
108
  }
108
109
  noWorkResult = NoWorkResult;
109
110
  NoWorkResult.default = NoWorkResult;
110
111
  return noWorkResult;
111
112
  }
112
- exports.__require = requireNoWorkResult;
113
+ export {
114
+ requireNoWorkResult as __require
115
+ };
113
116
  //# sourceMappingURL=no-work-result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-work-result.js","sources":["../../../../../../node_modules/postcss/lib/no-work-result.js"],"sourcesContent":["'use strict'\n\nlet MapGenerator = require('./map-generator')\nlet stringify = require('./stringify')\nlet warnOnce = require('./warn-once')\nlet parse = require('./parse')\nconst Result = require('./result')\n\nclass NoWorkResult {\n constructor(processor, css, opts) {\n css = css.toString()\n this.stringified = false\n\n this._processor = processor\n this._css = css\n this._opts = opts\n this._map = undefined\n let root\n\n let str = stringify\n this.result = new Result(this._processor, root, this._opts)\n this.result.css = css\n\n let self = this\n Object.defineProperty(this.result, 'root', {\n get() {\n return self.root\n }\n })\n\n let map = new MapGenerator(str, root, this._opts, css)\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate()\n if (generatedCSS) {\n this.result.css = generatedCSS\n }\n if (generatedMap) {\n this.result.map = generatedMap\n }\n }\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n return Promise.resolve(this.result)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n sync() {\n if (this.error) throw this.error\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this._opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this._css\n }\n\n warnings() {\n return []\n }\n\n get content() {\n return this.result.css\n }\n\n get css() {\n return this.result.css\n }\n\n get map() {\n return this.result.map\n }\n\n get messages() {\n return []\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n if (this._root) {\n return this._root\n }\n\n let root\n let parser = parse\n\n try {\n root = parser(this._css, this._opts)\n } catch (error) {\n this.error = error\n }\n\n if (this.error) {\n throw this.error\n } else {\n this._root = root\n return root\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'NoWorkResult'\n }\n}\n\nmodule.exports = NoWorkResult\nNoWorkResult.default = NoWorkResult\n"],"names":["require$$0","stringify","require$$1","parse","require$$3","require$$4"],"mappings":";;;;;;;;;;;AAEA,MAAI,eAAeA,aAAAA,UAAA;AACnB,MAAIC,cAAYC,UAAAA,UAAA;AAEhB,MAAIC,UAAQC,MAAAA,UAAA;AACZ,QAAM,SAASC,OAAAA,UAAA;AAAA,EAEf,MAAM,aAAa;AAAA,IACjB,YAAY,WAAW,KAAK,MAAM;AAChC,YAAM,IAAI,SAAA;AACV,WAAK,cAAc;AAEnB,WAAK,aAAa;AAClB,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,OAAO;AACZ,UAAI;AAEJ,UAAI,MAAMJ;AACV,WAAK,SAAS,IAAI,OAAO,KAAK,YAAY,MAAM,KAAK,KAAK;AAC1D,WAAK,OAAO,MAAM;AAElB,UAAI,OAAO;AACX,aAAO,eAAe,KAAK,QAAQ,QAAQ;AAAA,QACzC,MAAM;AACJ,iBAAO,KAAK;AAAA,QAAA;AAAA,MACd,CACD;AAED,UAAI,MAAM,IAAI,aAAa,KAAK,MAAM,KAAK,OAAO,GAAG;AACrD,UAAI,IAAI,SAAS;AACf,YAAI,CAAC,cAAc,YAAY,IAAI,IAAI,SAAA;AACvC,YAAI,cAAc;AAChB,eAAK,OAAO,MAAM;AAAA,QAAA;AAEpB,YAAI,cAAc;AAChB,eAAK,OAAO,MAAM;AAAA,QAAA;AAAA,MACpB;AAAA,IACF;AAAA,IAGF,QAAQ;AACN,UAAI,KAAK,MAAO,QAAO,QAAQ,OAAO,KAAK,KAAK;AAChD,aAAO,QAAQ,QAAQ,KAAK,MAAM;AAAA,IAAA;AAAA,IAGpC,MAAM,YAAY;AAChB,aAAO,KAAK,QAAQ,MAAM,UAAU;AAAA,IAAA;AAAA,IAGtC,QAAQ,WAAW;AACjB,aAAO,KAAK,MAAA,EAAQ,KAAK,WAAW,SAAS;AAAA,IAAA;AAAA,IAG/C,OAAO;AACL,UAAI,KAAK,MAAO,OAAM,KAAK;AAC3B,aAAO,KAAK;AAAA,IAAA;AAAA,IAGd,KAAK,aAAa,YAAY;AAW5B,aAAO,KAAK,MAAA,EAAQ,KAAK,aAAa,UAAU;AAAA,IAAA;AAAA,IAGlD,WAAW;AACT,aAAO,KAAK;AAAA,IAAA;AAAA,IAGd,WAAW;AACT,aAAO,CAAA;AAAA,IAAC;AAAA,IAGV,IAAI,UAAU;AACZ,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,MAAM;AACR,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,MAAM;AACR,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,WAAW;AACb,aAAO,CAAA;AAAA,IAAC;AAAA,IAGV,IAAI,OAAO;AACT,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,YAAY;AACd,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,OAAO;AACT,UAAI,KAAK,OAAO;AACd,eAAO,KAAK;AAAA,MAAA;AAGd,UAAI;AACJ,UAAI,SAASE;AAEb,UAAI;AACF,eAAO,OAAO,KAAK,MAAM,KAAK,KAAK;AAAA,MAAA,SAC5B,OAAO;AACd,aAAK,QAAQ;AAAA,MAAA;AAGf,UAAI,KAAK,OAAO;AACd,cAAM,KAAK;AAAA,MAAA,OACN;AACL,aAAK,QAAQ;AACb,eAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAGF,KAAK,OAAO,WAAW,IAAI;AACzB,aAAO;AAAA,IAAA;AAAA,EAEX;AAEA,iBAAiB;AACjB,eAAa,UAAU;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"no-work-result.js","sources":["../../../../../../node_modules/postcss/lib/no-work-result.js"],"sourcesContent":["'use strict'\n\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nconst Result = require('./result')\nlet stringify = require('./stringify')\nlet warnOnce = require('./warn-once')\n\nclass NoWorkResult {\n get content() {\n return this.result.css\n }\n\n get css() {\n return this.result.css\n }\n\n get map() {\n return this.result.map\n }\n\n get messages() {\n return []\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n if (this._root) {\n return this._root\n }\n\n let root\n let parser = parse\n\n try {\n root = parser(this._css, this._opts)\n } catch (error) {\n this.error = error\n }\n\n if (this.error) {\n throw this.error\n } else {\n this._root = root\n return root\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'NoWorkResult'\n }\n\n constructor(processor, css, opts) {\n css = css.toString()\n this.stringified = false\n\n this._processor = processor\n this._css = css\n this._opts = opts\n this._map = undefined\n let root\n\n let str = stringify\n this.result = new Result(this._processor, root, this._opts)\n this.result.css = css\n\n let self = this\n Object.defineProperty(this.result, 'root', {\n get() {\n return self.root\n }\n })\n\n let map = new MapGenerator(str, root, this._opts, css)\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate()\n if (generatedCSS) {\n this.result.css = generatedCSS\n }\n if (generatedMap) {\n this.result.map = generatedMap\n }\n } else {\n map.clearAnnotation()\n this.result.css = map.css\n }\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n return Promise.resolve(this.result)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n sync() {\n if (this.error) throw this.error\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this._opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this._css\n }\n\n warnings() {\n return []\n }\n}\n\nmodule.exports = NoWorkResult\nNoWorkResult.default = NoWorkResult\n"],"names":["require$$0","require$$1","require$$2","require$$3"],"mappings":";;;;;;;;;AAEA,MAAI,eAAeA,oBAAA;AACnB,MAAI,QAAQC,aAAA;AACZ,QAAM,SAASC,cAAA;AACf,MAAI,YAAYC,iBAAA;AAAA,EAGhB,MAAM,aAAa;AAAA,IACjB,IAAI,UAAU;AACZ,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,MAAM;AACR,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,MAAM;AACR,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,WAAW;AACb,aAAO,CAAA;AAAA,IAAC;AAAA,IAGV,IAAI,OAAO;AACT,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,YAAY;AACd,aAAO,KAAK,OAAO;AAAA,IAAA;AAAA,IAGrB,IAAI,OAAO;AACT,UAAI,KAAK,OAAO;AACd,eAAO,KAAK;AAAA,MAAA;AAGd,UAAI;AACJ,UAAI,SAAS;AAEb,UAAI;AACF,eAAO,OAAO,KAAK,MAAM,KAAK,KAAK;AAAA,MAAA,SAC5B,OAAO;AACd,aAAK,QAAQ;AAAA,MAAA;AAGf,UAAI,KAAK,OAAO;AACd,cAAM,KAAK;AAAA,MAAA,OACN;AACL,aAAK,QAAQ;AACb,eAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAGF,KAAK,OAAO,WAAW,IAAI;AACzB,aAAO;AAAA,IAAA;AAAA,IAGT,YAAY,WAAW,KAAK,MAAM;AAChC,YAAM,IAAI,SAAA;AACV,WAAK,cAAc;AAEnB,WAAK,aAAa;AAClB,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,OAAO;AACZ,UAAI;AAEJ,UAAI,MAAM;AACV,WAAK,SAAS,IAAI,OAAO,KAAK,YAAY,MAAM,KAAK,KAAK;AAC1D,WAAK,OAAO,MAAM;AAElB,UAAI,OAAO;AACX,aAAO,eAAe,KAAK,QAAQ,QAAQ;AAAA,QACzC,MAAM;AACJ,iBAAO,KAAK;AAAA,QAAA;AAAA,MACd,CACD;AAED,UAAI,MAAM,IAAI,aAAa,KAAK,MAAM,KAAK,OAAO,GAAG;AACrD,UAAI,IAAI,SAAS;AACf,YAAI,CAAC,cAAc,YAAY,IAAI,IAAI,SAAA;AACvC,YAAI,cAAc;AAChB,eAAK,OAAO,MAAM;AAAA,QAAA;AAEpB,YAAI,cAAc;AAChB,eAAK,OAAO,MAAM;AAAA,QAAA;AAAA,MACpB,OACK;AACL,YAAI,gBAAA;AACJ,aAAK,OAAO,MAAM,IAAI;AAAA,MAAA;AAAA,IACxB;AAAA,IAGF,QAAQ;AACN,UAAI,KAAK,MAAO,QAAO,QAAQ,OAAO,KAAK,KAAK;AAChD,aAAO,QAAQ,QAAQ,KAAK,MAAM;AAAA,IAAA;AAAA,IAGpC,MAAM,YAAY;AAChB,aAAO,KAAK,QAAQ,MAAM,UAAU;AAAA,IAAA;AAAA,IAGtC,QAAQ,WAAW;AACjB,aAAO,KAAK,MAAA,EAAQ,KAAK,WAAW,SAAS;AAAA,IAAA;AAAA,IAG/C,OAAO;AACL,UAAI,KAAK,MAAO,OAAM,KAAK;AAC3B,aAAO,KAAK;AAAA,IAAA;AAAA,IAGd,KAAK,aAAa,YAAY;AAW5B,aAAO,KAAK,MAAA,EAAQ,KAAK,aAAa,UAAU;AAAA,IAAA;AAAA,IAGlD,WAAW;AACT,aAAO,KAAK;AAAA,IAAA;AAAA,IAGd,WAAW;AACT,aAAO,CAAA;AAAA,IAAC;AAAA,EAEZ;AAEA,iBAAiB;AACjB,eAAa,UAAU;;;","x_google_ignoreList":[0]}
@@ -1,18 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const symbols = require("./symbols.js");
4
- const cssSyntaxError = require("./css-syntax-error.js");
5
- const stringifier = require("./stringifier.js");
6
- const stringify = require("./stringify.js");
1
+ import { __require as requireCssSyntaxError } from "./css-syntax-error.js";
2
+ import { __require as requireStringifier } from "./stringifier.js";
3
+ import { __require as requireStringify } from "./stringify.js";
4
+ import { __require as requireSymbols } from "./symbols.js";
7
5
  var node;
8
6
  var hasRequiredNode;
9
7
  function requireNode() {
10
8
  if (hasRequiredNode) return node;
11
9
  hasRequiredNode = 1;
12
- let { isClean, my } = symbols.__require();
13
- let CssSyntaxError = cssSyntaxError.__require();
14
- let Stringifier = stringifier.__require();
15
- let stringify$1 = stringify.__require();
10
+ let CssSyntaxError = requireCssSyntaxError();
11
+ let Stringifier = requireStringifier();
12
+ let stringify = requireStringify();
13
+ let { isClean, my } = requireSymbols();
16
14
  function cloneNode(obj, parent) {
17
15
  let cloned = new obj.constructor();
18
16
  for (let i in obj) {
@@ -35,7 +33,31 @@ function requireNode() {
35
33
  }
36
34
  return cloned;
37
35
  }
36
+ function sourceOffset(inputCSS, position) {
37
+ if (position && typeof position.offset !== "undefined") {
38
+ return position.offset;
39
+ }
40
+ let column = 1;
41
+ let line = 1;
42
+ let offset = 0;
43
+ for (let i = 0; i < inputCSS.length; i++) {
44
+ if (line === position.line && column === position.column) {
45
+ offset = i;
46
+ break;
47
+ }
48
+ if (inputCSS[i] === "\n") {
49
+ column = 1;
50
+ line += 1;
51
+ } else {
52
+ column += 1;
53
+ }
54
+ }
55
+ return offset;
56
+ }
38
57
  class Node {
58
+ get proxyOf() {
59
+ return this;
60
+ }
39
61
  constructor(defaults = {}) {
40
62
  this.raws = {};
41
63
  this[isClean] = false;
@@ -136,6 +158,10 @@ function requireNode() {
136
158
  }
137
159
  };
138
160
  }
161
+ /* c8 ignore next 3 */
162
+ markClean() {
163
+ this[isClean] = true;
164
+ }
139
165
  markDirty() {
140
166
  if (this[isClean]) {
141
167
  this[isClean] = false;
@@ -150,60 +176,82 @@ function requireNode() {
150
176
  let index = this.parent.index(this);
151
177
  return this.parent.nodes[index + 1];
152
178
  }
153
- positionBy(opts, stringRepresentation) {
179
+ positionBy(opts = {}) {
154
180
  let pos = this.source.start;
155
181
  if (opts.index) {
156
- pos = this.positionInside(opts.index, stringRepresentation);
182
+ pos = this.positionInside(opts.index);
157
183
  } else if (opts.word) {
158
- stringRepresentation = this.toString();
184
+ let inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css;
185
+ let stringRepresentation = inputString.slice(
186
+ sourceOffset(inputString, this.source.start),
187
+ sourceOffset(inputString, this.source.end)
188
+ );
159
189
  let index = stringRepresentation.indexOf(opts.word);
160
- if (index !== -1) pos = this.positionInside(index, stringRepresentation);
190
+ if (index !== -1) pos = this.positionInside(index);
161
191
  }
162
192
  return pos;
163
193
  }
164
- positionInside(index, stringRepresentation) {
165
- let string = stringRepresentation || this.toString();
194
+ positionInside(index) {
166
195
  let column = this.source.start.column;
167
196
  let line = this.source.start.line;
168
- for (let i = 0; i < index; i++) {
169
- if (string[i] === "\n") {
197
+ let inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css;
198
+ let offset = sourceOffset(inputString, this.source.start);
199
+ let end = offset + index;
200
+ for (let i = offset; i < end; i++) {
201
+ if (inputString[i] === "\n") {
170
202
  column = 1;
171
203
  line += 1;
172
204
  } else {
173
205
  column += 1;
174
206
  }
175
207
  }
176
- return { column, line };
208
+ return { column, line, offset: end };
177
209
  }
178
210
  prev() {
179
211
  if (!this.parent) return void 0;
180
212
  let index = this.parent.index(this);
181
213
  return this.parent.nodes[index - 1];
182
214
  }
183
- rangeBy(opts) {
215
+ rangeBy(opts = {}) {
216
+ let inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css;
184
217
  let start = {
185
218
  column: this.source.start.column,
186
- line: this.source.start.line
219
+ line: this.source.start.line,
220
+ offset: sourceOffset(inputString, this.source.start)
187
221
  };
188
222
  let end = this.source.end ? {
189
223
  column: this.source.end.column + 1,
190
- line: this.source.end.line
224
+ line: this.source.end.line,
225
+ offset: typeof this.source.end.offset === "number" ? (
226
+ // `source.end.offset` is exclusive, so we don't need to add 1
227
+ this.source.end.offset
228
+ ) : (
229
+ // Since line/column in this.source.end is inclusive,
230
+ // the `sourceOffset(... , this.source.end)` returns an inclusive offset.
231
+ // So, we add 1 to convert it to exclusive.
232
+ sourceOffset(inputString, this.source.end) + 1
233
+ )
191
234
  } : {
192
235
  column: start.column + 1,
193
- line: start.line
236
+ line: start.line,
237
+ offset: start.offset + 1
194
238
  };
195
239
  if (opts.word) {
196
- let stringRepresentation = this.toString();
240
+ let stringRepresentation = inputString.slice(
241
+ sourceOffset(inputString, this.source.start),
242
+ sourceOffset(inputString, this.source.end)
243
+ );
197
244
  let index = stringRepresentation.indexOf(opts.word);
198
245
  if (index !== -1) {
199
- start = this.positionInside(index, stringRepresentation);
200
- end = this.positionInside(index + opts.word.length, stringRepresentation);
246
+ start = this.positionInside(index);
247
+ end = this.positionInside(index + opts.word.length);
201
248
  }
202
249
  } else {
203
250
  if (opts.start) {
204
251
  start = {
205
252
  column: opts.start.column,
206
- line: opts.start.line
253
+ line: opts.start.line,
254
+ offset: sourceOffset(inputString, opts.start)
207
255
  };
208
256
  } else if (opts.index) {
209
257
  start = this.positionInside(opts.index);
@@ -211,16 +259,21 @@ function requireNode() {
211
259
  if (opts.end) {
212
260
  end = {
213
261
  column: opts.end.column,
214
- line: opts.end.line
262
+ line: opts.end.line,
263
+ offset: sourceOffset(inputString, opts.end)
215
264
  };
216
- } else if (opts.endIndex) {
265
+ } else if (typeof opts.endIndex === "number") {
217
266
  end = this.positionInside(opts.endIndex);
218
267
  } else if (opts.index) {
219
268
  end = this.positionInside(opts.index + 1);
220
269
  }
221
270
  }
222
271
  if (end.line < start.line || end.line === start.line && end.column <= start.column) {
223
- end = { column: start.column + 1, line: start.line };
272
+ end = {
273
+ column: start.column + 1,
274
+ line: start.line,
275
+ offset: start.offset + 1
276
+ };
224
277
  }
225
278
  return { end, start };
226
279
  }
@@ -284,6 +337,7 @@ function requireNode() {
284
337
  } else if (typeof value === "object" && value.toJSON) {
285
338
  fixed[name] = value.toJSON(null, inputs);
286
339
  } else if (name === "source") {
340
+ if (value == null) continue;
287
341
  let inputId = inputs.get(value.input);
288
342
  if (inputId == null) {
289
343
  inputId = inputsNextIndex;
@@ -310,26 +364,25 @@ function requireNode() {
310
364
  }
311
365
  return this.proxyCache;
312
366
  }
313
- toString(stringifier2 = stringify$1) {
314
- if (stringifier2.stringify) stringifier2 = stringifier2.stringify;
367
+ toString(stringifier = stringify) {
368
+ if (stringifier.stringify) stringifier = stringifier.stringify;
315
369
  let result = "";
316
- stringifier2(this, (i) => {
370
+ stringifier(this, (i) => {
317
371
  result += i;
318
372
  });
319
373
  return result;
320
374
  }
321
- warn(result, text, opts) {
375
+ warn(result, text, opts = {}) {
322
376
  let data = { node: this };
323
377
  for (let i in opts) data[i] = opts[i];
324
378
  return result.warn(text, data);
325
379
  }
326
- get proxyOf() {
327
- return this;
328
- }
329
380
  }
330
381
  node = Node;
331
382
  Node.default = Node;
332
383
  return node;
333
384
  }
334
- exports.__require = requireNode;
385
+ export {
386
+ requireNode as __require
387
+ };
335
388
  //# sourceMappingURL=node.js.map