@lwc/style-compiler 2.45.1 → 2.45.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.cjs.js +910 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.js +906 -0
- package/dist/index.js.map +1 -0
- package/package.json +28 -20
- package/dist/commonjs/css-import/transform.js +0 -41
- package/dist/commonjs/css-import/transform.js.map +0 -1
- package/dist/commonjs/custom-properties/transform.js +0 -23
- package/dist/commonjs/custom-properties/transform.js.map +0 -1
- package/dist/commonjs/dir-pseudo-class/transform.js +0 -74
- package/dist/commonjs/dir-pseudo-class/transform.js.map +0 -1
- package/dist/commonjs/index.js +0 -24
- package/dist/commonjs/index.js.map +0 -1
- package/dist/commonjs/no-id-selectors/validate.js +0 -13
- package/dist/commonjs/no-id-selectors/validate.js.map +0 -1
- package/dist/commonjs/postcss-lwc-plugin.js +0 -64
- package/dist/commonjs/postcss-lwc-plugin.js.map +0 -1
- package/dist/commonjs/scope-at-rules/transform.js +0 -53
- package/dist/commonjs/scope-at-rules/transform.js.map +0 -1
- package/dist/commonjs/selector-scoping/transform.js +0 -123
- package/dist/commonjs/selector-scoping/transform.js.map +0 -1
- package/dist/commonjs/selector-scoping/validate.js +0 -50
- package/dist/commonjs/selector-scoping/validate.js.map +0 -1
- package/dist/commonjs/serialize.js +0 -430
- package/dist/commonjs/serialize.js.map +0 -1
- package/dist/commonjs/transform.js +0 -26
- package/dist/commonjs/transform.js.map +0 -1
- package/dist/commonjs/utils/dir-pseudoclass.js +0 -14
- package/dist/commonjs/utils/dir-pseudoclass.js.map +0 -1
- package/dist/commonjs/utils/message.js +0 -31
- package/dist/commonjs/utils/message.js.map +0 -1
- package/dist/commonjs/utils/rtl.js +0 -15
- package/dist/commonjs/utils/rtl.js.map +0 -1
- package/dist/commonjs/utils/selector-parser.js +0 -28
- package/dist/commonjs/utils/selector-parser.js.map +0 -1
- package/dist/commonjs/utils/selectors-scoping.js +0 -12
- package/dist/commonjs/utils/selectors-scoping.js.map +0 -1
- /package/dist/{types/css-import → css-import}/transform.d.ts +0 -0
- /package/dist/{types/custom-properties → custom-properties}/transform.d.ts +0 -0
- /package/dist/{types/dir-pseudo-class → dir-pseudo-class}/transform.d.ts +0 -0
- /package/dist/{types/index.d.ts → index.d.ts} +0 -0
- /package/dist/{types/no-id-selectors → no-id-selectors}/validate.d.ts +0 -0
- /package/dist/{types/postcss-lwc-plugin.d.ts → postcss-lwc-plugin.d.ts} +0 -0
- /package/dist/{types/scope-at-rules → scope-at-rules}/transform.d.ts +0 -0
- /package/dist/{types/selector-scoping → selector-scoping}/transform.d.ts +0 -0
- /package/dist/{types/selector-scoping → selector-scoping}/validate.d.ts +0 -0
- /package/dist/{types/serialize.d.ts → serialize.d.ts} +0 -0
- /package/dist/{types/transform.d.ts → transform.d.ts} +0 -0
- /package/dist/{types/utils → utils}/dir-pseudoclass.d.ts +0 -0
- /package/dist/{types/utils → utils}/message.d.ts +0 -0
- /package/dist/{types/utils → utils}/rtl.d.ts +0 -0
- /package/dist/{types/utils → utils}/selector-parser.d.ts +0 -0
- /package/dist/{types/utils → utils}/selectors-scoping.d.ts +0 -0
@@ -1,50 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const DEPRECATED_SELECTORS = new Set(['/deep/', '::shadow', '>>>']);
|
4
|
-
const UNSUPPORTED_SELECTORS = new Set([':root', ':host-context']);
|
5
|
-
const TEMPLATE_DIRECTIVES = [/^key$/, /^lwc:*/, /^if:*/, /^for:*/, /^iterator:*/];
|
6
|
-
function validateSelectors(root) {
|
7
|
-
root.walk((node) => {
|
8
|
-
const { value, sourceIndex } = node;
|
9
|
-
if (value) {
|
10
|
-
// Ensure the selector doesn't use a deprecated CSS selector.
|
11
|
-
if (DEPRECATED_SELECTORS.has(value)) {
|
12
|
-
throw root.error(`Invalid usage of deprecated selector "${value}".`, {
|
13
|
-
index: sourceIndex,
|
14
|
-
word: value,
|
15
|
-
});
|
16
|
-
}
|
17
|
-
// Ensure the selector doesn't use an unsupported selector.
|
18
|
-
if (UNSUPPORTED_SELECTORS.has(value)) {
|
19
|
-
throw root.error(`Invalid usage of unsupported selector "${value}".`, {
|
20
|
-
index: sourceIndex,
|
21
|
-
word: value,
|
22
|
-
});
|
23
|
-
}
|
24
|
-
}
|
25
|
-
});
|
26
|
-
}
|
27
|
-
function validateAttribute(root) {
|
28
|
-
root.walkAttributes((node) => {
|
29
|
-
const { attribute: attributeName, sourceIndex } = node;
|
30
|
-
const isTemplateDirective = TEMPLATE_DIRECTIVES.some((directive) => {
|
31
|
-
return directive.test(attributeName);
|
32
|
-
});
|
33
|
-
if (isTemplateDirective) {
|
34
|
-
const message = [
|
35
|
-
`Invalid usage of attribute selector "${attributeName}". `,
|
36
|
-
`"${attributeName}" is a template directive and therefore not supported in css rules.`,
|
37
|
-
];
|
38
|
-
throw root.error(message.join(''), {
|
39
|
-
index: sourceIndex,
|
40
|
-
word: attributeName,
|
41
|
-
});
|
42
|
-
}
|
43
|
-
});
|
44
|
-
}
|
45
|
-
function validate(root) {
|
46
|
-
validateSelectors(root);
|
47
|
-
validateAttribute(root);
|
48
|
-
}
|
49
|
-
exports.default = validate;
|
50
|
-
//# sourceMappingURL=validate.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/selector-scoping/validate.ts"],"names":[],"mappings":";;AAQA,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AACpE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;AAClE,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAElF,SAAS,iBAAiB,CAAC,IAAU;IACjC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAEpC,IAAI,KAAK,EAAE;YACP,6DAA6D;YAC7D,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACjC,MAAM,IAAI,CAAC,KAAK,CAAC,yCAAyC,KAAK,IAAI,EAAE;oBACjE,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,KAAK;iBACd,CAAC,CAAC;aACN;YAED,2DAA2D;YAC3D,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAClC,MAAM,IAAI,CAAC,KAAK,CAAC,0CAA0C,KAAK,IAAI,EAAE;oBAClE,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,KAAK;iBACd,CAAC,CAAC;aACN;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAU;IACjC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACvD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAC/D,OAAO,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,mBAAmB,EAAE;YACrB,MAAM,OAAO,GAAG;gBACZ,wCAAwC,aAAa,KAAK;gBAC1D,IAAI,aAAa,qEAAqE;aACzF,CAAC;YAEF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAC/B,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,aAAa;aACtB,CAAC,CAAC;SACN;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAwB,QAAQ,CAAC,IAAU;IACvC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAHD,2BAGC"}
|
@@ -1,430 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
/*
|
7
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
8
|
-
* All rights reserved.
|
9
|
-
* SPDX-License-Identifier: MIT
|
10
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
11
|
-
*/
|
12
|
-
const postcss_1 = __importDefault(require("postcss"));
|
13
|
-
const postcss_value_parser_1 = __importDefault(require("postcss-value-parser"));
|
14
|
-
const string_prototype_matchall_1 = __importDefault(require("string.prototype.matchall"));
|
15
|
-
const shared_1 = require("@lwc/shared");
|
16
|
-
const message_1 = require("./utils/message");
|
17
|
-
const selectors_scoping_1 = require("./utils/selectors-scoping");
|
18
|
-
const dir_pseudoclass_1 = require("./utils/dir-pseudoclass");
|
19
|
-
var TokenType;
|
20
|
-
(function (TokenType) {
|
21
|
-
TokenType["text"] = "text";
|
22
|
-
TokenType["expression"] = "expression";
|
23
|
-
TokenType["identifier"] = "identifier";
|
24
|
-
TokenType["divider"] = "divider";
|
25
|
-
})(TokenType || (TokenType = {}));
|
26
|
-
// "1400 binary expressions are enough to reach Node.js maximum call stack size"
|
27
|
-
// https://github.com/salesforce/lwc/issues/1726
|
28
|
-
// The vast majority of stylesheet functions are much less than this, so we can set the limit lower
|
29
|
-
// to play it safe.
|
30
|
-
const BINARY_EXPRESSION_LIMIT = 100;
|
31
|
-
// Javascript identifiers used for the generation of the style module
|
32
|
-
const HOST_SELECTOR_IDENTIFIER = 'hostSelector';
|
33
|
-
const SHADOW_SELECTOR_IDENTIFIER = 'shadowSelector';
|
34
|
-
const SUFFIX_TOKEN_IDENTIFIER = 'suffixToken';
|
35
|
-
const USE_ACTUAL_HOST_SELECTOR = 'useActualHostSelector';
|
36
|
-
const USE_NATIVE_DIR_PSEUDOCLASS = 'useNativeDirPseudoclass';
|
37
|
-
const TOKEN = 'token';
|
38
|
-
const STYLESHEET_IDENTIFIER = 'stylesheet';
|
39
|
-
const VAR_RESOLVER_IDENTIFIER = 'varResolver';
|
40
|
-
function serialize(result, config) {
|
41
|
-
const { messages } = result;
|
42
|
-
const collectVarFunctions = Boolean(config.customProperties && config.customProperties.resolverModule);
|
43
|
-
const useVarResolver = messages.some(message_1.isVarFunctionMessage);
|
44
|
-
const importedStylesheets = messages.filter(message_1.isImportMessage).map((message) => message.id);
|
45
|
-
const disableSyntheticShadow = Boolean(config.disableSyntheticShadowSupport);
|
46
|
-
const scoped = Boolean(config.scoped);
|
47
|
-
let buffer = '';
|
48
|
-
if (collectVarFunctions && useVarResolver) {
|
49
|
-
buffer += `import ${VAR_RESOLVER_IDENTIFIER} from "${config.customProperties
|
50
|
-
.resolverModule}";\n`;
|
51
|
-
}
|
52
|
-
for (let i = 0; i < importedStylesheets.length; i++) {
|
53
|
-
buffer += `import ${STYLESHEET_IDENTIFIER + i} from "${importedStylesheets[i]}";\n`;
|
54
|
-
}
|
55
|
-
if (importedStylesheets.length) {
|
56
|
-
buffer += '\n';
|
57
|
-
}
|
58
|
-
const stylesheetList = importedStylesheets.map((_str, i) => `${STYLESHEET_IDENTIFIER + i}`);
|
59
|
-
const serializedStyle = serializeCss(result, collectVarFunctions).trim();
|
60
|
-
if (serializedStyle) {
|
61
|
-
// inline function
|
62
|
-
if (disableSyntheticShadow && !scoped) {
|
63
|
-
// If synthetic shadow DOM support is disabled and this is not a scoped stylesheet, then the
|
64
|
-
// function signature will always be:
|
65
|
-
// stylesheet(token = undefined, useActualHostSelector = true, useNativeDirPseudoclass = true)
|
66
|
-
// This means that we can just have a function that takes no arguments and returns a string,
|
67
|
-
// reducing the bundle size when minified.
|
68
|
-
buffer += `function ${STYLESHEET_IDENTIFIER}() {\n`;
|
69
|
-
buffer += ` var ${TOKEN};\n`; // undefined
|
70
|
-
buffer += ` var ${USE_ACTUAL_HOST_SELECTOR} = true;\n`;
|
71
|
-
buffer += ` var ${USE_NATIVE_DIR_PSEUDOCLASS} = true;\n`;
|
72
|
-
}
|
73
|
-
else {
|
74
|
-
buffer += `function ${STYLESHEET_IDENTIFIER}(${TOKEN}, ${USE_ACTUAL_HOST_SELECTOR}, ${USE_NATIVE_DIR_PSEUDOCLASS}) {\n`;
|
75
|
-
}
|
76
|
-
// For scoped stylesheets, we use classes, but for synthetic shadow DOM, we use attributes
|
77
|
-
if (scoped) {
|
78
|
-
buffer += ` var ${SHADOW_SELECTOR_IDENTIFIER} = ${TOKEN} ? ("." + ${TOKEN}) : "";\n`;
|
79
|
-
buffer += ` var ${HOST_SELECTOR_IDENTIFIER} = ${TOKEN} ? ("." + ${TOKEN} + "-host") : "";\n`;
|
80
|
-
}
|
81
|
-
else {
|
82
|
-
buffer += ` var ${SHADOW_SELECTOR_IDENTIFIER} = ${TOKEN} ? ("[" + ${TOKEN} + "]") : "";\n`;
|
83
|
-
buffer += ` var ${HOST_SELECTOR_IDENTIFIER} = ${TOKEN} ? ("[" + ${TOKEN} + "-host]") : "";\n`;
|
84
|
-
}
|
85
|
-
// Used for keyframes
|
86
|
-
buffer += ` var ${SUFFIX_TOKEN_IDENTIFIER} = ${TOKEN} ? ("-" + ${TOKEN}) : "";\n`;
|
87
|
-
buffer += ` return ${serializedStyle};\n`;
|
88
|
-
buffer += ` /*${shared_1.LWC_VERSION_COMMENT}*/\n`;
|
89
|
-
buffer += `}\n`;
|
90
|
-
if (scoped) {
|
91
|
-
// Mark the stylesheet as scoped so that we can distinguish it later at runtime
|
92
|
-
buffer += `${STYLESHEET_IDENTIFIER}.${shared_1.KEY__SCOPED_CSS} = true;\n`;
|
93
|
-
}
|
94
|
-
// add import at the end
|
95
|
-
stylesheetList.push(STYLESHEET_IDENTIFIER);
|
96
|
-
}
|
97
|
-
// exports
|
98
|
-
if (stylesheetList.length) {
|
99
|
-
buffer += `export default [${stylesheetList.join(', ')}];`;
|
100
|
-
}
|
101
|
-
else {
|
102
|
-
buffer += `export default undefined;`;
|
103
|
-
}
|
104
|
-
return buffer;
|
105
|
-
}
|
106
|
-
exports.default = serialize;
|
107
|
-
function reduceTokens(tokens) {
|
108
|
-
return [{ type: TokenType.text, value: '' }, ...tokens, { type: TokenType.text, value: '' }]
|
109
|
-
.reduce((acc, token) => {
|
110
|
-
const prev = acc[acc.length - 1];
|
111
|
-
if (token.type === TokenType.text && prev && prev.type === TokenType.text) {
|
112
|
-
// clone the previous token to avoid mutating it in-place
|
113
|
-
acc[acc.length - 1] = {
|
114
|
-
type: prev.type,
|
115
|
-
value: prev.value + token.value,
|
116
|
-
};
|
117
|
-
return acc;
|
118
|
-
}
|
119
|
-
else {
|
120
|
-
return [...acc, token];
|
121
|
-
}
|
122
|
-
}, [])
|
123
|
-
.filter((t) => t.value !== '');
|
124
|
-
}
|
125
|
-
function normalizeString(str) {
|
126
|
-
return str.replace(/(\r\n\t|\n|\r\t)/gm, '').trim();
|
127
|
-
}
|
128
|
-
function generateExpressionFromTokens(tokens) {
|
129
|
-
const serializedTokens = reduceTokens(tokens).map(({ type, value }) => {
|
130
|
-
switch (type) {
|
131
|
-
// Note that we don't expect to get a TokenType.divider here. It should be converted into an
|
132
|
-
// expression elsewhere.
|
133
|
-
case TokenType.text:
|
134
|
-
return JSON.stringify(value);
|
135
|
-
// Expressions may be concatenated with " + ", in which case we must remove ambiguity
|
136
|
-
case TokenType.expression:
|
137
|
-
return `(${value})`;
|
138
|
-
default:
|
139
|
-
return value;
|
140
|
-
}
|
141
|
-
});
|
142
|
-
if (serializedTokens.length === 0) {
|
143
|
-
return '';
|
144
|
-
}
|
145
|
-
else if (serializedTokens.length === 1) {
|
146
|
-
return serializedTokens[0];
|
147
|
-
}
|
148
|
-
else if (serializedTokens.length < BINARY_EXPRESSION_LIMIT) {
|
149
|
-
return serializedTokens.join(' + ');
|
150
|
-
}
|
151
|
-
else {
|
152
|
-
// #1726 Using Array.prototype.join() instead of a standard "+" operator to concatenate the
|
153
|
-
// string to avoid running into a maximum call stack error when the stylesheet is parsed
|
154
|
-
// again by the bundler.
|
155
|
-
return `[${serializedTokens.join(', ')}].join('')`;
|
156
|
-
}
|
157
|
-
}
|
158
|
-
function areTokensEqual(left, right) {
|
159
|
-
return left.type === right.type && left.value === right.value;
|
160
|
-
}
|
161
|
-
function calculateNumDuplicatedTokens(left, right) {
|
162
|
-
// Walk backwards until we find a token that is different between left and right
|
163
|
-
let i = 0;
|
164
|
-
for (; i < left.length && i < right.length; i++) {
|
165
|
-
const currentLeft = left[left.length - 1 - i];
|
166
|
-
const currentRight = right[right.length - 1 - i];
|
167
|
-
if (!areTokensEqual(currentLeft, currentRight)) {
|
168
|
-
break;
|
169
|
-
}
|
170
|
-
}
|
171
|
-
return i;
|
172
|
-
}
|
173
|
-
// For `:host` selectors, the token lists for native vs synthetic will be identical at the end of
|
174
|
-
// each list. So as an optimization, we can de-dup these tokens.
|
175
|
-
// See: https://github.com/salesforce/lwc/issues/3224#issuecomment-1353520052
|
176
|
-
function deduplicateHostTokens(nativeHostTokens, syntheticHostTokens) {
|
177
|
-
const numDuplicatedTokens = calculateNumDuplicatedTokens(nativeHostTokens, syntheticHostTokens);
|
178
|
-
const numUniqueNativeTokens = nativeHostTokens.length - numDuplicatedTokens;
|
179
|
-
const numUniqueSyntheticTokens = syntheticHostTokens.length - numDuplicatedTokens;
|
180
|
-
const uniqueNativeTokens = nativeHostTokens.slice(0, numUniqueNativeTokens);
|
181
|
-
const uniqueSyntheticTokens = syntheticHostTokens.slice(0, numUniqueSyntheticTokens);
|
182
|
-
const nativeExpression = generateExpressionFromTokens(uniqueNativeTokens);
|
183
|
-
const syntheticExpression = generateExpressionFromTokens(uniqueSyntheticTokens);
|
184
|
-
// Generate a conditional ternary to switch between native vs synthetic for the unique tokens
|
185
|
-
const conditionalToken = {
|
186
|
-
type: TokenType.expression,
|
187
|
-
value: `(${USE_ACTUAL_HOST_SELECTOR} ? ${nativeExpression} : ${syntheticExpression})`,
|
188
|
-
};
|
189
|
-
return [
|
190
|
-
conditionalToken,
|
191
|
-
// The remaining tokens are the same between native and synthetic
|
192
|
-
...syntheticHostTokens.slice(numUniqueSyntheticTokens),
|
193
|
-
];
|
194
|
-
}
|
195
|
-
function serializeCss(result, collectVarFunctions) {
|
196
|
-
const tokens = [];
|
197
|
-
let currentRuleTokens = [];
|
198
|
-
let nativeHostTokens;
|
199
|
-
// Walk though all nodes in the CSS...
|
200
|
-
postcss_1.default.stringify(result.root, (part, node, nodePosition) => {
|
201
|
-
// When consuming the beginning of a rule, first we tokenize the selector
|
202
|
-
if (node && node.type === 'rule' && nodePosition === 'start') {
|
203
|
-
currentRuleTokens.push(...tokenizeCss(normalizeString(part)));
|
204
|
-
// When consuming the end of a rule we normalize it and produce a new one
|
205
|
-
}
|
206
|
-
else if (node && node.type === 'rule' && nodePosition === 'end') {
|
207
|
-
currentRuleTokens.push({ type: TokenType.text, value: part });
|
208
|
-
// If we are in synthetic shadow or scoped light DOM, we don't want to have native :host selectors
|
209
|
-
// Note that postcss-lwc-plugin should ensure that _isNativeHost appears before _isSyntheticHost
|
210
|
-
if (node._isNativeHost) {
|
211
|
-
// Save native tokens so in the next rule we can apply a conditional ternary
|
212
|
-
nativeHostTokens = [...currentRuleTokens];
|
213
|
-
}
|
214
|
-
else if (node._isSyntheticHost) {
|
215
|
-
/* istanbul ignore if */
|
216
|
-
if (!nativeHostTokens) {
|
217
|
-
throw new Error('Unexpected host rules ordering');
|
218
|
-
}
|
219
|
-
const hostTokens = deduplicateHostTokens(nativeHostTokens, currentRuleTokens);
|
220
|
-
tokens.push(...hostTokens);
|
221
|
-
nativeHostTokens = undefined;
|
222
|
-
}
|
223
|
-
else {
|
224
|
-
/* istanbul ignore if */
|
225
|
-
if (nativeHostTokens) {
|
226
|
-
throw new Error('Unexpected host rules ordering');
|
227
|
-
}
|
228
|
-
tokens.push(...currentRuleTokens);
|
229
|
-
}
|
230
|
-
// Reset rule
|
231
|
-
currentRuleTokens = [];
|
232
|
-
// When inside a declaration, tokenize it and push it to the current token list
|
233
|
-
}
|
234
|
-
else if (node && node.type === 'decl') {
|
235
|
-
if (collectVarFunctions) {
|
236
|
-
const declTokens = tokenizeCssDeclaration(node);
|
237
|
-
currentRuleTokens.push(...declTokens);
|
238
|
-
currentRuleTokens.push({ type: TokenType.text, value: ';' });
|
239
|
-
}
|
240
|
-
else {
|
241
|
-
currentRuleTokens.push(...tokenizeCss(part));
|
242
|
-
}
|
243
|
-
}
|
244
|
-
else if (node && node.type === 'atrule') {
|
245
|
-
// Certain atrules have declaration associated with for example @font-face. We need to add the rules tokens
|
246
|
-
// when it's the case.
|
247
|
-
if (currentRuleTokens.length) {
|
248
|
-
tokens.push(...currentRuleTokens);
|
249
|
-
currentRuleTokens = [];
|
250
|
-
}
|
251
|
-
tokens.push(...tokenizeCss(normalizeString(part)));
|
252
|
-
}
|
253
|
-
else {
|
254
|
-
// When inside anything else but a comment just push it
|
255
|
-
if (!node || node.type !== 'comment') {
|
256
|
-
currentRuleTokens.push({ type: TokenType.text, value: normalizeString(part) });
|
257
|
-
}
|
258
|
-
}
|
259
|
-
});
|
260
|
-
return generateExpressionFromTokens(tokens);
|
261
|
-
}
|
262
|
-
// Given any CSS string, replace the scope tokens from the CSS with code to properly
|
263
|
-
// replace it in the stylesheet function.
|
264
|
-
function tokenizeCss(data) {
|
265
|
-
data = data.replace(/( {2,})/gm, ' '); // remove when there are more than two spaces
|
266
|
-
const tokens = [];
|
267
|
-
const attributes = [
|
268
|
-
selectors_scoping_1.SHADOW_ATTRIBUTE,
|
269
|
-
selectors_scoping_1.HOST_ATTRIBUTE,
|
270
|
-
dir_pseudoclass_1.DIR_ATTRIBUTE_NATIVE_LTR,
|
271
|
-
dir_pseudoclass_1.DIR_ATTRIBUTE_NATIVE_RTL,
|
272
|
-
dir_pseudoclass_1.DIR_ATTRIBUTE_SYNTHETIC_LTR,
|
273
|
-
dir_pseudoclass_1.DIR_ATTRIBUTE_SYNTHETIC_RTL,
|
274
|
-
];
|
275
|
-
const regex = new RegExp(`[[-](${attributes.join('|')})]?`, 'g');
|
276
|
-
let lastIndex = 0;
|
277
|
-
for (const match of (0, string_prototype_matchall_1.default)(data, regex)) {
|
278
|
-
const index = match.index;
|
279
|
-
const [matchString, substring] = match;
|
280
|
-
if (index > lastIndex) {
|
281
|
-
tokens.push({ type: TokenType.text, value: data.substring(lastIndex, index) });
|
282
|
-
}
|
283
|
-
const identifier = substring === selectors_scoping_1.SHADOW_ATTRIBUTE ? SHADOW_SELECTOR_IDENTIFIER : HOST_SELECTOR_IDENTIFIER;
|
284
|
-
if (matchString.startsWith('[')) {
|
285
|
-
if (substring === selectors_scoping_1.SHADOW_ATTRIBUTE || substring === selectors_scoping_1.HOST_ATTRIBUTE) {
|
286
|
-
// attribute in a selector, e.g. `[__shadowAttribute__]` or `[__hostAttribute__]`
|
287
|
-
tokens.push({
|
288
|
-
type: TokenType.identifier,
|
289
|
-
value: identifier,
|
290
|
-
});
|
291
|
-
}
|
292
|
-
else {
|
293
|
-
// :dir pseudoclass placeholder, e.g. `[__dirAttributeNativeLtr__]` or `[__dirAttributeSyntheticRtl__]`
|
294
|
-
const native = substring === dir_pseudoclass_1.DIR_ATTRIBUTE_NATIVE_LTR ||
|
295
|
-
substring === dir_pseudoclass_1.DIR_ATTRIBUTE_NATIVE_RTL;
|
296
|
-
const dirValue = substring === dir_pseudoclass_1.DIR_ATTRIBUTE_NATIVE_LTR ||
|
297
|
-
substring === dir_pseudoclass_1.DIR_ATTRIBUTE_SYNTHETIC_LTR
|
298
|
-
? 'ltr'
|
299
|
-
: 'rtl';
|
300
|
-
tokens.push({
|
301
|
-
type: TokenType.expression,
|
302
|
-
// use the native :dir() pseudoclass for native shadow, the [dir] attribute otherwise
|
303
|
-
value: native
|
304
|
-
? `${USE_NATIVE_DIR_PSEUDOCLASS} ? ':dir(${dirValue})' : ''`
|
305
|
-
: `${USE_NATIVE_DIR_PSEUDOCLASS} ? '' : '[dir="${dirValue}"]'`,
|
306
|
-
});
|
307
|
-
}
|
308
|
-
}
|
309
|
-
else {
|
310
|
-
// suffix for an at-rule, e.g. `@keyframes spin-__shadowAttribute__`
|
311
|
-
tokens.push({
|
312
|
-
type: TokenType.identifier,
|
313
|
-
// Suffix the keyframe (i.e. "-" plus the token)
|
314
|
-
value: SUFFIX_TOKEN_IDENTIFIER,
|
315
|
-
});
|
316
|
-
}
|
317
|
-
lastIndex = index + matchString.length;
|
318
|
-
}
|
319
|
-
if (lastIndex < data.length) {
|
320
|
-
tokens.push({ type: TokenType.text, value: data.substring(lastIndex, data.length) });
|
321
|
-
}
|
322
|
-
return tokens;
|
323
|
-
}
|
324
|
-
function isTextOrExpression(token) {
|
325
|
-
return token.type === TokenType.text || token.type == TokenType.expression;
|
326
|
-
}
|
327
|
-
/*
|
328
|
-
* This method takes a tokenized CSS property value `1px solid var(--foo , bar)`
|
329
|
-
* and transforms its custom variables in function calls
|
330
|
-
*/
|
331
|
-
function recursiveValueParse(node, inVarExpression = false) {
|
332
|
-
const { type, nodes, value } = node;
|
333
|
-
// If it has not type it means is the root, process its children
|
334
|
-
if (!type && nodes) {
|
335
|
-
return nodes.reduce((acc, n) => {
|
336
|
-
acc.push(...recursiveValueParse(n, inVarExpression));
|
337
|
-
return acc;
|
338
|
-
}, []);
|
339
|
-
}
|
340
|
-
if (type === 'comment') {
|
341
|
-
return [];
|
342
|
-
}
|
343
|
-
if (type === 'div') {
|
344
|
-
return [
|
345
|
-
{
|
346
|
-
type: inVarExpression ? TokenType.divider : TokenType.text,
|
347
|
-
value,
|
348
|
-
},
|
349
|
-
];
|
350
|
-
}
|
351
|
-
if (type === 'string') {
|
352
|
-
const { quote } = node;
|
353
|
-
return [
|
354
|
-
{
|
355
|
-
type: TokenType.text,
|
356
|
-
value: quote ? quote + value + quote : value,
|
357
|
-
},
|
358
|
-
];
|
359
|
-
}
|
360
|
-
// If we are inside a var() expression use need to stringify since we are converting it into a function
|
361
|
-
if (type === 'word') {
|
362
|
-
const convertIdentifier = value.startsWith('--');
|
363
|
-
if (convertIdentifier) {
|
364
|
-
return [{ type: TokenType.identifier, value: `"${value}"` }];
|
365
|
-
}
|
366
|
-
// For animation properties, the shadow/host attributes may be in this text
|
367
|
-
return tokenizeCss(value);
|
368
|
-
}
|
369
|
-
// If we inside a var() function we need to prepend and append to generate an expression
|
370
|
-
if (type === 'function') {
|
371
|
-
if (value === 'var') {
|
372
|
-
// `tokens` may include tokens of type `divider`, `expression`, `identifier`,
|
373
|
-
// and `text`. However, an identifier will only ever be adjacent to a divider,
|
374
|
-
// whereas text and expression tokens may be adjacent to one another. This is
|
375
|
-
// important below when inserting concatenetors.
|
376
|
-
//
|
377
|
-
// For fuller context, see the following conversation:
|
378
|
-
// https://github.com/salesforce/lwc/pull/2902#discussion_r904626421
|
379
|
-
let tokens = recursiveValueParse({ nodes }, true);
|
380
|
-
tokens = reduceTokens(tokens);
|
381
|
-
const exprToken = tokens.reduce((buffer, token, index) => {
|
382
|
-
const isTextToken = token.type === TokenType.text;
|
383
|
-
const normalizedToken = isTextToken ? JSON.stringify(token.value) : token.value;
|
384
|
-
const nextToken = tokens[index + 1];
|
385
|
-
// If we have a token sequence of text + expression or expression + text,
|
386
|
-
// we need to add the concatenation operator. Examples:
|
387
|
-
//
|
388
|
-
// Input: var(--x, 0 0 2px var(--y, #fff))
|
389
|
-
// Output: varResolver("--x", "0 0 2px " + varResolver("--y", "#fff"))
|
390
|
-
//
|
391
|
-
// Input: var(--x, var(--y, #fff) 0 0 2px)
|
392
|
-
// Output: varResolver("--x", varResolver("--y", "#fff") + " 0 0 2px"))
|
393
|
-
//
|
394
|
-
// Since identifier tokens will never be adjacent to text or expression
|
395
|
-
// tokens (see above comment), a concatenator will never be required if
|
396
|
-
// `token` or `nextToken` is an identifier.
|
397
|
-
const shouldAddConcatenator = isTextOrExpression(token) && nextToken && isTextOrExpression(nextToken);
|
398
|
-
const concatOperator = shouldAddConcatenator ? ' + ' : '';
|
399
|
-
return buffer + normalizedToken + concatOperator;
|
400
|
-
}, '');
|
401
|
-
// Generate the function call for runtime evaluation
|
402
|
-
return [
|
403
|
-
{
|
404
|
-
type: TokenType.expression,
|
405
|
-
value: `${VAR_RESOLVER_IDENTIFIER}(${exprToken})`,
|
406
|
-
},
|
407
|
-
];
|
408
|
-
// for any other function just do the equivalent string concatenation (no need for expressions)
|
409
|
-
}
|
410
|
-
else {
|
411
|
-
const tokens = nodes.reduce((acc, n) => {
|
412
|
-
acc.push(...recursiveValueParse(n, false));
|
413
|
-
return acc;
|
414
|
-
}, []);
|
415
|
-
return [
|
416
|
-
{ type: TokenType.text, value: `${value}(` },
|
417
|
-
...reduceTokens(tokens),
|
418
|
-
{ type: TokenType.text, value: ')' },
|
419
|
-
];
|
420
|
-
}
|
421
|
-
}
|
422
|
-
// For any other token types we just need to return text
|
423
|
-
return [{ type: TokenType.text, value }];
|
424
|
-
}
|
425
|
-
function tokenizeCssDeclaration(node) {
|
426
|
-
const valueRoot = (0, postcss_value_parser_1.default)(node.value);
|
427
|
-
const parsed = recursiveValueParse(valueRoot);
|
428
|
-
return [{ type: TokenType.text, value: `${node.prop.trim()}: ` }, ...parsed];
|
429
|
-
}
|
430
|
-
//# sourceMappingURL=serialize.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"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"}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.transform = void 0;
|
7
|
-
/*
|
8
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
9
|
-
* All rights reserved.
|
10
|
-
* SPDX-License-Identifier: MIT
|
11
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
12
|
-
*/
|
13
|
-
const postcss_1 = __importDefault(require("postcss"));
|
14
|
-
const serialize_1 = __importDefault(require("./serialize"));
|
15
|
-
const postcss_lwc_plugin_1 = __importDefault(require("./postcss-lwc-plugin"));
|
16
|
-
function transform(src, id, config = {}) {
|
17
|
-
if (src === '') {
|
18
|
-
return { code: 'export default undefined' };
|
19
|
-
}
|
20
|
-
const scoped = !!config.scoped;
|
21
|
-
const plugins = [(0, postcss_lwc_plugin_1.default)({ scoped })];
|
22
|
-
const result = (0, postcss_1.default)(plugins).process(src, { from: id }).sync();
|
23
|
-
return { code: (0, serialize_1.default)(result, config) };
|
24
|
-
}
|
25
|
-
exports.transform = transform;
|
26
|
-
//# sourceMappingURL=transform.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,sDAA8B;AAE9B,4DAAoC;AACpC,8EAA8C;AAc9C,SAAgB,SAAS,CAAC,GAAW,EAAE,EAAU,EAAE,SAAiB,EAAE;IAClE,IAAI,GAAG,KAAK,EAAE,EAAE;QACZ,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;KAC/C;IAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,CAAC,IAAA,4BAAU,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAElE,OAAO,EAAE,IAAI,EAAE,IAAA,mBAAS,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAC/C,CAAC;AAXD,8BAWC"}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DIR_ATTRIBUTE_SYNTHETIC_RTL = exports.DIR_ATTRIBUTE_SYNTHETIC_LTR = exports.DIR_ATTRIBUTE_NATIVE_RTL = exports.DIR_ATTRIBUTE_NATIVE_LTR = void 0;
|
4
|
-
/*
|
5
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
6
|
-
* All rights reserved.
|
7
|
-
* SPDX-License-Identifier: MIT
|
8
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
9
|
-
*/
|
10
|
-
exports.DIR_ATTRIBUTE_NATIVE_LTR = `__dirAttributeNativeLtr__`;
|
11
|
-
exports.DIR_ATTRIBUTE_NATIVE_RTL = `__dirAttributeNativeRtl__`;
|
12
|
-
exports.DIR_ATTRIBUTE_SYNTHETIC_LTR = `__dirAttributeSyntheticLtr__`;
|
13
|
-
exports.DIR_ATTRIBUTE_SYNTHETIC_RTL = `__dirAttributeSyntheticRtl__`;
|
14
|
-
//# sourceMappingURL=dir-pseudoclass.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"dir-pseudoclass.js","sourceRoot":"","sources":["../../../src/utils/dir-pseudoclass.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,wBAAwB,GAAG,2BAA2B,CAAC;AACvD,QAAA,wBAAwB,GAAG,2BAA2B,CAAC;AACvD,QAAA,2BAA2B,GAAG,8BAA8B,CAAC;AAC7D,QAAA,2BAA2B,GAAG,8BAA8B,CAAC"}
|
@@ -1,31 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isVarFunctionMessage = exports.varFunctionMessage = exports.isImportMessage = exports.importMessage = void 0;
|
4
|
-
const PLUGIN_NAME = '@lwc/style-compiler';
|
5
|
-
const IMPORT_TYPE = 'import';
|
6
|
-
const VAR_FUNCTION_TYPE = 'var-function';
|
7
|
-
function importMessage(id) {
|
8
|
-
return {
|
9
|
-
plugin: PLUGIN_NAME,
|
10
|
-
type: IMPORT_TYPE,
|
11
|
-
id,
|
12
|
-
};
|
13
|
-
}
|
14
|
-
exports.importMessage = importMessage;
|
15
|
-
function isImportMessage(message) {
|
16
|
-
return message.type === IMPORT_TYPE && message.id;
|
17
|
-
}
|
18
|
-
exports.isImportMessage = isImportMessage;
|
19
|
-
function varFunctionMessage(original) {
|
20
|
-
return {
|
21
|
-
plugin: PLUGIN_NAME,
|
22
|
-
type: VAR_FUNCTION_TYPE,
|
23
|
-
original,
|
24
|
-
};
|
25
|
-
}
|
26
|
-
exports.varFunctionMessage = varFunctionMessage;
|
27
|
-
function isVarFunctionMessage(message) {
|
28
|
-
return message.type === VAR_FUNCTION_TYPE && message.original;
|
29
|
-
}
|
30
|
-
exports.isVarFunctionMessage = isVarFunctionMessage;
|
31
|
-
//# sourceMappingURL=message.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/utils/message.ts"],"names":[],"mappings":";;;AAkBA,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEzC,SAAgB,aAAa,CAAC,EAAU;IACpC,OAAO;QACH,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,WAAW;QACjB,EAAE;KACL,CAAC;AACN,CAAC;AAND,sCAMC;AAED,SAAgB,eAAe,CAAC,OAAY;IACxC,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC;AACtD,CAAC;AAFD,0CAEC;AAED,SAAgB,kBAAkB,CAAC,QAAgB;IAC/C,OAAO;QACH,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,iBAAiB;QACvB,QAAQ;KACX,CAAC;AACN,CAAC;AAND,gDAMC;AAED,SAAgB,oBAAoB,CAAC,OAAY;IAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,iBAAiB,IAAI,OAAO,CAAC,QAAQ,CAAC;AAClE,CAAC;AAFD,oDAEC"}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isDirPseudoClass = void 0;
|
4
|
-
/*
|
5
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
6
|
-
* All rights reserved.
|
7
|
-
* SPDX-License-Identifier: MIT
|
8
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
9
|
-
*/
|
10
|
-
const postcss_selector_parser_1 = require("postcss-selector-parser");
|
11
|
-
function isDirPseudoClass(node) {
|
12
|
-
return (0, postcss_selector_parser_1.isPseudoClass)(node) && node.value === ':dir';
|
13
|
-
}
|
14
|
-
exports.isDirPseudoClass = isDirPseudoClass;
|
15
|
-
//# sourceMappingURL=rtl.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"rtl.js","sourceRoot":"","sources":["../../../src/utils/rtl.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,qEAAsE;AAEtE,SAAgB,gBAAgB,CAAC,IAAU;IACvC,OAAO,IAAA,uCAAa,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;AACxD,CAAC;AAFD,4CAEC"}
|
@@ -1,28 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.trimNodeWhitespaces = exports.replaceNodeWith = exports.findNode = void 0;
|
4
|
-
function findNode(container, predicate) {
|
5
|
-
return container && container.nodes && container.nodes.find(predicate);
|
6
|
-
}
|
7
|
-
exports.findNode = findNode;
|
8
|
-
function replaceNodeWith(oldNode, ...newNodes) {
|
9
|
-
if (newNodes.length) {
|
10
|
-
const { parent } = oldNode;
|
11
|
-
if (!parent) {
|
12
|
-
throw new Error(`Impossible to replace root node.`);
|
13
|
-
}
|
14
|
-
newNodes.forEach((node) => {
|
15
|
-
parent.insertBefore(oldNode, node);
|
16
|
-
});
|
17
|
-
oldNode.remove();
|
18
|
-
}
|
19
|
-
}
|
20
|
-
exports.replaceNodeWith = replaceNodeWith;
|
21
|
-
function trimNodeWhitespaces(node) {
|
22
|
-
if (node && node.spaces) {
|
23
|
-
node.spaces.before = '';
|
24
|
-
node.spaces.after = '';
|
25
|
-
}
|
26
|
-
}
|
27
|
-
exports.trimNodeWhitespaces = trimNodeWhitespaces;
|
28
|
-
//# sourceMappingURL=selector-parser.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"selector-parser.js","sourceRoot":"","sources":["../../../src/utils/selector-parser.ts"],"names":[],"mappings":";;;AAQA,SAAgB,QAAQ,CACpB,SAAoB,EACpB,SAAoC;IAEpC,OAAO,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC;AALD,4BAKC;AAED,SAAgB,eAAe,CAAC,OAAa,EAAE,GAAG,QAAgB;IAC9D,IAAI,QAAQ,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACvD;QAED,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,EAAE,CAAC;KACpB;AACL,CAAC;AAdD,0CAcC;AAED,SAAgB,mBAAmB,CAAC,IAAU;IAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;KAC1B;AACL,CAAC;AALD,kDAKC"}
|