@maelstrom-futurism/core 0.7.4-beta.2 → 0.7.4-beta.4

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.
@@ -1,335 +0,0 @@
1
- var dr = "-ms-", kr = "-moz-", lr = "-webkit-", Q = "comm", V = "rule", X = "decl", y = "@import", rr = "@keyframes", ar = "@layer", nr = Math.abs, U = String.fromCharCode, er = Object.assign;
2
- function wr(r, a) {
3
- return l(r, 0) ^ 45 ? (((a << 2 ^ l(r, 0)) << 2 ^ l(r, 1)) << 2 ^ l(r, 2)) << 2 ^ l(r, 3) : 0;
4
- }
5
- function _(r) {
6
- return r.trim();
7
- }
8
- function gr(r, a) {
9
- return (r = a.exec(r)) ? r[0] : r;
10
- }
11
- function L(r, a, e) {
12
- return r.replace(a, e);
13
- }
14
- function cr(r, a) {
15
- return r.indexOf(a);
16
- }
17
- function l(r, a) {
18
- return r.charCodeAt(a) | 0;
19
- }
20
- function j(r, a, e) {
21
- return r.slice(a, e);
22
- }
23
- function E(r) {
24
- return r.length;
25
- }
26
- function Z(r) {
27
- return r.length;
28
- }
29
- function K(r, a) {
30
- return a.push(r), r;
31
- }
32
- function pr(r, a) {
33
- return r.map(a).join("");
34
- }
35
- var W = 1, T = 1, $ = 0, h = 0, s = 0, x = "";
36
- function Y(r, a, e, c, t, d, w) {
37
- return { value: r, root: a, parent: e, type: c, props: t, children: d, line: W, column: T, length: w, return: "" };
38
- }
39
- function mr(r, a) {
40
- return er(Y("", null, null, "", null, null, 0), r, { length: -r.length }, a);
41
- }
42
- function sr() {
43
- return s;
44
- }
45
- function tr() {
46
- return s = h > 0 ? l(x, --h) : 0, T--, s === 10 && (T = 1, W--), s;
47
- }
48
- function b() {
49
- return s = h < $ ? l(x, h++) : 0, T++, s === 10 && (T = 1, W++), s;
50
- }
51
- function R() {
52
- return l(x, h);
53
- }
54
- function D() {
55
- return h;
56
- }
57
- function q(r, a) {
58
- return j(x, r, a);
59
- }
60
- function F(r) {
61
- switch (r) {
62
- // \0 \t \n \r \s whitespace token
63
- case 0:
64
- case 9:
65
- case 10:
66
- case 13:
67
- case 32:
68
- return 5;
69
- // ! + , / > @ ~ isolate token
70
- case 33:
71
- case 43:
72
- case 44:
73
- case 47:
74
- case 62:
75
- case 64:
76
- case 126:
77
- // ; { } breakpoint token
78
- case 59:
79
- case 123:
80
- case 125:
81
- return 4;
82
- // : accompanied token
83
- case 58:
84
- return 3;
85
- // " ' ( [ opening delimit token
86
- case 34:
87
- case 39:
88
- case 40:
89
- case 91:
90
- return 2;
91
- // ) ] closing delimit token
92
- case 41:
93
- case 93:
94
- return 1;
95
- }
96
- return 0;
97
- }
98
- function ir(r) {
99
- return W = T = 1, $ = E(x = r), h = 0, [];
100
- }
101
- function ur(r) {
102
- return x = "", r;
103
- }
104
- function B(r) {
105
- return _(q(h - 1, P(r === 91 ? r + 2 : r === 40 ? r + 1 : r)));
106
- }
107
- function fr(r) {
108
- for (; (s = R()) && s < 33; )
109
- b();
110
- return F(r) > 2 || F(s) > 3 ? "" : " ";
111
- }
112
- function or(r, a) {
113
- for (; --a && b() && !(s < 48 || s > 102 || s > 57 && s < 65 || s > 70 && s < 97); )
114
- ;
115
- return q(r, D() + (a < 6 && R() == 32 && b() == 32));
116
- }
117
- function P(r) {
118
- for (; b(); )
119
- switch (s) {
120
- // ] ) " '
121
- case r:
122
- return h;
123
- // " '
124
- case 34:
125
- case 39:
126
- r !== 34 && r !== 39 && P(s);
127
- break;
128
- // (
129
- case 40:
130
- r === 41 && P(r);
131
- break;
132
- // \
133
- case 92:
134
- b();
135
- break;
136
- }
137
- return h;
138
- }
139
- function hr(r, a) {
140
- for (; b() && r + s !== 57; )
141
- if (r + s === 84 && R() === 47)
142
- break;
143
- return "/*" + q(a, h - 1) + "*" + U(r === 47 ? r : b());
144
- }
145
- function vr(r) {
146
- for (; !F(R()); )
147
- b();
148
- return q(r, h);
149
- }
150
- function Er(r) {
151
- return ur(N("", null, null, null, [""], r = ir(r), 0, [0], r));
152
- }
153
- function N(r, a, e, c, t, d, w, f, S) {
154
- for (var A = 0, p = 0, i = w, M = 0, C = 0, g = 0, v = 1, z = 1, o = 1, u = 0, m = "", I = t, O = d, k = c, n = m; z; )
155
- switch (g = u, u = b()) {
156
- // (
157
- case 40:
158
- if (g != 108 && l(n, i - 1) == 58) {
159
- cr(n += L(B(u), "&", "&\f"), "&\f") != -1 && (o = -1);
160
- break;
161
- }
162
- // " ' [
163
- case 34:
164
- case 39:
165
- case 91:
166
- n += B(u);
167
- break;
168
- // \t \n \r \s
169
- case 9:
170
- case 10:
171
- case 13:
172
- case 32:
173
- n += fr(g);
174
- break;
175
- // \
176
- case 92:
177
- n += or(D() - 1, 7);
178
- continue;
179
- // /
180
- case 47:
181
- switch (R()) {
182
- case 42:
183
- case 47:
184
- K(br(hr(b(), D()), a, e), S);
185
- break;
186
- default:
187
- n += "/";
188
- }
189
- break;
190
- // {
191
- case 123 * v:
192
- f[A++] = E(n) * o;
193
- // } ; \0
194
- case 125 * v:
195
- case 59:
196
- case 0:
197
- switch (u) {
198
- // \0 }
199
- case 0:
200
- case 125:
201
- z = 0;
202
- // ;
203
- case 59 + p:
204
- o == -1 && (n = L(n, /\f/g, "")), C > 0 && E(n) - i && K(C > 32 ? H(n + ";", c, e, i - 1) : H(L(n, " ", "") + ";", c, e, i - 2), S);
205
- break;
206
- // @ ;
207
- case 59:
208
- n += ";";
209
- // { rule/at-rule
210
- default:
211
- if (K(k = G(n, a, e, A, p, t, f, m, I = [], O = [], i), d), u === 123)
212
- if (p === 0)
213
- N(n, a, k, k, I, d, i, f, O);
214
- else
215
- switch (M === 99 && l(n, 3) === 110 ? 100 : M) {
216
- // d l m s
217
- case 100:
218
- case 108:
219
- case 109:
220
- case 115:
221
- N(r, k, k, c && K(G(r, k, k, 0, 0, t, f, m, t, I = [], i), O), t, O, i, f, c ? I : O);
222
- break;
223
- default:
224
- N(n, k, k, k, [""], O, 0, f, O);
225
- }
226
- }
227
- A = p = C = 0, v = o = 1, m = n = "", i = w;
228
- break;
229
- // :
230
- case 58:
231
- i = 1 + E(n), C = g;
232
- default:
233
- if (v < 1) {
234
- if (u == 123)
235
- --v;
236
- else if (u == 125 && v++ == 0 && tr() == 125)
237
- continue;
238
- }
239
- switch (n += U(u), u * v) {
240
- // &
241
- case 38:
242
- o = p > 0 ? 1 : (n += "\f", -1);
243
- break;
244
- // ,
245
- case 44:
246
- f[A++] = (E(n) - 1) * o, o = 1;
247
- break;
248
- // @
249
- case 64:
250
- R() === 45 && (n += B(b())), M = R(), p = i = E(m = n += vr(D())), u++;
251
- break;
252
- // -
253
- case 45:
254
- g === 45 && E(n) == 2 && (v = 0);
255
- }
256
- }
257
- return d;
258
- }
259
- function G(r, a, e, c, t, d, w, f, S, A, p) {
260
- for (var i = t - 1, M = t === 0 ? d : [""], C = Z(M), g = 0, v = 0, z = 0; g < c; ++g)
261
- for (var o = 0, u = j(r, i + 1, i = nr(v = w[g])), m = r; o < C; ++o)
262
- (m = _(v > 0 ? M[o] + " " + u : L(u, /&\f/g, M[o]))) && (S[z++] = m);
263
- return Y(r, a, e, t === 0 ? V : f, S, A, p);
264
- }
265
- function br(r, a, e) {
266
- return Y(r, a, e, Q, U(sr()), j(r, 2, -2), 0);
267
- }
268
- function H(r, a, e, c) {
269
- return Y(r, a, e, X, j(r, 0, c), j(r, c + 1, -1), c);
270
- }
271
- function J(r, a) {
272
- for (var e = "", c = Z(r), t = 0; t < c; t++)
273
- e += a(r[t], t, r, a) || "";
274
- return e;
275
- }
276
- function Mr(r, a, e, c) {
277
- switch (r.type) {
278
- case ar:
279
- if (r.children.length) break;
280
- case y:
281
- case X:
282
- return r.return = r.return || r.value;
283
- case Q:
284
- return "";
285
- case rr:
286
- return r.return = r.value + "{" + J(r.children, c) + "}";
287
- case V:
288
- r.value = r.props.join(",");
289
- }
290
- return E(e = J(r.children, c)) ? r.return = r.value + "{" + e + "}" : "";
291
- }
292
- function Or(r) {
293
- var a = Z(r);
294
- return function(e, c, t, d) {
295
- for (var w = "", f = 0; f < a; f++)
296
- w += r[f](e, c, t, d) || "";
297
- return w;
298
- };
299
- }
300
- function Rr(r) {
301
- return function(a) {
302
- a.root || (a = a.return) && r(a);
303
- };
304
- }
305
- export {
306
- X as D,
307
- rr as K,
308
- dr as M,
309
- V as R,
310
- lr as W,
311
- Mr as a,
312
- pr as b,
313
- Er as c,
314
- mr as d,
315
- L as e,
316
- ur as f,
317
- ir as g,
318
- wr as h,
319
- l as i,
320
- E as j,
321
- cr as k,
322
- kr as l,
323
- Or as m,
324
- gr as n,
325
- b as o,
326
- U as p,
327
- R as q,
328
- Rr as r,
329
- J as s,
330
- F as t,
331
- B as u,
332
- q as v,
333
- h as w
334
- };
335
- //# sourceMappingURL=stylis-CdCMw5Aa.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stylis-CdCMw5Aa.mjs","sources":["../../../node_modules/stylis/src/Enum.js","../../../node_modules/stylis/src/Utility.js","../../../node_modules/stylis/src/Tokenizer.js","../../../node_modules/stylis/src/Parser.js","../../../node_modules/stylis/src/Serializer.js","../../../node_modules/stylis/src/Middleware.js"],"sourcesContent":["export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n"],"names":["MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","from","assign","hash","value","length","charat","trim","match","pattern","replace","replacement","indexof","search","index","substr","begin","end","strlen","sizeof","append","array","combine","callback","line","column","position","character","characters","node","root","parent","type","props","children","copy","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","i","j","k","x","y","z","serialize","output","stringify","element","middleware","collection","rulesheet"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}