@posthog/rrweb-snapshot 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rrweb-snapshot.cjs +1606 -1424
- package/dist/rrweb-snapshot.cjs.map +1 -1
- package/dist/rrweb-snapshot.js +1606 -1424
- package/dist/rrweb-snapshot.js.map +1 -1
- package/dist/rrweb-snapshot.umd.cjs +1609 -1427
- package/dist/rrweb-snapshot.umd.cjs.map +4 -4
- package/dist/rrweb-snapshot.umd.min.cjs +16 -14
- package/dist/rrweb-snapshot.umd.min.cjs.map +4 -4
- package/package.json +4 -2
package/dist/rrweb-snapshot.cjs
CHANGED
|
@@ -1536,7 +1536,7 @@ function getAugmentedNamespace(n) {
|
|
|
1536
1536
|
var picocolors_browser = { exports: {} };
|
|
1537
1537
|
var x = String;
|
|
1538
1538
|
var create = function() {
|
|
1539
|
-
return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x };
|
|
1539
|
+
return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x, blackBright: x, redBright: x, greenBright: x, yellowBright: x, blueBright: x, magentaBright: x, cyanBright: x, whiteBright: x, bgBlackBright: x, bgRedBright: x, bgGreenBright: x, bgYellowBright: x, bgBlueBright: x, bgMagentaBright: x, bgCyanBright: x, bgWhiteBright: x };
|
|
1540
1540
|
};
|
|
1541
1541
|
picocolors_browser.exports = create();
|
|
1542
1542
|
picocolors_browser.exports.createColors = create;
|
|
@@ -1549,8 +1549,8 @@ const __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Ob
|
|
|
1549
1549
|
const require$$2 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);
|
|
1550
1550
|
let pico = picocolors_browserExports;
|
|
1551
1551
|
let terminalHighlight$1 = require$$2;
|
|
1552
|
-
let CssSyntaxError$
|
|
1553
|
-
constructor(message, line, column, source, file,
|
|
1552
|
+
let CssSyntaxError$4 = class CssSyntaxError extends Error {
|
|
1553
|
+
constructor(message, line, column, source, file, plugin3) {
|
|
1554
1554
|
super(message);
|
|
1555
1555
|
this.name = "CssSyntaxError";
|
|
1556
1556
|
this.reason = message;
|
|
@@ -1560,8 +1560,8 @@ let CssSyntaxError$3 = class CssSyntaxError extends Error {
|
|
|
1560
1560
|
if (source) {
|
|
1561
1561
|
this.source = source;
|
|
1562
1562
|
}
|
|
1563
|
-
if (
|
|
1564
|
-
this.plugin =
|
|
1563
|
+
if (plugin3) {
|
|
1564
|
+
this.plugin = plugin3;
|
|
1565
1565
|
}
|
|
1566
1566
|
if (typeof line !== "undefined" && typeof column !== "undefined") {
|
|
1567
1567
|
if (typeof line === "number") {
|
|
@@ -1591,29 +1591,40 @@ let CssSyntaxError$3 = class CssSyntaxError extends Error {
|
|
|
1591
1591
|
if (!this.source) return "";
|
|
1592
1592
|
let css = this.source;
|
|
1593
1593
|
if (color == null) color = pico.isColorSupported;
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
let lines = css.split(/\r?\n/);
|
|
1598
|
-
let start = Math.max(this.line - 3, 0);
|
|
1599
|
-
let end = Math.min(this.line + 2, lines.length);
|
|
1600
|
-
let maxWidth = String(end).length;
|
|
1601
|
-
let mark, aside;
|
|
1594
|
+
let aside = (text) => text;
|
|
1595
|
+
let mark = (text) => text;
|
|
1596
|
+
let highlight = (text) => text;
|
|
1602
1597
|
if (color) {
|
|
1603
1598
|
let { bold, gray, red } = pico.createColors(true);
|
|
1604
1599
|
mark = (text) => bold(red(text));
|
|
1605
1600
|
aside = (text) => gray(text);
|
|
1606
|
-
|
|
1607
|
-
|
|
1601
|
+
if (terminalHighlight$1) {
|
|
1602
|
+
highlight = (text) => terminalHighlight$1(text);
|
|
1603
|
+
}
|
|
1608
1604
|
}
|
|
1605
|
+
let lines = css.split(/\r?\n/);
|
|
1606
|
+
let start = Math.max(this.line - 3, 0);
|
|
1607
|
+
let end = Math.min(this.line + 2, lines.length);
|
|
1608
|
+
let maxWidth = String(end).length;
|
|
1609
1609
|
return lines.slice(start, end).map((line, index2) => {
|
|
1610
1610
|
let number = start + 1 + index2;
|
|
1611
1611
|
let gutter = " " + (" " + number).slice(-maxWidth) + " | ";
|
|
1612
1612
|
if (number === this.line) {
|
|
1613
|
+
if (line.length > 160) {
|
|
1614
|
+
let padding = 20;
|
|
1615
|
+
let subLineStart = Math.max(0, this.column - padding);
|
|
1616
|
+
let subLineEnd = Math.max(
|
|
1617
|
+
this.column + padding,
|
|
1618
|
+
this.endColumn + padding
|
|
1619
|
+
);
|
|
1620
|
+
let subLine = line.slice(subLineStart, subLineEnd);
|
|
1621
|
+
let spacing2 = aside(gutter.replace(/\d/g, " ")) + line.slice(0, Math.min(this.column - 1, padding - 1)).replace(/[^\t]/g, " ");
|
|
1622
|
+
return mark(">") + aside(gutter) + highlight(subLine) + "\n " + spacing2 + mark("^");
|
|
1623
|
+
}
|
|
1613
1624
|
let spacing = aside(gutter.replace(/\d/g, " ")) + line.slice(0, this.column - 1).replace(/[^\t]/g, " ");
|
|
1614
|
-
return mark(">") + aside(gutter) + line + "\n " + spacing + mark("^");
|
|
1625
|
+
return mark(">") + aside(gutter) + highlight(line) + "\n " + spacing + mark("^");
|
|
1615
1626
|
}
|
|
1616
|
-
return " " + aside(gutter) + line;
|
|
1627
|
+
return " " + aside(gutter) + highlight(line);
|
|
1617
1628
|
}).join("\n");
|
|
1618
1629
|
}
|
|
1619
1630
|
toString() {
|
|
@@ -1624,11 +1635,8 @@ let CssSyntaxError$3 = class CssSyntaxError extends Error {
|
|
|
1624
1635
|
return this.name + ": " + this.message + code;
|
|
1625
1636
|
}
|
|
1626
1637
|
};
|
|
1627
|
-
var cssSyntaxError = CssSyntaxError$
|
|
1628
|
-
CssSyntaxError$
|
|
1629
|
-
var symbols = {};
|
|
1630
|
-
symbols.isClean = Symbol("isClean");
|
|
1631
|
-
symbols.my = Symbol("my");
|
|
1638
|
+
var cssSyntaxError = CssSyntaxError$4;
|
|
1639
|
+
CssSyntaxError$4.default = CssSyntaxError$4;
|
|
1632
1640
|
const DEFAULT_RAW = {
|
|
1633
1641
|
after: "\n",
|
|
1634
1642
|
beforeClose: "\n",
|
|
@@ -1927,16 +1935,19 @@ let Stringifier$2 = class Stringifier {
|
|
|
1927
1935
|
var stringifier = Stringifier$2;
|
|
1928
1936
|
Stringifier$2.default = Stringifier$2;
|
|
1929
1937
|
let Stringifier$1 = stringifier;
|
|
1930
|
-
function stringify$
|
|
1938
|
+
function stringify$5(node2, builder) {
|
|
1931
1939
|
let str = new Stringifier$1(builder);
|
|
1932
1940
|
str.stringify(node2);
|
|
1933
1941
|
}
|
|
1934
|
-
var stringify_1 = stringify$
|
|
1935
|
-
stringify$
|
|
1936
|
-
|
|
1937
|
-
|
|
1942
|
+
var stringify_1 = stringify$5;
|
|
1943
|
+
stringify$5.default = stringify$5;
|
|
1944
|
+
var symbols = {};
|
|
1945
|
+
symbols.isClean = Symbol("isClean");
|
|
1946
|
+
symbols.my = Symbol("my");
|
|
1947
|
+
let CssSyntaxError$3 = cssSyntaxError;
|
|
1938
1948
|
let Stringifier2 = stringifier;
|
|
1939
|
-
let stringify$
|
|
1949
|
+
let stringify$4 = stringify_1;
|
|
1950
|
+
let { isClean: isClean$2, my: my$2 } = symbols;
|
|
1940
1951
|
function cloneNode(obj, parent) {
|
|
1941
1952
|
let cloned = new obj.constructor();
|
|
1942
1953
|
for (let i in obj) {
|
|
@@ -1959,7 +1970,28 @@ function cloneNode(obj, parent) {
|
|
|
1959
1970
|
}
|
|
1960
1971
|
return cloned;
|
|
1961
1972
|
}
|
|
1962
|
-
|
|
1973
|
+
function sourceOffset(inputCSS, position) {
|
|
1974
|
+
if (position && typeof position.offset !== "undefined") {
|
|
1975
|
+
return position.offset;
|
|
1976
|
+
}
|
|
1977
|
+
let column = 1;
|
|
1978
|
+
let line = 1;
|
|
1979
|
+
let offset = 0;
|
|
1980
|
+
for (let i = 0; i < inputCSS.length; i++) {
|
|
1981
|
+
if (line === position.line && column === position.column) {
|
|
1982
|
+
offset = i;
|
|
1983
|
+
break;
|
|
1984
|
+
}
|
|
1985
|
+
if (inputCSS[i] === "\n") {
|
|
1986
|
+
column = 1;
|
|
1987
|
+
line += 1;
|
|
1988
|
+
} else {
|
|
1989
|
+
column += 1;
|
|
1990
|
+
}
|
|
1991
|
+
}
|
|
1992
|
+
return offset;
|
|
1993
|
+
}
|
|
1994
|
+
let Node$5 = class Node {
|
|
1963
1995
|
constructor(defaults = {}) {
|
|
1964
1996
|
this.raws = {};
|
|
1965
1997
|
this[isClean$2] = false;
|
|
@@ -2036,7 +2068,7 @@ let Node$4 = class Node {
|
|
|
2036
2068
|
opts
|
|
2037
2069
|
);
|
|
2038
2070
|
}
|
|
2039
|
-
return new CssSyntaxError$
|
|
2071
|
+
return new CssSyntaxError$3(message);
|
|
2040
2072
|
}
|
|
2041
2073
|
getProxyProcessor() {
|
|
2042
2074
|
return {
|
|
@@ -2060,6 +2092,10 @@ let Node$4 = class Node {
|
|
|
2060
2092
|
}
|
|
2061
2093
|
};
|
|
2062
2094
|
}
|
|
2095
|
+
/* c8 ignore next 3 */
|
|
2096
|
+
markClean() {
|
|
2097
|
+
this[isClean$2] = true;
|
|
2098
|
+
}
|
|
2063
2099
|
markDirty() {
|
|
2064
2100
|
if (this[isClean$2]) {
|
|
2065
2101
|
this[isClean$2] = false;
|
|
@@ -2074,23 +2110,29 @@ let Node$4 = class Node {
|
|
|
2074
2110
|
let index2 = this.parent.index(this);
|
|
2075
2111
|
return this.parent.nodes[index2 + 1];
|
|
2076
2112
|
}
|
|
2077
|
-
positionBy(opts
|
|
2113
|
+
positionBy(opts) {
|
|
2078
2114
|
let pos = this.source.start;
|
|
2079
2115
|
if (opts.index) {
|
|
2080
|
-
pos = this.positionInside(opts.index
|
|
2116
|
+
pos = this.positionInside(opts.index);
|
|
2081
2117
|
} else if (opts.word) {
|
|
2082
|
-
|
|
2118
|
+
let inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css;
|
|
2119
|
+
let stringRepresentation = inputString.slice(
|
|
2120
|
+
sourceOffset(inputString, this.source.start),
|
|
2121
|
+
sourceOffset(inputString, this.source.end)
|
|
2122
|
+
);
|
|
2083
2123
|
let index2 = stringRepresentation.indexOf(opts.word);
|
|
2084
|
-
if (index2 !== -1) pos = this.positionInside(index2
|
|
2124
|
+
if (index2 !== -1) pos = this.positionInside(index2);
|
|
2085
2125
|
}
|
|
2086
2126
|
return pos;
|
|
2087
2127
|
}
|
|
2088
|
-
positionInside(index2
|
|
2089
|
-
let string = stringRepresentation || this.toString();
|
|
2128
|
+
positionInside(index2) {
|
|
2090
2129
|
let column = this.source.start.column;
|
|
2091
2130
|
let line = this.source.start.line;
|
|
2092
|
-
|
|
2093
|
-
|
|
2131
|
+
let inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css;
|
|
2132
|
+
let offset = sourceOffset(inputString, this.source.start);
|
|
2133
|
+
let end = offset + index2;
|
|
2134
|
+
for (let i = offset; i < end; i++) {
|
|
2135
|
+
if (inputString[i] === "\n") {
|
|
2094
2136
|
column = 1;
|
|
2095
2137
|
line += 1;
|
|
2096
2138
|
} else {
|
|
@@ -2117,11 +2159,17 @@ let Node$4 = class Node {
|
|
|
2117
2159
|
line: start.line
|
|
2118
2160
|
};
|
|
2119
2161
|
if (opts.word) {
|
|
2120
|
-
let
|
|
2162
|
+
let inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css;
|
|
2163
|
+
let stringRepresentation = inputString.slice(
|
|
2164
|
+
sourceOffset(inputString, this.source.start),
|
|
2165
|
+
sourceOffset(inputString, this.source.end)
|
|
2166
|
+
);
|
|
2121
2167
|
let index2 = stringRepresentation.indexOf(opts.word);
|
|
2122
2168
|
if (index2 !== -1) {
|
|
2123
|
-
start = this.positionInside(index2
|
|
2124
|
-
end = this.positionInside(
|
|
2169
|
+
start = this.positionInside(index2);
|
|
2170
|
+
end = this.positionInside(
|
|
2171
|
+
index2 + opts.word.length
|
|
2172
|
+
);
|
|
2125
2173
|
}
|
|
2126
2174
|
} else {
|
|
2127
2175
|
if (opts.start) {
|
|
@@ -2234,7 +2282,7 @@ let Node$4 = class Node {
|
|
|
2234
2282
|
}
|
|
2235
2283
|
return this.proxyCache;
|
|
2236
2284
|
}
|
|
2237
|
-
toString(stringifier2 = stringify$
|
|
2285
|
+
toString(stringifier2 = stringify$4) {
|
|
2238
2286
|
if (stringifier2.stringify) stringifier2 = stringifier2.stringify;
|
|
2239
2287
|
let result2 = "";
|
|
2240
2288
|
stringifier2(this, (i) => {
|
|
@@ -2251,10 +2299,19 @@ let Node$4 = class Node {
|
|
|
2251
2299
|
return this;
|
|
2252
2300
|
}
|
|
2253
2301
|
};
|
|
2254
|
-
var node = Node$
|
|
2255
|
-
Node$
|
|
2302
|
+
var node = Node$5;
|
|
2303
|
+
Node$5.default = Node$5;
|
|
2304
|
+
let Node$4 = node;
|
|
2305
|
+
let Comment$6 = class Comment extends Node$4 {
|
|
2306
|
+
constructor(defaults) {
|
|
2307
|
+
super(defaults);
|
|
2308
|
+
this.type = "comment";
|
|
2309
|
+
}
|
|
2310
|
+
};
|
|
2311
|
+
var comment$1 = Comment$6;
|
|
2312
|
+
Comment$6.default = Comment$6;
|
|
2256
2313
|
let Node$3 = node;
|
|
2257
|
-
let Declaration$
|
|
2314
|
+
let Declaration$5 = class Declaration extends Node$3 {
|
|
2258
2315
|
constructor(defaults) {
|
|
2259
2316
|
if (defaults && typeof defaults.value !== "undefined" && typeof defaults.value !== "string") {
|
|
2260
2317
|
defaults = { ...defaults, value: String(defaults.value) };
|
|
@@ -2266,1120 +2323,1233 @@ let Declaration$4 = class Declaration extends Node$3 {
|
|
|
2266
2323
|
return this.prop.startsWith("--") || this.prop[0] === "$";
|
|
2267
2324
|
}
|
|
2268
2325
|
};
|
|
2269
|
-
var declaration = Declaration$
|
|
2270
|
-
Declaration$
|
|
2271
|
-
let
|
|
2272
|
-
let
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2326
|
+
var declaration = Declaration$5;
|
|
2327
|
+
Declaration$5.default = Declaration$5;
|
|
2328
|
+
let Comment$5 = comment$1;
|
|
2329
|
+
let Declaration$4 = declaration;
|
|
2330
|
+
let Node$2 = node;
|
|
2331
|
+
let { isClean: isClean$1, my: my$1 } = symbols;
|
|
2332
|
+
let AtRule$5, parse$5, Root$7, Rule$5;
|
|
2333
|
+
function cleanSource(nodes) {
|
|
2334
|
+
return nodes.map((i) => {
|
|
2335
|
+
if (i.nodes) i.nodes = cleanSource(i.nodes);
|
|
2336
|
+
delete i.source;
|
|
2337
|
+
return i;
|
|
2338
|
+
});
|
|
2339
|
+
}
|
|
2340
|
+
function markTreeDirty(node2) {
|
|
2341
|
+
node2[isClean$1] = false;
|
|
2342
|
+
if (node2.proxyOf.nodes) {
|
|
2343
|
+
for (let i of node2.proxyOf.nodes) {
|
|
2344
|
+
markTreeDirty(i);
|
|
2278
2345
|
}
|
|
2279
|
-
return id;
|
|
2280
|
-
};
|
|
2281
|
-
};
|
|
2282
|
-
let nanoid$1 = (size = 21) => {
|
|
2283
|
-
let id = "";
|
|
2284
|
-
let i = size;
|
|
2285
|
-
while (i--) {
|
|
2286
|
-
id += urlAlphabet[Math.random() * 64 | 0];
|
|
2287
|
-
}
|
|
2288
|
-
return id;
|
|
2289
|
-
};
|
|
2290
|
-
var nonSecure = { nanoid: nanoid$1, customAlphabet };
|
|
2291
|
-
let { SourceMapConsumer: SourceMapConsumer$2, SourceMapGenerator: SourceMapGenerator$2 } = require$$2;
|
|
2292
|
-
let { existsSync, readFileSync } = require$$2;
|
|
2293
|
-
let { dirname: dirname$1, join } = require$$2;
|
|
2294
|
-
function fromBase64(str) {
|
|
2295
|
-
if (Buffer) {
|
|
2296
|
-
return Buffer.from(str, "base64").toString();
|
|
2297
|
-
} else {
|
|
2298
|
-
return window.atob(str);
|
|
2299
2346
|
}
|
|
2300
2347
|
}
|
|
2301
|
-
let
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
let prev = opts.map ? opts.map.prev : void 0;
|
|
2307
|
-
let text = this.loadMap(opts.from, prev);
|
|
2308
|
-
if (!this.mapFile && opts.from) {
|
|
2309
|
-
this.mapFile = opts.from;
|
|
2348
|
+
let Container$8 = class Container extends Node$2 {
|
|
2349
|
+
append(...children) {
|
|
2350
|
+
for (let child of children) {
|
|
2351
|
+
let nodes = this.normalize(child, this.last);
|
|
2352
|
+
for (let node2 of nodes) this.proxyOf.nodes.push(node2);
|
|
2310
2353
|
}
|
|
2311
|
-
|
|
2312
|
-
|
|
2354
|
+
this.markDirty();
|
|
2355
|
+
return this;
|
|
2313
2356
|
}
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2357
|
+
cleanRaws(keepBetween) {
|
|
2358
|
+
super.cleanRaws(keepBetween);
|
|
2359
|
+
if (this.nodes) {
|
|
2360
|
+
for (let node2 of this.nodes) node2.cleanRaws(keepBetween);
|
|
2317
2361
|
}
|
|
2318
|
-
return this.consumerCache;
|
|
2319
2362
|
}
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
let
|
|
2323
|
-
let
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
return fromBase64(text.substr(RegExp.lastMatch.length));
|
|
2363
|
+
each(callback) {
|
|
2364
|
+
if (!this.proxyOf.nodes) return void 0;
|
|
2365
|
+
let iterator = this.getIterator();
|
|
2366
|
+
let index2, result2;
|
|
2367
|
+
while (this.indexes[iterator] < this.proxyOf.nodes.length) {
|
|
2368
|
+
index2 = this.indexes[iterator];
|
|
2369
|
+
result2 = callback(this.proxyOf.nodes[index2], index2);
|
|
2370
|
+
if (result2 === false) break;
|
|
2371
|
+
this.indexes[iterator] += 1;
|
|
2330
2372
|
}
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
}
|
|
2334
|
-
getAnnotationURL(sourceMapString) {
|
|
2335
|
-
return sourceMapString.replace(/^\/\*\s*# sourceMappingURL=/, "").trim();
|
|
2336
|
-
}
|
|
2337
|
-
isMap(map) {
|
|
2338
|
-
if (typeof map !== "object") return false;
|
|
2339
|
-
return typeof map.mappings === "string" || typeof map._mappings === "string" || Array.isArray(map.sections);
|
|
2373
|
+
delete this.indexes[iterator];
|
|
2374
|
+
return result2;
|
|
2340
2375
|
}
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
if (!comments) return;
|
|
2344
|
-
let start = css.lastIndexOf(comments.pop());
|
|
2345
|
-
let end = css.indexOf("*/", start);
|
|
2346
|
-
if (start > -1 && end > -1) {
|
|
2347
|
-
this.annotation = this.getAnnotationURL(css.substring(start, end));
|
|
2348
|
-
}
|
|
2376
|
+
every(condition) {
|
|
2377
|
+
return this.nodes.every(condition);
|
|
2349
2378
|
}
|
|
2350
|
-
|
|
2351
|
-
this.
|
|
2352
|
-
if (
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2379
|
+
getIterator() {
|
|
2380
|
+
if (!this.lastEach) this.lastEach = 0;
|
|
2381
|
+
if (!this.indexes) this.indexes = {};
|
|
2382
|
+
this.lastEach += 1;
|
|
2383
|
+
let iterator = this.lastEach;
|
|
2384
|
+
this.indexes[iterator] = 0;
|
|
2385
|
+
return iterator;
|
|
2356
2386
|
}
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
if (
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2387
|
+
getProxyProcessor() {
|
|
2388
|
+
return {
|
|
2389
|
+
get(node2, prop) {
|
|
2390
|
+
if (prop === "proxyOf") {
|
|
2391
|
+
return node2;
|
|
2392
|
+
} else if (!node2[prop]) {
|
|
2393
|
+
return node2[prop];
|
|
2394
|
+
} else if (prop === "each" || typeof prop === "string" && prop.startsWith("walk")) {
|
|
2395
|
+
return (...args) => {
|
|
2396
|
+
return node2[prop](
|
|
2397
|
+
...args.map((i) => {
|
|
2398
|
+
if (typeof i === "function") {
|
|
2399
|
+
return (child, index2) => i(child.toProxy(), index2);
|
|
2400
|
+
} else {
|
|
2401
|
+
return i;
|
|
2402
|
+
}
|
|
2403
|
+
})
|
|
2369
2404
|
);
|
|
2370
|
-
}
|
|
2371
|
-
|
|
2405
|
+
};
|
|
2406
|
+
} else if (prop === "every" || prop === "some") {
|
|
2407
|
+
return (cb) => {
|
|
2408
|
+
return node2[prop](
|
|
2409
|
+
(child, ...other) => cb(child.toProxy(), ...other)
|
|
2410
|
+
);
|
|
2411
|
+
};
|
|
2412
|
+
} else if (prop === "root") {
|
|
2413
|
+
return () => node2.root().toProxy();
|
|
2414
|
+
} else if (prop === "nodes") {
|
|
2415
|
+
return node2.nodes.map((i) => i.toProxy());
|
|
2416
|
+
} else if (prop === "first" || prop === "last") {
|
|
2417
|
+
return node2[prop].toProxy();
|
|
2418
|
+
} else {
|
|
2419
|
+
return node2[prop];
|
|
2372
2420
|
}
|
|
2373
|
-
}
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
"Unsupported previous source map format: " + prev.toString()
|
|
2382
|
-
);
|
|
2421
|
+
},
|
|
2422
|
+
set(node2, prop, value) {
|
|
2423
|
+
if (node2[prop] === value) return true;
|
|
2424
|
+
node2[prop] = value;
|
|
2425
|
+
if (prop === "name" || prop === "params" || prop === "selector") {
|
|
2426
|
+
node2.markDirty();
|
|
2427
|
+
}
|
|
2428
|
+
return true;
|
|
2383
2429
|
}
|
|
2384
|
-
}
|
|
2385
|
-
return this.decodeInline(this.annotation);
|
|
2386
|
-
} else if (this.annotation) {
|
|
2387
|
-
let map = this.annotation;
|
|
2388
|
-
if (file) map = join(dirname$1(file), map);
|
|
2389
|
-
return this.loadFile(map);
|
|
2390
|
-
}
|
|
2430
|
+
};
|
|
2391
2431
|
}
|
|
2392
|
-
|
|
2393
|
-
if (
|
|
2394
|
-
|
|
2432
|
+
index(child) {
|
|
2433
|
+
if (typeof child === "number") return child;
|
|
2434
|
+
if (child.proxyOf) child = child.proxyOf;
|
|
2435
|
+
return this.proxyOf.nodes.indexOf(child);
|
|
2395
2436
|
}
|
|
2396
|
-
|
|
2397
|
-
|
|
2437
|
+
insertAfter(exist, add) {
|
|
2438
|
+
let existIndex = this.index(exist);
|
|
2439
|
+
let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();
|
|
2440
|
+
existIndex = this.index(exist);
|
|
2441
|
+
for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);
|
|
2442
|
+
let index2;
|
|
2443
|
+
for (let id in this.indexes) {
|
|
2444
|
+
index2 = this.indexes[id];
|
|
2445
|
+
if (existIndex < index2) {
|
|
2446
|
+
this.indexes[id] = index2 + nodes.length;
|
|
2447
|
+
}
|
|
2448
|
+
}
|
|
2449
|
+
this.markDirty();
|
|
2450
|
+
return this;
|
|
2398
2451
|
}
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
let
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
let
|
|
2409
|
-
let
|
|
2410
|
-
let
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
throw new Error(`PostCSS received ${css} instead of CSS string`);
|
|
2452
|
+
insertBefore(exist, add) {
|
|
2453
|
+
let existIndex = this.index(exist);
|
|
2454
|
+
let type = existIndex === 0 ? "prepend" : false;
|
|
2455
|
+
let nodes = this.normalize(
|
|
2456
|
+
add,
|
|
2457
|
+
this.proxyOf.nodes[existIndex],
|
|
2458
|
+
type
|
|
2459
|
+
).reverse();
|
|
2460
|
+
existIndex = this.index(exist);
|
|
2461
|
+
for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);
|
|
2462
|
+
let index2;
|
|
2463
|
+
for (let id in this.indexes) {
|
|
2464
|
+
index2 = this.indexes[id];
|
|
2465
|
+
if (existIndex <= index2) {
|
|
2466
|
+
this.indexes[id] = index2 + nodes.length;
|
|
2467
|
+
}
|
|
2416
2468
|
}
|
|
2417
|
-
this.
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2469
|
+
this.markDirty();
|
|
2470
|
+
return this;
|
|
2471
|
+
}
|
|
2472
|
+
normalize(nodes, sample) {
|
|
2473
|
+
if (typeof nodes === "string") {
|
|
2474
|
+
nodes = cleanSource(parse$5(nodes).nodes);
|
|
2475
|
+
} else if (typeof nodes === "undefined") {
|
|
2476
|
+
nodes = [];
|
|
2477
|
+
} else if (Array.isArray(nodes)) {
|
|
2478
|
+
nodes = nodes.slice(0);
|
|
2479
|
+
for (let i of nodes) {
|
|
2480
|
+
if (i.parent) i.parent.removeChild(i, "ignore");
|
|
2481
|
+
}
|
|
2482
|
+
} else if (nodes.type === "root" && this.type !== "document") {
|
|
2483
|
+
nodes = nodes.nodes.slice(0);
|
|
2484
|
+
for (let i of nodes) {
|
|
2485
|
+
if (i.parent) i.parent.removeChild(i, "ignore");
|
|
2486
|
+
}
|
|
2487
|
+
} else if (nodes.type) {
|
|
2488
|
+
nodes = [nodes];
|
|
2489
|
+
} else if (nodes.prop) {
|
|
2490
|
+
if (typeof nodes.value === "undefined") {
|
|
2491
|
+
throw new Error("Value field is missed in node creation");
|
|
2492
|
+
} else if (typeof nodes.value !== "string") {
|
|
2493
|
+
nodes.value = String(nodes.value);
|
|
2494
|
+
}
|
|
2495
|
+
nodes = [new Declaration$4(nodes)];
|
|
2496
|
+
} else if (nodes.selector || nodes.selectors) {
|
|
2497
|
+
nodes = [new Rule$5(nodes)];
|
|
2498
|
+
} else if (nodes.name) {
|
|
2499
|
+
nodes = [new AtRule$5(nodes)];
|
|
2500
|
+
} else if (nodes.text) {
|
|
2501
|
+
nodes = [new Comment$5(nodes)];
|
|
2421
2502
|
} else {
|
|
2422
|
-
|
|
2503
|
+
throw new Error("Unknown node type in node creation");
|
|
2423
2504
|
}
|
|
2424
|
-
|
|
2425
|
-
if (!
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2505
|
+
let processed = nodes.map((i) => {
|
|
2506
|
+
if (!i[my$1]) Container.rebuild(i);
|
|
2507
|
+
i = i.proxyOf;
|
|
2508
|
+
if (i.parent) i.parent.removeChild(i);
|
|
2509
|
+
if (i[isClean$1]) markTreeDirty(i);
|
|
2510
|
+
if (!i.raws) i.raws = {};
|
|
2511
|
+
if (typeof i.raws.before === "undefined") {
|
|
2512
|
+
if (sample && typeof sample.raws.before !== "undefined") {
|
|
2513
|
+
i.raws.before = sample.raws.before.replace(/\S/g, "");
|
|
2514
|
+
}
|
|
2515
|
+
}
|
|
2516
|
+
i.parent = this.proxyOf;
|
|
2517
|
+
return i;
|
|
2518
|
+
});
|
|
2519
|
+
return processed;
|
|
2520
|
+
}
|
|
2521
|
+
prepend(...children) {
|
|
2522
|
+
children = children.reverse();
|
|
2523
|
+
for (let child of children) {
|
|
2524
|
+
let nodes = this.normalize(child, this.first, "prepend").reverse();
|
|
2525
|
+
for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);
|
|
2526
|
+
for (let id in this.indexes) {
|
|
2527
|
+
this.indexes[id] = this.indexes[id] + nodes.length;
|
|
2429
2528
|
}
|
|
2430
2529
|
}
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2530
|
+
this.markDirty();
|
|
2531
|
+
return this;
|
|
2532
|
+
}
|
|
2533
|
+
push(child) {
|
|
2534
|
+
child.parent = this;
|
|
2535
|
+
this.proxyOf.nodes.push(child);
|
|
2536
|
+
return this;
|
|
2537
|
+
}
|
|
2538
|
+
removeAll() {
|
|
2539
|
+
for (let node2 of this.proxyOf.nodes) node2.parent = void 0;
|
|
2540
|
+
this.proxyOf.nodes = [];
|
|
2541
|
+
this.markDirty();
|
|
2542
|
+
return this;
|
|
2543
|
+
}
|
|
2544
|
+
removeChild(child) {
|
|
2545
|
+
child = this.index(child);
|
|
2546
|
+
this.proxyOf.nodes[child].parent = void 0;
|
|
2547
|
+
this.proxyOf.nodes.splice(child, 1);
|
|
2548
|
+
let index2;
|
|
2549
|
+
for (let id in this.indexes) {
|
|
2550
|
+
index2 = this.indexes[id];
|
|
2551
|
+
if (index2 >= child) {
|
|
2552
|
+
this.indexes[id] = index2 - 1;
|
|
2437
2553
|
}
|
|
2438
2554
|
}
|
|
2439
|
-
|
|
2440
|
-
|
|
2555
|
+
this.markDirty();
|
|
2556
|
+
return this;
|
|
2557
|
+
}
|
|
2558
|
+
replaceValues(pattern, opts, callback) {
|
|
2559
|
+
if (!callback) {
|
|
2560
|
+
callback = opts;
|
|
2561
|
+
opts = {};
|
|
2441
2562
|
}
|
|
2442
|
-
|
|
2563
|
+
this.walkDecls((decl2) => {
|
|
2564
|
+
if (opts.props && !opts.props.includes(decl2.prop)) return;
|
|
2565
|
+
if (opts.fast && !decl2.value.includes(opts.fast)) return;
|
|
2566
|
+
decl2.value = decl2.value.replace(pattern, callback);
|
|
2567
|
+
});
|
|
2568
|
+
this.markDirty();
|
|
2569
|
+
return this;
|
|
2443
2570
|
}
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
line = start.line;
|
|
2455
|
-
column = start.column;
|
|
2571
|
+
some(condition) {
|
|
2572
|
+
return this.nodes.some(condition);
|
|
2573
|
+
}
|
|
2574
|
+
walk(callback) {
|
|
2575
|
+
return this.each((child, i) => {
|
|
2576
|
+
let result2;
|
|
2577
|
+
try {
|
|
2578
|
+
result2 = callback(child, i);
|
|
2579
|
+
} catch (e) {
|
|
2580
|
+
throw child.addToError(e);
|
|
2456
2581
|
}
|
|
2457
|
-
if (
|
|
2458
|
-
|
|
2459
|
-
endLine = pos.line;
|
|
2460
|
-
endColumn = pos.col;
|
|
2461
|
-
} else {
|
|
2462
|
-
endLine = end.line;
|
|
2463
|
-
endColumn = end.column;
|
|
2582
|
+
if (result2 !== false && child.walk) {
|
|
2583
|
+
result2 = child.walk(callback);
|
|
2464
2584
|
}
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2585
|
+
return result2;
|
|
2586
|
+
});
|
|
2587
|
+
}
|
|
2588
|
+
walkAtRules(name, callback) {
|
|
2589
|
+
if (!callback) {
|
|
2590
|
+
callback = name;
|
|
2591
|
+
return this.walk((child, i) => {
|
|
2592
|
+
if (child.type === "atrule") {
|
|
2593
|
+
return callback(child, i);
|
|
2594
|
+
}
|
|
2595
|
+
});
|
|
2469
2596
|
}
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
origin.source,
|
|
2477
|
-
origin.file,
|
|
2478
|
-
opts.plugin
|
|
2479
|
-
);
|
|
2480
|
-
} else {
|
|
2481
|
-
result2 = new CssSyntaxError$1(
|
|
2482
|
-
message,
|
|
2483
|
-
endLine === void 0 ? line : { column, line },
|
|
2484
|
-
endLine === void 0 ? column : { column: endColumn, line: endLine },
|
|
2485
|
-
this.css,
|
|
2486
|
-
this.file,
|
|
2487
|
-
opts.plugin
|
|
2488
|
-
);
|
|
2597
|
+
if (name instanceof RegExp) {
|
|
2598
|
+
return this.walk((child, i) => {
|
|
2599
|
+
if (child.type === "atrule" && name.test(child.name)) {
|
|
2600
|
+
return callback(child, i);
|
|
2601
|
+
}
|
|
2602
|
+
});
|
|
2489
2603
|
}
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
result2.input.url = pathToFileURL$1(this.file).toString();
|
|
2604
|
+
return this.walk((child, i) => {
|
|
2605
|
+
if (child.type === "atrule" && child.name === name) {
|
|
2606
|
+
return callback(child, i);
|
|
2494
2607
|
}
|
|
2495
|
-
|
|
2496
|
-
}
|
|
2497
|
-
return result2;
|
|
2608
|
+
});
|
|
2498
2609
|
}
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
lineToIndex = new Array(lines.length);
|
|
2504
|
-
let prevIndex = 0;
|
|
2505
|
-
for (let i = 0, l = lines.length; i < l; i++) {
|
|
2506
|
-
lineToIndex[i] = prevIndex;
|
|
2507
|
-
prevIndex += lines[i].length + 1;
|
|
2610
|
+
walkComments(callback) {
|
|
2611
|
+
return this.walk((child, i) => {
|
|
2612
|
+
if (child.type === "comment") {
|
|
2613
|
+
return callback(child, i);
|
|
2508
2614
|
}
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2615
|
+
});
|
|
2616
|
+
}
|
|
2617
|
+
walkDecls(prop, callback) {
|
|
2618
|
+
if (!callback) {
|
|
2619
|
+
callback = prop;
|
|
2620
|
+
return this.walk((child, i) => {
|
|
2621
|
+
if (child.type === "decl") {
|
|
2622
|
+
return callback(child, i);
|
|
2623
|
+
}
|
|
2624
|
+
});
|
|
2512
2625
|
}
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
} else {
|
|
2518
|
-
let max = lineToIndex.length - 2;
|
|
2519
|
-
let mid;
|
|
2520
|
-
while (min < max) {
|
|
2521
|
-
mid = min + (max - min >> 1);
|
|
2522
|
-
if (offset < lineToIndex[mid]) {
|
|
2523
|
-
max = mid - 1;
|
|
2524
|
-
} else if (offset >= lineToIndex[mid + 1]) {
|
|
2525
|
-
min = mid + 1;
|
|
2526
|
-
} else {
|
|
2527
|
-
min = mid;
|
|
2528
|
-
break;
|
|
2626
|
+
if (prop instanceof RegExp) {
|
|
2627
|
+
return this.walk((child, i) => {
|
|
2628
|
+
if (child.type === "decl" && prop.test(child.prop)) {
|
|
2629
|
+
return callback(child, i);
|
|
2529
2630
|
}
|
|
2530
|
-
}
|
|
2631
|
+
});
|
|
2531
2632
|
}
|
|
2532
|
-
return {
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2633
|
+
return this.walk((child, i) => {
|
|
2634
|
+
if (child.type === "decl" && child.prop === prop) {
|
|
2635
|
+
return callback(child, i);
|
|
2636
|
+
}
|
|
2637
|
+
});
|
|
2536
2638
|
}
|
|
2537
|
-
|
|
2538
|
-
if (
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
let consumer = this.map.consumer();
|
|
2546
|
-
let from = consumer.originalPositionFor({ column, line });
|
|
2547
|
-
if (!from.source) return false;
|
|
2548
|
-
let to;
|
|
2549
|
-
if (typeof endLine === "number") {
|
|
2550
|
-
to = consumer.originalPositionFor({ column: endColumn, line: endLine });
|
|
2639
|
+
walkRules(selector, callback) {
|
|
2640
|
+
if (!callback) {
|
|
2641
|
+
callback = selector;
|
|
2642
|
+
return this.walk((child, i) => {
|
|
2643
|
+
if (child.type === "rule") {
|
|
2644
|
+
return callback(child, i);
|
|
2645
|
+
}
|
|
2646
|
+
});
|
|
2551
2647
|
}
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
this.map.consumer().sourceRoot || pathToFileURL$1(this.map.mapFile)
|
|
2559
|
-
);
|
|
2648
|
+
if (selector instanceof RegExp) {
|
|
2649
|
+
return this.walk((child, i) => {
|
|
2650
|
+
if (child.type === "rule" && selector.test(child.selector)) {
|
|
2651
|
+
return callback(child, i);
|
|
2652
|
+
}
|
|
2653
|
+
});
|
|
2560
2654
|
}
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
endLine: to && to.line,
|
|
2565
|
-
line: from.line,
|
|
2566
|
-
url: fromUrl.toString()
|
|
2567
|
-
};
|
|
2568
|
-
if (fromUrl.protocol === "file:") {
|
|
2569
|
-
if (fileURLToPath) {
|
|
2570
|
-
result2.file = fileURLToPath(fromUrl);
|
|
2571
|
-
} else {
|
|
2572
|
-
throw new Error(`file: protocol is not available in this PostCSS build`);
|
|
2655
|
+
return this.walk((child, i) => {
|
|
2656
|
+
if (child.type === "rule" && child.selector === selector) {
|
|
2657
|
+
return callback(child, i);
|
|
2573
2658
|
}
|
|
2574
|
-
}
|
|
2575
|
-
let source = consumer.sourceContentFor(from.source);
|
|
2576
|
-
if (source) result2.source = source;
|
|
2577
|
-
return result2;
|
|
2659
|
+
});
|
|
2578
2660
|
}
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
if (this[name] != null) {
|
|
2583
|
-
json[name] = this[name];
|
|
2584
|
-
}
|
|
2585
|
-
}
|
|
2586
|
-
if (this.map) {
|
|
2587
|
-
json.map = { ...this.map };
|
|
2588
|
-
if (json.map.consumerCache) {
|
|
2589
|
-
json.map.consumerCache = void 0;
|
|
2590
|
-
}
|
|
2591
|
-
}
|
|
2592
|
-
return json;
|
|
2661
|
+
get first() {
|
|
2662
|
+
if (!this.proxyOf.nodes) return void 0;
|
|
2663
|
+
return this.proxyOf.nodes[0];
|
|
2593
2664
|
}
|
|
2594
|
-
get
|
|
2595
|
-
|
|
2665
|
+
get last() {
|
|
2666
|
+
if (!this.proxyOf.nodes) return void 0;
|
|
2667
|
+
return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];
|
|
2596
2668
|
}
|
|
2597
2669
|
};
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2670
|
+
Container$8.registerParse = (dependant) => {
|
|
2671
|
+
parse$5 = dependant;
|
|
2672
|
+
};
|
|
2673
|
+
Container$8.registerRule = (dependant) => {
|
|
2674
|
+
Rule$5 = dependant;
|
|
2675
|
+
};
|
|
2676
|
+
Container$8.registerAtRule = (dependant) => {
|
|
2677
|
+
AtRule$5 = dependant;
|
|
2678
|
+
};
|
|
2679
|
+
Container$8.registerRoot = (dependant) => {
|
|
2680
|
+
Root$7 = dependant;
|
|
2681
|
+
};
|
|
2682
|
+
var container = Container$8;
|
|
2683
|
+
Container$8.default = Container$8;
|
|
2684
|
+
Container$8.rebuild = (node2) => {
|
|
2685
|
+
if (node2.type === "atrule") {
|
|
2686
|
+
Object.setPrototypeOf(node2, AtRule$5.prototype);
|
|
2687
|
+
} else if (node2.type === "rule") {
|
|
2688
|
+
Object.setPrototypeOf(node2, Rule$5.prototype);
|
|
2689
|
+
} else if (node2.type === "decl") {
|
|
2690
|
+
Object.setPrototypeOf(node2, Declaration$4.prototype);
|
|
2691
|
+
} else if (node2.type === "comment") {
|
|
2692
|
+
Object.setPrototypeOf(node2, Comment$5.prototype);
|
|
2693
|
+
} else if (node2.type === "root") {
|
|
2694
|
+
Object.setPrototypeOf(node2, Root$7.prototype);
|
|
2621
2695
|
}
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
}
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2696
|
+
node2[my$1] = true;
|
|
2697
|
+
if (node2.nodes) {
|
|
2698
|
+
node2.nodes.forEach((child) => {
|
|
2699
|
+
Container$8.rebuild(child);
|
|
2700
|
+
});
|
|
2701
|
+
}
|
|
2702
|
+
};
|
|
2703
|
+
let Container$7 = container;
|
|
2704
|
+
let AtRule$4 = class AtRule extends Container$7 {
|
|
2705
|
+
constructor(defaults) {
|
|
2706
|
+
super(defaults);
|
|
2707
|
+
this.type = "atrule";
|
|
2708
|
+
}
|
|
2709
|
+
append(...children) {
|
|
2710
|
+
if (!this.proxyOf.nodes) this.nodes = [];
|
|
2711
|
+
return super.append(...children);
|
|
2712
|
+
}
|
|
2713
|
+
prepend(...children) {
|
|
2714
|
+
if (!this.proxyOf.nodes) this.nodes = [];
|
|
2715
|
+
return super.prepend(...children);
|
|
2716
|
+
}
|
|
2717
|
+
};
|
|
2718
|
+
var atRule$1 = AtRule$4;
|
|
2719
|
+
AtRule$4.default = AtRule$4;
|
|
2720
|
+
Container$7.registerAtRule(AtRule$4);
|
|
2721
|
+
let Container$6 = container;
|
|
2722
|
+
let LazyResult$4, Processor$4;
|
|
2723
|
+
let Document$4 = class Document extends Container$6 {
|
|
2724
|
+
constructor(defaults) {
|
|
2725
|
+
super({ type: "document", ...defaults });
|
|
2726
|
+
if (!this.nodes) {
|
|
2727
|
+
this.nodes = [];
|
|
2632
2728
|
}
|
|
2633
|
-
let eol = "\n";
|
|
2634
|
-
if (this.css.includes("\r\n")) eol = "\r\n";
|
|
2635
|
-
this.css += eol + "/*# sourceMappingURL=" + content + " */";
|
|
2636
2729
|
}
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2730
|
+
toResult(opts = {}) {
|
|
2731
|
+
let lazy = new LazyResult$4(new Processor$4(), this, opts);
|
|
2732
|
+
return lazy.stringify();
|
|
2733
|
+
}
|
|
2734
|
+
};
|
|
2735
|
+
Document$4.registerLazyResult = (dependant) => {
|
|
2736
|
+
LazyResult$4 = dependant;
|
|
2737
|
+
};
|
|
2738
|
+
Document$4.registerProcessor = (dependant) => {
|
|
2739
|
+
Processor$4 = dependant;
|
|
2740
|
+
};
|
|
2741
|
+
var document$2 = Document$4;
|
|
2742
|
+
Document$4.default = Document$4;
|
|
2743
|
+
let urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
2744
|
+
let customAlphabet = (alphabet, defaultSize = 21) => {
|
|
2745
|
+
return (size = defaultSize) => {
|
|
2746
|
+
let id = "";
|
|
2747
|
+
let i = size | 0;
|
|
2748
|
+
while (i--) {
|
|
2749
|
+
id += alphabet[Math.random() * alphabet.length | 0];
|
|
2651
2750
|
}
|
|
2751
|
+
return id;
|
|
2752
|
+
};
|
|
2753
|
+
};
|
|
2754
|
+
let nanoid$1 = (size = 21) => {
|
|
2755
|
+
let id = "";
|
|
2756
|
+
let i = size | 0;
|
|
2757
|
+
while (i--) {
|
|
2758
|
+
id += urlAlphabet[Math.random() * 64 | 0];
|
|
2652
2759
|
}
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2760
|
+
return id;
|
|
2761
|
+
};
|
|
2762
|
+
var nonSecure = { nanoid: nanoid$1, customAlphabet };
|
|
2763
|
+
let { existsSync, readFileSync } = require$$2;
|
|
2764
|
+
let { dirname: dirname$1, join } = require$$2;
|
|
2765
|
+
let { SourceMapConsumer: SourceMapConsumer$2, SourceMapGenerator: SourceMapGenerator$2 } = require$$2;
|
|
2766
|
+
function fromBase64(str) {
|
|
2767
|
+
if (Buffer) {
|
|
2768
|
+
return Buffer.from(str, "base64").toString();
|
|
2769
|
+
} else {
|
|
2770
|
+
return window.atob(str);
|
|
2771
|
+
}
|
|
2772
|
+
}
|
|
2773
|
+
let PreviousMap$2 = class PreviousMap {
|
|
2774
|
+
constructor(css, opts) {
|
|
2775
|
+
if (opts.map === false) return;
|
|
2776
|
+
this.loadAnnotation(css);
|
|
2777
|
+
this.inline = this.startWith(this.annotation, "data:");
|
|
2778
|
+
let prev = opts.map ? opts.map.prev : void 0;
|
|
2779
|
+
let text = this.loadMap(opts.from, prev);
|
|
2780
|
+
if (!this.mapFile && opts.from) {
|
|
2781
|
+
this.mapFile = opts.from;
|
|
2666
2782
|
}
|
|
2783
|
+
if (this.mapFile) this.root = dirname$1(this.mapFile);
|
|
2784
|
+
if (text) this.text = text;
|
|
2667
2785
|
}
|
|
2668
|
-
|
|
2669
|
-
this.
|
|
2670
|
-
|
|
2671
|
-
return this.generateMap();
|
|
2672
|
-
} else {
|
|
2673
|
-
let result2 = "";
|
|
2674
|
-
this.stringify(this.root, (i) => {
|
|
2675
|
-
result2 += i;
|
|
2676
|
-
});
|
|
2677
|
-
return [result2];
|
|
2786
|
+
consumer() {
|
|
2787
|
+
if (!this.consumerCache) {
|
|
2788
|
+
this.consumerCache = new SourceMapConsumer$2(this.text);
|
|
2678
2789
|
}
|
|
2790
|
+
return this.consumerCache;
|
|
2679
2791
|
}
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
});
|
|
2689
|
-
} else {
|
|
2690
|
-
this.map = new SourceMapGenerator({
|
|
2691
|
-
file: this.outputFile(),
|
|
2692
|
-
ignoreInvalidMapping: true
|
|
2693
|
-
});
|
|
2694
|
-
this.map.addMapping({
|
|
2695
|
-
generated: { column: 0, line: 1 },
|
|
2696
|
-
original: { column: 0, line: 1 },
|
|
2697
|
-
source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : "<no source>"
|
|
2698
|
-
});
|
|
2792
|
+
decodeInline(text) {
|
|
2793
|
+
let baseCharsetUri = /^data:application\/json;charset=utf-?8;base64,/;
|
|
2794
|
+
let baseUri = /^data:application\/json;base64,/;
|
|
2795
|
+
let charsetUri = /^data:application\/json;charset=utf-?8,/;
|
|
2796
|
+
let uri = /^data:application\/json,/;
|
|
2797
|
+
let uriMatch = text.match(charsetUri) || text.match(uri);
|
|
2798
|
+
if (uriMatch) {
|
|
2799
|
+
return decodeURIComponent(text.substr(uriMatch[0].length));
|
|
2699
2800
|
}
|
|
2700
|
-
|
|
2701
|
-
if (
|
|
2702
|
-
|
|
2703
|
-
if (this.isInline()) {
|
|
2704
|
-
return [this.css];
|
|
2705
|
-
} else {
|
|
2706
|
-
return [this.css, this.map];
|
|
2801
|
+
let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri);
|
|
2802
|
+
if (baseUriMatch) {
|
|
2803
|
+
return fromBase64(text.substr(baseUriMatch[0].length));
|
|
2707
2804
|
}
|
|
2805
|
+
let encoding = text.match(/data:application\/json;([^,]+),/)[1];
|
|
2806
|
+
throw new Error("Unsupported source map encoding " + encoding);
|
|
2708
2807
|
}
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
this.map = new SourceMapGenerator({
|
|
2712
|
-
file: this.outputFile(),
|
|
2713
|
-
ignoreInvalidMapping: true
|
|
2714
|
-
});
|
|
2715
|
-
let line = 1;
|
|
2716
|
-
let column = 1;
|
|
2717
|
-
let noSource = "<no source>";
|
|
2718
|
-
let mapping = {
|
|
2719
|
-
generated: { column: 0, line: 0 },
|
|
2720
|
-
original: { column: 0, line: 0 },
|
|
2721
|
-
source: ""
|
|
2722
|
-
};
|
|
2723
|
-
let lines, last;
|
|
2724
|
-
this.stringify(this.root, (str, node2, type) => {
|
|
2725
|
-
this.css += str;
|
|
2726
|
-
if (node2 && type !== "end") {
|
|
2727
|
-
mapping.generated.line = line;
|
|
2728
|
-
mapping.generated.column = column - 1;
|
|
2729
|
-
if (node2.source && node2.source.start) {
|
|
2730
|
-
mapping.source = this.sourcePath(node2);
|
|
2731
|
-
mapping.original.line = node2.source.start.line;
|
|
2732
|
-
mapping.original.column = node2.source.start.column - 1;
|
|
2733
|
-
this.map.addMapping(mapping);
|
|
2734
|
-
} else {
|
|
2735
|
-
mapping.source = noSource;
|
|
2736
|
-
mapping.original.line = 1;
|
|
2737
|
-
mapping.original.column = 0;
|
|
2738
|
-
this.map.addMapping(mapping);
|
|
2739
|
-
}
|
|
2740
|
-
}
|
|
2741
|
-
lines = str.match(/\n/g);
|
|
2742
|
-
if (lines) {
|
|
2743
|
-
line += lines.length;
|
|
2744
|
-
last = str.lastIndexOf("\n");
|
|
2745
|
-
column = str.length - last;
|
|
2746
|
-
} else {
|
|
2747
|
-
column += str.length;
|
|
2748
|
-
}
|
|
2749
|
-
if (node2 && type !== "start") {
|
|
2750
|
-
let p = node2.parent || { raws: {} };
|
|
2751
|
-
let childless = node2.type === "decl" || node2.type === "atrule" && !node2.nodes;
|
|
2752
|
-
if (!childless || node2 !== p.last || p.raws.semicolon) {
|
|
2753
|
-
if (node2.source && node2.source.end) {
|
|
2754
|
-
mapping.source = this.sourcePath(node2);
|
|
2755
|
-
mapping.original.line = node2.source.end.line;
|
|
2756
|
-
mapping.original.column = node2.source.end.column - 1;
|
|
2757
|
-
mapping.generated.line = line;
|
|
2758
|
-
mapping.generated.column = column - 2;
|
|
2759
|
-
this.map.addMapping(mapping);
|
|
2760
|
-
} else {
|
|
2761
|
-
mapping.source = noSource;
|
|
2762
|
-
mapping.original.line = 1;
|
|
2763
|
-
mapping.original.column = 0;
|
|
2764
|
-
mapping.generated.line = line;
|
|
2765
|
-
mapping.generated.column = column - 1;
|
|
2766
|
-
this.map.addMapping(mapping);
|
|
2767
|
-
}
|
|
2768
|
-
}
|
|
2769
|
-
}
|
|
2770
|
-
});
|
|
2808
|
+
getAnnotationURL(sourceMapString) {
|
|
2809
|
+
return sourceMapString.replace(/^\/\*\s*# sourceMappingURL=/, "").trim();
|
|
2771
2810
|
}
|
|
2772
|
-
|
|
2773
|
-
if (
|
|
2774
|
-
|
|
2775
|
-
}
|
|
2776
|
-
if (typeof this.mapOpts.annotation !== "undefined") {
|
|
2777
|
-
return this.mapOpts.annotation;
|
|
2778
|
-
}
|
|
2779
|
-
if (this.previous().length) {
|
|
2780
|
-
return this.previous().some((i) => i.annotation);
|
|
2781
|
-
}
|
|
2782
|
-
return true;
|
|
2811
|
+
isMap(map) {
|
|
2812
|
+
if (typeof map !== "object") return false;
|
|
2813
|
+
return typeof map.mappings === "string" || typeof map._mappings === "string" || Array.isArray(map.sections);
|
|
2783
2814
|
}
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
let
|
|
2789
|
-
if (
|
|
2790
|
-
|
|
2791
|
-
}
|
|
2792
|
-
if (this.previous().length) {
|
|
2793
|
-
return this.previous().some((i) => i.inline);
|
|
2815
|
+
loadAnnotation(css) {
|
|
2816
|
+
let comments = css.match(/\/\*\s*# sourceMappingURL=/g);
|
|
2817
|
+
if (!comments) return;
|
|
2818
|
+
let start = css.lastIndexOf(comments.pop());
|
|
2819
|
+
let end = css.indexOf("*/", start);
|
|
2820
|
+
if (start > -1 && end > -1) {
|
|
2821
|
+
this.annotation = this.getAnnotationURL(css.substring(start, end));
|
|
2794
2822
|
}
|
|
2795
|
-
return true;
|
|
2796
2823
|
}
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2824
|
+
loadFile(path) {
|
|
2825
|
+
this.root = dirname$1(path);
|
|
2826
|
+
if (existsSync(path)) {
|
|
2827
|
+
this.mapFile = path;
|
|
2828
|
+
return readFileSync(path, "utf-8").toString().trim();
|
|
2800
2829
|
}
|
|
2801
|
-
return this.previous().length > 0;
|
|
2802
2830
|
}
|
|
2803
|
-
|
|
2804
|
-
if (
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2831
|
+
loadMap(file, prev) {
|
|
2832
|
+
if (prev === false) return false;
|
|
2833
|
+
if (prev) {
|
|
2834
|
+
if (typeof prev === "string") {
|
|
2835
|
+
return prev;
|
|
2836
|
+
} else if (typeof prev === "function") {
|
|
2837
|
+
let prevPath = prev(file);
|
|
2838
|
+
if (prevPath) {
|
|
2839
|
+
let map = this.loadFile(prevPath);
|
|
2840
|
+
if (!map) {
|
|
2841
|
+
throw new Error(
|
|
2842
|
+
"Unable to load previous source map: " + prevPath.toString()
|
|
2843
|
+
);
|
|
2844
|
+
}
|
|
2845
|
+
return map;
|
|
2846
|
+
}
|
|
2847
|
+
} else if (prev instanceof SourceMapConsumer$2) {
|
|
2848
|
+
return SourceMapGenerator$2.fromSourceMap(prev).toString();
|
|
2849
|
+
} else if (prev instanceof SourceMapGenerator$2) {
|
|
2850
|
+
return prev.toString();
|
|
2851
|
+
} else if (this.isMap(prev)) {
|
|
2852
|
+
return JSON.stringify(prev);
|
|
2853
|
+
} else {
|
|
2854
|
+
throw new Error(
|
|
2855
|
+
"Unsupported previous source map format: " + prev.toString()
|
|
2856
|
+
);
|
|
2857
|
+
}
|
|
2858
|
+
} else if (this.inline) {
|
|
2859
|
+
return this.decodeInline(this.annotation);
|
|
2860
|
+
} else if (this.annotation) {
|
|
2861
|
+
let map = this.annotation;
|
|
2862
|
+
if (file) map = join(dirname$1(file), map);
|
|
2863
|
+
return this.loadFile(map);
|
|
2809
2864
|
}
|
|
2810
|
-
return true;
|
|
2811
2865
|
}
|
|
2812
|
-
|
|
2813
|
-
if (
|
|
2814
|
-
|
|
2815
|
-
} else if (this.opts.from) {
|
|
2816
|
-
return this.path(this.opts.from);
|
|
2817
|
-
} else {
|
|
2818
|
-
return "to.css";
|
|
2819
|
-
}
|
|
2866
|
+
startWith(string, start) {
|
|
2867
|
+
if (!string) return false;
|
|
2868
|
+
return string.substr(0, start.length) === start;
|
|
2820
2869
|
}
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
if (file.charCodeAt(0) === 60) return file;
|
|
2824
|
-
if (/^\w+:\/\//.test(file)) return file;
|
|
2825
|
-
let cached = this.memoizedPaths.get(file);
|
|
2826
|
-
if (cached) return cached;
|
|
2827
|
-
let from = this.opts.to ? dirname(this.opts.to) : ".";
|
|
2828
|
-
if (typeof this.mapOpts.annotation === "string") {
|
|
2829
|
-
from = dirname(resolve(from, this.mapOpts.annotation));
|
|
2830
|
-
}
|
|
2831
|
-
let path = relative(from, file);
|
|
2832
|
-
this.memoizedPaths.set(file, path);
|
|
2833
|
-
return path;
|
|
2870
|
+
withContent() {
|
|
2871
|
+
return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);
|
|
2834
2872
|
}
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2873
|
+
};
|
|
2874
|
+
var previousMap = PreviousMap$2;
|
|
2875
|
+
PreviousMap$2.default = PreviousMap$2;
|
|
2876
|
+
let { nanoid } = nonSecure;
|
|
2877
|
+
let { isAbsolute, resolve: resolve$1 } = require$$2;
|
|
2878
|
+
let { SourceMapConsumer: SourceMapConsumer$1, SourceMapGenerator: SourceMapGenerator$1 } = require$$2;
|
|
2879
|
+
let { fileURLToPath, pathToFileURL: pathToFileURL$1 } = require$$2;
|
|
2880
|
+
let CssSyntaxError$2 = cssSyntaxError;
|
|
2881
|
+
let PreviousMap$1 = previousMap;
|
|
2882
|
+
let terminalHighlight = require$$2;
|
|
2883
|
+
let fromOffsetCache = Symbol("fromOffsetCache");
|
|
2884
|
+
let sourceMapAvailable$1 = Boolean(SourceMapConsumer$1 && SourceMapGenerator$1);
|
|
2885
|
+
let pathAvailable$1 = Boolean(resolve$1 && isAbsolute);
|
|
2886
|
+
let Input$6 = class Input {
|
|
2887
|
+
constructor(css, opts = {}) {
|
|
2888
|
+
if (css === null || typeof css === "undefined" || typeof css === "object" && !css.toString) {
|
|
2889
|
+
throw new Error(`PostCSS received ${css} instead of CSS string`);
|
|
2890
|
+
}
|
|
2891
|
+
this.css = css.toString();
|
|
2892
|
+
if (this.css[0] === "\uFEFF" || this.css[0] === "") {
|
|
2893
|
+
this.hasBOM = true;
|
|
2894
|
+
this.css = this.css.slice(1);
|
|
2895
|
+
} else {
|
|
2896
|
+
this.hasBOM = false;
|
|
2897
|
+
}
|
|
2898
|
+
this.document = this.css;
|
|
2899
|
+
if (opts.document) this.document = opts.document.toString();
|
|
2900
|
+
if (opts.from) {
|
|
2901
|
+
if (!pathAvailable$1 || /^\w+:\/\//.test(opts.from) || isAbsolute(opts.from)) {
|
|
2902
|
+
this.file = opts.from;
|
|
2847
2903
|
} else {
|
|
2848
|
-
|
|
2849
|
-
if (input2.map) this.previousMaps.push(input2.map);
|
|
2904
|
+
this.file = resolve$1(opts.from);
|
|
2850
2905
|
}
|
|
2851
2906
|
}
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
let from = node2.source.input.from;
|
|
2860
|
-
if (from && !already[from]) {
|
|
2861
|
-
already[from] = true;
|
|
2862
|
-
let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));
|
|
2863
|
-
this.map.setSourceContent(fromUrl, node2.source.input.css);
|
|
2864
|
-
}
|
|
2865
|
-
}
|
|
2866
|
-
});
|
|
2867
|
-
} else if (this.css) {
|
|
2868
|
-
let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : "<no source>";
|
|
2869
|
-
this.map.setSourceContent(from, this.css);
|
|
2907
|
+
if (pathAvailable$1 && sourceMapAvailable$1) {
|
|
2908
|
+
let map = new PreviousMap$1(this.css, opts);
|
|
2909
|
+
if (map.text) {
|
|
2910
|
+
this.map = map;
|
|
2911
|
+
let file = map.consumer().file;
|
|
2912
|
+
if (!this.file && file) this.file = this.mapResolve(file);
|
|
2913
|
+
}
|
|
2870
2914
|
}
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
if (this.mapOpts.from) {
|
|
2874
|
-
return this.toUrl(this.mapOpts.from);
|
|
2875
|
-
} else if (this.usesFileUrls) {
|
|
2876
|
-
return this.toFileUrl(node2.source.input.from);
|
|
2877
|
-
} else {
|
|
2878
|
-
return this.toUrl(this.path(node2.source.input.from));
|
|
2915
|
+
if (!this.file) {
|
|
2916
|
+
this.id = "<input css " + nanoid(6) + ">";
|
|
2879
2917
|
}
|
|
2918
|
+
if (this.map) this.map.file = this.from;
|
|
2880
2919
|
}
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2920
|
+
error(message, line, column, opts = {}) {
|
|
2921
|
+
let endColumn, endLine, result2;
|
|
2922
|
+
if (line && typeof line === "object") {
|
|
2923
|
+
let start = line;
|
|
2924
|
+
let end = column;
|
|
2925
|
+
if (typeof start.offset === "number") {
|
|
2926
|
+
let pos = this.fromOffset(start.offset);
|
|
2927
|
+
line = pos.line;
|
|
2928
|
+
column = pos.col;
|
|
2929
|
+
} else {
|
|
2930
|
+
line = start.line;
|
|
2931
|
+
column = start.column;
|
|
2932
|
+
}
|
|
2933
|
+
if (typeof end.offset === "number") {
|
|
2934
|
+
let pos = this.fromOffset(end.offset);
|
|
2935
|
+
endLine = pos.line;
|
|
2936
|
+
endColumn = pos.col;
|
|
2937
|
+
} else {
|
|
2938
|
+
endLine = end.line;
|
|
2939
|
+
endColumn = end.column;
|
|
2940
|
+
}
|
|
2941
|
+
} else if (!column) {
|
|
2942
|
+
let pos = this.fromOffset(line);
|
|
2943
|
+
line = pos.line;
|
|
2944
|
+
column = pos.col;
|
|
2886
2945
|
}
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2946
|
+
let origin = this.origin(line, column, endLine, endColumn);
|
|
2947
|
+
if (origin) {
|
|
2948
|
+
result2 = new CssSyntaxError$2(
|
|
2949
|
+
message,
|
|
2950
|
+
origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },
|
|
2951
|
+
origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },
|
|
2952
|
+
origin.source,
|
|
2953
|
+
origin.file,
|
|
2954
|
+
opts.plugin
|
|
2955
|
+
);
|
|
2895
2956
|
} else {
|
|
2896
|
-
|
|
2897
|
-
|
|
2957
|
+
result2 = new CssSyntaxError$2(
|
|
2958
|
+
message,
|
|
2959
|
+
endLine === void 0 ? line : { column, line },
|
|
2960
|
+
endLine === void 0 ? column : { column: endColumn, line: endLine },
|
|
2961
|
+
this.css,
|
|
2962
|
+
this.file,
|
|
2963
|
+
opts.plugin
|
|
2898
2964
|
);
|
|
2899
2965
|
}
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2966
|
+
result2.input = { column, endColumn, endLine, line, source: this.css };
|
|
2967
|
+
if (this.file) {
|
|
2968
|
+
if (pathToFileURL$1) {
|
|
2969
|
+
result2.input.url = pathToFileURL$1(this.file).toString();
|
|
2970
|
+
}
|
|
2971
|
+
result2.input.file = this.file;
|
|
2906
2972
|
}
|
|
2907
|
-
|
|
2908
|
-
this.memoizedURLs.set(path, url);
|
|
2909
|
-
return url;
|
|
2910
|
-
}
|
|
2911
|
-
};
|
|
2912
|
-
var mapGenerator = MapGenerator$2;
|
|
2913
|
-
let Node$2 = node;
|
|
2914
|
-
let Comment$4 = class Comment extends Node$2 {
|
|
2915
|
-
constructor(defaults) {
|
|
2916
|
-
super(defaults);
|
|
2917
|
-
this.type = "comment";
|
|
2973
|
+
return result2;
|
|
2918
2974
|
}
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
let
|
|
2923
|
-
|
|
2924
|
-
let
|
|
2925
|
-
let
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
});
|
|
2933
|
-
}
|
|
2934
|
-
function markDirtyUp(node2) {
|
|
2935
|
-
node2[isClean$1] = false;
|
|
2936
|
-
if (node2.proxyOf.nodes) {
|
|
2937
|
-
for (let i of node2.proxyOf.nodes) {
|
|
2938
|
-
markDirtyUp(i);
|
|
2975
|
+
fromOffset(offset) {
|
|
2976
|
+
let lastLine, lineToIndex;
|
|
2977
|
+
if (!this[fromOffsetCache]) {
|
|
2978
|
+
let lines = this.css.split("\n");
|
|
2979
|
+
lineToIndex = new Array(lines.length);
|
|
2980
|
+
let prevIndex = 0;
|
|
2981
|
+
for (let i = 0, l = lines.length; i < l; i++) {
|
|
2982
|
+
lineToIndex[i] = prevIndex;
|
|
2983
|
+
prevIndex += lines[i].length + 1;
|
|
2984
|
+
}
|
|
2985
|
+
this[fromOffsetCache] = lineToIndex;
|
|
2986
|
+
} else {
|
|
2987
|
+
lineToIndex = this[fromOffsetCache];
|
|
2939
2988
|
}
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
let
|
|
2946
|
-
|
|
2989
|
+
lastLine = lineToIndex[lineToIndex.length - 1];
|
|
2990
|
+
let min = 0;
|
|
2991
|
+
if (offset >= lastLine) {
|
|
2992
|
+
min = lineToIndex.length - 1;
|
|
2993
|
+
} else {
|
|
2994
|
+
let max = lineToIndex.length - 2;
|
|
2995
|
+
let mid;
|
|
2996
|
+
while (min < max) {
|
|
2997
|
+
mid = min + (max - min >> 1);
|
|
2998
|
+
if (offset < lineToIndex[mid]) {
|
|
2999
|
+
max = mid - 1;
|
|
3000
|
+
} else if (offset >= lineToIndex[mid + 1]) {
|
|
3001
|
+
min = mid + 1;
|
|
3002
|
+
} else {
|
|
3003
|
+
min = mid;
|
|
3004
|
+
break;
|
|
3005
|
+
}
|
|
3006
|
+
}
|
|
2947
3007
|
}
|
|
2948
|
-
|
|
2949
|
-
|
|
3008
|
+
return {
|
|
3009
|
+
col: offset - lineToIndex[min] + 1,
|
|
3010
|
+
line: min + 1
|
|
3011
|
+
};
|
|
2950
3012
|
}
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
for (let node2 of this.nodes) node2.cleanRaws(keepBetween);
|
|
3013
|
+
mapResolve(file) {
|
|
3014
|
+
if (/^\w+:\/\//.test(file)) {
|
|
3015
|
+
return file;
|
|
2955
3016
|
}
|
|
3017
|
+
return resolve$1(this.map.consumer().sourceRoot || this.map.root || ".", file);
|
|
2956
3018
|
}
|
|
2957
|
-
|
|
2958
|
-
if (!this.
|
|
2959
|
-
let
|
|
2960
|
-
let
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
this.indexes[iterator] += 1;
|
|
3019
|
+
origin(line, column, endLine, endColumn) {
|
|
3020
|
+
if (!this.map) return false;
|
|
3021
|
+
let consumer = this.map.consumer();
|
|
3022
|
+
let from = consumer.originalPositionFor({ column, line });
|
|
3023
|
+
if (!from.source) return false;
|
|
3024
|
+
let to;
|
|
3025
|
+
if (typeof endLine === "number") {
|
|
3026
|
+
to = consumer.originalPositionFor({ column: endColumn, line: endLine });
|
|
2966
3027
|
}
|
|
2967
|
-
|
|
3028
|
+
let fromUrl;
|
|
3029
|
+
if (isAbsolute(from.source)) {
|
|
3030
|
+
fromUrl = pathToFileURL$1(from.source);
|
|
3031
|
+
} else {
|
|
3032
|
+
fromUrl = new URL(
|
|
3033
|
+
from.source,
|
|
3034
|
+
this.map.consumer().sourceRoot || pathToFileURL$1(this.map.mapFile)
|
|
3035
|
+
);
|
|
3036
|
+
}
|
|
3037
|
+
let result2 = {
|
|
3038
|
+
column: from.column,
|
|
3039
|
+
endColumn: to && to.column,
|
|
3040
|
+
endLine: to && to.line,
|
|
3041
|
+
line: from.line,
|
|
3042
|
+
url: fromUrl.toString()
|
|
3043
|
+
};
|
|
3044
|
+
if (fromUrl.protocol === "file:") {
|
|
3045
|
+
if (fileURLToPath) {
|
|
3046
|
+
result2.file = fileURLToPath(fromUrl);
|
|
3047
|
+
} else {
|
|
3048
|
+
throw new Error(`file: protocol is not available in this PostCSS build`);
|
|
3049
|
+
}
|
|
3050
|
+
}
|
|
3051
|
+
let source = consumer.sourceContentFor(from.source);
|
|
3052
|
+
if (source) result2.source = source;
|
|
2968
3053
|
return result2;
|
|
2969
3054
|
}
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
if (!this.indexes) this.indexes = {};
|
|
2976
|
-
this.lastEach += 1;
|
|
2977
|
-
let iterator = this.lastEach;
|
|
2978
|
-
this.indexes[iterator] = 0;
|
|
2979
|
-
return iterator;
|
|
2980
|
-
}
|
|
2981
|
-
getProxyProcessor() {
|
|
2982
|
-
return {
|
|
2983
|
-
get(node2, prop) {
|
|
2984
|
-
if (prop === "proxyOf") {
|
|
2985
|
-
return node2;
|
|
2986
|
-
} else if (!node2[prop]) {
|
|
2987
|
-
return node2[prop];
|
|
2988
|
-
} else if (prop === "each" || typeof prop === "string" && prop.startsWith("walk")) {
|
|
2989
|
-
return (...args) => {
|
|
2990
|
-
return node2[prop](
|
|
2991
|
-
...args.map((i) => {
|
|
2992
|
-
if (typeof i === "function") {
|
|
2993
|
-
return (child, index2) => i(child.toProxy(), index2);
|
|
2994
|
-
} else {
|
|
2995
|
-
return i;
|
|
2996
|
-
}
|
|
2997
|
-
})
|
|
2998
|
-
);
|
|
2999
|
-
};
|
|
3000
|
-
} else if (prop === "every" || prop === "some") {
|
|
3001
|
-
return (cb) => {
|
|
3002
|
-
return node2[prop](
|
|
3003
|
-
(child, ...other) => cb(child.toProxy(), ...other)
|
|
3004
|
-
);
|
|
3005
|
-
};
|
|
3006
|
-
} else if (prop === "root") {
|
|
3007
|
-
return () => node2.root().toProxy();
|
|
3008
|
-
} else if (prop === "nodes") {
|
|
3009
|
-
return node2.nodes.map((i) => i.toProxy());
|
|
3010
|
-
} else if (prop === "first" || prop === "last") {
|
|
3011
|
-
return node2[prop].toProxy();
|
|
3012
|
-
} else {
|
|
3013
|
-
return node2[prop];
|
|
3014
|
-
}
|
|
3015
|
-
},
|
|
3016
|
-
set(node2, prop, value) {
|
|
3017
|
-
if (node2[prop] === value) return true;
|
|
3018
|
-
node2[prop] = value;
|
|
3019
|
-
if (prop === "name" || prop === "params" || prop === "selector") {
|
|
3020
|
-
node2.markDirty();
|
|
3021
|
-
}
|
|
3022
|
-
return true;
|
|
3055
|
+
toJSON() {
|
|
3056
|
+
let json = {};
|
|
3057
|
+
for (let name of ["hasBOM", "css", "file", "id"]) {
|
|
3058
|
+
if (this[name] != null) {
|
|
3059
|
+
json[name] = this[name];
|
|
3023
3060
|
}
|
|
3024
|
-
}
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
return this.proxyOf.nodes.indexOf(child);
|
|
3030
|
-
}
|
|
3031
|
-
insertAfter(exist, add) {
|
|
3032
|
-
let existIndex = this.index(exist);
|
|
3033
|
-
let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();
|
|
3034
|
-
existIndex = this.index(exist);
|
|
3035
|
-
for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);
|
|
3036
|
-
let index2;
|
|
3037
|
-
for (let id in this.indexes) {
|
|
3038
|
-
index2 = this.indexes[id];
|
|
3039
|
-
if (existIndex < index2) {
|
|
3040
|
-
this.indexes[id] = index2 + nodes.length;
|
|
3061
|
+
}
|
|
3062
|
+
if (this.map) {
|
|
3063
|
+
json.map = { ...this.map };
|
|
3064
|
+
if (json.map.consumerCache) {
|
|
3065
|
+
json.map.consumerCache = void 0;
|
|
3041
3066
|
}
|
|
3042
3067
|
}
|
|
3043
|
-
|
|
3044
|
-
return this;
|
|
3068
|
+
return json;
|
|
3045
3069
|
}
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3070
|
+
get from() {
|
|
3071
|
+
return this.file || this.id;
|
|
3072
|
+
}
|
|
3073
|
+
};
|
|
3074
|
+
var input = Input$6;
|
|
3075
|
+
Input$6.default = Input$6;
|
|
3076
|
+
if (terminalHighlight && terminalHighlight.registerInput) {
|
|
3077
|
+
terminalHighlight.registerInput(Input$6);
|
|
3078
|
+
}
|
|
3079
|
+
let Container$5 = container;
|
|
3080
|
+
let LazyResult$3, Processor$3;
|
|
3081
|
+
let Root$6 = class Root extends Container$5 {
|
|
3082
|
+
constructor(defaults) {
|
|
3083
|
+
super(defaults);
|
|
3084
|
+
this.type = "root";
|
|
3085
|
+
if (!this.nodes) this.nodes = [];
|
|
3086
|
+
}
|
|
3087
|
+
normalize(child, sample, type) {
|
|
3088
|
+
let nodes = super.normalize(child);
|
|
3089
|
+
if (sample) {
|
|
3090
|
+
if (type === "prepend") {
|
|
3091
|
+
if (this.nodes.length > 1) {
|
|
3092
|
+
sample.raws.before = this.nodes[1].raws.before;
|
|
3093
|
+
} else {
|
|
3094
|
+
delete sample.raws.before;
|
|
3095
|
+
}
|
|
3096
|
+
} else if (this.first !== sample) {
|
|
3097
|
+
for (let node2 of nodes) {
|
|
3098
|
+
node2.raws.before = sample.raws.before;
|
|
3099
|
+
}
|
|
3057
3100
|
}
|
|
3058
3101
|
}
|
|
3059
|
-
|
|
3060
|
-
return this;
|
|
3102
|
+
return nodes;
|
|
3061
3103
|
}
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
nodes = [];
|
|
3067
|
-
} else if (Array.isArray(nodes)) {
|
|
3068
|
-
nodes = nodes.slice(0);
|
|
3069
|
-
for (let i of nodes) {
|
|
3070
|
-
if (i.parent) i.parent.removeChild(i, "ignore");
|
|
3071
|
-
}
|
|
3072
|
-
} else if (nodes.type === "root" && this.type !== "document") {
|
|
3073
|
-
nodes = nodes.nodes.slice(0);
|
|
3074
|
-
for (let i of nodes) {
|
|
3075
|
-
if (i.parent) i.parent.removeChild(i, "ignore");
|
|
3076
|
-
}
|
|
3077
|
-
} else if (nodes.type) {
|
|
3078
|
-
nodes = [nodes];
|
|
3079
|
-
} else if (nodes.prop) {
|
|
3080
|
-
if (typeof nodes.value === "undefined") {
|
|
3081
|
-
throw new Error("Value field is missed in node creation");
|
|
3082
|
-
} else if (typeof nodes.value !== "string") {
|
|
3083
|
-
nodes.value = String(nodes.value);
|
|
3084
|
-
}
|
|
3085
|
-
nodes = [new Declaration$3(nodes)];
|
|
3086
|
-
} else if (nodes.selector) {
|
|
3087
|
-
nodes = [new Rule$4(nodes)];
|
|
3088
|
-
} else if (nodes.name) {
|
|
3089
|
-
nodes = [new AtRule$4(nodes)];
|
|
3090
|
-
} else if (nodes.text) {
|
|
3091
|
-
nodes = [new Comment$3(nodes)];
|
|
3092
|
-
} else {
|
|
3093
|
-
throw new Error("Unknown node type in node creation");
|
|
3104
|
+
removeChild(child, ignore) {
|
|
3105
|
+
let index2 = this.index(child);
|
|
3106
|
+
if (!ignore && index2 === 0 && this.nodes.length > 1) {
|
|
3107
|
+
this.nodes[1].raws.before = this.nodes[index2].raws.before;
|
|
3094
3108
|
}
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3109
|
+
return super.removeChild(child);
|
|
3110
|
+
}
|
|
3111
|
+
toResult(opts = {}) {
|
|
3112
|
+
let lazy = new LazyResult$3(new Processor$3(), this, opts);
|
|
3113
|
+
return lazy.stringify();
|
|
3114
|
+
}
|
|
3115
|
+
};
|
|
3116
|
+
Root$6.registerLazyResult = (dependant) => {
|
|
3117
|
+
LazyResult$3 = dependant;
|
|
3118
|
+
};
|
|
3119
|
+
Root$6.registerProcessor = (dependant) => {
|
|
3120
|
+
Processor$3 = dependant;
|
|
3121
|
+
};
|
|
3122
|
+
var root$1 = Root$6;
|
|
3123
|
+
Root$6.default = Root$6;
|
|
3124
|
+
Container$5.registerRoot(Root$6);
|
|
3125
|
+
let list$3 = {
|
|
3126
|
+
comma(string) {
|
|
3127
|
+
return list$3.split(string, [","], true);
|
|
3128
|
+
},
|
|
3129
|
+
space(string) {
|
|
3130
|
+
let spaces = [" ", "\n", " "];
|
|
3131
|
+
return list$3.split(string, spaces);
|
|
3132
|
+
},
|
|
3133
|
+
split(string, separators, last) {
|
|
3134
|
+
let array = [];
|
|
3135
|
+
let current = "";
|
|
3136
|
+
let split = false;
|
|
3137
|
+
let func = 0;
|
|
3138
|
+
let inQuote = false;
|
|
3139
|
+
let prevQuote = "";
|
|
3140
|
+
let escape = false;
|
|
3141
|
+
for (let letter of string) {
|
|
3142
|
+
if (escape) {
|
|
3143
|
+
escape = false;
|
|
3144
|
+
} else if (letter === "\\") {
|
|
3145
|
+
escape = true;
|
|
3146
|
+
} else if (inQuote) {
|
|
3147
|
+
if (letter === prevQuote) {
|
|
3148
|
+
inQuote = false;
|
|
3103
3149
|
}
|
|
3150
|
+
} else if (letter === '"' || letter === "'") {
|
|
3151
|
+
inQuote = true;
|
|
3152
|
+
prevQuote = letter;
|
|
3153
|
+
} else if (letter === "(") {
|
|
3154
|
+
func += 1;
|
|
3155
|
+
} else if (letter === ")") {
|
|
3156
|
+
if (func > 0) func -= 1;
|
|
3157
|
+
} else if (func === 0) {
|
|
3158
|
+
if (separators.includes(letter)) split = true;
|
|
3104
3159
|
}
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
children = children.reverse();
|
|
3112
|
-
for (let child of children) {
|
|
3113
|
-
let nodes = this.normalize(child, this.first, "prepend").reverse();
|
|
3114
|
-
for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);
|
|
3115
|
-
for (let id in this.indexes) {
|
|
3116
|
-
this.indexes[id] = this.indexes[id] + nodes.length;
|
|
3160
|
+
if (split) {
|
|
3161
|
+
if (current !== "") array.push(current.trim());
|
|
3162
|
+
current = "";
|
|
3163
|
+
split = false;
|
|
3164
|
+
} else {
|
|
3165
|
+
current += letter;
|
|
3117
3166
|
}
|
|
3118
3167
|
}
|
|
3119
|
-
|
|
3120
|
-
return
|
|
3168
|
+
if (last || current !== "") array.push(current.trim());
|
|
3169
|
+
return array;
|
|
3121
3170
|
}
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3171
|
+
};
|
|
3172
|
+
var list_1 = list$3;
|
|
3173
|
+
list$3.default = list$3;
|
|
3174
|
+
let Container$4 = container;
|
|
3175
|
+
let list$2 = list_1;
|
|
3176
|
+
let Rule$4 = class Rule extends Container$4 {
|
|
3177
|
+
constructor(defaults) {
|
|
3178
|
+
super(defaults);
|
|
3179
|
+
this.type = "rule";
|
|
3180
|
+
if (!this.nodes) this.nodes = [];
|
|
3126
3181
|
}
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
this.proxyOf.nodes = [];
|
|
3130
|
-
this.markDirty();
|
|
3131
|
-
return this;
|
|
3182
|
+
get selectors() {
|
|
3183
|
+
return list$2.comma(this.selector);
|
|
3132
3184
|
}
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
this.
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3185
|
+
set selectors(values) {
|
|
3186
|
+
let match = this.selector ? this.selector.match(/,\s*/) : null;
|
|
3187
|
+
let sep2 = match ? match[0] : "," + this.raw("between", "beforeOpen");
|
|
3188
|
+
this.selector = values.join(sep2);
|
|
3189
|
+
}
|
|
3190
|
+
};
|
|
3191
|
+
var rule$1 = Rule$4;
|
|
3192
|
+
Rule$4.default = Rule$4;
|
|
3193
|
+
Container$4.registerRule(Rule$4);
|
|
3194
|
+
let AtRule$3 = atRule$1;
|
|
3195
|
+
let Comment$4 = comment$1;
|
|
3196
|
+
let Declaration$3 = declaration;
|
|
3197
|
+
let Input$5 = input;
|
|
3198
|
+
let PreviousMap2 = previousMap;
|
|
3199
|
+
let Root$5 = root$1;
|
|
3200
|
+
let Rule$3 = rule$1;
|
|
3201
|
+
function fromJSON$2(json, inputs) {
|
|
3202
|
+
if (Array.isArray(json)) return json.map((n) => fromJSON$2(n));
|
|
3203
|
+
let { inputs: ownInputs, ...defaults } = json;
|
|
3204
|
+
if (ownInputs) {
|
|
3205
|
+
inputs = [];
|
|
3206
|
+
for (let input2 of ownInputs) {
|
|
3207
|
+
let inputHydrated = { ...input2, __proto__: Input$5.prototype };
|
|
3208
|
+
if (inputHydrated.map) {
|
|
3209
|
+
inputHydrated.map = {
|
|
3210
|
+
...inputHydrated.map,
|
|
3211
|
+
__proto__: PreviousMap2.prototype
|
|
3212
|
+
};
|
|
3142
3213
|
}
|
|
3214
|
+
inputs.push(inputHydrated);
|
|
3143
3215
|
}
|
|
3144
|
-
this.markDirty();
|
|
3145
|
-
return this;
|
|
3146
3216
|
}
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3217
|
+
if (defaults.nodes) {
|
|
3218
|
+
defaults.nodes = json.nodes.map((n) => fromJSON$2(n, inputs));
|
|
3219
|
+
}
|
|
3220
|
+
if (defaults.source) {
|
|
3221
|
+
let { inputId, ...source } = defaults.source;
|
|
3222
|
+
defaults.source = source;
|
|
3223
|
+
if (inputId != null) {
|
|
3224
|
+
defaults.source.input = inputs[inputId];
|
|
3151
3225
|
}
|
|
3152
|
-
this.walkDecls((decl) => {
|
|
3153
|
-
if (opts.props && !opts.props.includes(decl.prop)) return;
|
|
3154
|
-
if (opts.fast && !decl.value.includes(opts.fast)) return;
|
|
3155
|
-
decl.value = decl.value.replace(pattern, callback);
|
|
3156
|
-
});
|
|
3157
|
-
this.markDirty();
|
|
3158
|
-
return this;
|
|
3159
3226
|
}
|
|
3160
|
-
|
|
3161
|
-
return
|
|
3227
|
+
if (defaults.type === "root") {
|
|
3228
|
+
return new Root$5(defaults);
|
|
3229
|
+
} else if (defaults.type === "decl") {
|
|
3230
|
+
return new Declaration$3(defaults);
|
|
3231
|
+
} else if (defaults.type === "rule") {
|
|
3232
|
+
return new Rule$3(defaults);
|
|
3233
|
+
} else if (defaults.type === "comment") {
|
|
3234
|
+
return new Comment$4(defaults);
|
|
3235
|
+
} else if (defaults.type === "atrule") {
|
|
3236
|
+
return new AtRule$3(defaults);
|
|
3237
|
+
} else {
|
|
3238
|
+
throw new Error("Unknown node type: " + json.type);
|
|
3162
3239
|
}
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
}
|
|
3240
|
+
}
|
|
3241
|
+
var fromJSON_1 = fromJSON$2;
|
|
3242
|
+
fromJSON$2.default = fromJSON$2;
|
|
3243
|
+
let { dirname, relative, resolve, sep } = require$$2;
|
|
3244
|
+
let { SourceMapConsumer, SourceMapGenerator } = require$$2;
|
|
3245
|
+
let { pathToFileURL } = require$$2;
|
|
3246
|
+
let Input$4 = input;
|
|
3247
|
+
let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator);
|
|
3248
|
+
let pathAvailable = Boolean(dirname && resolve && relative && sep);
|
|
3249
|
+
let MapGenerator$2 = class MapGenerator {
|
|
3250
|
+
constructor(stringify2, root2, opts, cssString) {
|
|
3251
|
+
this.stringify = stringify2;
|
|
3252
|
+
this.mapOpts = opts.map || {};
|
|
3253
|
+
this.root = root2;
|
|
3254
|
+
this.opts = opts;
|
|
3255
|
+
this.css = cssString;
|
|
3256
|
+
this.originalCSS = cssString;
|
|
3257
|
+
this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;
|
|
3258
|
+
this.memoizedFileURLs = /* @__PURE__ */ new Map();
|
|
3259
|
+
this.memoizedPaths = /* @__PURE__ */ new Map();
|
|
3260
|
+
this.memoizedURLs = /* @__PURE__ */ new Map();
|
|
3176
3261
|
}
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3262
|
+
addAnnotation() {
|
|
3263
|
+
let content;
|
|
3264
|
+
if (this.isInline()) {
|
|
3265
|
+
content = "data:application/json;base64," + this.toBase64(this.map.toString());
|
|
3266
|
+
} else if (typeof this.mapOpts.annotation === "string") {
|
|
3267
|
+
content = this.mapOpts.annotation;
|
|
3268
|
+
} else if (typeof this.mapOpts.annotation === "function") {
|
|
3269
|
+
content = this.mapOpts.annotation(this.opts.to, this.root);
|
|
3270
|
+
} else {
|
|
3271
|
+
content = this.outputFile() + ".map";
|
|
3185
3272
|
}
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3273
|
+
let eol = "\n";
|
|
3274
|
+
if (this.css.includes("\r\n")) eol = "\r\n";
|
|
3275
|
+
this.css += eol + "/*# sourceMappingURL=" + content + " */";
|
|
3276
|
+
}
|
|
3277
|
+
applyPrevMaps() {
|
|
3278
|
+
for (let prev of this.previous()) {
|
|
3279
|
+
let from = this.toUrl(this.path(prev.file));
|
|
3280
|
+
let root2 = prev.root || dirname(prev.file);
|
|
3281
|
+
let map;
|
|
3282
|
+
if (this.mapOpts.sourcesContent === false) {
|
|
3283
|
+
map = new SourceMapConsumer(prev.text);
|
|
3284
|
+
if (map.sourcesContent) {
|
|
3285
|
+
map.sourcesContent = null;
|
|
3190
3286
|
}
|
|
3191
|
-
}
|
|
3192
|
-
|
|
3193
|
-
return this.walk((child, i) => {
|
|
3194
|
-
if (child.type === "atrule" && child.name === name) {
|
|
3195
|
-
return callback(child, i);
|
|
3287
|
+
} else {
|
|
3288
|
+
map = prev.consumer();
|
|
3196
3289
|
}
|
|
3197
|
-
|
|
3290
|
+
this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));
|
|
3291
|
+
}
|
|
3198
3292
|
}
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3293
|
+
clearAnnotation() {
|
|
3294
|
+
if (this.mapOpts.annotation === false) return;
|
|
3295
|
+
if (this.root) {
|
|
3296
|
+
let node2;
|
|
3297
|
+
for (let i = this.root.nodes.length - 1; i >= 0; i--) {
|
|
3298
|
+
node2 = this.root.nodes[i];
|
|
3299
|
+
if (node2.type !== "comment") continue;
|
|
3300
|
+
if (node2.text.startsWith("# sourceMappingURL=")) {
|
|
3301
|
+
this.root.removeChild(i);
|
|
3302
|
+
}
|
|
3203
3303
|
}
|
|
3204
|
-
})
|
|
3304
|
+
} else if (this.css) {
|
|
3305
|
+
this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, "");
|
|
3306
|
+
}
|
|
3205
3307
|
}
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
return this.
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3308
|
+
generate() {
|
|
3309
|
+
this.clearAnnotation();
|
|
3310
|
+
if (pathAvailable && sourceMapAvailable && this.isMap()) {
|
|
3311
|
+
return this.generateMap();
|
|
3312
|
+
} else {
|
|
3313
|
+
let result2 = "";
|
|
3314
|
+
this.stringify(this.root, (i) => {
|
|
3315
|
+
result2 += i;
|
|
3213
3316
|
});
|
|
3317
|
+
return [result2];
|
|
3214
3318
|
}
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3319
|
+
}
|
|
3320
|
+
generateMap() {
|
|
3321
|
+
if (this.root) {
|
|
3322
|
+
this.generateString();
|
|
3323
|
+
} else if (this.previous().length === 1) {
|
|
3324
|
+
let prev = this.previous()[0].consumer();
|
|
3325
|
+
prev.file = this.outputFile();
|
|
3326
|
+
this.map = SourceMapGenerator.fromSourceMap(prev, {
|
|
3327
|
+
ignoreInvalidMapping: true
|
|
3328
|
+
});
|
|
3329
|
+
} else {
|
|
3330
|
+
this.map = new SourceMapGenerator({
|
|
3331
|
+
file: this.outputFile(),
|
|
3332
|
+
ignoreInvalidMapping: true
|
|
3333
|
+
});
|
|
3334
|
+
this.map.addMapping({
|
|
3335
|
+
generated: { column: 0, line: 1 },
|
|
3336
|
+
original: { column: 0, line: 1 },
|
|
3337
|
+
source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : "<no source>"
|
|
3220
3338
|
});
|
|
3221
3339
|
}
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3340
|
+
if (this.isSourcesContent()) this.setSourcesContent();
|
|
3341
|
+
if (this.root && this.previous().length > 0) this.applyPrevMaps();
|
|
3342
|
+
if (this.isAnnotation()) this.addAnnotation();
|
|
3343
|
+
if (this.isInline()) {
|
|
3344
|
+
return [this.css];
|
|
3345
|
+
} else {
|
|
3346
|
+
return [this.css, this.map];
|
|
3347
|
+
}
|
|
3227
3348
|
}
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3349
|
+
generateString() {
|
|
3350
|
+
this.css = "";
|
|
3351
|
+
this.map = new SourceMapGenerator({
|
|
3352
|
+
file: this.outputFile(),
|
|
3353
|
+
ignoreInvalidMapping: true
|
|
3354
|
+
});
|
|
3355
|
+
let line = 1;
|
|
3356
|
+
let column = 1;
|
|
3357
|
+
let noSource = "<no source>";
|
|
3358
|
+
let mapping = {
|
|
3359
|
+
generated: { column: 0, line: 0 },
|
|
3360
|
+
original: { column: 0, line: 0 },
|
|
3361
|
+
source: ""
|
|
3362
|
+
};
|
|
3363
|
+
let last, lines;
|
|
3364
|
+
this.stringify(this.root, (str, node2, type) => {
|
|
3365
|
+
this.css += str;
|
|
3366
|
+
if (node2 && type !== "end") {
|
|
3367
|
+
mapping.generated.line = line;
|
|
3368
|
+
mapping.generated.column = column - 1;
|
|
3369
|
+
if (node2.source && node2.source.start) {
|
|
3370
|
+
mapping.source = this.sourcePath(node2);
|
|
3371
|
+
mapping.original.line = node2.source.start.line;
|
|
3372
|
+
mapping.original.column = node2.source.start.column - 1;
|
|
3373
|
+
this.map.addMapping(mapping);
|
|
3374
|
+
} else {
|
|
3375
|
+
mapping.source = noSource;
|
|
3376
|
+
mapping.original.line = 1;
|
|
3377
|
+
mapping.original.column = 0;
|
|
3378
|
+
this.map.addMapping(mapping);
|
|
3234
3379
|
}
|
|
3235
|
-
}
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3380
|
+
}
|
|
3381
|
+
lines = str.match(/\n/g);
|
|
3382
|
+
if (lines) {
|
|
3383
|
+
line += lines.length;
|
|
3384
|
+
last = str.lastIndexOf("\n");
|
|
3385
|
+
column = str.length - last;
|
|
3386
|
+
} else {
|
|
3387
|
+
column += str.length;
|
|
3388
|
+
}
|
|
3389
|
+
if (node2 && type !== "start") {
|
|
3390
|
+
let p = node2.parent || { raws: {} };
|
|
3391
|
+
let childless = node2.type === "decl" || node2.type === "atrule" && !node2.nodes;
|
|
3392
|
+
if (!childless || node2 !== p.last || p.raws.semicolon) {
|
|
3393
|
+
if (node2.source && node2.source.end) {
|
|
3394
|
+
mapping.source = this.sourcePath(node2);
|
|
3395
|
+
mapping.original.line = node2.source.end.line;
|
|
3396
|
+
mapping.original.column = node2.source.end.column - 1;
|
|
3397
|
+
mapping.generated.line = line;
|
|
3398
|
+
mapping.generated.column = column - 2;
|
|
3399
|
+
this.map.addMapping(mapping);
|
|
3400
|
+
} else {
|
|
3401
|
+
mapping.source = noSource;
|
|
3402
|
+
mapping.original.line = 1;
|
|
3403
|
+
mapping.original.column = 0;
|
|
3404
|
+
mapping.generated.line = line;
|
|
3405
|
+
mapping.generated.column = column - 1;
|
|
3406
|
+
this.map.addMapping(mapping);
|
|
3407
|
+
}
|
|
3241
3408
|
}
|
|
3242
|
-
});
|
|
3243
|
-
}
|
|
3244
|
-
return this.walk((child, i) => {
|
|
3245
|
-
if (child.type === "rule" && child.selector === selector) {
|
|
3246
|
-
return callback(child, i);
|
|
3247
3409
|
}
|
|
3248
3410
|
});
|
|
3249
3411
|
}
|
|
3250
|
-
|
|
3251
|
-
if (
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];
|
|
3257
|
-
}
|
|
3258
|
-
};
|
|
3259
|
-
Container$7.registerParse = (dependant) => {
|
|
3260
|
-
parse$4 = dependant;
|
|
3261
|
-
};
|
|
3262
|
-
Container$7.registerRule = (dependant) => {
|
|
3263
|
-
Rule$4 = dependant;
|
|
3264
|
-
};
|
|
3265
|
-
Container$7.registerAtRule = (dependant) => {
|
|
3266
|
-
AtRule$4 = dependant;
|
|
3267
|
-
};
|
|
3268
|
-
Container$7.registerRoot = (dependant) => {
|
|
3269
|
-
Root$6 = dependant;
|
|
3270
|
-
};
|
|
3271
|
-
var container = Container$7;
|
|
3272
|
-
Container$7.default = Container$7;
|
|
3273
|
-
Container$7.rebuild = (node2) => {
|
|
3274
|
-
if (node2.type === "atrule") {
|
|
3275
|
-
Object.setPrototypeOf(node2, AtRule$4.prototype);
|
|
3276
|
-
} else if (node2.type === "rule") {
|
|
3277
|
-
Object.setPrototypeOf(node2, Rule$4.prototype);
|
|
3278
|
-
} else if (node2.type === "decl") {
|
|
3279
|
-
Object.setPrototypeOf(node2, Declaration$3.prototype);
|
|
3280
|
-
} else if (node2.type === "comment") {
|
|
3281
|
-
Object.setPrototypeOf(node2, Comment$3.prototype);
|
|
3282
|
-
} else if (node2.type === "root") {
|
|
3283
|
-
Object.setPrototypeOf(node2, Root$6.prototype);
|
|
3284
|
-
}
|
|
3285
|
-
node2[my$1] = true;
|
|
3286
|
-
if (node2.nodes) {
|
|
3287
|
-
node2.nodes.forEach((child) => {
|
|
3288
|
-
Container$7.rebuild(child);
|
|
3289
|
-
});
|
|
3290
|
-
}
|
|
3291
|
-
};
|
|
3292
|
-
let Container$6 = container;
|
|
3293
|
-
let LazyResult$4, Processor$3;
|
|
3294
|
-
let Document$3 = class Document extends Container$6 {
|
|
3295
|
-
constructor(defaults) {
|
|
3296
|
-
super({ type: "document", ...defaults });
|
|
3297
|
-
if (!this.nodes) {
|
|
3298
|
-
this.nodes = [];
|
|
3412
|
+
isAnnotation() {
|
|
3413
|
+
if (this.isInline()) {
|
|
3414
|
+
return true;
|
|
3415
|
+
}
|
|
3416
|
+
if (typeof this.mapOpts.annotation !== "undefined") {
|
|
3417
|
+
return this.mapOpts.annotation;
|
|
3299
3418
|
}
|
|
3419
|
+
if (this.previous().length) {
|
|
3420
|
+
return this.previous().some((i) => i.annotation);
|
|
3421
|
+
}
|
|
3422
|
+
return true;
|
|
3300
3423
|
}
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3424
|
+
isInline() {
|
|
3425
|
+
if (typeof this.mapOpts.inline !== "undefined") {
|
|
3426
|
+
return this.mapOpts.inline;
|
|
3427
|
+
}
|
|
3428
|
+
let annotation = this.mapOpts.annotation;
|
|
3429
|
+
if (typeof annotation !== "undefined" && annotation !== true) {
|
|
3430
|
+
return false;
|
|
3431
|
+
}
|
|
3432
|
+
if (this.previous().length) {
|
|
3433
|
+
return this.previous().some((i) => i.inline);
|
|
3434
|
+
}
|
|
3435
|
+
return true;
|
|
3304
3436
|
}
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
}
|
|
3309
|
-
|
|
3310
|
-
Processor$3 = dependant;
|
|
3311
|
-
};
|
|
3312
|
-
var document$1 = Document$3;
|
|
3313
|
-
Document$3.default = Document$3;
|
|
3314
|
-
let printed = {};
|
|
3315
|
-
var warnOnce$2 = function warnOnce(message) {
|
|
3316
|
-
if (printed[message]) return;
|
|
3317
|
-
printed[message] = true;
|
|
3318
|
-
if (typeof console !== "undefined" && console.warn) {
|
|
3319
|
-
console.warn(message);
|
|
3437
|
+
isMap() {
|
|
3438
|
+
if (typeof this.opts.map !== "undefined") {
|
|
3439
|
+
return !!this.opts.map;
|
|
3440
|
+
}
|
|
3441
|
+
return this.previous().length > 0;
|
|
3320
3442
|
}
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
this.
|
|
3326
|
-
|
|
3327
|
-
let range = opts.node.rangeBy(opts);
|
|
3328
|
-
this.line = range.start.line;
|
|
3329
|
-
this.column = range.start.column;
|
|
3330
|
-
this.endLine = range.end.line;
|
|
3331
|
-
this.endColumn = range.end.column;
|
|
3443
|
+
isSourcesContent() {
|
|
3444
|
+
if (typeof this.mapOpts.sourcesContent !== "undefined") {
|
|
3445
|
+
return this.mapOpts.sourcesContent;
|
|
3446
|
+
}
|
|
3447
|
+
if (this.previous().length) {
|
|
3448
|
+
return this.previous().some((i) => i.withContent());
|
|
3332
3449
|
}
|
|
3333
|
-
|
|
3450
|
+
return true;
|
|
3334
3451
|
}
|
|
3335
|
-
|
|
3336
|
-
if (this.
|
|
3337
|
-
return this.
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3452
|
+
outputFile() {
|
|
3453
|
+
if (this.opts.to) {
|
|
3454
|
+
return this.path(this.opts.to);
|
|
3455
|
+
} else if (this.opts.from) {
|
|
3456
|
+
return this.path(this.opts.from);
|
|
3457
|
+
} else {
|
|
3458
|
+
return "to.css";
|
|
3342
3459
|
}
|
|
3343
|
-
|
|
3344
|
-
|
|
3460
|
+
}
|
|
3461
|
+
path(file) {
|
|
3462
|
+
if (this.mapOpts.absolute) return file;
|
|
3463
|
+
if (file.charCodeAt(0) === 60) return file;
|
|
3464
|
+
if (/^\w+:\/\//.test(file)) return file;
|
|
3465
|
+
let cached = this.memoizedPaths.get(file);
|
|
3466
|
+
if (cached) return cached;
|
|
3467
|
+
let from = this.opts.to ? dirname(this.opts.to) : ".";
|
|
3468
|
+
if (typeof this.mapOpts.annotation === "string") {
|
|
3469
|
+
from = dirname(resolve(from, this.mapOpts.annotation));
|
|
3345
3470
|
}
|
|
3346
|
-
|
|
3471
|
+
let path = relative(from, file);
|
|
3472
|
+
this.memoizedPaths.set(file, path);
|
|
3473
|
+
return path;
|
|
3347
3474
|
}
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3475
|
+
previous() {
|
|
3476
|
+
if (!this.previousMaps) {
|
|
3477
|
+
this.previousMaps = [];
|
|
3478
|
+
if (this.root) {
|
|
3479
|
+
this.root.walk((node2) => {
|
|
3480
|
+
if (node2.source && node2.source.input.map) {
|
|
3481
|
+
let map = node2.source.input.map;
|
|
3482
|
+
if (!this.previousMaps.includes(map)) {
|
|
3483
|
+
this.previousMaps.push(map);
|
|
3484
|
+
}
|
|
3485
|
+
}
|
|
3486
|
+
});
|
|
3487
|
+
} else {
|
|
3488
|
+
let input2 = new Input$4(this.originalCSS, this.opts);
|
|
3489
|
+
if (input2.map) this.previousMaps.push(input2.map);
|
|
3490
|
+
}
|
|
3491
|
+
}
|
|
3492
|
+
return this.previousMaps;
|
|
3360
3493
|
}
|
|
3361
|
-
|
|
3362
|
-
|
|
3494
|
+
setSourcesContent() {
|
|
3495
|
+
let already = {};
|
|
3496
|
+
if (this.root) {
|
|
3497
|
+
this.root.walk((node2) => {
|
|
3498
|
+
if (node2.source) {
|
|
3499
|
+
let from = node2.source.input.from;
|
|
3500
|
+
if (from && !already[from]) {
|
|
3501
|
+
already[from] = true;
|
|
3502
|
+
let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));
|
|
3503
|
+
this.map.setSourceContent(fromUrl, node2.source.input.css);
|
|
3504
|
+
}
|
|
3505
|
+
}
|
|
3506
|
+
});
|
|
3507
|
+
} else if (this.css) {
|
|
3508
|
+
let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : "<no source>";
|
|
3509
|
+
this.map.setSourceContent(from, this.css);
|
|
3510
|
+
}
|
|
3363
3511
|
}
|
|
3364
|
-
|
|
3365
|
-
if (
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3512
|
+
sourcePath(node2) {
|
|
3513
|
+
if (this.mapOpts.from) {
|
|
3514
|
+
return this.toUrl(this.mapOpts.from);
|
|
3515
|
+
} else if (this.usesFileUrls) {
|
|
3516
|
+
return this.toFileUrl(node2.source.input.from);
|
|
3517
|
+
} else {
|
|
3518
|
+
return this.toUrl(this.path(node2.source.input.from));
|
|
3369
3519
|
}
|
|
3370
|
-
let warning2 = new Warning$1(text, opts);
|
|
3371
|
-
this.messages.push(warning2);
|
|
3372
|
-
return warning2;
|
|
3373
3520
|
}
|
|
3374
|
-
|
|
3375
|
-
|
|
3521
|
+
toBase64(str) {
|
|
3522
|
+
if (Buffer) {
|
|
3523
|
+
return Buffer.from(str).toString("base64");
|
|
3524
|
+
} else {
|
|
3525
|
+
return window.btoa(unescape(encodeURIComponent(str)));
|
|
3526
|
+
}
|
|
3376
3527
|
}
|
|
3377
|
-
|
|
3378
|
-
|
|
3528
|
+
toFileUrl(path) {
|
|
3529
|
+
let cached = this.memoizedFileURLs.get(path);
|
|
3530
|
+
if (cached) return cached;
|
|
3531
|
+
if (pathToFileURL) {
|
|
3532
|
+
let fileURL = pathToFileURL(path).toString();
|
|
3533
|
+
this.memoizedFileURLs.set(path, fileURL);
|
|
3534
|
+
return fileURL;
|
|
3535
|
+
} else {
|
|
3536
|
+
throw new Error(
|
|
3537
|
+
"`map.absolute` option is not available in this PostCSS build"
|
|
3538
|
+
);
|
|
3539
|
+
}
|
|
3540
|
+
}
|
|
3541
|
+
toUrl(path) {
|
|
3542
|
+
let cached = this.memoizedURLs.get(path);
|
|
3543
|
+
if (cached) return cached;
|
|
3544
|
+
if (sep === "\\") {
|
|
3545
|
+
path = path.replace(/\\/g, "/");
|
|
3546
|
+
}
|
|
3547
|
+
let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);
|
|
3548
|
+
this.memoizedURLs.set(path, url);
|
|
3549
|
+
return url;
|
|
3379
3550
|
}
|
|
3380
3551
|
};
|
|
3381
|
-
var
|
|
3382
|
-
Result$3.default = Result$3;
|
|
3552
|
+
var mapGenerator = MapGenerator$2;
|
|
3383
3553
|
const SINGLE_QUOTE = "'".charCodeAt(0);
|
|
3384
3554
|
const DOUBLE_QUOTE = '"'.charCodeAt(0);
|
|
3385
3555
|
const BACKSLASH = "\\".charCodeAt(0);
|
|
@@ -3406,8 +3576,8 @@ const RE_HEX_ESCAPE = /[\da-f]/i;
|
|
|
3406
3576
|
var tokenize = function tokenizer(input2, options = {}) {
|
|
3407
3577
|
let css = input2.css.valueOf();
|
|
3408
3578
|
let ignore = options.ignoreErrors;
|
|
3409
|
-
let code,
|
|
3410
|
-
let escaped, escapePos,
|
|
3579
|
+
let code, content, escape, next, quote;
|
|
3580
|
+
let currentToken, escaped, escapePos, n, prev;
|
|
3411
3581
|
let length = css.length;
|
|
3412
3582
|
let pos = 0;
|
|
3413
3583
|
let buffer = [];
|
|
@@ -3530,203 +3700,70 @@ var tokenize = function tokenizer(input2, options = {}) {
|
|
|
3530
3700
|
escape = true;
|
|
3531
3701
|
while (css.charCodeAt(next + 1) === BACKSLASH) {
|
|
3532
3702
|
next += 1;
|
|
3533
|
-
escape = !escape;
|
|
3534
|
-
}
|
|
3535
|
-
code = css.charCodeAt(next + 1);
|
|
3536
|
-
if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) {
|
|
3537
|
-
next += 1;
|
|
3538
|
-
if (RE_HEX_ESCAPE.test(css.charAt(next))) {
|
|
3539
|
-
while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {
|
|
3540
|
-
next += 1;
|
|
3541
|
-
}
|
|
3542
|
-
if (css.charCodeAt(next + 1) === SPACE) {
|
|
3543
|
-
next += 1;
|
|
3544
|
-
}
|
|
3545
|
-
}
|
|
3546
|
-
}
|
|
3547
|
-
currentToken = ["word", css.slice(pos, next + 1), pos, next];
|
|
3548
|
-
pos = next;
|
|
3549
|
-
break;
|
|
3550
|
-
}
|
|
3551
|
-
default: {
|
|
3552
|
-
if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {
|
|
3553
|
-
next = css.indexOf("*/", pos + 2) + 1;
|
|
3554
|
-
if (next === 0) {
|
|
3555
|
-
if (ignore || ignoreUnclosed) {
|
|
3556
|
-
next = css.length;
|
|
3557
|
-
} else {
|
|
3558
|
-
unclosed("comment");
|
|
3559
|
-
}
|
|
3560
|
-
}
|
|
3561
|
-
currentToken = ["comment", css.slice(pos, next + 1), pos, next];
|
|
3562
|
-
pos = next;
|
|
3563
|
-
} else {
|
|
3564
|
-
RE_WORD_END.lastIndex = pos + 1;
|
|
3565
|
-
RE_WORD_END.test(css);
|
|
3566
|
-
if (RE_WORD_END.lastIndex === 0) {
|
|
3567
|
-
next = css.length - 1;
|
|
3568
|
-
} else {
|
|
3569
|
-
next = RE_WORD_END.lastIndex - 2;
|
|
3570
|
-
}
|
|
3571
|
-
currentToken = ["word", css.slice(pos, next + 1), pos, next];
|
|
3572
|
-
buffer.push(currentToken);
|
|
3573
|
-
pos = next;
|
|
3574
|
-
}
|
|
3575
|
-
break;
|
|
3576
|
-
}
|
|
3577
|
-
}
|
|
3578
|
-
pos++;
|
|
3579
|
-
return currentToken;
|
|
3580
|
-
}
|
|
3581
|
-
function back(token) {
|
|
3582
|
-
returned.push(token);
|
|
3583
|
-
}
|
|
3584
|
-
return {
|
|
3585
|
-
back,
|
|
3586
|
-
endOfFile,
|
|
3587
|
-
nextToken,
|
|
3588
|
-
position
|
|
3589
|
-
};
|
|
3590
|
-
};
|
|
3591
|
-
let Container$5 = container;
|
|
3592
|
-
let AtRule$3 = class AtRule extends Container$5 {
|
|
3593
|
-
constructor(defaults) {
|
|
3594
|
-
super(defaults);
|
|
3595
|
-
this.type = "atrule";
|
|
3596
|
-
}
|
|
3597
|
-
append(...children) {
|
|
3598
|
-
if (!this.proxyOf.nodes) this.nodes = [];
|
|
3599
|
-
return super.append(...children);
|
|
3600
|
-
}
|
|
3601
|
-
prepend(...children) {
|
|
3602
|
-
if (!this.proxyOf.nodes) this.nodes = [];
|
|
3603
|
-
return super.prepend(...children);
|
|
3604
|
-
}
|
|
3605
|
-
};
|
|
3606
|
-
var atRule = AtRule$3;
|
|
3607
|
-
AtRule$3.default = AtRule$3;
|
|
3608
|
-
Container$5.registerAtRule(AtRule$3);
|
|
3609
|
-
let Container$4 = container;
|
|
3610
|
-
let LazyResult$3, Processor$2;
|
|
3611
|
-
let Root$5 = class Root extends Container$4 {
|
|
3612
|
-
constructor(defaults) {
|
|
3613
|
-
super(defaults);
|
|
3614
|
-
this.type = "root";
|
|
3615
|
-
if (!this.nodes) this.nodes = [];
|
|
3616
|
-
}
|
|
3617
|
-
normalize(child, sample, type) {
|
|
3618
|
-
let nodes = super.normalize(child);
|
|
3619
|
-
if (sample) {
|
|
3620
|
-
if (type === "prepend") {
|
|
3621
|
-
if (this.nodes.length > 1) {
|
|
3622
|
-
sample.raws.before = this.nodes[1].raws.before;
|
|
3623
|
-
} else {
|
|
3624
|
-
delete sample.raws.before;
|
|
3625
|
-
}
|
|
3626
|
-
} else if (this.first !== sample) {
|
|
3627
|
-
for (let node2 of nodes) {
|
|
3628
|
-
node2.raws.before = sample.raws.before;
|
|
3629
|
-
}
|
|
3630
|
-
}
|
|
3631
|
-
}
|
|
3632
|
-
return nodes;
|
|
3633
|
-
}
|
|
3634
|
-
removeChild(child, ignore) {
|
|
3635
|
-
let index2 = this.index(child);
|
|
3636
|
-
if (!ignore && index2 === 0 && this.nodes.length > 1) {
|
|
3637
|
-
this.nodes[1].raws.before = this.nodes[index2].raws.before;
|
|
3638
|
-
}
|
|
3639
|
-
return super.removeChild(child);
|
|
3640
|
-
}
|
|
3641
|
-
toResult(opts = {}) {
|
|
3642
|
-
let lazy = new LazyResult$3(new Processor$2(), this, opts);
|
|
3643
|
-
return lazy.stringify();
|
|
3644
|
-
}
|
|
3645
|
-
};
|
|
3646
|
-
Root$5.registerLazyResult = (dependant) => {
|
|
3647
|
-
LazyResult$3 = dependant;
|
|
3648
|
-
};
|
|
3649
|
-
Root$5.registerProcessor = (dependant) => {
|
|
3650
|
-
Processor$2 = dependant;
|
|
3651
|
-
};
|
|
3652
|
-
var root = Root$5;
|
|
3653
|
-
Root$5.default = Root$5;
|
|
3654
|
-
Container$4.registerRoot(Root$5);
|
|
3655
|
-
let list$2 = {
|
|
3656
|
-
comma(string) {
|
|
3657
|
-
return list$2.split(string, [","], true);
|
|
3658
|
-
},
|
|
3659
|
-
space(string) {
|
|
3660
|
-
let spaces = [" ", "\n", " "];
|
|
3661
|
-
return list$2.split(string, spaces);
|
|
3662
|
-
},
|
|
3663
|
-
split(string, separators, last) {
|
|
3664
|
-
let array = [];
|
|
3665
|
-
let current = "";
|
|
3666
|
-
let split = false;
|
|
3667
|
-
let func = 0;
|
|
3668
|
-
let inQuote = false;
|
|
3669
|
-
let prevQuote = "";
|
|
3670
|
-
let escape = false;
|
|
3671
|
-
for (let letter of string) {
|
|
3672
|
-
if (escape) {
|
|
3673
|
-
escape = false;
|
|
3674
|
-
} else if (letter === "\\") {
|
|
3675
|
-
escape = true;
|
|
3676
|
-
} else if (inQuote) {
|
|
3677
|
-
if (letter === prevQuote) {
|
|
3678
|
-
inQuote = false;
|
|
3703
|
+
escape = !escape;
|
|
3679
3704
|
}
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3705
|
+
code = css.charCodeAt(next + 1);
|
|
3706
|
+
if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) {
|
|
3707
|
+
next += 1;
|
|
3708
|
+
if (RE_HEX_ESCAPE.test(css.charAt(next))) {
|
|
3709
|
+
while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {
|
|
3710
|
+
next += 1;
|
|
3711
|
+
}
|
|
3712
|
+
if (css.charCodeAt(next + 1) === SPACE) {
|
|
3713
|
+
next += 1;
|
|
3714
|
+
}
|
|
3715
|
+
}
|
|
3716
|
+
}
|
|
3717
|
+
currentToken = ["word", css.slice(pos, next + 1), pos, next];
|
|
3718
|
+
pos = next;
|
|
3719
|
+
break;
|
|
3689
3720
|
}
|
|
3690
|
-
|
|
3691
|
-
if (
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3721
|
+
default: {
|
|
3722
|
+
if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {
|
|
3723
|
+
next = css.indexOf("*/", pos + 2) + 1;
|
|
3724
|
+
if (next === 0) {
|
|
3725
|
+
if (ignore || ignoreUnclosed) {
|
|
3726
|
+
next = css.length;
|
|
3727
|
+
} else {
|
|
3728
|
+
unclosed("comment");
|
|
3729
|
+
}
|
|
3730
|
+
}
|
|
3731
|
+
currentToken = ["comment", css.slice(pos, next + 1), pos, next];
|
|
3732
|
+
pos = next;
|
|
3733
|
+
} else {
|
|
3734
|
+
RE_WORD_END.lastIndex = pos + 1;
|
|
3735
|
+
RE_WORD_END.test(css);
|
|
3736
|
+
if (RE_WORD_END.lastIndex === 0) {
|
|
3737
|
+
next = css.length - 1;
|
|
3738
|
+
} else {
|
|
3739
|
+
next = RE_WORD_END.lastIndex - 2;
|
|
3740
|
+
}
|
|
3741
|
+
currentToken = ["word", css.slice(pos, next + 1), pos, next];
|
|
3742
|
+
buffer.push(currentToken);
|
|
3743
|
+
pos = next;
|
|
3744
|
+
}
|
|
3745
|
+
break;
|
|
3696
3746
|
}
|
|
3697
3747
|
}
|
|
3698
|
-
|
|
3699
|
-
return
|
|
3700
|
-
}
|
|
3701
|
-
};
|
|
3702
|
-
var list_1 = list$2;
|
|
3703
|
-
list$2.default = list$2;
|
|
3704
|
-
let Container$3 = container;
|
|
3705
|
-
let list$1 = list_1;
|
|
3706
|
-
let Rule$3 = class Rule extends Container$3 {
|
|
3707
|
-
constructor(defaults) {
|
|
3708
|
-
super(defaults);
|
|
3709
|
-
this.type = "rule";
|
|
3710
|
-
if (!this.nodes) this.nodes = [];
|
|
3711
|
-
}
|
|
3712
|
-
get selectors() {
|
|
3713
|
-
return list$1.comma(this.selector);
|
|
3748
|
+
pos++;
|
|
3749
|
+
return currentToken;
|
|
3714
3750
|
}
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
let sep2 = match ? match[0] : "," + this.raw("between", "beforeOpen");
|
|
3718
|
-
this.selector = values.join(sep2);
|
|
3751
|
+
function back(token) {
|
|
3752
|
+
returned.push(token);
|
|
3719
3753
|
}
|
|
3754
|
+
return {
|
|
3755
|
+
back,
|
|
3756
|
+
endOfFile,
|
|
3757
|
+
nextToken,
|
|
3758
|
+
position
|
|
3759
|
+
};
|
|
3720
3760
|
};
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
Container$3.registerRule(Rule$3);
|
|
3761
|
+
let AtRule$2 = atRule$1;
|
|
3762
|
+
let Comment$3 = comment$1;
|
|
3724
3763
|
let Declaration$2 = declaration;
|
|
3725
|
-
let
|
|
3726
|
-
let
|
|
3727
|
-
let
|
|
3728
|
-
let Root$4 = root;
|
|
3729
|
-
let Rule$2 = rule;
|
|
3764
|
+
let Root$4 = root$1;
|
|
3765
|
+
let Rule$2 = rule$1;
|
|
3766
|
+
let tokenizer$1 = tokenize;
|
|
3730
3767
|
const SAFE_COMMENT_NEIGHBOR = {
|
|
3731
3768
|
empty: true,
|
|
3732
3769
|
space: true
|
|
@@ -3738,7 +3775,7 @@ function findLastWithPosition(tokens) {
|
|
|
3738
3775
|
if (pos) return pos;
|
|
3739
3776
|
}
|
|
3740
3777
|
}
|
|
3741
|
-
let Parser$
|
|
3778
|
+
let Parser$2 = class Parser {
|
|
3742
3779
|
constructor(input2) {
|
|
3743
3780
|
this.input = input2;
|
|
3744
3781
|
this.root = new Root$4();
|
|
@@ -3845,7 +3882,7 @@ let Parser$1 = class Parser {
|
|
|
3845
3882
|
}
|
|
3846
3883
|
colon(tokens) {
|
|
3847
3884
|
let brackets = 0;
|
|
3848
|
-
let token, type
|
|
3885
|
+
let prev, token, type;
|
|
3849
3886
|
for (let [i, element] of tokens.entries()) {
|
|
3850
3887
|
token = element;
|
|
3851
3888
|
type = token[0];
|
|
@@ -3869,7 +3906,7 @@ let Parser$1 = class Parser {
|
|
|
3869
3906
|
return false;
|
|
3870
3907
|
}
|
|
3871
3908
|
comment(token) {
|
|
3872
|
-
let node2 = new Comment$
|
|
3909
|
+
let node2 = new Comment$3();
|
|
3873
3910
|
this.init(node2, token[2]);
|
|
3874
3911
|
node2.source.end = this.getPosition(token[3] || token[2]);
|
|
3875
3912
|
node2.source.end.offset++;
|
|
@@ -3886,7 +3923,7 @@ let Parser$1 = class Parser {
|
|
|
3886
3923
|
}
|
|
3887
3924
|
}
|
|
3888
3925
|
createTokenizer() {
|
|
3889
|
-
this.tokenizer =
|
|
3926
|
+
this.tokenizer = tokenizer$1(this.input);
|
|
3890
3927
|
}
|
|
3891
3928
|
decl(tokens, customProperty) {
|
|
3892
3929
|
let node2 = new Declaration$2();
|
|
@@ -3952,12 +3989,12 @@ let Parser$1 = class Parser {
|
|
|
3952
3989
|
let str = "";
|
|
3953
3990
|
for (let j = i; j > 0; j--) {
|
|
3954
3991
|
let type = cache[j][0];
|
|
3955
|
-
if (str.trim().
|
|
3992
|
+
if (str.trim().startsWith("!") && type !== "space") {
|
|
3956
3993
|
break;
|
|
3957
3994
|
}
|
|
3958
3995
|
str = cache.pop()[1] + str;
|
|
3959
3996
|
}
|
|
3960
|
-
if (str.trim().
|
|
3997
|
+
if (str.trim().startsWith("!")) {
|
|
3961
3998
|
node2.important = true;
|
|
3962
3999
|
node2.raws.important = str;
|
|
3963
4000
|
tokens = cache;
|
|
@@ -4245,13 +4282,13 @@ let Parser$1 = class Parser {
|
|
|
4245
4282
|
);
|
|
4246
4283
|
}
|
|
4247
4284
|
};
|
|
4248
|
-
var parser = Parser$
|
|
4249
|
-
let Container$
|
|
4250
|
-
let
|
|
4251
|
-
let
|
|
4252
|
-
function parse$
|
|
4253
|
-
let input2 = new Input$
|
|
4254
|
-
let parser2 = new
|
|
4285
|
+
var parser = Parser$2;
|
|
4286
|
+
let Container$3 = container;
|
|
4287
|
+
let Input$3 = input;
|
|
4288
|
+
let Parser$1 = parser;
|
|
4289
|
+
function parse$4(css, opts) {
|
|
4290
|
+
let input2 = new Input$3(css, opts);
|
|
4291
|
+
let parser2 = new Parser$1(input2);
|
|
4255
4292
|
try {
|
|
4256
4293
|
parser2.parse();
|
|
4257
4294
|
} catch (e) {
|
|
@@ -4270,18 +4307,87 @@ function parse$3(css, opts) {
|
|
|
4270
4307
|
}
|
|
4271
4308
|
return parser2.root;
|
|
4272
4309
|
}
|
|
4273
|
-
var parse_1 = parse$
|
|
4274
|
-
parse$
|
|
4275
|
-
Container$
|
|
4276
|
-
let
|
|
4310
|
+
var parse_1 = parse$4;
|
|
4311
|
+
parse$4.default = parse$4;
|
|
4312
|
+
Container$3.registerParse(parse$4);
|
|
4313
|
+
let Warning$3 = class Warning {
|
|
4314
|
+
constructor(text, opts = {}) {
|
|
4315
|
+
this.type = "warning";
|
|
4316
|
+
this.text = text;
|
|
4317
|
+
if (opts.node && opts.node.source) {
|
|
4318
|
+
let range = opts.node.rangeBy(opts);
|
|
4319
|
+
this.line = range.start.line;
|
|
4320
|
+
this.column = range.start.column;
|
|
4321
|
+
this.endLine = range.end.line;
|
|
4322
|
+
this.endColumn = range.end.column;
|
|
4323
|
+
}
|
|
4324
|
+
for (let opt in opts) this[opt] = opts[opt];
|
|
4325
|
+
}
|
|
4326
|
+
toString() {
|
|
4327
|
+
if (this.node) {
|
|
4328
|
+
return this.node.error(this.text, {
|
|
4329
|
+
index: this.index,
|
|
4330
|
+
plugin: this.plugin,
|
|
4331
|
+
word: this.word
|
|
4332
|
+
}).message;
|
|
4333
|
+
}
|
|
4334
|
+
if (this.plugin) {
|
|
4335
|
+
return this.plugin + ": " + this.text;
|
|
4336
|
+
}
|
|
4337
|
+
return this.text;
|
|
4338
|
+
}
|
|
4339
|
+
};
|
|
4340
|
+
var warning = Warning$3;
|
|
4341
|
+
Warning$3.default = Warning$3;
|
|
4342
|
+
let Warning$2 = warning;
|
|
4343
|
+
let Result$4 = class Result {
|
|
4344
|
+
constructor(processor2, root2, opts) {
|
|
4345
|
+
this.processor = processor2;
|
|
4346
|
+
this.messages = [];
|
|
4347
|
+
this.root = root2;
|
|
4348
|
+
this.opts = opts;
|
|
4349
|
+
this.css = void 0;
|
|
4350
|
+
this.map = void 0;
|
|
4351
|
+
}
|
|
4352
|
+
toString() {
|
|
4353
|
+
return this.css;
|
|
4354
|
+
}
|
|
4355
|
+
warn(text, opts = {}) {
|
|
4356
|
+
if (!opts.plugin) {
|
|
4357
|
+
if (this.lastPlugin && this.lastPlugin.postcssPlugin) {
|
|
4358
|
+
opts.plugin = this.lastPlugin.postcssPlugin;
|
|
4359
|
+
}
|
|
4360
|
+
}
|
|
4361
|
+
let warning2 = new Warning$2(text, opts);
|
|
4362
|
+
this.messages.push(warning2);
|
|
4363
|
+
return warning2;
|
|
4364
|
+
}
|
|
4365
|
+
warnings() {
|
|
4366
|
+
return this.messages.filter((i) => i.type === "warning");
|
|
4367
|
+
}
|
|
4368
|
+
get content() {
|
|
4369
|
+
return this.css;
|
|
4370
|
+
}
|
|
4371
|
+
};
|
|
4372
|
+
var result = Result$4;
|
|
4373
|
+
Result$4.default = Result$4;
|
|
4374
|
+
let printed = {};
|
|
4375
|
+
var warnOnce$2 = function warnOnce(message) {
|
|
4376
|
+
if (printed[message]) return;
|
|
4377
|
+
printed[message] = true;
|
|
4378
|
+
if (typeof console !== "undefined" && console.warn) {
|
|
4379
|
+
console.warn(message);
|
|
4380
|
+
}
|
|
4381
|
+
};
|
|
4382
|
+
let Container$2 = container;
|
|
4383
|
+
let Document$3 = document$2;
|
|
4277
4384
|
let MapGenerator$1 = mapGenerator;
|
|
4278
|
-
let
|
|
4279
|
-
let
|
|
4280
|
-
let
|
|
4385
|
+
let parse$3 = parse_1;
|
|
4386
|
+
let Result$3 = result;
|
|
4387
|
+
let Root$3 = root$1;
|
|
4388
|
+
let stringify$3 = stringify_1;
|
|
4389
|
+
let { isClean, my } = symbols;
|
|
4281
4390
|
let warnOnce$1 = warnOnce$2;
|
|
4282
|
-
let Result$2 = result;
|
|
4283
|
-
let parse$2 = parse_1;
|
|
4284
|
-
let Root$3 = root;
|
|
4285
4391
|
const TYPE_TO_CLASS_NAME = {
|
|
4286
4392
|
atrule: "AtRule",
|
|
4287
4393
|
comment: "Comment",
|
|
@@ -4364,7 +4470,7 @@ function cleanMarks(node2) {
|
|
|
4364
4470
|
if (node2.nodes) node2.nodes.forEach((i) => cleanMarks(i));
|
|
4365
4471
|
return node2;
|
|
4366
4472
|
}
|
|
4367
|
-
let postcss$
|
|
4473
|
+
let postcss$3 = {};
|
|
4368
4474
|
let LazyResult$2 = class LazyResult {
|
|
4369
4475
|
constructor(processor2, css, opts) {
|
|
4370
4476
|
this.stringified = false;
|
|
@@ -4372,7 +4478,7 @@ let LazyResult$2 = class LazyResult {
|
|
|
4372
4478
|
let root2;
|
|
4373
4479
|
if (typeof css === "object" && css !== null && (css.type === "root" || css.type === "document")) {
|
|
4374
4480
|
root2 = cleanMarks(css);
|
|
4375
|
-
} else if (css instanceof LazyResult || css instanceof Result$
|
|
4481
|
+
} else if (css instanceof LazyResult || css instanceof Result$3) {
|
|
4376
4482
|
root2 = cleanMarks(css.root);
|
|
4377
4483
|
if (css.map) {
|
|
4378
4484
|
if (typeof opts.map === "undefined") opts.map = {};
|
|
@@ -4380,7 +4486,7 @@ let LazyResult$2 = class LazyResult {
|
|
|
4380
4486
|
opts.map.prev = css.map;
|
|
4381
4487
|
}
|
|
4382
4488
|
} else {
|
|
4383
|
-
let parser2 = parse$
|
|
4489
|
+
let parser2 = parse$3;
|
|
4384
4490
|
if (opts.syntax) parser2 = opts.syntax.parse;
|
|
4385
4491
|
if (opts.parser) parser2 = opts.parser;
|
|
4386
4492
|
if (parser2.parse) parser2 = parser2.parse;
|
|
@@ -4391,16 +4497,16 @@ let LazyResult$2 = class LazyResult {
|
|
|
4391
4497
|
this.error = error;
|
|
4392
4498
|
}
|
|
4393
4499
|
if (root2 && !root2[my]) {
|
|
4394
|
-
Container$
|
|
4500
|
+
Container$2.rebuild(root2);
|
|
4395
4501
|
}
|
|
4396
4502
|
}
|
|
4397
|
-
this.result = new Result$
|
|
4398
|
-
this.helpers = { ...postcss$
|
|
4399
|
-
this.plugins = this.processor.plugins.map((
|
|
4400
|
-
if (typeof
|
|
4401
|
-
return { ...
|
|
4503
|
+
this.result = new Result$3(processor2, root2, opts);
|
|
4504
|
+
this.helpers = { ...postcss$3, postcss: postcss$3, result: this.result };
|
|
4505
|
+
this.plugins = this.processor.plugins.map((plugin3) => {
|
|
4506
|
+
if (typeof plugin3 === "object" && plugin3.prepare) {
|
|
4507
|
+
return { ...plugin3, ...plugin3.prepare(this.result) };
|
|
4402
4508
|
} else {
|
|
4403
|
-
return
|
|
4509
|
+
return plugin3;
|
|
4404
4510
|
}
|
|
4405
4511
|
});
|
|
4406
4512
|
}
|
|
@@ -4422,17 +4528,17 @@ let LazyResult$2 = class LazyResult {
|
|
|
4422
4528
|
throw new Error("Use process(css).then(cb) to work with async plugins");
|
|
4423
4529
|
}
|
|
4424
4530
|
handleError(error, node2) {
|
|
4425
|
-
let
|
|
4531
|
+
let plugin3 = this.result.lastPlugin;
|
|
4426
4532
|
try {
|
|
4427
4533
|
if (node2) node2.addToError(error);
|
|
4428
4534
|
this.error = error;
|
|
4429
4535
|
if (error.name === "CssSyntaxError" && !error.plugin) {
|
|
4430
|
-
error.plugin =
|
|
4536
|
+
error.plugin = plugin3.postcssPlugin;
|
|
4431
4537
|
error.setMessage();
|
|
4432
|
-
} else if (
|
|
4538
|
+
} else if (plugin3.postcssVersion) {
|
|
4433
4539
|
if (process.env.NODE_ENV !== "production") {
|
|
4434
|
-
let pluginName =
|
|
4435
|
-
let pluginVer =
|
|
4540
|
+
let pluginName = plugin3.postcssPlugin;
|
|
4541
|
+
let pluginVer = plugin3.postcssVersion;
|
|
4436
4542
|
let runtimeVer = this.result.processor.version;
|
|
4437
4543
|
let a = pluginVer.split(".");
|
|
4438
4544
|
let b = runtimeVer.split(".");
|
|
@@ -4450,33 +4556,33 @@ let LazyResult$2 = class LazyResult {
|
|
|
4450
4556
|
}
|
|
4451
4557
|
prepareVisitors() {
|
|
4452
4558
|
this.listeners = {};
|
|
4453
|
-
let add = (
|
|
4559
|
+
let add = (plugin3, type, cb) => {
|
|
4454
4560
|
if (!this.listeners[type]) this.listeners[type] = [];
|
|
4455
|
-
this.listeners[type].push([
|
|
4561
|
+
this.listeners[type].push([plugin3, cb]);
|
|
4456
4562
|
};
|
|
4457
|
-
for (let
|
|
4458
|
-
if (typeof
|
|
4459
|
-
for (let event in
|
|
4563
|
+
for (let plugin3 of this.plugins) {
|
|
4564
|
+
if (typeof plugin3 === "object") {
|
|
4565
|
+
for (let event in plugin3) {
|
|
4460
4566
|
if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {
|
|
4461
4567
|
throw new Error(
|
|
4462
|
-
`Unknown event ${event} in ${
|
|
4568
|
+
`Unknown event ${event} in ${plugin3.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`
|
|
4463
4569
|
);
|
|
4464
4570
|
}
|
|
4465
4571
|
if (!NOT_VISITORS[event]) {
|
|
4466
|
-
if (typeof
|
|
4467
|
-
for (let filter in
|
|
4572
|
+
if (typeof plugin3[event] === "object") {
|
|
4573
|
+
for (let filter in plugin3[event]) {
|
|
4468
4574
|
if (filter === "*") {
|
|
4469
|
-
add(
|
|
4575
|
+
add(plugin3, event, plugin3[event][filter]);
|
|
4470
4576
|
} else {
|
|
4471
4577
|
add(
|
|
4472
|
-
|
|
4578
|
+
plugin3,
|
|
4473
4579
|
event + "-" + filter.toLowerCase(),
|
|
4474
|
-
|
|
4580
|
+
plugin3[event][filter]
|
|
4475
4581
|
);
|
|
4476
4582
|
}
|
|
4477
4583
|
}
|
|
4478
|
-
} else if (typeof
|
|
4479
|
-
add(
|
|
4584
|
+
} else if (typeof plugin3[event] === "function") {
|
|
4585
|
+
add(plugin3, event, plugin3[event]);
|
|
4480
4586
|
}
|
|
4481
4587
|
}
|
|
4482
4588
|
}
|
|
@@ -4487,8 +4593,8 @@ let LazyResult$2 = class LazyResult {
|
|
|
4487
4593
|
async runAsync() {
|
|
4488
4594
|
this.plugin = 0;
|
|
4489
4595
|
for (let i = 0; i < this.plugins.length; i++) {
|
|
4490
|
-
let
|
|
4491
|
-
let promise = this.runOnRoot(
|
|
4596
|
+
let plugin3 = this.plugins[i];
|
|
4597
|
+
let promise = this.runOnRoot(plugin3);
|
|
4492
4598
|
if (isPromise(promise)) {
|
|
4493
4599
|
try {
|
|
4494
4600
|
await promise;
|
|
@@ -4516,8 +4622,8 @@ let LazyResult$2 = class LazyResult {
|
|
|
4516
4622
|
}
|
|
4517
4623
|
}
|
|
4518
4624
|
if (this.listeners.OnceExit) {
|
|
4519
|
-
for (let [
|
|
4520
|
-
this.result.lastPlugin =
|
|
4625
|
+
for (let [plugin3, visitor] of this.listeners.OnceExit) {
|
|
4626
|
+
this.result.lastPlugin = plugin3;
|
|
4521
4627
|
try {
|
|
4522
4628
|
if (root2.type === "document") {
|
|
4523
4629
|
let roots = root2.nodes.map(
|
|
@@ -4536,22 +4642,22 @@ let LazyResult$2 = class LazyResult {
|
|
|
4536
4642
|
this.processed = true;
|
|
4537
4643
|
return this.stringify();
|
|
4538
4644
|
}
|
|
4539
|
-
runOnRoot(
|
|
4540
|
-
this.result.lastPlugin =
|
|
4645
|
+
runOnRoot(plugin3) {
|
|
4646
|
+
this.result.lastPlugin = plugin3;
|
|
4541
4647
|
try {
|
|
4542
|
-
if (typeof
|
|
4648
|
+
if (typeof plugin3 === "object" && plugin3.Once) {
|
|
4543
4649
|
if (this.result.root.type === "document") {
|
|
4544
4650
|
let roots = this.result.root.nodes.map(
|
|
4545
|
-
(root2) =>
|
|
4651
|
+
(root2) => plugin3.Once(root2, this.helpers)
|
|
4546
4652
|
);
|
|
4547
4653
|
if (isPromise(roots[0])) {
|
|
4548
4654
|
return Promise.all(roots);
|
|
4549
4655
|
}
|
|
4550
4656
|
return roots;
|
|
4551
4657
|
}
|
|
4552
|
-
return
|
|
4553
|
-
} else if (typeof
|
|
4554
|
-
return
|
|
4658
|
+
return plugin3.Once(this.result.root, this.helpers);
|
|
4659
|
+
} else if (typeof plugin3 === "function") {
|
|
4660
|
+
return plugin3(this.result.root, this.result);
|
|
4555
4661
|
}
|
|
4556
4662
|
} catch (error) {
|
|
4557
4663
|
throw this.handleError(error);
|
|
@@ -4563,7 +4669,7 @@ let LazyResult$2 = class LazyResult {
|
|
|
4563
4669
|
this.stringified = true;
|
|
4564
4670
|
this.sync();
|
|
4565
4671
|
let opts = this.result.opts;
|
|
4566
|
-
let str = stringify$
|
|
4672
|
+
let str = stringify$3;
|
|
4567
4673
|
if (opts.syntax) str = opts.syntax.stringify;
|
|
4568
4674
|
if (opts.stringifier) str = opts.stringifier;
|
|
4569
4675
|
if (str.stringify) str = str.stringify;
|
|
@@ -4580,8 +4686,8 @@ let LazyResult$2 = class LazyResult {
|
|
|
4580
4686
|
if (this.processing) {
|
|
4581
4687
|
throw this.getAsyncError();
|
|
4582
4688
|
}
|
|
4583
|
-
for (let
|
|
4584
|
-
let promise = this.runOnRoot(
|
|
4689
|
+
for (let plugin3 of this.plugins) {
|
|
4690
|
+
let promise = this.runOnRoot(plugin3);
|
|
4585
4691
|
if (isPromise(promise)) {
|
|
4586
4692
|
throw this.getAsyncError();
|
|
4587
4693
|
}
|
|
@@ -4619,8 +4725,8 @@ let LazyResult$2 = class LazyResult {
|
|
|
4619
4725
|
return this.css;
|
|
4620
4726
|
}
|
|
4621
4727
|
visitSync(visitors, node2) {
|
|
4622
|
-
for (let [
|
|
4623
|
-
this.result.lastPlugin =
|
|
4728
|
+
for (let [plugin3, visitor] of visitors) {
|
|
4729
|
+
this.result.lastPlugin = plugin3;
|
|
4624
4730
|
let promise;
|
|
4625
4731
|
try {
|
|
4626
4732
|
promise = visitor(node2, this.helpers);
|
|
@@ -4643,13 +4749,13 @@ let LazyResult$2 = class LazyResult {
|
|
|
4643
4749
|
return;
|
|
4644
4750
|
}
|
|
4645
4751
|
if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {
|
|
4646
|
-
let [
|
|
4752
|
+
let [plugin3, visitor] = visitors[visit2.visitorIndex];
|
|
4647
4753
|
visit2.visitorIndex += 1;
|
|
4648
4754
|
if (visit2.visitorIndex === visitors.length) {
|
|
4649
4755
|
visit2.visitors = [];
|
|
4650
4756
|
visit2.visitorIndex = 0;
|
|
4651
4757
|
}
|
|
4652
|
-
this.result.lastPlugin =
|
|
4758
|
+
this.result.lastPlugin = plugin3;
|
|
4653
4759
|
try {
|
|
4654
4760
|
return visitor(node2.toProxy(), this.helpers);
|
|
4655
4761
|
} catch (e) {
|
|
@@ -4734,17 +4840,17 @@ let LazyResult$2 = class LazyResult {
|
|
|
4734
4840
|
}
|
|
4735
4841
|
};
|
|
4736
4842
|
LazyResult$2.registerPostcss = (dependant) => {
|
|
4737
|
-
postcss$
|
|
4843
|
+
postcss$3 = dependant;
|
|
4738
4844
|
};
|
|
4739
4845
|
var lazyResult = LazyResult$2;
|
|
4740
4846
|
LazyResult$2.default = LazyResult$2;
|
|
4741
4847
|
Root$3.registerLazyResult(LazyResult$2);
|
|
4742
|
-
Document$
|
|
4848
|
+
Document$3.registerLazyResult(LazyResult$2);
|
|
4743
4849
|
let MapGenerator2 = mapGenerator;
|
|
4744
|
-
let
|
|
4850
|
+
let parse$2 = parse_1;
|
|
4851
|
+
const Result$2 = result;
|
|
4852
|
+
let stringify$2 = stringify_1;
|
|
4745
4853
|
let warnOnce2 = warnOnce$2;
|
|
4746
|
-
let parse$1 = parse_1;
|
|
4747
|
-
const Result$1 = result;
|
|
4748
4854
|
let NoWorkResult$1 = class NoWorkResult {
|
|
4749
4855
|
constructor(processor2, css, opts) {
|
|
4750
4856
|
css = css.toString();
|
|
@@ -4754,8 +4860,8 @@ let NoWorkResult$1 = class NoWorkResult {
|
|
|
4754
4860
|
this._opts = opts;
|
|
4755
4861
|
this._map = void 0;
|
|
4756
4862
|
let root2;
|
|
4757
|
-
let str = stringify$
|
|
4758
|
-
this.result = new Result$
|
|
4863
|
+
let str = stringify$2;
|
|
4864
|
+
this.result = new Result$2(this._processor, root2, this._opts);
|
|
4759
4865
|
this.result.css = css;
|
|
4760
4866
|
let self = this;
|
|
4761
4867
|
Object.defineProperty(this.result, "root", {
|
|
@@ -4830,7 +4936,7 @@ let NoWorkResult$1 = class NoWorkResult {
|
|
|
4830
4936
|
return this._root;
|
|
4831
4937
|
}
|
|
4832
4938
|
let root2;
|
|
4833
|
-
let parser2 = parse$
|
|
4939
|
+
let parser2 = parse$2;
|
|
4834
4940
|
try {
|
|
4835
4941
|
root2 = parser2(this._css, this._opts);
|
|
4836
4942
|
} catch (error) {
|
|
@@ -4849,13 +4955,13 @@ let NoWorkResult$1 = class NoWorkResult {
|
|
|
4849
4955
|
};
|
|
4850
4956
|
var noWorkResult = NoWorkResult$1;
|
|
4851
4957
|
NoWorkResult$1.default = NoWorkResult$1;
|
|
4852
|
-
let
|
|
4958
|
+
let Document$2 = document$2;
|
|
4853
4959
|
let LazyResult$1 = lazyResult;
|
|
4854
|
-
let
|
|
4855
|
-
let Root$2 = root;
|
|
4856
|
-
let Processor$
|
|
4960
|
+
let NoWorkResult2 = noWorkResult;
|
|
4961
|
+
let Root$2 = root$1;
|
|
4962
|
+
let Processor$2 = class Processor {
|
|
4857
4963
|
constructor(plugins = []) {
|
|
4858
|
-
this.version = "8.
|
|
4964
|
+
this.version = "8.5.1";
|
|
4859
4965
|
this.plugins = this.normalize(plugins);
|
|
4860
4966
|
}
|
|
4861
4967
|
normalize(plugins) {
|
|
@@ -4891,89 +4997,40 @@ let Processor$1 = class Processor {
|
|
|
4891
4997
|
return new LazyResult$1(this, css, opts);
|
|
4892
4998
|
}
|
|
4893
4999
|
}
|
|
4894
|
-
use(
|
|
4895
|
-
this.plugins = this.plugins.concat(this.normalize([
|
|
5000
|
+
use(plugin3) {
|
|
5001
|
+
this.plugins = this.plugins.concat(this.normalize([plugin3]));
|
|
4896
5002
|
return this;
|
|
4897
5003
|
}
|
|
4898
5004
|
};
|
|
4899
|
-
var processor = Processor$
|
|
4900
|
-
Processor$
|
|
4901
|
-
Root$2.registerProcessor(Processor$
|
|
4902
|
-
Document$
|
|
5005
|
+
var processor = Processor$2;
|
|
5006
|
+
Processor$2.default = Processor$2;
|
|
5007
|
+
Root$2.registerProcessor(Processor$2);
|
|
5008
|
+
Document$2.registerProcessor(Processor$2);
|
|
5009
|
+
let AtRule$1 = atRule$1;
|
|
5010
|
+
let Comment$2 = comment$1;
|
|
5011
|
+
let Container$1 = container;
|
|
5012
|
+
let CssSyntaxError$1 = cssSyntaxError;
|
|
4903
5013
|
let Declaration$1 = declaration;
|
|
4904
|
-
let
|
|
4905
|
-
let
|
|
4906
|
-
let
|
|
4907
|
-
let Input$1 = input;
|
|
4908
|
-
let Root$1 = root;
|
|
4909
|
-
let Rule$1 = rule;
|
|
4910
|
-
function fromJSON$1(json, inputs) {
|
|
4911
|
-
if (Array.isArray(json)) return json.map((n) => fromJSON$1(n));
|
|
4912
|
-
let { inputs: ownInputs, ...defaults } = json;
|
|
4913
|
-
if (ownInputs) {
|
|
4914
|
-
inputs = [];
|
|
4915
|
-
for (let input2 of ownInputs) {
|
|
4916
|
-
let inputHydrated = { ...input2, __proto__: Input$1.prototype };
|
|
4917
|
-
if (inputHydrated.map) {
|
|
4918
|
-
inputHydrated.map = {
|
|
4919
|
-
...inputHydrated.map,
|
|
4920
|
-
__proto__: PreviousMap2.prototype
|
|
4921
|
-
};
|
|
4922
|
-
}
|
|
4923
|
-
inputs.push(inputHydrated);
|
|
4924
|
-
}
|
|
4925
|
-
}
|
|
4926
|
-
if (defaults.nodes) {
|
|
4927
|
-
defaults.nodes = json.nodes.map((n) => fromJSON$1(n, inputs));
|
|
4928
|
-
}
|
|
4929
|
-
if (defaults.source) {
|
|
4930
|
-
let { inputId, ...source } = defaults.source;
|
|
4931
|
-
defaults.source = source;
|
|
4932
|
-
if (inputId != null) {
|
|
4933
|
-
defaults.source.input = inputs[inputId];
|
|
4934
|
-
}
|
|
4935
|
-
}
|
|
4936
|
-
if (defaults.type === "root") {
|
|
4937
|
-
return new Root$1(defaults);
|
|
4938
|
-
} else if (defaults.type === "decl") {
|
|
4939
|
-
return new Declaration$1(defaults);
|
|
4940
|
-
} else if (defaults.type === "rule") {
|
|
4941
|
-
return new Rule$1(defaults);
|
|
4942
|
-
} else if (defaults.type === "comment") {
|
|
4943
|
-
return new Comment$1(defaults);
|
|
4944
|
-
} else if (defaults.type === "atrule") {
|
|
4945
|
-
return new AtRule$1(defaults);
|
|
4946
|
-
} else {
|
|
4947
|
-
throw new Error("Unknown node type: " + json.type);
|
|
4948
|
-
}
|
|
4949
|
-
}
|
|
4950
|
-
var fromJSON_1 = fromJSON$1;
|
|
4951
|
-
fromJSON$1.default = fromJSON$1;
|
|
4952
|
-
let CssSyntaxError2 = cssSyntaxError;
|
|
4953
|
-
let Declaration2 = declaration;
|
|
5014
|
+
let Document$1 = document$2;
|
|
5015
|
+
let fromJSON$1 = fromJSON_1;
|
|
5016
|
+
let Input$2 = input;
|
|
4954
5017
|
let LazyResult2 = lazyResult;
|
|
4955
|
-
let
|
|
4956
|
-
let
|
|
4957
|
-
let
|
|
4958
|
-
let
|
|
4959
|
-
let
|
|
4960
|
-
let
|
|
4961
|
-
let
|
|
4962
|
-
let
|
|
4963
|
-
let
|
|
4964
|
-
|
|
4965
|
-
let parse = parse_1;
|
|
4966
|
-
let list = list_1;
|
|
4967
|
-
let Rule2 = rule;
|
|
4968
|
-
let Root2 = root;
|
|
4969
|
-
let Node2 = node;
|
|
4970
|
-
function postcss(...plugins) {
|
|
5018
|
+
let list$1 = list_1;
|
|
5019
|
+
let Node$1 = node;
|
|
5020
|
+
let parse$1 = parse_1;
|
|
5021
|
+
let Processor$1 = processor;
|
|
5022
|
+
let Result$1 = result;
|
|
5023
|
+
let Root$1 = root$1;
|
|
5024
|
+
let Rule$1 = rule$1;
|
|
5025
|
+
let stringify$1 = stringify_1;
|
|
5026
|
+
let Warning$1 = warning;
|
|
5027
|
+
function postcss$1(...plugins) {
|
|
4971
5028
|
if (plugins.length === 1 && Array.isArray(plugins[0])) {
|
|
4972
5029
|
plugins = plugins[0];
|
|
4973
5030
|
}
|
|
4974
|
-
return new
|
|
5031
|
+
return new Processor$1(plugins);
|
|
4975
5032
|
}
|
|
4976
|
-
postcss.plugin = function plugin(name, initializer) {
|
|
5033
|
+
postcss$1.plugin = function plugin(name, initializer) {
|
|
4977
5034
|
let warningPrinted = false;
|
|
4978
5035
|
function creator(...args) {
|
|
4979
5036
|
if (console && console.warn && !warningPrinted) {
|
|
@@ -4989,7 +5046,7 @@ postcss.plugin = function plugin(name, initializer) {
|
|
|
4989
5046
|
}
|
|
4990
5047
|
let transformer = initializer(...args);
|
|
4991
5048
|
transformer.postcssPlugin = name;
|
|
4992
|
-
transformer.postcssVersion = new
|
|
5049
|
+
transformer.postcssVersion = new Processor$1().version;
|
|
4993
5050
|
return transformer;
|
|
4994
5051
|
}
|
|
4995
5052
|
let cache;
|
|
@@ -5000,61 +5057,181 @@ postcss.plugin = function plugin(name, initializer) {
|
|
|
5000
5057
|
}
|
|
5001
5058
|
});
|
|
5002
5059
|
creator.process = function(css, processOpts, pluginOpts) {
|
|
5003
|
-
return postcss([creator(pluginOpts)]).process(css, processOpts);
|
|
5060
|
+
return postcss$1([creator(pluginOpts)]).process(css, processOpts);
|
|
5004
5061
|
};
|
|
5005
5062
|
return creator;
|
|
5006
5063
|
};
|
|
5007
|
-
postcss.stringify = stringify;
|
|
5008
|
-
postcss.parse = parse;
|
|
5009
|
-
postcss.fromJSON = fromJSON;
|
|
5010
|
-
postcss.list = list;
|
|
5011
|
-
postcss.comment = (defaults) => new
|
|
5012
|
-
postcss.atRule = (defaults) => new
|
|
5013
|
-
postcss.decl = (defaults) => new
|
|
5014
|
-
postcss.rule = (defaults) => new
|
|
5015
|
-
postcss.root = (defaults) => new
|
|
5016
|
-
postcss.document = (defaults) => new
|
|
5017
|
-
postcss.CssSyntaxError =
|
|
5018
|
-
postcss.Declaration =
|
|
5019
|
-
postcss.Container =
|
|
5020
|
-
postcss.Processor =
|
|
5021
|
-
postcss.Document =
|
|
5022
|
-
postcss.Comment =
|
|
5023
|
-
postcss.Warning =
|
|
5024
|
-
postcss.AtRule =
|
|
5025
|
-
postcss.Result =
|
|
5026
|
-
postcss.Input =
|
|
5027
|
-
postcss.Rule =
|
|
5028
|
-
postcss.Root =
|
|
5029
|
-
postcss.Node =
|
|
5030
|
-
LazyResult2.registerPostcss(postcss);
|
|
5031
|
-
var postcss_1 = postcss;
|
|
5032
|
-
postcss.default = postcss;
|
|
5033
|
-
const postcss$
|
|
5034
|
-
postcss$
|
|
5035
|
-
postcss$
|
|
5036
|
-
postcss$
|
|
5037
|
-
postcss$
|
|
5038
|
-
postcss$
|
|
5039
|
-
postcss$
|
|
5040
|
-
postcss$
|
|
5041
|
-
postcss$
|
|
5042
|
-
postcss$
|
|
5043
|
-
postcss$
|
|
5044
|
-
postcss$
|
|
5045
|
-
postcss$
|
|
5046
|
-
postcss$
|
|
5047
|
-
postcss$
|
|
5048
|
-
postcss$
|
|
5049
|
-
postcss$
|
|
5050
|
-
postcss$
|
|
5051
|
-
postcss$
|
|
5052
|
-
postcss$
|
|
5053
|
-
postcss$
|
|
5054
|
-
postcss$
|
|
5055
|
-
postcss$
|
|
5056
|
-
postcss$
|
|
5057
|
-
postcss$
|
|
5064
|
+
postcss$1.stringify = stringify$1;
|
|
5065
|
+
postcss$1.parse = parse$1;
|
|
5066
|
+
postcss$1.fromJSON = fromJSON$1;
|
|
5067
|
+
postcss$1.list = list$1;
|
|
5068
|
+
postcss$1.comment = (defaults) => new Comment$2(defaults);
|
|
5069
|
+
postcss$1.atRule = (defaults) => new AtRule$1(defaults);
|
|
5070
|
+
postcss$1.decl = (defaults) => new Declaration$1(defaults);
|
|
5071
|
+
postcss$1.rule = (defaults) => new Rule$1(defaults);
|
|
5072
|
+
postcss$1.root = (defaults) => new Root$1(defaults);
|
|
5073
|
+
postcss$1.document = (defaults) => new Document$1(defaults);
|
|
5074
|
+
postcss$1.CssSyntaxError = CssSyntaxError$1;
|
|
5075
|
+
postcss$1.Declaration = Declaration$1;
|
|
5076
|
+
postcss$1.Container = Container$1;
|
|
5077
|
+
postcss$1.Processor = Processor$1;
|
|
5078
|
+
postcss$1.Document = Document$1;
|
|
5079
|
+
postcss$1.Comment = Comment$2;
|
|
5080
|
+
postcss$1.Warning = Warning$1;
|
|
5081
|
+
postcss$1.AtRule = AtRule$1;
|
|
5082
|
+
postcss$1.Result = Result$1;
|
|
5083
|
+
postcss$1.Input = Input$2;
|
|
5084
|
+
postcss$1.Rule = Rule$1;
|
|
5085
|
+
postcss$1.Root = Root$1;
|
|
5086
|
+
postcss$1.Node = Node$1;
|
|
5087
|
+
LazyResult2.registerPostcss(postcss$1);
|
|
5088
|
+
var postcss_1 = postcss$1;
|
|
5089
|
+
postcss$1.default = postcss$1;
|
|
5090
|
+
const postcss$2 = /* @__PURE__ */ getDefaultExportFromCjs(postcss_1);
|
|
5091
|
+
const stringify = postcss$2.stringify;
|
|
5092
|
+
const fromJSON = postcss$2.fromJSON;
|
|
5093
|
+
const plugin2 = postcss$2.plugin;
|
|
5094
|
+
const parse = postcss$2.parse;
|
|
5095
|
+
const list = postcss$2.list;
|
|
5096
|
+
const document$1 = postcss$2.document;
|
|
5097
|
+
const comment = postcss$2.comment;
|
|
5098
|
+
const atRule = postcss$2.atRule;
|
|
5099
|
+
const rule = postcss$2.rule;
|
|
5100
|
+
const decl = postcss$2.decl;
|
|
5101
|
+
const root = postcss$2.root;
|
|
5102
|
+
const CssSyntaxError2 = postcss$2.CssSyntaxError;
|
|
5103
|
+
const Declaration2 = postcss$2.Declaration;
|
|
5104
|
+
const Container2 = postcss$2.Container;
|
|
5105
|
+
const Processor2 = postcss$2.Processor;
|
|
5106
|
+
const Document2 = postcss$2.Document;
|
|
5107
|
+
const Comment$1 = postcss$2.Comment;
|
|
5108
|
+
const Warning2 = postcss$2.Warning;
|
|
5109
|
+
const AtRule2 = postcss$2.AtRule;
|
|
5110
|
+
const Result2 = postcss$2.Result;
|
|
5111
|
+
const Input$1 = postcss$2.Input;
|
|
5112
|
+
const Rule2 = postcss$2.Rule;
|
|
5113
|
+
const Root2 = postcss$2.Root;
|
|
5114
|
+
const Node2 = postcss$2.Node;
|
|
5115
|
+
const postcss = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5116
|
+
__proto__: null,
|
|
5117
|
+
AtRule: AtRule2,
|
|
5118
|
+
Comment: Comment$1,
|
|
5119
|
+
Container: Container2,
|
|
5120
|
+
CssSyntaxError: CssSyntaxError2,
|
|
5121
|
+
Declaration: Declaration2,
|
|
5122
|
+
Document: Document2,
|
|
5123
|
+
Input: Input$1,
|
|
5124
|
+
Node: Node2,
|
|
5125
|
+
Processor: Processor2,
|
|
5126
|
+
Result: Result2,
|
|
5127
|
+
Root: Root2,
|
|
5128
|
+
Rule: Rule2,
|
|
5129
|
+
Warning: Warning2,
|
|
5130
|
+
atRule,
|
|
5131
|
+
comment,
|
|
5132
|
+
decl,
|
|
5133
|
+
default: postcss$2,
|
|
5134
|
+
document: document$1,
|
|
5135
|
+
fromJSON,
|
|
5136
|
+
list,
|
|
5137
|
+
parse,
|
|
5138
|
+
plugin: plugin2,
|
|
5139
|
+
root,
|
|
5140
|
+
rule,
|
|
5141
|
+
stringify
|
|
5142
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
5143
|
+
const require$$0 = /* @__PURE__ */ getAugmentedNamespace(postcss);
|
|
5144
|
+
let Comment2 = comment$1;
|
|
5145
|
+
let Parser2 = parser;
|
|
5146
|
+
let tokenizer2 = tokenize;
|
|
5147
|
+
let SafeParser$1 = class SafeParser extends Parser2 {
|
|
5148
|
+
checkMissedSemicolon() {
|
|
5149
|
+
}
|
|
5150
|
+
comment(token) {
|
|
5151
|
+
let node2 = new Comment2();
|
|
5152
|
+
this.init(node2, token[2]);
|
|
5153
|
+
let pos = this.input.fromOffset(token[3]) || this.input.fromOffset(this.input.css.length - 1);
|
|
5154
|
+
node2.source.end = {
|
|
5155
|
+
column: pos.col,
|
|
5156
|
+
line: pos.line,
|
|
5157
|
+
offset: token[3] + 1
|
|
5158
|
+
};
|
|
5159
|
+
let text = token[1].slice(2);
|
|
5160
|
+
if (text.slice(-2) === "*/") text = text.slice(0, -2);
|
|
5161
|
+
if (/^\s*$/.test(text)) {
|
|
5162
|
+
node2.text = "";
|
|
5163
|
+
node2.raws.left = text;
|
|
5164
|
+
node2.raws.right = "";
|
|
5165
|
+
} else {
|
|
5166
|
+
let match = text.match(/^(\s*)([^]*\S)(\s*)$/);
|
|
5167
|
+
node2.text = match[2];
|
|
5168
|
+
node2.raws.left = match[1];
|
|
5169
|
+
node2.raws.right = match[3];
|
|
5170
|
+
}
|
|
5171
|
+
}
|
|
5172
|
+
createTokenizer() {
|
|
5173
|
+
this.tokenizer = tokenizer2(this.input, { ignoreErrors: true });
|
|
5174
|
+
}
|
|
5175
|
+
decl(tokens) {
|
|
5176
|
+
if (tokens.length > 1 && tokens.some((i) => i[0] === "word")) {
|
|
5177
|
+
super.decl(tokens);
|
|
5178
|
+
}
|
|
5179
|
+
}
|
|
5180
|
+
doubleColon() {
|
|
5181
|
+
}
|
|
5182
|
+
endFile() {
|
|
5183
|
+
if (this.current.nodes && this.current.nodes.length) {
|
|
5184
|
+
this.current.raws.semicolon = this.semicolon;
|
|
5185
|
+
}
|
|
5186
|
+
this.current.raws.after = (this.current.raws.after || "") + this.spaces;
|
|
5187
|
+
while (this.current.parent) {
|
|
5188
|
+
this.current = this.current.parent;
|
|
5189
|
+
this.current.raws.after = "";
|
|
5190
|
+
}
|
|
5191
|
+
this.root.source.end = this.getPosition(this.tokenizer.position());
|
|
5192
|
+
}
|
|
5193
|
+
precheckMissedSemicolon(tokens) {
|
|
5194
|
+
let colon = this.colon(tokens);
|
|
5195
|
+
if (colon === false) return;
|
|
5196
|
+
let nextStart, prevEnd;
|
|
5197
|
+
for (nextStart = colon - 1; nextStart >= 0; nextStart--) {
|
|
5198
|
+
if (tokens[nextStart][0] === "word") break;
|
|
5199
|
+
}
|
|
5200
|
+
if (nextStart === 0 || nextStart < 0) return;
|
|
5201
|
+
for (prevEnd = nextStart - 1; prevEnd >= 0; prevEnd--) {
|
|
5202
|
+
if (tokens[prevEnd][0] !== "space") {
|
|
5203
|
+
prevEnd += 1;
|
|
5204
|
+
break;
|
|
5205
|
+
}
|
|
5206
|
+
}
|
|
5207
|
+
let other = tokens.slice(nextStart);
|
|
5208
|
+
let spaces = tokens.slice(prevEnd, nextStart);
|
|
5209
|
+
tokens.splice(prevEnd, tokens.length - prevEnd);
|
|
5210
|
+
this.spaces = spaces.map((i) => i[1]).join("");
|
|
5211
|
+
this.decl(other);
|
|
5212
|
+
}
|
|
5213
|
+
unclosedBracket() {
|
|
5214
|
+
}
|
|
5215
|
+
unexpectedClose() {
|
|
5216
|
+
this.current.raws.after += "}";
|
|
5217
|
+
}
|
|
5218
|
+
unknownWord(tokens) {
|
|
5219
|
+
this.spaces += tokens.map((i) => i[1]).join("");
|
|
5220
|
+
}
|
|
5221
|
+
unnamedAtrule(node2) {
|
|
5222
|
+
node2.name = "";
|
|
5223
|
+
}
|
|
5224
|
+
};
|
|
5225
|
+
var safeParser$1 = SafeParser$1;
|
|
5226
|
+
let { Input: Input2 } = require$$0;
|
|
5227
|
+
let SafeParser2 = safeParser$1;
|
|
5228
|
+
var safeParse = function safeParse2(css, opts) {
|
|
5229
|
+
let input2 = new Input2(css, opts);
|
|
5230
|
+
let parser2 = new SafeParser2(input2);
|
|
5231
|
+
parser2.parse();
|
|
5232
|
+
return parser2.root;
|
|
5233
|
+
};
|
|
5234
|
+
const safeParser = /* @__PURE__ */ getDefaultExportFromCjs(safeParse);
|
|
5058
5235
|
const tagMap = {
|
|
5059
5236
|
script: "noscript",
|
|
5060
5237
|
// camel case svg element tag names
|
|
@@ -5105,11 +5282,16 @@ function getTagName(n) {
|
|
|
5105
5282
|
function adaptCssForReplay(cssText, cache) {
|
|
5106
5283
|
const cachedStyle = cache == null ? void 0 : cache.stylesWithHoverClass.get(cssText);
|
|
5107
5284
|
if (cachedStyle) return cachedStyle;
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
|
|
5285
|
+
let result2 = cssText;
|
|
5286
|
+
try {
|
|
5287
|
+
const ast = postcss$2([
|
|
5288
|
+
mediaSelectorPlugin,
|
|
5289
|
+
pseudoClassPlugin
|
|
5290
|
+
]).process(cssText, { parser: safeParser });
|
|
5291
|
+
result2 = ast.css;
|
|
5292
|
+
} catch (error) {
|
|
5293
|
+
console.warn("Failed to adapt css for replay", error);
|
|
5294
|
+
}
|
|
5113
5295
|
cache == null ? void 0 : cache.stylesWithHoverClass.set(cssText, result2);
|
|
5114
5296
|
return result2;
|
|
5115
5297
|
}
|