@vue/compiler-sfc 3.6.0-rc.8 → 3.6.0-rc.9

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,5 +1,5 @@
1
1
  /**
2
- * @vue/compiler-sfc v3.6.0-rc.8
2
+ * @vue/compiler-sfc v3.6.0-rc.9
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -306,10 +306,10 @@ function normalizeStyle(value) {
306
306
  }
307
307
  const listDelimiterRE = /;(?![^(]*\))/g;
308
308
  const propertyDelimiterRE = /:([^]+)/;
309
- const styleCommentRE = /\/\*[^]*?\*\//g;
309
+ const styleCommentRE = /"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;
310
310
  function parseStringStyle(cssText) {
311
311
  const ret = {};
312
- cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
312
+ cssText.replace(styleCommentRE, (match) => match.startsWith("/*") ? "" : match).split(listDelimiterRE).forEach((item) => {
313
313
  if (item) {
314
314
  const tmp = item.split(propertyDelimiterRE);
315
315
  tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
@@ -392,10 +392,25 @@ const isInlineTag = /*@__PURE__*/ makeMap(INLINE_TAGS);
392
392
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
393
393
  */
394
394
  const isBlockTag = /*@__PURE__*/ makeMap(BLOCK_TAGS);
395
+ //#endregion
396
+ //#region packages/shared/src/domAttrConfig.ts
397
+ /**
398
+ * On the client we only need to offer special cases for boolean attributes that
399
+ * have different names from their corresponding dom properties:
400
+ * - itemscope -> N/A
401
+ * - allowfullscreen -> allowFullscreen
402
+ * - formnovalidate -> formNoValidate
403
+ * - ismap -> isMap
404
+ * - nomodule -> noModule
405
+ * - novalidate -> noValidate
406
+ * - readonly -> readOnly
407
+ */
408
+ const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
409
+ const isSpecialBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs);
395
410
  /**
396
411
  * The full list is needed during SSR to produce the correct initial markup.
397
412
  */
398
- const isBooleanAttr = /*@__PURE__*/ makeMap("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
413
+ const isBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
399
414
  /**
400
415
  * Boolean attributes should be included if the value is truthy or ''.
401
416
  * e.g. `<select multiple>` compiles to `{ multiple: '' }`
@@ -2637,11 +2652,11 @@ const defaultDelimitersClose = new Uint8Array([125, 125]);
2637
2652
  function isTagStartChar(c) {
2638
2653
  return c >= 97 && c <= 122 || c >= 65 && c <= 90;
2639
2654
  }
2640
- function isWhitespace(c) {
2655
+ function isWhitespace$1(c) {
2641
2656
  return c === 32 || c === 10 || c === 9 || c === 12 || c === 13;
2642
2657
  }
2643
2658
  function isEndOfTagSection(c) {
2644
- return c === 47 || c === 62 || isWhitespace(c);
2659
+ return c === 47 || c === 62 || isWhitespace$1(c);
2645
2660
  }
2646
2661
  function toCharCodes(str) {
2647
2662
  const ret = new Uint8Array(str.length);
@@ -2850,7 +2865,7 @@ var Tokenizer = class {
2850
2865
  /** Look for an end tag. For <title> and <textarea>, also decode entities. */
2851
2866
  stateInRCDATA(c) {
2852
2867
  if (this.sequenceIndex === this.currentSequence.length) {
2853
- if (c === 62 || isWhitespace(c)) {
2868
+ if (c === 62 || isWhitespace$1(c)) {
2854
2869
  const endOfText = this.index - this.currentSequence.length;
2855
2870
  if (this.sectionStart < endOfText) {
2856
2871
  const actualIndex = this.index;
@@ -2974,7 +2989,7 @@ var Tokenizer = class {
2974
2989
  this.stateBeforeAttrName(c);
2975
2990
  }
2976
2991
  stateBeforeClosingTagName(c) {
2977
- if (isWhitespace(c)) {} else if (c === 62) {
2992
+ if (isWhitespace$1(c)) {} else if (c === 62) {
2978
2993
  this.cbs.onerr(14, this.index);
2979
2994
  this.state = 1;
2980
2995
  this.sectionStart = this.index + 1;
@@ -2984,7 +2999,7 @@ var Tokenizer = class {
2984
2999
  }
2985
3000
  }
2986
3001
  stateInClosingTagName(c) {
2987
- if (c === 62 || isWhitespace(c)) {
3002
+ if (c === 62 || isWhitespace$1(c)) {
2988
3003
  this.cbs.onclosetag(this.sectionStart, this.index);
2989
3004
  this.sectionStart = -1;
2990
3005
  this.state = 10;
@@ -3010,7 +3025,7 @@ var Tokenizer = class {
3010
3025
  this.cbs.onopentagend(this.index);
3011
3026
  this.state = 5;
3012
3027
  this.sectionStart = this.index;
3013
- } else if (!isWhitespace(c)) {
3028
+ } else if (!isWhitespace$1(c)) {
3014
3029
  if (c === 61) this.cbs.onerr(19, this.index);
3015
3030
  this.handleAttrStart(c);
3016
3031
  }
@@ -3034,7 +3049,7 @@ var Tokenizer = class {
3034
3049
  this.state = 1;
3035
3050
  this.sectionStart = this.index + 1;
3036
3051
  this.inRCDATA = false;
3037
- } else if (!isWhitespace(c)) {
3052
+ } else if (!isWhitespace$1(c)) {
3038
3053
  this.state = 11;
3039
3054
  this.stateBeforeAttrName(c);
3040
3055
  }
@@ -3100,7 +3115,7 @@ var Tokenizer = class {
3100
3115
  this.sectionStart = -1;
3101
3116
  this.state = 11;
3102
3117
  this.stateBeforeAttrName(c);
3103
- } else if (!isWhitespace(c)) {
3118
+ } else if (!isWhitespace$1(c)) {
3104
3119
  this.cbs.onattribend(0, this.sectionStart);
3105
3120
  this.handleAttrStart(c);
3106
3121
  }
@@ -3112,7 +3127,7 @@ var Tokenizer = class {
3112
3127
  } else if (c === 39) {
3113
3128
  this.state = 20;
3114
3129
  this.sectionStart = this.index + 1;
3115
- } else if (!isWhitespace(c)) {
3130
+ } else if (!isWhitespace$1(c)) {
3116
3131
  this.sectionStart = this.index;
3117
3132
  this.state = 21;
3118
3133
  this.stateInAttrValueNoQuotes(c);
@@ -3133,7 +3148,7 @@ var Tokenizer = class {
3133
3148
  this.handleInAttrValue(c, 39);
3134
3149
  }
3135
3150
  stateInAttrValueNoQuotes(c) {
3136
- if (isWhitespace(c) || c === 62) {
3151
+ if (isWhitespace$1(c) || c === 62) {
3137
3152
  this.cbs.onattribdata(this.sectionStart, this.index);
3138
3153
  this.sectionStart = -1;
3139
3154
  this.cbs.onattribend(1, this.index);
@@ -16973,7 +16988,7 @@ function isSingleIfBlock(parent) {
16973
16988
  }
16974
16989
  const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/;
16975
16990
  function isAllWhitespace(str) {
16976
- for (let i = 0; i < str.length; i++) if (!isWhitespace(str.charCodeAt(i))) return false;
16991
+ for (let i = 0; i < str.length; i++) if (!isWhitespace$1(str.charCodeAt(i))) return false;
16977
16992
  return true;
16978
16993
  }
16979
16994
  function isWhitespaceText(node) {
@@ -17022,8 +17037,8 @@ const tokenizer = new Tokenizer(stack, {
17022
17037
  if (inVPre) return onText(getSlice(start, end), start, end);
17023
17038
  let innerStart = start + tokenizer.delimiterOpen.length;
17024
17039
  let innerEnd = end - tokenizer.delimiterClose.length;
17025
- while (isWhitespace(currentInput.charCodeAt(innerStart))) innerStart++;
17026
- while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) innerEnd--;
17040
+ while (isWhitespace$1(currentInput.charCodeAt(innerStart))) innerStart++;
17041
+ while (isWhitespace$1(currentInput.charCodeAt(innerEnd - 1))) innerEnd--;
17027
17042
  let exp = getSlice(innerStart, innerEnd);
17028
17043
  if (exp.includes("&")) exp = decodeHTML(exp);
17029
17044
  addNode({
@@ -17386,7 +17401,7 @@ function hasNewlineChar(str) {
17386
17401
  function condense(str) {
17387
17402
  let ret = "";
17388
17403
  let prevCharIsWhitespace = false;
17389
- for (let i = 0; i < str.length; i++) if (isWhitespace(str.charCodeAt(i))) {
17404
+ for (let i = 0; i < str.length; i++) if (isWhitespace$1(str.charCodeAt(i))) {
17390
17405
  if (!prevCharIsWhitespace) {
17391
17406
  ret += " ";
17392
17407
  prevCharIsWhitespace = true;
@@ -22855,7 +22870,7 @@ function parseCssVars(sfc) {
22855
22870
  const vars = [];
22856
22871
  sfc.styles.forEach((style) => {
22857
22872
  let match;
22858
- const content = style.content.replace(/\/\*([\s\S]*?)\*\/|\/\/.*/g, "");
22873
+ const content = stripComments(style.content);
22859
22874
  while (match = vBindRE.exec(content)) {
22860
22875
  const start = match.index + match[0].length;
22861
22876
  const end = lexBinding(content, start);
@@ -22867,6 +22882,70 @@ function parseCssVars(sfc) {
22867
22882
  });
22868
22883
  return vars;
22869
22884
  }
22885
+ const cssSpecialRE = /[/"'\\(]/g;
22886
+ function stripComments(content) {
22887
+ const len = content.length;
22888
+ let out = "";
22889
+ let last = 0;
22890
+ let i = 0;
22891
+ cssSpecialRE.lastIndex = 0;
22892
+ while (cssSpecialRE.test(content)) {
22893
+ i = cssSpecialRE.lastIndex - 1;
22894
+ const c = content.charCodeAt(i);
22895
+ if (c === 47) {
22896
+ const next = content.charCodeAt(i + 1);
22897
+ if (next === 42) {
22898
+ out += content.slice(last, i);
22899
+ const end = content.indexOf("*/", i + 2);
22900
+ i = last = end === -1 ? len : end + 2;
22901
+ } else if (next === 47) {
22902
+ out += content.slice(last, i);
22903
+ i += 2;
22904
+ while (i < len && !isNewline(content.charCodeAt(i))) i++;
22905
+ last = i;
22906
+ } else i++;
22907
+ } else if (c === 34 || c === 39) i = skipString(content, i + 1, c);
22908
+ else if (c === 92) i += 2;
22909
+ else if (isUrlFunction(content, i)) i = skipUrl(content, i + 1);
22910
+ else i++;
22911
+ cssSpecialRE.lastIndex = i;
22912
+ }
22913
+ return last === 0 ? content : out + content.slice(last);
22914
+ }
22915
+ function skipString(s, i, quote) {
22916
+ while (i < s.length) {
22917
+ const c = s.charCodeAt(i);
22918
+ if (c === quote) return i + 1;
22919
+ if (isNewline(c)) return i;
22920
+ if (c === 92) i += s.charCodeAt(i + 1) === 13 && s.charCodeAt(i + 2) === 10 ? 3 : 2;
22921
+ else i++;
22922
+ }
22923
+ return i;
22924
+ }
22925
+ function isUrlFunction(s, i) {
22926
+ const prev = s.charCodeAt(i - 4);
22927
+ return (s.charCodeAt(i - 3) | 32) === 117 && (s.charCodeAt(i - 2) | 32) === 114 && (s.charCodeAt(i - 1) | 32) === 108 && prev !== 92 && !isIdentChar(prev);
22928
+ }
22929
+ function skipUrl(s, i) {
22930
+ while (isWhitespace(s.charCodeAt(i))) i++;
22931
+ const c = s.charCodeAt(i);
22932
+ if (c === 34 || c === 39) return i;
22933
+ while (i < s.length) {
22934
+ const c = s.charCodeAt(i);
22935
+ if (c === 41) return i + 1;
22936
+ i += c === 92 ? 2 : 1;
22937
+ }
22938
+ return i;
22939
+ }
22940
+ function isIdentChar(c) {
22941
+ return c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c === 45 || c === 95 || c >= 128;
22942
+ }
22943
+ function isNewline(c) {
22944
+ return c === 10 || c === 13;
22945
+ }
22946
+ function isWhitespace(c) {
22947
+ return c === 32 || c === 9 || c === 12 || isNewline(c);
22948
+ }
22870
22949
  function lexBinding(content, start) {
22871
22950
  let state = 0;
22872
22951
  let parenDepth = 0;
@@ -25082,7 +25161,8 @@ function isBuiltInComponent(tag) {
25082
25161
  }
25083
25162
  function getBlockShape(block) {
25084
25163
  if (block.returns.length === 0) return 0;
25085
- return block.returns.length === 1 ? 1 : 2;
25164
+ if (block.returns.length > 1) return 2;
25165
+ return block.node.type === 1 && block.node.children.every((child) => child.type === 2 || child.type === 5) ? 2 : 1;
25086
25166
  }
25087
25167
  //#endregion
25088
25168
  //#region packages/compiler-vapor/src/transform.ts
@@ -25591,7 +25671,7 @@ function genInsertNode({ parent, elements, anchor }, { helper }) {
25591
25671
  //#endregion
25592
25672
  //#region packages/compiler-vapor/src/generators/expression.ts
25593
25673
  init_objectSpread2();
25594
- function genExpression(node, context, assignment) {
25674
+ function genExpression(node, context, assignment, asParams = false) {
25595
25675
  node = context.getExpressionReplacement(node);
25596
25676
  const { content, ast, isStatic, loc } = node;
25597
25677
  const { options } = context;
@@ -25610,10 +25690,13 @@ function genExpression(node, context, assignment) {
25610
25690
  const ids = [];
25611
25691
  const parentStackMap = /* @__PURE__ */ new Map();
25612
25692
  const parentStack = [];
25613
- walkIdentifiers(ast, (id) => {
25693
+ walkIdentifiers(ast, (id, _, __, isReference, isLocal) => {
25694
+ if (isLocal) {
25695
+ if (!id.typeAnnotation && !id.optional) return;
25696
+ } else if (!isReference) return;
25614
25697
  ids.push(id);
25615
25698
  parentStackMap.set(id, parentStack.slice());
25616
- }, false, parentStack);
25699
+ }, asParams, parentStack);
25617
25700
  let hasMemberExpression = false;
25618
25701
  if (ids.length) {
25619
25702
  const [frag, push] = buildCodeFragment();
@@ -25634,7 +25717,7 @@ function genExpression(node, context, assignment) {
25634
25717
  const leadingText = content.slice(lastEnd, start);
25635
25718
  if (leadingText.length) push([leadingText, -3]);
25636
25719
  hasMemberExpression || (hasMemberExpression = parent && (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression"));
25637
- push(...genIdentifier(source, context, {
25720
+ push(...genIdentifier(asParams ? id.name : source, context, {
25638
25721
  start: advancePositionWithClone(node.loc.start, source, start),
25639
25722
  end: advancePositionWithClone(node.loc.start, source, end),
25640
25723
  source
@@ -25786,6 +25869,7 @@ function analyzeExpressions(expressions) {
25786
25869
  const seenParents = /* @__PURE__ */ new Set();
25787
25870
  walkIdentifiers(exp.ast, (currentNode, parent, parentStack) => {
25788
25871
  if (parent && isMemberExpression(parent) && !seenParents.has(parent)) {
25872
+ var _parentStack$index;
25789
25873
  seenParents.add(parent);
25790
25874
  let hasGlobalIdentifier = false;
25791
25875
  const memberExp = extractMemberExpression(parent, (id) => {
@@ -25795,8 +25879,14 @@ function analyzeExpressions(expressions) {
25795
25879
  });
25796
25880
  if (isGloballyAllowed(id.name)) hasGlobalIdentifier = true;
25797
25881
  });
25882
+ if (memberExp === void 0) return;
25798
25883
  const parentOfMemberExp = parentStack[parentStack.length - 2];
25799
25884
  if (parentOfMemberExp && isCallExpression(parentOfMemberExp)) return;
25885
+ let chainChild = parent;
25886
+ let index = parentStack.length - 2;
25887
+ while (((_parentStack$index = parentStack[index]) === null || _parentStack$index === void 0 ? void 0 : _parentStack$index.type) === "TSNonNullExpression") chainChild = parentStack[index--];
25888
+ const chainParent = parentStack[index];
25889
+ if (chainParent && chainParent.type === "OptionalMemberExpression" && !chainParent.optional && chainParent.object === chainChild) return;
25800
25890
  if (hasGlobalIdentifier) return;
25801
25891
  registerVariable(memberExp, exp, false, {
25802
25892
  start: parent.start,
@@ -25942,7 +26032,7 @@ function processRepeatedExpressions(context, expressions, varDeclarations, updat
25942
26032
  for (const exp of expressions) {
25943
26033
  const processed = getProcessedExpression(exp, expressionReplacements);
25944
26034
  if (processed.content === content) setExpressionReplacement(expressionReplacements, exp, varName, null);
25945
- else if (processed.content.includes(content)) {
26035
+ else if (!content.includes("?.") && processed.content.includes(content)) {
25946
26036
  const replacements = findContentReplacements(processed, content, varName);
25947
26037
  if (replacements.length) {
25948
26038
  const replacedContent = applyContentReplacements(processed.content, replacements);
@@ -25975,23 +26065,14 @@ function applyReplacementPlan(context, expressionReplacements, replacementPlan)
25975
26065
  }
25976
26066
  }
25977
26067
  function findContentReplacements(exp, content, replacement) {
25978
- const identifiers = getIdentifierRanges(exp);
25979
- if (!identifiers.length) return [];
26068
+ const nodeRanges = getNodeRanges(exp);
26069
+ if (!nodeRanges.size) return [];
25980
26070
  const replacements = [];
25981
26071
  let searchStart = 0;
25982
26072
  let start = exp.content.indexOf(content, searchStart);
25983
26073
  while (start !== -1) {
25984
26074
  const end = start + content.length;
25985
- let canReplace = false;
25986
- for (const identifier of identifiers) {
25987
- if (start >= identifier.end || end <= identifier.start) continue;
25988
- if (start > identifier.start || end < identifier.end) {
25989
- canReplace = false;
25990
- break;
25991
- }
25992
- canReplace = true;
25993
- }
25994
- if (canReplace) {
26075
+ if (nodeRanges.has(`${start}:${end}`)) {
25995
26076
  replacements.push({
25996
26077
  start,
25997
26078
  end,
@@ -26012,6 +26093,15 @@ function findIdentifierReplacements(exp, name, replacement) {
26012
26093
  });
26013
26094
  return replacements;
26014
26095
  }
26096
+ function getNodeRanges(exp) {
26097
+ const ranges = /* @__PURE__ */ new Set();
26098
+ if (!exp.ast || typeof exp.ast !== "object") return ranges;
26099
+ walk$2(exp.ast, { enter(node) {
26100
+ if (isFunctionType(node) || node.type === "TemplateElement" || node.type.startsWith("TS") && !TS_NODE_TYPES.includes(node.type)) return this.skip();
26101
+ if (node.start != null && node.end != null) ranges.add(`${node.start - 1}:${node.end - 1}`);
26102
+ } });
26103
+ return ranges;
26104
+ }
26015
26105
  function getIdentifierRanges(exp) {
26016
26106
  if (!exp.ast || typeof exp.ast !== "object") return [];
26017
26107
  const identifiers = [];
@@ -26068,24 +26158,44 @@ function getUniqueDeclarationName(baseName, reservedNames) {
26068
26158
  reservedNames.add(name);
26069
26159
  return name;
26070
26160
  }
26161
+ /**
26162
+ * Returns the source of a member expression, or `undefined` if it contains a
26163
+ * node that cannot be extracted, e.g. `foo[bar ? 'a' : 'b']`. Such expressions
26164
+ * must not be cached - the extracted source would be incomplete.
26165
+ */
26071
26166
  function extractMemberExpression(exp, onIdentifier) {
26072
- if (!exp) return "";
26167
+ if (!exp) return;
26073
26168
  switch (exp.type) {
26074
26169
  case "Identifier":
26075
26170
  onIdentifier(exp);
26076
26171
  return exp.name;
26077
26172
  case "StringLiteral": return exp.extra ? exp.extra.raw : exp.value;
26078
26173
  case "NumericLiteral": return exp.value.toString();
26079
- case "BinaryExpression": return `${extractMemberExpression(exp.left, onIdentifier)} ${exp.operator} ${extractMemberExpression(exp.right, onIdentifier)}`;
26080
- case "CallExpression": return `${extractMemberExpression(exp.callee, onIdentifier)}(${exp.arguments.map((arg) => extractMemberExpression(arg, onIdentifier)).join(", ")})`;
26081
- case "OptionalCallExpression": return `${extractMemberExpression(exp.callee, onIdentifier)}?.(${exp.arguments.map((arg) => extractMemberExpression(arg, onIdentifier)).join(", ")})`;
26174
+ case "BinaryExpression": {
26175
+ var _exp$extra;
26176
+ const left = extractMemberExpression(exp.left, onIdentifier);
26177
+ const right = extractMemberExpression(exp.right, onIdentifier);
26178
+ if (left === void 0 || right === void 0) return;
26179
+ const expression = `${left} ${exp.operator} ${right}`;
26180
+ return ((_exp$extra = exp.extra) === null || _exp$extra === void 0 ? void 0 : _exp$extra.parenthesized) ? `(${expression})` : expression;
26181
+ }
26182
+ case "CallExpression":
26183
+ case "OptionalCallExpression": {
26184
+ const callee = extractMemberExpression(exp.callee, onIdentifier);
26185
+ const args = exp.arguments.map((arg) => extractMemberExpression(arg, onIdentifier));
26186
+ if (callee === void 0 || args.some((arg) => arg === void 0)) return;
26187
+ return `${callee}${exp.type === "OptionalCallExpression" ? "?." : ""}(${args.join(", ")})`;
26188
+ }
26082
26189
  case "MemberExpression":
26083
- case "OptionalMemberExpression":
26190
+ case "OptionalMemberExpression": {
26084
26191
  const object = extractMemberExpression(exp.object, onIdentifier);
26192
+ const property = extractMemberExpression(exp.property, exp.computed ? onIdentifier : NOOP);
26193
+ if (object === void 0 || property === void 0) return;
26085
26194
  const optional = exp.type === "OptionalMemberExpression" && exp.optional;
26086
- return `${object}${exp.computed ? `${optional ? "?." : ""}[${extractMemberExpression(exp.property, onIdentifier)}]` : `${optional ? "?." : "."}${extractMemberExpression(exp.property, NOOP)}`}`;
26087
- case "TSNonNullExpression": return `${extractMemberExpression(exp.expression, onIdentifier)}`;
26088
- default: return "";
26195
+ return `${object}${exp.computed ? `${optional ? "?." : ""}[${property}]` : `${optional ? "?." : "."}${property}`}`;
26196
+ }
26197
+ case "TSNonNullExpression": return extractMemberExpression(exp.expression, onIdentifier);
26198
+ default: return;
26089
26199
  }
26090
26200
  }
26091
26201
  const isCallExpression = (node) => {
@@ -26221,30 +26331,30 @@ function isConstantBinding(value, context) {
26221
26331
  function genFor(oper, context) {
26222
26332
  const { helper } = context;
26223
26333
  const { source, value, key, index, render, keyProp, once, id, component, onlyChild, slotRoot, wrappedRows } = oper;
26224
- const rawValue = value && value.content;
26225
- const rawKey = key && key.content;
26226
- const rawIndex = index && index.content;
26227
26334
  const sourceExpr = [
26228
26335
  "() => (",
26229
26336
  ...genExpression(source, context),
26230
26337
  ")"
26231
26338
  ];
26339
+ const plugins = context.options.expressionPlugins;
26232
26340
  const idToPathMap = parseValueDestructure(value, context);
26341
+ const keyToPathMap = parseValueDestructure(key, context);
26342
+ const indexToPathMap = parseValueDestructure(index, context);
26233
26343
  const [depth, exitScope] = context.enterScope();
26234
26344
  const itemVar = `_for_item${depth}`;
26235
- const idMap = buildDestructureIdMap(idToPathMap, `${itemVar}.value`, context.options.expressionPlugins);
26345
+ const idMap = buildDestructureIdMap(idToPathMap, `${itemVar}.value`, plugins);
26236
26346
  idMap[itemVar] = null;
26237
26347
  const args = [itemVar];
26238
- if (rawKey) {
26348
+ if (key) {
26239
26349
  const keyVar = `_for_key${depth}`;
26240
26350
  args.push(`, ${keyVar}`);
26241
- idMap[rawKey] = `${keyVar}.value`;
26351
+ Object.assign(idMap, buildDestructureIdMap(keyToPathMap, `${keyVar}.value`, plugins));
26242
26352
  idMap[keyVar] = null;
26243
- }
26244
- if (rawIndex) {
26353
+ } else if (index) args.push(", _");
26354
+ if (index) {
26245
26355
  const indexVar = `_for_index${depth}`;
26246
26356
  args.push(`, ${indexVar}`);
26247
- idMap[rawIndex] = `${indexVar}.value`;
26357
+ Object.assign(idMap, buildDestructureIdMap(indexToPathMap, `${indexVar}.value`, plugins));
26248
26358
  idMap[indexVar] = null;
26249
26359
  }
26250
26360
  const { selectorPatterns, keyOnlyBindingPatterns, skippedEffectIndexes } = matchPatterns(render, keyProp, idMap, context);
@@ -26285,23 +26395,19 @@ function genFor(oper, context) {
26285
26395
  ];
26286
26396
  function genCallback(expr) {
26287
26397
  if (!expr) return false;
26288
- const res = context.withId(() => genExpression(expr, context), genSimpleIdMap());
26289
- return [
26290
- ...genMulti([
26291
- "(",
26292
- ")",
26293
- ", "
26294
- ], rawValue ? rawValue : rawKey || rawIndex ? "_" : void 0, rawKey ? rawKey : rawIndex ? "__" : void 0, rawIndex),
26398
+ return context.withId(() => [
26399
+ ...genAliasParams(value, key, index, context),
26295
26400
  " => (",
26296
- ...res,
26401
+ ...genExpression(expr, context),
26297
26402
  ")"
26298
- ];
26403
+ ], genSimpleIdMap());
26299
26404
  }
26300
26405
  function genSimpleIdMap() {
26301
26406
  const idMap = {};
26302
- if (rawKey) idMap[rawKey] = null;
26303
- if (rawIndex) idMap[rawIndex] = null;
26304
- idToPathMap.forEach((_, id) => idMap[id] = null);
26407
+ const collect = (map) => map.forEach((_, id) => idMap[id] = null);
26408
+ collect(idToPathMap);
26409
+ collect(keyToPathMap);
26410
+ collect(indexToPathMap);
26305
26411
  return idMap;
26306
26412
  }
26307
26413
  }
@@ -26354,6 +26460,13 @@ function getSingleReturnedChild(block) {
26354
26460
  const id = block.returns[0];
26355
26461
  for (const child of block.dynamic.children) if (child.id === id) return child;
26356
26462
  }
26463
+ function genAliasParams(value, key, index, context) {
26464
+ return genMulti([
26465
+ "(",
26466
+ ")",
26467
+ ", "
26468
+ ], value ? genExpression(value, context, void 0, true) : key || index ? "_" : void 0, key ? genExpression(key, context, void 0, true) : index ? "__" : void 0, index && genExpression(index, context, void 0, true));
26469
+ }
26357
26470
  function parseValueDestructure(value, context) {
26358
26471
  const map = /* @__PURE__ */ new Map();
26359
26472
  if (value) {
@@ -26387,7 +26500,7 @@ function parseValueDestructure(value, context) {
26387
26500
  } else return JSON.stringify(p.key.name);
26388
26501
  }).join(", ") + "]";
26389
26502
  }
26390
- if (child.type === "AssignmentPattern" && (parent.type === "ObjectProperty" || parent.type === "ArrayPattern")) {
26503
+ if (child.type === "AssignmentPattern" && (parent.type === "ObjectProperty" || parent.type === "ArrayPattern" || parent.type === "ArrowFunctionExpression" && child.left === id)) {
26391
26504
  isDynamic = true;
26392
26505
  helper = context.helper("getDefaultValue");
26393
26506
  helperArgs = `() => (${rawValue.slice(child.right.start - 1, child.right.end - 1)})`;
@@ -26473,7 +26586,7 @@ function matchSelectorPattern(effect, key, idMap, context) {
26473
26586
  if (typeof node === "object" && node && node.type === "BinaryExpression" && node.operator === "===" && node.left.type !== "PrivateName") {
26474
26587
  const { left, right } = node;
26475
26588
  for (const [a, b] of [[left, right], [right, left]]) {
26476
- const aIsKey = isKeyOnlyBinding(a, key, content);
26589
+ const aIsKey = content.slice(a.start - 1, a.end - 1) === key;
26477
26590
  const bIsKey = isKeyOnlyBinding(b, key, content);
26478
26591
  const bVars = analyzeVariableScopes(b, idMap);
26479
26592
  if (aIsKey && !bIsKey && !bVars.length) matcheds.push([a, b]);
@@ -26583,7 +26696,7 @@ function genBlockShapeName(flags) {
26583
26696
  //#endregion
26584
26697
  //#region packages/compiler-vapor/src/generators/prop.ts
26585
26698
  const helpers = {
26586
- setText: { name: "setText" },
26699
+ setElementText: { name: "setElementText" },
26587
26700
  setHtml: { name: "setHtml" },
26588
26701
  setClass: { name: "setClass" },
26589
26702
  setClassName: { name: "setClassName" },
@@ -26801,7 +26914,7 @@ function getSpecialHelper(keyName, tagName, isSVG) {
26801
26914
  else if (keyName === "class") return extend({ isSVG }, helpers.setClass);
26802
26915
  else if (keyName === "style") return helpers.setStyle;
26803
26916
  else if (keyName === "innerHTML") return helpers.setHtml;
26804
- else if (keyName === "textContent") return helpers.setText;
26917
+ else if (keyName === "textContent") return helpers.setElementText;
26805
26918
  }
26806
26919
  //#endregion
26807
26920
  //#region packages/compiler-vapor/src/generators/templateRef.ts
@@ -26846,16 +26959,6 @@ function genGetTextChild(oper, context) {
26846
26959
  return [NEWLINE, `const x${oper.parent} = ${context.helper("txt")}(n${oper.parent})`];
26847
26960
  }
26848
26961
  //#endregion
26849
- //#region packages/compiler-vapor/src/generators/vShow.ts
26850
- function genVShow(oper, context) {
26851
- const { element } = oper;
26852
- return genCall(context.helper("applyVShow"), `n${element}`, [
26853
- `() => (`,
26854
- ...genExpression(oper.dir.exp, context),
26855
- `)`
26856
- ]);
26857
- }
26858
- //#endregion
26859
26962
  //#region packages/compiler-vapor/src/generators/modifier.ts
26860
26963
  function genDirectiveModifiers(modifiers) {
26861
26964
  return modifiers.map((value) => `${isSimpleIdentifier(value) ? value : JSON.stringify(value)}: true`).join(", ");
@@ -26885,54 +26988,6 @@ function genModelHandler(exp, context) {
26885
26988
  ];
26886
26989
  }
26887
26990
  //#endregion
26888
- //#region packages/compiler-vapor/src/generators/directive.ts
26889
- function genBuiltinDirective(oper, context) {
26890
- let call;
26891
- switch (oper.name) {
26892
- case "show":
26893
- call = genVShow(oper, context);
26894
- break;
26895
- case "model":
26896
- call = genVModel(oper, context);
26897
- break;
26898
- default: return [];
26899
- }
26900
- return [NEWLINE, ...oper.once ? genOnce(call, context) : call];
26901
- }
26902
- /**
26903
- * user directives via `withVaporDirectives`
26904
- */
26905
- function genDirectivesForElement(id, context) {
26906
- const dirs = filterCustomDirectives(id, context.block.operation);
26907
- return dirs.length ? genCustomDirectives(dirs, context) : [];
26908
- }
26909
- function genCustomDirectives(opers, context) {
26910
- const { helper } = context;
26911
- const element = `n${opers[0].element}`;
26912
- const directiveItems = opers.map(genDirectiveItem);
26913
- const directives = genMulti(DELIMITERS_ARRAY, ...directiveItems);
26914
- const call = genCall(helper("withVaporDirectives"), element, directives);
26915
- return [NEWLINE, ...opers[0].once ? genOnce(call, context) : call];
26916
- function genDirectiveItem({ dir, name, asset }) {
26917
- const directiveVar = asset ? toValidAssetId(name, "directive") : genExpression(extend(createSimpleExpression(name, false), { ast: null }), context);
26918
- const value = dir.exp && [
26919
- "() => (",
26920
- ...genExpression(dir.exp, context),
26921
- ")"
26922
- ];
26923
- const argument = dir.arg && genExpression(dir.arg, context);
26924
- const modifiers = !!dir.modifiers.length && [
26925
- "{ ",
26926
- genDirectiveModifiers(dir.modifiers.map((m) => m.content)),
26927
- " }"
26928
- ];
26929
- return genMulti(DELIMITERS_ARRAY.concat("void 0"), directiveVar, value, argument, modifiers);
26930
- }
26931
- }
26932
- function filterCustomDirectives(id, operations) {
26933
- return operations.filter((oper) => oper.type === 13 && oper.element === id && !oper.builtin);
26934
- }
26935
- //#endregion
26936
26991
  //#region packages/compiler-vapor/src/generators/component.ts
26937
26992
  function genStaticModifierPropKey(name) {
26938
26993
  const key = getModifierPropName(name);
@@ -26948,7 +27003,8 @@ function genCreateComponent(operation, context) {
26948
27003
  const isRuntimeDynamicComponent = !!(operation.dynamic && !operation.dynamic.isStatic);
26949
27004
  const dynamicComponentFlags = isRuntimeDynamicComponent ? genDynamicComponentFlags(root, once, slotRoot, operation.ns) : false;
26950
27005
  const nsArg = !isRuntimeDynamicComponent && (operation.useCreateElement || operation.asset || !!operation.dynamic) && operation.ns ? String(operation.ns) : false;
26951
- const rawSlots = genRawSlots(slots, context);
27006
+ const slotDeclarations = [];
27007
+ const rawSlots = genRawSlots(slots, context, slotDeclarations);
26952
27008
  const [ids, handlers] = processInlineHandlers(props, context);
26953
27009
  const rawProps = context.withId(() => genRawProps(props, context, true), ids);
26954
27010
  const inlineHandlers = handlers.reduce((acc, { name, value }) => {
@@ -26963,13 +27019,17 @@ function genCreateComponent(operation, context) {
26963
27019
  return [
26964
27020
  NEWLINE,
26965
27021
  ...inlineHandlers,
27022
+ ...slotDeclarations.length ? genMulti([
27023
+ "let ",
27024
+ NEWLINE,
27025
+ ", "
27026
+ ], ...slotDeclarations) : [],
26966
27027
  `const n${operation.id} = `,
26967
27028
  ...genCall(isRuntimeDynamicComponent ? helper("createDynamicComponent") : operation.useCreateElement ? helper("createPlainElement") : useAssetComponentHelper ? helper("createAssetComponent") : operation.asset ? helper("createComponentWithFallback") : helper("createComponent"), tag, rawProps, rawSlots, isRuntimeDynamicComponent ? dynamicComponentFlags : root ? "true" : false, isRuntimeDynamicComponent ? operation.key && [
26968
27029
  "() => (",
26969
27030
  ...genExpression(operation.key, context),
26970
27031
  ")"
26971
- ] : once && "true", useAssetComponentHelper ? maybeSelfReference && "true" : nsArg, useAssetComponentHelper && nsArg),
26972
- ...genDirectivesForElement(operation.id, context)
27032
+ ] : once && "true", useAssetComponentHelper ? maybeSelfReference && "true" : nsArg, useAssetComponentHelper && nsArg)
26973
27033
  ];
26974
27034
  function genTag() {
26975
27035
  if (operation.useCreateElement) return JSON.stringify(operation.tag);
@@ -27235,40 +27295,40 @@ function isDirectTemplateConstantAst(node) {
27235
27295
  }
27236
27296
  return false;
27237
27297
  }
27238
- function genRawSlots(slots, context) {
27298
+ function genRawSlots(slots, context, slotDeclarations) {
27239
27299
  if (!slots.length) return;
27240
27300
  const staticSlots = slots[0];
27241
27301
  if (staticSlots.slotType === 0) {
27242
27302
  const defaultSlot = getSingleDefaultSlot(staticSlots);
27243
27303
  if (defaultSlot && slots.length === 1) return genSlotBlockWithProps(defaultSlot, context);
27244
- return genStaticSlots(staticSlots, context, slots.length > 1 ? slots.slice(1) : void 0);
27304
+ return genStaticSlots(staticSlots, context, slotDeclarations, slots.length > 1 ? slots.slice(1) : void 0);
27245
27305
  } else return genStaticSlots({
27246
27306
  slotType: 0,
27247
27307
  slots: {}
27248
- }, context, slots);
27308
+ }, context, slotDeclarations, slots);
27249
27309
  }
27250
27310
  function getSingleDefaultSlot({ slots }) {
27251
27311
  const names = Object.keys(slots);
27252
27312
  return names.length === 1 && names[0] === "default" ? slots.default : void 0;
27253
27313
  }
27254
- function genStaticSlots({ slots }, context, dynamicSlots) {
27314
+ function genStaticSlots({ slots }, context, slotDeclarations, dynamicSlots) {
27255
27315
  const args = Object.keys(slots).map((name) => [`${JSON.stringify(name)}: `, ...genSlotBlockWithProps(slots[name], context)]);
27256
- if (dynamicSlots) args.push([`$: `, ...genDynamicSlots(dynamicSlots, context)]);
27316
+ if (dynamicSlots) args.push([`$: `, ...genDynamicSlots(dynamicSlots, context, slotDeclarations)]);
27257
27317
  return genMulti(DELIMITERS_OBJECT_NEWLINE, ...args);
27258
27318
  }
27259
- function genDynamicSlots(slots, context) {
27260
- return genMulti(DELIMITERS_ARRAY_NEWLINE, ...slots.map((slot) => slot.slotType === 0 ? genStaticSlots(slot, context) : slot.slotType === 4 ? slot.slots.content : genDynamicSlot(slot, context, slot.slotType !== 2)));
27319
+ function genDynamicSlots(slots, context, slotDeclarations) {
27320
+ return genMulti(DELIMITERS_ARRAY_NEWLINE, ...slots.map((slot) => slot.slotType === 0 ? genStaticSlots(slot, context, slotDeclarations) : slot.slotType === 4 ? slot.slots.content : genDynamicSlot(slot, context, slotDeclarations, slot.slotType !== 2)));
27261
27321
  }
27262
- function genDynamicSlot(slot, context, withFunction = false) {
27322
+ function genDynamicSlot(slot, context, slotDeclarations, withFunction = false) {
27263
27323
  let frag;
27264
27324
  switch (slot.slotType) {
27265
27325
  case 1:
27266
- frag = genBasicDynamicSlot(slot, context);
27326
+ frag = genBasicDynamicSlot(slot, context, slotDeclarations);
27267
27327
  break;
27268
27328
  case 2:
27269
27329
  frag = genLoopSlot(slot, context);
27270
27330
  break;
27271
- case 3: frag = genConditionalSlot(slot, context);
27331
+ case 3: frag = genConditionalSlot(slot, context, slotDeclarations);
27272
27332
  }
27273
27333
  if (!withFunction) return frag;
27274
27334
  return [
@@ -27277,32 +27337,38 @@ function genDynamicSlot(slot, context, withFunction = false) {
27277
27337
  ")"
27278
27338
  ];
27279
27339
  }
27280
- function genBasicDynamicSlot(slot, context) {
27340
+ function genBasicDynamicSlot(slot, context, slotDeclarations) {
27281
27341
  const { name, fn } = slot;
27282
- return genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...genExpression(name, context)], ["fn: ", ...genSlotBlockWithProps(fn, context, false)]);
27342
+ const slotName = context.getUniqueLocalName("s");
27343
+ slotDeclarations.push(slotName);
27344
+ return genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...genExpression(name, context)], [
27345
+ `fn: ${slotName} || (${slotName} = `,
27346
+ ...genSlotBlockWithProps(fn, context, false),
27347
+ ")"
27348
+ ]);
27283
27349
  }
27284
27350
  function genLoopSlot(slot, context) {
27285
27351
  const { name, fn, loop, keyProp } = slot;
27286
27352
  const { value, key, index, source } = loop;
27287
- const rawValue = value && value.content;
27288
- const rawKey = key && key.content;
27289
- const rawIndex = index && index.content;
27353
+ const plugins = context.options.expressionPlugins;
27290
27354
  const idToPathMap = parseValueDestructure(value, context);
27355
+ const keyToPathMap = parseValueDestructure(key, context);
27356
+ const indexToPathMap = parseValueDestructure(index, context);
27291
27357
  const [depth, exitScope] = context.enterScope();
27292
27358
  const itemVar = `_for_item${depth}`;
27293
- const idMap = buildDestructureIdMap(idToPathMap, `${itemVar}.value`, context.options.expressionPlugins);
27359
+ const idMap = buildDestructureIdMap(idToPathMap, `${itemVar}.value`, plugins);
27294
27360
  idMap[itemVar] = null;
27295
27361
  const args = [itemVar];
27296
- if (rawKey) {
27362
+ if (key) {
27297
27363
  const keyVar = `_for_key${depth}`;
27298
27364
  args.push(keyVar);
27299
- idMap[rawKey] = `${keyVar}.value`;
27365
+ Object.assign(idMap, buildDestructureIdMap(keyToPathMap, `${keyVar}.value`, plugins));
27300
27366
  idMap[keyVar] = null;
27301
- } else if (rawIndex) args.push("_");
27302
- if (rawIndex) {
27367
+ } else if (index) args.push("_");
27368
+ if (index) {
27303
27369
  const indexVar = `_for_index${depth}`;
27304
27370
  args.push(indexVar);
27305
- idMap[rawIndex] = `${indexVar}.value`;
27371
+ Object.assign(idMap, buildDestructureIdMap(indexToPathMap, `${indexVar}.value`, plugins));
27306
27372
  idMap[indexVar] = null;
27307
27373
  }
27308
27374
  const renderSlot = [
@@ -27316,14 +27382,11 @@ function genLoopSlot(slot, context) {
27316
27382
  ];
27317
27383
  exitScope();
27318
27384
  const rawIdMap = {};
27319
- if (rawKey) rawIdMap[rawKey] = null;
27320
- if (rawIndex) rawIdMap[rawIndex] = null;
27321
- idToPathMap.forEach((_, id) => rawIdMap[id] = null);
27322
- const rawParams = genMulti([
27323
- "(",
27324
- ")",
27325
- ", "
27326
- ], rawValue ? rawValue : rawKey || rawIndex ? "_" : void 0, rawKey ? rawKey : rawIndex ? "__" : void 0, rawIndex);
27385
+ const collect = (map) => map.forEach((_, id) => rawIdMap[id] = null);
27386
+ collect(idToPathMap);
27387
+ collect(keyToPathMap);
27388
+ collect(indexToPathMap);
27389
+ const rawParams = context.withId(() => genAliasParams(value, key, index, context), rawIdMap);
27327
27390
  const getName = [
27328
27391
  ...rawParams,
27329
27392
  " => (",
@@ -27342,17 +27405,17 @@ function genLoopSlot(slot, context) {
27342
27405
  ")"
27343
27406
  ], renderSlot, getName, getKey)];
27344
27407
  }
27345
- function genConditionalSlot(slot, context) {
27408
+ function genConditionalSlot(slot, context, slotDeclarations) {
27346
27409
  const { condition, positive, negative } = slot;
27347
27410
  return [
27348
27411
  ...genExpression(condition, context),
27349
27412
  INDENT_START,
27350
27413
  NEWLINE,
27351
27414
  "? ",
27352
- ...genDynamicSlot(positive, context),
27415
+ ...genDynamicSlot(positive, context, slotDeclarations),
27353
27416
  NEWLINE,
27354
27417
  ": ",
27355
- ...negative ? [...genDynamicSlot(negative, context)] : ["void 0"],
27418
+ ...negative ? genDynamicSlot(negative, context, slotDeclarations) : ["void 0"],
27356
27419
  INDENT_END
27357
27420
  ];
27358
27421
  }
@@ -27410,6 +27473,73 @@ function genSlotFlags(flags) {
27410
27473
  return genFlags(flags, names);
27411
27474
  }
27412
27475
  //#endregion
27476
+ //#region packages/compiler-vapor/src/generators/vShow.ts
27477
+ function genVShow(oper, context) {
27478
+ const { element } = oper;
27479
+ return genCall(context.helper("applyVShow"), `n${element}`, [
27480
+ `() => (`,
27481
+ ...genExpression(oper.dir.exp, context),
27482
+ `)`
27483
+ ]);
27484
+ }
27485
+ //#endregion
27486
+ //#region packages/compiler-vapor/src/generators/directive.ts
27487
+ function genBuiltinDirective(oper, context) {
27488
+ let call;
27489
+ switch (oper.name) {
27490
+ case "show":
27491
+ call = genVShow(oper, context);
27492
+ break;
27493
+ case "model":
27494
+ call = genVModel(oper, context);
27495
+ break;
27496
+ default: return [];
27497
+ }
27498
+ return [NEWLINE, ...oper.once ? genOnce(call, context) : call];
27499
+ }
27500
+ /**
27501
+ * user directives via `withVaporDirectives`, emitted at the end of the block
27502
+ * so the element's props, children and v-model are in place first
27503
+ */
27504
+ function genCustomDirectives(operations, context) {
27505
+ const byElement = /* @__PURE__ */ new Map();
27506
+ for (const oper of operations) if (oper.type === 13 && !oper.builtin) {
27507
+ const dirs = byElement.get(oper.element);
27508
+ if (dirs) dirs.push(oper);
27509
+ else byElement.set(oper.element, [oper]);
27510
+ }
27511
+ const [frag, push] = buildCodeFragment();
27512
+ for (const dirs of byElement.values()) push(...genElementDirectives(dirs, context));
27513
+ return frag;
27514
+ }
27515
+ function genElementDirectives(opers, context) {
27516
+ const { helper } = context;
27517
+ const element = `n${opers[0].element}`;
27518
+ const directiveItems = opers.map(genDirectiveItem);
27519
+ const directives = genMulti(DELIMITERS_ARRAY, ...directiveItems);
27520
+ const call = genCall(helper("withVaporDirectives"), element, directives);
27521
+ return [NEWLINE, ...opers[0].once ? genOnce(call, context) : call];
27522
+ function genDirectiveItem({ dir, name, asset }) {
27523
+ const directiveVar = asset ? toValidAssetId(name, "directive") : genExpression(extend(createSimpleExpression(name, false), { ast: null }), context);
27524
+ const value = dir.exp && [
27525
+ "() => (",
27526
+ ...genExpression(dir.exp, context),
27527
+ ")"
27528
+ ];
27529
+ const argument = dir.arg && [
27530
+ "() => (",
27531
+ ...genExpression(dir.arg, context),
27532
+ ")"
27533
+ ];
27534
+ const modifiers = !!dir.modifiers.length && [
27535
+ "{ ",
27536
+ genDirectiveModifiers(dir.modifiers.map((m) => m.content)),
27537
+ " }"
27538
+ ];
27539
+ return genMulti(DELIMITERS_ARRAY.concat("void 0"), directiveVar, value, argument, modifiers);
27540
+ }
27541
+ }
27542
+ //#endregion
27413
27543
  //#region packages/compiler-vapor/src/generators/key.ts
27414
27544
  function genKey(oper, context) {
27415
27545
  const { id, value, block, slotRoot } = oper;
@@ -27522,10 +27652,7 @@ function genTemplates(templates, context) {
27522
27652
  function genSelf(dynamic, context, flushBeforeDynamic) {
27523
27653
  const [frag, push] = buildCodeFragment();
27524
27654
  const { id, template, operation, hasDynamicChild } = dynamic;
27525
- if (id !== void 0 && template !== void 0) {
27526
- push(NEWLINE, `const n${id} = ${context.tName(template)}()`);
27527
- push(...genDirectivesForElement(id, context));
27528
- }
27655
+ if (id !== void 0 && template !== void 0) push(NEWLINE, `const n${id} = ${context.tName(template)}()`);
27529
27656
  if (operation) push(...genOperationWithInsertionState(operation, context));
27530
27657
  if (hasDynamicChild) push(...genChildren(dynamic, context, push, `n${id}`, flushBeforeDynamic));
27531
27658
  return frag;
@@ -27565,7 +27692,7 @@ function genChildren(dynamic, context, pushBlock, from = `n${dynamic.id}`, flush
27565
27692
  }
27566
27693
  const elementIndex = index + offset;
27567
27694
  const inlinePlaceholder = id === void 0 && canInlinePlaceholder(child) && child.template == null && child.operation === void 0 && !(child.flags & 6);
27568
- const accessPath = genAccessPath(context, from, elementIndex, prev);
27695
+ const accessPath = genAccessPath(context, from, elementIndex, prev, child.isText);
27569
27696
  if (inlinePlaceholder) {
27570
27697
  if (prev && prev[2]) {
27571
27698
  push(...genChildren(child, context, pushBlock, [
@@ -27599,7 +27726,6 @@ function genChildren(dynamic, context, pushBlock, from = `n${dynamic.id}`, flush
27599
27726
  flushBeforeDynamic && flushBeforeDynamic(child, push);
27600
27727
  push(...genSelf(child, context, flushBeforeDynamic));
27601
27728
  }
27602
- if (id !== void 0) push(...genDirectivesForElement(id, context));
27603
27729
  prev = [
27604
27730
  variable,
27605
27731
  elementIndex,
@@ -27613,14 +27739,15 @@ function genChildren(dynamic, context, pushBlock, from = `n${dynamic.id}`, flush
27613
27739
  * Build one DOM lookup path while preserving the fast sibling walk:
27614
27740
  * adjacent nodes use _next(prev), otherwise fall back to _nthChild(parent).
27615
27741
  */
27616
- function genAccessPath({ helper }, from, elementIndex, prev) {
27617
- if (prev) return elementIndex - prev[1] === 1 ? genCall(helper("next"), prev[0]) : genCall(helper("nthChild"), from, String(elementIndex));
27618
- if (elementIndex === 0) return genCall(helper("child"), from);
27742
+ function genAccessPath({ helper }, from, elementIndex, prev, isText) {
27743
+ const textHint = isText ? "true" : void 0;
27744
+ if (prev) return elementIndex - prev[1] === 1 ? genCall(helper("next"), prev[0], textHint) : genCall(helper("nthChild"), from, String(elementIndex), textHint);
27745
+ if (elementIndex === 0) return genCall(helper("child"), from, textHint);
27619
27746
  if (elementIndex === 1) {
27620
27747
  const firstChild = genCall(helper("child"), from);
27621
- return genCall(helper("next"), firstChild);
27748
+ return genCall(helper("next"), firstChild, textHint);
27622
27749
  }
27623
- return genCall(helper("nthChild"), from, String(elementIndex));
27750
+ return genCall(helper("nthChild"), from, String(elementIndex), textHint);
27624
27751
  }
27625
27752
  /**
27626
27753
  * Only inline a placeholder when materializing it would not save a parent
@@ -27735,6 +27862,7 @@ function genBlockContent(block, context, root, genEffectsExtraFrag, skippedEffec
27735
27862
  if (effectIndex < effect.length) push(...genEffectRange(effectIndex, effect.length, genEffectsExtraFrag));
27736
27863
  else if (genEffectsExtraFrag) push(...genEffects([], context, genEffectsExtraFrag));
27737
27864
  if (modelOperations.length) push(...genOperations(modelOperations, context));
27865
+ push(...genCustomDirectives(operation, context));
27738
27866
  push(NEWLINE, `return `);
27739
27867
  const returnNodes = returns.map((n) => `n${n}`);
27740
27868
  push(...returnNodes.length > 1 ? genMulti(DELIMITERS_ARRAY, ...returnNodes) : [returnNodes[0] || "[]"]);
@@ -27949,14 +28077,16 @@ var CodegenContext = class {
27949
28077
  enterScope() {
27950
28078
  return [this.scopeLevel++, () => this.scopeLevel--];
27951
28079
  }
27952
- getUniqueLocalName(base, scopeNames) {
28080
+ getUniqueLocalName(base, scopeNames = this.generatedLocalNames) {
27953
28081
  const name = this.findAvailableName(base, scopeNames);
27954
28082
  scopeNames.add(name);
27955
28083
  this.generatedLocalNames.add(name);
27956
28084
  return name;
27957
28085
  }
27958
28086
  isNameAvailable(name, reservedNames) {
28087
+ var _this$identifiers$nam;
27959
28088
  if (this.bindingNames.has(name) || reservedNames.has(name)) return false;
28089
+ if ((_this$identifiers$nam = this.identifiers[name]) === null || _this$identifiers$nam === void 0 ? void 0 : _this$identifiers$nam.length) return false;
27960
28090
  for (const alias of this.helpers.values()) if (alias === name) return false;
27961
28091
  return true;
27962
28092
  }
@@ -28116,9 +28246,9 @@ const transformVBind = (dir, node, context) => {
28116
28246
  context.options.onError(createCompilerError(34, loc));
28117
28247
  exp = createSimpleExpression("", true, loc);
28118
28248
  }
28119
- const isComponent = node.tagType === 1;
28120
- exp = resolveExpression(exp, isComponent);
28121
28249
  arg = resolveExpression(arg);
28250
+ const excludeNumber = node.tagType === 1 || node.tagType === 2 || !!context.options.isCustomElement(node.tag) || !arg.isStatic || isSpecialBooleanAttr(arg.content) || isCheckboxValueProp(node, arg.content) || !modifiersString.includes("attr") && (isFoldableBooleanAttr(arg.content) || isModelValueProp(node, arg.content));
28251
+ exp = resolveExpression(exp, excludeNumber);
28122
28252
  if (arg.isStatic && isReservedProp(arg.content)) return;
28123
28253
  let camel = false;
28124
28254
  if (modifiersString.includes("camel")) {
@@ -28138,7 +28268,7 @@ const transformVBind = (dir, node, context) => {
28138
28268
  init_objectSpread2();
28139
28269
  const dynamicComponentKeys = /* @__PURE__ */ new WeakMap();
28140
28270
  const transformKey = (node, context) => {
28141
- if (node.type !== 1 || context.inVOnce || findDir(node, "for")) return;
28271
+ if (node.type !== 1 || context.inVOnce || findDir(node, "for") || node.tagType === 3 && findDir(node, /^(if|else-if|else|slot)$/, true)) return;
28142
28272
  const dir = findProp(node, "key", true, true);
28143
28273
  if (!dir || dir.type === 6) return;
28144
28274
  let value;
@@ -28195,6 +28325,53 @@ const transformVHtml = (dir, node, context) => {
28195
28325
  //#region packages/compiler-vapor/src/transforms/transformElement.ts
28196
28326
  init_objectSpread2();
28197
28327
  const isReservedProp = /*#__PURE__*/ makeMap(",key,ref,ref_for,ref_key,");
28328
+ /**
28329
+ * `true-value` / `false-value` are only read back by `v-model` on a checkbox,
28330
+ * and they are dropped from the ssr output, so a checkbox that only carries
28331
+ * them in the template has nothing left to read from after hydration. A
28332
+ * dynamic `type` can still make the element a checkbox at runtime.
28333
+ */
28334
+ function isCheckboxValueProp(node, key) {
28335
+ if (node.tag !== "input" || key !== "true-value" && key !== "false-value") return false;
28336
+ const type = findProp(node, "type");
28337
+ return type ? type.type === 7 || type.value.content === "checkbox" : hasDynamicKeyVBind(node);
28338
+ }
28339
+ /**
28340
+ * Props the template string cannot carry, so they have to be applied by a
28341
+ * runtime prop setter instead:
28342
+ * - `<textarea>` / `<select>` ignore a `value` content attribute, the value
28343
+ * only takes effect as a dom property - which is where vdom sends it too,
28344
+ * see `shouldSetAsProp`
28345
+ * - `true-value` / `false-value`, see `isCheckboxValueProp`
28346
+ */
28347
+ function isRuntimeOnlyProp(node, key) {
28348
+ return key === "value" && (node.tag === "textarea" || node.tag === "select") || isCheckboxValueProp(node, key);
28349
+ }
28350
+ /**
28351
+ * Props `v-model` reads back off the element as raw values (`_value`,
28352
+ * `_trueValue`, `_falseValue`), so a number literal bound to them has to keep
28353
+ * its type - vdom bails on `<option :value="1">` in its own static
28354
+ * stringification for the same reason.
28355
+ *
28356
+ * Deliberately wider than `isRuntimeOnlyProp`: a literal `<input value="1">`
28357
+ * belongs in the template string, only the type of a *bound* number has to
28358
+ * survive. So this one is consulted by `v-bind`, that one by
28359
+ * `transformNativeElement`.
28360
+ */
28361
+ function isModelValueProp(node, key) {
28362
+ const { tag } = node;
28363
+ return key === "value" && (tag === "input" || tag === "option" || tag === "textarea" || tag === "select") || isCheckboxValueProp(node, key);
28364
+ }
28365
+ /**
28366
+ * Boolean attributes are folded into the template from the value itself, which
28367
+ * needs the type it was written with: `:disabled="0"` is `false`, while the
28368
+ * `"0"` a stringified template attribute would carry is `true`. `hidden` is
28369
+ * not a boolean attribute - it also takes `until-found` - but a number means
28370
+ * the same thing there.
28371
+ */
28372
+ function isFoldableBooleanAttr(key) {
28373
+ return isBooleanAttr(key) || key === "hidden";
28374
+ }
28198
28375
  const transformElement = (node, context) => {
28199
28376
  let effectIndex = context.block.effect.length;
28200
28377
  const getEffectIndex = () => effectIndex++;
@@ -28319,6 +28496,7 @@ function resolveSetupReference(name, context) {
28319
28496
  }
28320
28497
  const dynamicKeys = ["indeterminate"];
28321
28498
  const NEEDS_QUOTES_RE = /[\s"'`=<>]/;
28499
+ const LEADING_NEWLINE_RE = /^\r?\n/;
28322
28500
  const UNSAFE_ATTR_NAME_RE = /[\u0000-\u0020"'<=/>]/;
28323
28501
  function transformNativeElement(node, propsResult, staticKey, singleRoot, context, getEffectIndex, omitEndTag) {
28324
28502
  const { tag } = node;
@@ -28347,10 +28525,10 @@ function transformNativeElement(node, propsResult, staticKey, singleRoot, contex
28347
28525
  const canStringifyAttrName = key.isStatic && !UNSAFE_ATTR_NAME_RE.test(key.content);
28348
28526
  let foldedValue;
28349
28527
  if (canStringifyAttrName && context.imports.some((imported) => values[0].content.includes(imported.exp.content))) template += ` ${key.content}="${IMPORT_EXP_START}${values[0].content}${IMPORT_EXP_END}"`;
28350
- else if (canStringifyAttrName && values.length === 1 && (values[0].isStatic || values[0].content === "''") && !dynamicKeys.includes(key.content)) {
28528
+ else if (canStringifyAttrName && values.length === 1 && (values[0].isStatic || values[0].content === "''") && !dynamicKeys.includes(key.content) && !isRuntimeOnlyProp(node, key.content)) {
28351
28529
  const value = values[0].content === "''" ? "" : values[0].content;
28352
28530
  appendTemplateProp(key.content, value);
28353
- } else if (canStringifyAttrName && !prop.modifier && (isBooleanAttr(key.content) || key.content === "hidden") && (foldedValue = foldBooleanAttrValue(key.content, values)) != null) {
28531
+ } else if (canStringifyAttrName && !prop.modifier && isFoldableBooleanAttr(key.content) && (foldedValue = foldBooleanAttrValue(key.content, values)) != null) {
28354
28532
  if (foldedValue) appendTemplateProp(key.content);
28355
28533
  } else if (canStringifyAttrName && !prop.modifier && hasBoundValue(values) && (foldedValue = key.content === "class" ? foldClassValues(values) : key.content === "style" ? foldStyleValues(values) : void 0) != null) {
28356
28534
  if (foldedValue) appendTemplateProp(key.content, foldedValue, true);
@@ -28362,7 +28540,9 @@ function transformNativeElement(node, propsResult, staticKey, singleRoot, contex
28362
28540
  }, getEffectIndex);
28363
28541
  }
28364
28542
  }
28365
- template += `>` + context.childrenTemplate.join("");
28543
+ let children = context.childrenTemplate.join("");
28544
+ if (node.ns === 0 && parserOptions.isIgnoreNewlineTag(tag) && LEADING_NEWLINE_RE.test(children)) children = `\n` + children;
28545
+ template += `>` + children;
28366
28546
  if (!isVoidTag(tag) && !omitEndTag) template += `</${tag}>`;
28367
28547
  context.templateRoot = singleRoot;
28368
28548
  if (context.parent && context.parent.node.type === 1 && !isValidHTMLNesting(context.parent.node.tag, tag)) {
@@ -28491,6 +28671,7 @@ function evaluateObjectExpression(node) {
28491
28671
  return { value };
28492
28672
  }
28493
28673
  function resolveStaticKey(node, context, isComponent) {
28674
+ if (context.parent.node !== context.block.node) return;
28494
28675
  const keyProp = findProp(node, "key", false, true);
28495
28676
  if (!keyProp) return;
28496
28677
  if (keyProp.type === 6) return keyProp.value ? createSimpleExpression(keyProp.value.content, true, keyProp.value.loc) : EMPTY_EXPRESSION;
@@ -28740,6 +28921,10 @@ function transformProp(prop, node, context) {
28740
28921
  const directiveTransform = context.options.directiveTransforms[name];
28741
28922
  if (directiveTransform) return directiveTransform(prop, node, context);
28742
28923
  if (!isBuiltInDirective(name)) {
28924
+ if (node.tagType === 2) {
28925
+ context.options.onError(createCompilerError(36, prop.loc));
28926
+ return;
28927
+ }
28743
28928
  const fromSetup = resolveSetupReference(`v-${name}`, context);
28744
28929
  if (fromSetup) name = fromSetup;
28745
28930
  else context.directive.add(name);
@@ -28807,18 +28992,20 @@ const transformChildren = (node, context) => {
28807
28992
  childContext.templateCloseBlocks = isInSameTemplate ? childTemplateCloseState.blocks : false;
28808
28993
  transformNode(childContext);
28809
28994
  const childDynamic = childContext.dynamic;
28995
+ const createsNode = isFragment || childContext.template !== "" || childDynamic.template != null || childDynamic.id !== void 0 || childDynamic.operation !== void 0 || childDynamic.hasDynamicChild === true;
28810
28996
  if (isFragment) {
28811
28997
  childContext.reference();
28812
28998
  childContext.registerTemplate();
28813
28999
  if (!(childDynamic.flags & 2) || childDynamic.flags & 4) context.block.returns.push(childContext.dynamic.id);
28814
29000
  } else if (useCreateElement) {
28815
- if (childContext.template !== "" || childDynamic.template != null || childDynamic.id !== void 0 || childDynamic.operation !== void 0 || childDynamic.hasDynamicChild === true) {
29001
+ if (createsNode) {
28816
29002
  childContext.reference();
28817
29003
  childContext.registerTemplate();
28818
29004
  childDynamic.flags |= 6;
28819
29005
  }
28820
29006
  } else context.childrenTemplate.push(childContext.template);
28821
29007
  if (childDynamic.hasDynamicChild || childDynamic.id !== void 0 || childDynamic.flags & 2 || childDynamic.flags & 4) context.dynamic.hasDynamicChild = true;
29008
+ if (!createsNode) childDynamic.flags |= 2;
28822
29009
  context.dynamic.children[i] = childDynamic;
28823
29010
  }
28824
29011
  if (!isFragment) processDynamicChildren(context);
@@ -28918,6 +29105,7 @@ function processInterpolation(context) {
28918
29105
  }
28919
29106
  context.template += " ";
28920
29107
  const id = context.reference();
29108
+ context.dynamic.isText = isElementChild;
28921
29109
  if (values.length === 0) return;
28922
29110
  context.registerEffect(values, {
28923
29111
  type: 5,
@@ -29500,8 +29688,6 @@ const transformSlotOutlet = (node, context) => {
29500
29688
  if (slotProps.length) {
29501
29689
  const [isDynamic, props] = buildProps(extend({}, node, { props: slotProps }), context, true);
29502
29690
  irProps = isDynamic ? props : [props];
29503
- const runtimeDirective = context.block.operation.find((oper) => oper.type === 13 && oper.element === id);
29504
- if (runtimeDirective) context.options.onError(createCompilerError(36, runtimeDirective.dir.loc));
29505
29691
  }
29506
29692
  return () => {
29507
29693
  exitBlock && exitBlock();
@@ -30865,10 +31051,10 @@ var require_picocolors_browser = /* @__PURE__ */ __commonJSMin(((exports, module
30865
31051
  module.exports.createColors = create;
30866
31052
  }));
30867
31053
  //#endregion
30868
- //#region (ignored) node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/terminal-highlight
31054
+ //#region (ignored) node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/terminal-highlight
30869
31055
  var require_terminal_highlight = /* @__PURE__ */ __commonJSMin((() => {}));
30870
31056
  //#endregion
30871
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/css-syntax-error.js
31057
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/css-syntax-error.js
30872
31058
  var require_css_syntax_error = /* @__PURE__ */ __commonJSMin(((exports, module) => {
30873
31059
  let pico = require_picocolors_browser();
30874
31060
  let terminalHighlight = require_terminal_highlight();
@@ -30945,10 +31131,11 @@ var require_css_syntax_error = /* @__PURE__ */ __commonJSMin(((exports, module)
30945
31131
  CssSyntaxError.default = CssSyntaxError;
30946
31132
  }));
30947
31133
  //#endregion
30948
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/stringifier.js
31134
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/stringifier.js
30949
31135
  var require_stringifier = /* @__PURE__ */ __commonJSMin(((exports, module) => {
30950
31136
  const STYLE_TAG = /(<)(\/?style\b)/gi;
30951
31137
  const COMMENT_OPEN = /(<)(!--)/g;
31138
+ const AT_NAME_END = /[\t\n\f\r "#'()/;[\\\]{}]/;
30952
31139
  function escapeHTMLInCSS(str) {
30953
31140
  if (typeof str !== "string") return str;
30954
31141
  if (!str.includes("<")) return str;
@@ -30974,9 +31161,15 @@ var require_stringifier = /* @__PURE__ */ __commonJSMin(((exports, module) => {
30974
31161
  function atruleStart(str, node) {
30975
31162
  let name = "@" + node.name;
30976
31163
  let params = node.params ? str.rawValue(node, "params") : "";
30977
- if (typeof node.raws.afterName !== "undefined") name += node.raws.afterName;
30978
- else if (params) name += " ";
30979
- return name + params;
31164
+ let afterName = node.raws.afterName;
31165
+ if (typeof afterName === "undefined") afterName = params ? " " : "";
31166
+ else if (afterName === "" && params && !AT_NAME_END.test(params[0])) afterName = " ";
31167
+ return name + afterName + params;
31168
+ }
31169
+ function isCustomProperty(node) {
31170
+ if (!node.prop.startsWith("--")) return false;
31171
+ let before = node.raws.before;
31172
+ return typeof before === "undefined" || !/\S$/.test(before);
30980
31173
  }
30981
31174
  function pushBody(str, stack, node) {
30982
31175
  let nodes = node.nodes;
@@ -30987,11 +31180,16 @@ var require_stringifier = /* @__PURE__ */ __commonJSMin(((exports, module) => {
30987
31180
  }
30988
31181
  let semicolon = str.raw(node, "semicolon");
30989
31182
  let isDocument = node.type === "document";
30990
- for (let i = nodes.length - 1; i >= 0; i--) stack.push({
30991
- document: isDocument,
30992
- node: nodes[i],
30993
- semicolon: last !== i || semicolon
30994
- });
31183
+ for (let i = nodes.length - 1; i >= 0; i--) {
31184
+ let child = nodes[i];
31185
+ let childSemicolon = last !== i || semicolon;
31186
+ if (!childSemicolon && i < nodes.length - 1 && (child.type === "atrule" && !child.nodes || child.type === "decl" && isCustomProperty(child))) childSemicolon = true;
31187
+ stack.push({
31188
+ document: isDocument,
31189
+ node: child,
31190
+ semicolon: childSemicolon
31191
+ });
31192
+ }
30995
31193
  }
30996
31194
  function pushBlock(str, stack, node, start) {
30997
31195
  let between = str.raw(node, "between", "beforeOpen");
@@ -31236,6 +31434,7 @@ var require_stringifier = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31236
31434
  return value;
31237
31435
  }
31238
31436
  root(node) {
31437
+ if (node.source && node.source.input.hasBOM) this.builder("", node, "start");
31239
31438
  this.body(node);
31240
31439
  if (node.raws.after) {
31241
31440
  let after = node.raws.after;
@@ -31258,7 +31457,7 @@ var require_stringifier = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31258
31457
  Stringifier.default = Stringifier;
31259
31458
  }));
31260
31459
  //#endregion
31261
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/stringify.js
31460
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/stringify.js
31262
31461
  var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31263
31462
  let Stringifier = require_stringifier();
31264
31463
  function stringify(node, builder) {
@@ -31268,13 +31467,13 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31268
31467
  stringify.default = stringify;
31269
31468
  }));
31270
31469
  //#endregion
31271
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/symbols.js
31470
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/symbols.js
31272
31471
  var require_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31273
31472
  module.exports.isClean = Symbol("isClean");
31274
31473
  module.exports.my = Symbol("my");
31275
31474
  }));
31276
31475
  //#endregion
31277
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/node.js
31476
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/node.js
31278
31477
  var require_node$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31279
31478
  let CssSyntaxError = require_css_syntax_error();
31280
31479
  let Stringifier = require_stringifier();
@@ -31636,7 +31835,7 @@ var require_node$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31636
31835
  Node.default = Node;
31637
31836
  }));
31638
31837
  //#endregion
31639
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/comment.js
31838
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/comment.js
31640
31839
  var require_comment$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31641
31840
  let Node = require_node$1();
31642
31841
  var Comment = class extends Node {
@@ -31649,7 +31848,7 @@ var require_comment$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31649
31848
  Comment.default = Comment;
31650
31849
  }));
31651
31850
  //#endregion
31652
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/declaration.js
31851
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/declaration.js
31653
31852
  var require_declaration = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31654
31853
  init_objectSpread2();
31655
31854
  let Node = require_node$1();
@@ -31667,7 +31866,7 @@ var require_declaration = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31667
31866
  Declaration.default = Declaration;
31668
31867
  }));
31669
31868
  //#endregion
31670
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/container.js
31869
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/container.js
31671
31870
  var require_container$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
31672
31871
  let Comment = require_comment$1();
31673
31872
  let Declaration = require_declaration();
@@ -32003,7 +32202,7 @@ var require_container$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32003
32202
  }));
32004
32203
  /* c8 ignore stop */
32005
32204
  //#endregion
32006
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/at-rule.js
32205
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/at-rule.js
32007
32206
  var require_at_rule = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32008
32207
  let Container = require_container$1();
32009
32208
  var AtRule = class extends Container {
@@ -32025,7 +32224,7 @@ var require_at_rule = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32025
32224
  Container.registerAtRule(AtRule);
32026
32225
  }));
32027
32226
  //#endregion
32028
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/document.js
32227
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/document.js
32029
32228
  var require_document = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32030
32229
  init_objectSpread2();
32031
32230
  let Container = require_container$1();
@@ -32076,21 +32275,21 @@ var init_objectWithoutProperties = __esmMin((() => {
32076
32275
  init_objectWithoutPropertiesLoose();
32077
32276
  }));
32078
32277
  //#endregion
32079
- //#region node_modules/.pnpm/nanoid@3.3.12/node_modules/nanoid/non-secure/index.cjs
32278
+ //#region node_modules/.pnpm/nanoid@3.3.19/node_modules/nanoid/non-secure/index.cjs
32080
32279
  var require_non_secure = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32081
32280
  let urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
32082
32281
  let customAlphabet = (alphabet, defaultSize = 21) => {
32083
32282
  return (size = defaultSize) => {
32084
32283
  let id = "";
32085
32284
  let i = size | 0;
32086
- while (i--) id += alphabet[Math.random() * alphabet.length | 0];
32285
+ while (i-- > 0) id += alphabet[Math.random() * alphabet.length | 0];
32087
32286
  return id;
32088
32287
  };
32089
32288
  };
32090
32289
  let nanoid = (size = 21) => {
32091
32290
  let id = "";
32092
32291
  let i = size | 0;
32093
- while (i--) id += urlAlphabet[Math.random() * 64 | 0];
32292
+ while (i-- > 0) id += urlAlphabet[Math.random() * 64 | 0];
32094
32293
  return id;
32095
32294
  };
32096
32295
  module.exports = {
@@ -32099,15 +32298,22 @@ var require_non_secure = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32099
32298
  };
32100
32299
  }));
32101
32300
  //#endregion
32102
- //#region (ignored) node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib
32301
+ //#region (ignored) node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib
32103
32302
  var require_lib = /* @__PURE__ */ __commonJSMin((() => {}));
32104
32303
  //#endregion
32105
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/previous-map.js
32304
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/previous-map.js
32106
32305
  var require_previous_map = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32107
32306
  init__polyfill_node_buffer();
32108
- let { existsSync, readFileSync } = (init__polyfill_node_fs(), __toCommonJS(_polyfill_node_fs_exports));
32307
+ let { existsSync, readFileSync, realpathSync } = (init__polyfill_node_fs(), __toCommonJS(_polyfill_node_fs_exports));
32109
32308
  let { dirname, isAbsolute, join, relative, sep } = (init__polyfill_node_path(), __toCommonJS(_polyfill_node_path_exports));
32110
32309
  let { SourceMapConsumer, SourceMapGenerator } = require_lib();
32310
+ function realPath(path) {
32311
+ try {
32312
+ return realpathSync(path);
32313
+ } catch (_unused) {
32314
+ return path;
32315
+ }
32316
+ }
32111
32317
  function fromBase64(str) {
32112
32318
  if (Buffer$1) return Buffer$1.from(str, "base64").toString();
32113
32319
  else
@@ -32157,11 +32363,10 @@ var require_previous_map = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32157
32363
  }
32158
32364
  loadFile(path, cssFile, trusted) {
32159
32365
  if (!trusted && !this.unsafeMap) {
32160
- if (!/\.map$/i.test(path)) return;
32161
- if (cssFile) {
32162
- let relativePath = relative(dirname(cssFile), path);
32163
- if (relativePath === ".." || relativePath.startsWith(".." + sep) || isAbsolute(relativePath)) return;
32164
- }
32366
+ if (!/\.map$/i.test(path)) return void 0;
32367
+ if (!cssFile) return void 0;
32368
+ let rel = relative(realPath(dirname(cssFile)), realPath(path));
32369
+ if (rel === ".." || rel.startsWith(".." + sep) || isAbsolute(rel)) return;
32165
32370
  }
32166
32371
  this.root = dirname(path);
32167
32372
  if (existsSync(path)) {
@@ -32192,7 +32397,7 @@ var require_previous_map = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32192
32397
  if (unknown) try {
32193
32398
  /* c8 ignore next 4 */
32194
32399
  this.json = JSON.parse(unknown.replace(/^\)]}'[^\n]*\n/, ""));
32195
- } catch (_unused) {
32400
+ } catch (_unused2) {
32196
32401
  return;
32197
32402
  }
32198
32403
  return unknown;
@@ -32210,7 +32415,7 @@ var require_previous_map = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32210
32415
  PreviousMap.default = PreviousMap;
32211
32416
  }));
32212
32417
  //#endregion
32213
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/input.js
32418
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/input.js
32214
32419
  var require_input = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32215
32420
  init_objectSpread2();
32216
32421
  let { nanoid } = require_non_secure();
@@ -32410,7 +32615,7 @@ var require_input = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32410
32615
  if (terminalHighlight && terminalHighlight.registerInput) terminalHighlight.registerInput(Input);
32411
32616
  }));
32412
32617
  //#endregion
32413
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/root.js
32618
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/root.js
32414
32619
  var require_root$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32415
32620
  let Container = require_container$1();
32416
32621
  let LazyResult;
@@ -32455,7 +32660,7 @@ var require_root$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32455
32660
  Container.registerRoot(Root);
32456
32661
  }));
32457
32662
  //#endregion
32458
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/list.js
32663
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/list.js
32459
32664
  var require_list = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32460
32665
  let list = {
32461
32666
  comma(string) {
@@ -32469,6 +32674,7 @@ var require_list = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32469
32674
  ]);
32470
32675
  },
32471
32676
  split(string, separators, last) {
32677
+ if (typeof string !== "string") return [];
32472
32678
  let array = [];
32473
32679
  let current = "";
32474
32680
  let split = false;
@@ -32491,12 +32697,14 @@ var require_list = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32491
32697
  if (separators.includes(letter)) split = true;
32492
32698
  }
32493
32699
  if (split) {
32494
- if (current !== "") array.push(current.trim());
32700
+ let value = current.trim();
32701
+ if (last || value !== "") array.push(value);
32495
32702
  current = "";
32496
32703
  split = false;
32497
32704
  } else current += letter;
32498
32705
  }
32499
- if (last || current !== "") array.push(current.trim());
32706
+ let value = current.trim();
32707
+ if (last || value !== "") array.push(value);
32500
32708
  return array;
32501
32709
  }
32502
32710
  };
@@ -32504,7 +32712,7 @@ var require_list = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32504
32712
  list.default = list;
32505
32713
  }));
32506
32714
  //#endregion
32507
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/rule.js
32715
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/rule.js
32508
32716
  var require_rule = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32509
32717
  let Container = require_container$1();
32510
32718
  let list = require_list();
@@ -32528,7 +32736,7 @@ var require_rule = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32528
32736
  Container.registerRule(Rule);
32529
32737
  }));
32530
32738
  //#endregion
32531
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/fromJSON.js
32739
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/fromJSON.js
32532
32740
  var require_fromJSON = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32533
32741
  init_objectSpread2();
32534
32742
  init_objectWithoutProperties();
@@ -32604,7 +32812,7 @@ var require_fromJSON = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32604
32812
  fromJSON.default = fromJSON;
32605
32813
  }));
32606
32814
  //#endregion
32607
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/map-generator.js
32815
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/map-generator.js
32608
32816
  var require_map_generator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32609
32817
  init__polyfill_node_buffer();
32610
32818
  let { dirname, relative, resolve, sep } = (init__polyfill_node_path(), __toCommonJS(_polyfill_node_path_exports));
@@ -32658,9 +32866,10 @@ var require_map_generator = /* @__PURE__ */ __commonJSMin(((exports, module) =>
32658
32866
  if (node.text.startsWith("# sourceMappingURL=")) this.root.removeChild(i);
32659
32867
  }
32660
32868
  } else if (this.css) {
32869
+ let annotation = "/*# sourceMappingURL=";
32661
32870
  let startIndex;
32662
- while ((startIndex = this.css.lastIndexOf("/*#")) !== -1) {
32663
- let endIndex = this.css.indexOf("*/", startIndex + 3);
32871
+ while ((startIndex = this.css.lastIndexOf(annotation)) !== -1) {
32872
+ let endIndex = this.css.indexOf("*/", startIndex + 21);
32664
32873
  if (endIndex === -1) break;
32665
32874
  while (startIndex > 0 && this.css[startIndex - 1] === "\n") startIndex--;
32666
32875
  this.css = this.css.slice(0, startIndex) + this.css.slice(endIndex + 2);
@@ -32875,7 +33084,7 @@ var require_map_generator = /* @__PURE__ */ __commonJSMin(((exports, module) =>
32875
33084
  module.exports = MapGenerator;
32876
33085
  }));
32877
33086
  //#endregion
32878
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/tokenize.js
33087
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/tokenize.js
32879
33088
  var require_tokenize$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
32880
33089
  const SINGLE_QUOTE = "'".charCodeAt(0);
32881
33090
  const DOUBLE_QUOTE = "\"".charCodeAt(0);
@@ -33112,7 +33321,7 @@ var require_tokenize$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33112
33321
  };
33113
33322
  }));
33114
33323
  //#endregion
33115
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/parser.js
33324
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/parser.js
33116
33325
  var require_parser$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33117
33326
  let AtRule = require_at_rule();
33118
33327
  let Comment = require_comment$1();
@@ -33382,7 +33591,7 @@ var require_parser$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33382
33591
  prev.raws.ownSemicolon = this.spaces;
33383
33592
  this.spaces = "";
33384
33593
  prev.source.end = this.getPosition(token[2]);
33385
- prev.source.end.offset += prev.raws.ownSemicolon.length;
33594
+ prev.source.end.offset++;
33386
33595
  }
33387
33596
  }
33388
33597
  }
@@ -33574,7 +33783,7 @@ var require_parser$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33574
33783
  module.exports = Parser;
33575
33784
  }));
33576
33785
  //#endregion
33577
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/parse.js
33786
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/parse.js
33578
33787
  var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33579
33788
  let Container = require_container$1();
33580
33789
  let Input = require_input();
@@ -33599,13 +33808,16 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33599
33808
  Container.registerParse(parse);
33600
33809
  }));
33601
33810
  //#endregion
33602
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/warning.js
33811
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/warning.js
33603
33812
  var require_warning = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33813
+ let Container = require_container$1();
33814
+ let { my } = require_symbols();
33604
33815
  var Warning = class {
33605
33816
  constructor(text, opts = {}) {
33606
33817
  this.type = "warning";
33607
33818
  this.text = text;
33608
33819
  if (opts.node && opts.node.source) {
33820
+ if (!opts.node[my]) Container.rebuild(opts.node);
33609
33821
  let range = opts.node.rangeBy(opts);
33610
33822
  this.line = range.start.line;
33611
33823
  this.column = range.start.column;
@@ -33628,7 +33840,7 @@ var require_warning = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33628
33840
  Warning.default = Warning;
33629
33841
  }));
33630
33842
  //#endregion
33631
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/result.js
33843
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/result.js
33632
33844
  var require_result = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33633
33845
  let Warning = require_warning();
33634
33846
  var Result = class {
@@ -33662,7 +33874,7 @@ var require_result = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33662
33874
  Result.default = Result;
33663
33875
  }));
33664
33876
  //#endregion
33665
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/warn-once.js
33877
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/warn-once.js
33666
33878
  var require_warn_once = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33667
33879
  let printed = {};
33668
33880
  module.exports = function warnOnce(message) {
@@ -33672,7 +33884,7 @@ var require_warn_once = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33672
33884
  };
33673
33885
  }));
33674
33886
  //#endregion
33675
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/lazy-result.js
33887
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/lazy-result.js
33676
33888
  var require_lazy_result = /* @__PURE__ */ __commonJSMin(((exports, module) => {
33677
33889
  init_objectSpread2();
33678
33890
  init_asyncToGenerator();
@@ -34039,14 +34251,19 @@ var require_lazy_result = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34039
34251
  }
34040
34252
  if (visit.iterator !== 0) {
34041
34253
  let iterator = visit.iterator;
34254
+ if (visit.descending) {
34255
+ visit.descending = false;
34256
+ node.indexes[iterator] += 1;
34257
+ }
34042
34258
  let child;
34043
34259
  while (child = node.nodes[node.indexes[iterator]]) {
34044
- node.indexes[iterator] += 1;
34045
34260
  if (!child[isClean]) {
34046
34261
  child[isClean] = true;
34262
+ visit.descending = true;
34047
34263
  stack.push(toStack(child));
34048
34264
  return;
34049
34265
  }
34266
+ node.indexes[iterator] += 1;
34050
34267
  }
34051
34268
  visit.iterator = 0;
34052
34269
  delete node.indexes[iterator];
@@ -34081,12 +34298,16 @@ var require_lazy_result = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34081
34298
  let visitNode = visit.node;
34082
34299
  if (visit.iterator !== 0) {
34083
34300
  let iterator = visit.iterator;
34301
+ if (visit.descending) {
34302
+ visit.descending = false;
34303
+ visitNode.indexes[iterator] += 1;
34304
+ }
34084
34305
  let child;
34085
34306
  let descended = false;
34086
34307
  while (child = visitNode.nodes[visitNode.indexes[iterator]]) {
34087
- visitNode.indexes[iterator] += 1;
34088
34308
  if (!child[isClean]) {
34089
34309
  child[isClean] = true;
34310
+ visit.descending = true;
34090
34311
  stack.push({
34091
34312
  eventIndex: 0,
34092
34313
  events: getEvents(child),
@@ -34096,6 +34317,7 @@ var require_lazy_result = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34096
34317
  descended = true;
34097
34318
  break;
34098
34319
  }
34320
+ visitNode.indexes[iterator] += 1;
34099
34321
  }
34100
34322
  if (descended) continue;
34101
34323
  visit.iterator = 0;
@@ -34130,7 +34352,7 @@ var require_lazy_result = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34130
34352
  Document.registerLazyResult(LazyResult);
34131
34353
  }));
34132
34354
  //#endregion
34133
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/no-work-result.js
34355
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/no-work-result.js
34134
34356
  var require_no_work_result = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34135
34357
  let MapGenerator = require_map_generator();
34136
34358
  let parse = require_parse();
@@ -34227,7 +34449,7 @@ var require_no_work_result = /* @__PURE__ */ __commonJSMin(((exports, module) =>
34227
34449
  NoWorkResult.default = NoWorkResult;
34228
34450
  }));
34229
34451
  //#endregion
34230
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/processor.js
34452
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/processor.js
34231
34453
  var require_processor$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34232
34454
  let Document = require_document();
34233
34455
  let LazyResult = require_lazy_result();
@@ -34235,7 +34457,7 @@ var require_processor$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34235
34457
  let Root = require_root$1();
34236
34458
  var Processor = class {
34237
34459
  constructor(plugins = []) {
34238
- this.version = "8.5.19";
34460
+ this.version = "8.5.28";
34239
34461
  this.plugins = this.normalize(plugins);
34240
34462
  }
34241
34463
  normalize(plugins) {
@@ -34266,7 +34488,7 @@ var require_processor$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34266
34488
  Document.registerProcessor(Processor);
34267
34489
  }));
34268
34490
  //#endregion
34269
- //#region node_modules/.pnpm/postcss@8.5.19/node_modules/postcss/lib/postcss.mjs
34491
+ //#region node_modules/.pnpm/postcss@8.5.28/node_modules/postcss/lib/postcss.mjs
34270
34492
  var import_postcss = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
34271
34493
  init__polyfill_node_process();
34272
34494
  let AtRule = require_at_rule();
@@ -34297,7 +34519,7 @@ var import_postcss = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((ex
34297
34519
  if (console && console.warn && !warningPrinted) {
34298
34520
  warningPrinted = true;
34299
34521
  console.warn(name + ": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration");
34300
- if (browser$1.env.LANG && browser$1.env.LANG.startsWith("cn"))
34522
+ if (browser$1.env.LANG && browser$1.env.LANG.startsWith("zh"))
34301
34523
  /* c8 ignore next 7 */
34302
34524
  console.warn(name + ": 里面 postcss.plugin 被弃用. 迁移指南:\nhttps://www.w3ctech.com/topic/2226");
34303
34525
  }
@@ -34385,7 +34607,7 @@ const trimPlugin = () => {
34385
34607
  };
34386
34608
  trimPlugin.postcss = true;
34387
34609
  //#endregion
34388
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/util/unesc.js
34610
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/util/unesc.js
34389
34611
  var require_unesc = /* @__PURE__ */ __commonJSMin(((exports) => {
34390
34612
  Object.defineProperty(exports, "__esModule", { value: true });
34391
34613
  exports.default = unesc;
@@ -34436,7 +34658,7 @@ var require_unesc = /* @__PURE__ */ __commonJSMin(((exports) => {
34436
34658
  }
34437
34659
  }));
34438
34660
  //#endregion
34439
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/util/getProp.js
34661
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/util/getProp.js
34440
34662
  var require_getProp = /* @__PURE__ */ __commonJSMin(((exports) => {
34441
34663
  Object.defineProperty(exports, "__esModule", { value: true });
34442
34664
  exports.default = getProp;
@@ -34452,7 +34674,7 @@ var require_getProp = /* @__PURE__ */ __commonJSMin(((exports) => {
34452
34674
  }
34453
34675
  }));
34454
34676
  //#endregion
34455
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/util/ensureObject.js
34677
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/util/ensureObject.js
34456
34678
  var require_ensureObject = /* @__PURE__ */ __commonJSMin(((exports) => {
34457
34679
  Object.defineProperty(exports, "__esModule", { value: true });
34458
34680
  exports.default = ensureObject;
@@ -34467,7 +34689,7 @@ var require_ensureObject = /* @__PURE__ */ __commonJSMin(((exports) => {
34467
34689
  }
34468
34690
  }));
34469
34691
  //#endregion
34470
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/util/stripComments.js
34692
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/util/stripComments.js
34471
34693
  var require_stripComments = /* @__PURE__ */ __commonJSMin(((exports) => {
34472
34694
  Object.defineProperty(exports, "__esModule", { value: true });
34473
34695
  exports.default = stripComments;
@@ -34487,7 +34709,7 @@ var require_stripComments = /* @__PURE__ */ __commonJSMin(((exports) => {
34487
34709
  }
34488
34710
  }));
34489
34711
  //#endregion
34490
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/util/maxNestingDepth.js
34712
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/util/maxNestingDepth.js
34491
34713
  var require_maxNestingDepth = /* @__PURE__ */ __commonJSMin(((exports) => {
34492
34714
  Object.defineProperty(exports, "__esModule", { value: true });
34493
34715
  exports.MAX_NESTING_DEPTH = void 0;
@@ -34514,7 +34736,7 @@ var require_maxNestingDepth = /* @__PURE__ */ __commonJSMin(((exports) => {
34514
34736
  }
34515
34737
  }));
34516
34738
  //#endregion
34517
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/util/index.js
34739
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/util/index.js
34518
34740
  var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
34519
34741
  var __importDefault = exports && exports.__importDefault || function(mod) {
34520
34742
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -34564,7 +34786,7 @@ var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
34564
34786
  });
34565
34787
  }));
34566
34788
  //#endregion
34567
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/node.js
34789
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/node.js
34568
34790
  var require_node = /* @__PURE__ */ __commonJSMin(((exports) => {
34569
34791
  Object.defineProperty(exports, "__esModule", { value: true });
34570
34792
  var util_1 = require_util$1();
@@ -34718,7 +34940,7 @@ var require_node = /* @__PURE__ */ __commonJSMin(((exports) => {
34718
34940
  }();
34719
34941
  }));
34720
34942
  //#endregion
34721
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/types.js
34943
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/types.js
34722
34944
  var require_types = /* @__PURE__ */ __commonJSMin(((exports) => {
34723
34945
  Object.defineProperty(exports, "__esModule", { value: true });
34724
34946
  exports.UNIVERSAL = exports.ATTRIBUTE = exports.CLASS = exports.COMBINATOR = exports.COMMENT = exports.ID = exports.NESTING = exports.PSEUDO = exports.ROOT = exports.SELECTOR = exports.STRING = exports.TAG = void 0;
@@ -34736,7 +34958,7 @@ var require_types = /* @__PURE__ */ __commonJSMin(((exports) => {
34736
34958
  exports.UNIVERSAL = "universal";
34737
34959
  }));
34738
34960
  //#endregion
34739
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/container.js
34961
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/container.js
34740
34962
  var require_container = /* @__PURE__ */ __commonJSMin(((exports) => {
34741
34963
  var __extends = exports && exports.__extends || (function() {
34742
34964
  var extendStatics = function(d, b) {
@@ -35127,7 +35349,7 @@ var require_container = /* @__PURE__ */ __commonJSMin(((exports) => {
35127
35349
  }(node_1.default);
35128
35350
  }));
35129
35351
  //#endregion
35130
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/root.js
35352
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/root.js
35131
35353
  var require_root = /* @__PURE__ */ __commonJSMin(((exports) => {
35132
35354
  var __extends = exports && exports.__extends || (function() {
35133
35355
  var extendStatics = function(d, b) {
@@ -35183,7 +35405,7 @@ var require_root = /* @__PURE__ */ __commonJSMin(((exports) => {
35183
35405
  }(container_1.default);
35184
35406
  }));
35185
35407
  //#endregion
35186
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/selector.js
35408
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/selector.js
35187
35409
  var require_selector = /* @__PURE__ */ __commonJSMin(((exports) => {
35188
35410
  var __extends = exports && exports.__extends || (function() {
35189
35411
  var extendStatics = function(d, b) {
@@ -35282,7 +35504,7 @@ var require_cssesc = /* @__PURE__ */ __commonJSMin(((exports, module) => {
35282
35504
  module.exports = cssesc;
35283
35505
  }));
35284
35506
  //#endregion
35285
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/className.js
35507
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/className.js
35286
35508
  var require_className = /* @__PURE__ */ __commonJSMin(((exports) => {
35287
35509
  var __extends = exports && exports.__extends || (function() {
35288
35510
  var extendStatics = function(d, b) {
@@ -35342,7 +35564,7 @@ var require_className = /* @__PURE__ */ __commonJSMin(((exports) => {
35342
35564
  }(node_1.default);
35343
35565
  }));
35344
35566
  //#endregion
35345
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/comment.js
35567
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/comment.js
35346
35568
  var require_comment = /* @__PURE__ */ __commonJSMin(((exports) => {
35347
35569
  var __extends = exports && exports.__extends || (function() {
35348
35570
  var extendStatics = function(d, b) {
@@ -35379,7 +35601,7 @@ var require_comment = /* @__PURE__ */ __commonJSMin(((exports) => {
35379
35601
  }(node_1.default);
35380
35602
  }));
35381
35603
  //#endregion
35382
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/id.js
35604
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/id.js
35383
35605
  var require_id = /* @__PURE__ */ __commonJSMin(((exports) => {
35384
35606
  var __extends = exports && exports.__extends || (function() {
35385
35607
  var extendStatics = function(d, b) {
@@ -35419,7 +35641,7 @@ var require_id = /* @__PURE__ */ __commonJSMin(((exports) => {
35419
35641
  }(node_1.default);
35420
35642
  }));
35421
35643
  //#endregion
35422
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/namespace.js
35644
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/namespace.js
35423
35645
  var require_namespace = /* @__PURE__ */ __commonJSMin(((exports) => {
35424
35646
  var __extends = exports && exports.__extends || (function() {
35425
35647
  var extendStatics = function(d, b) {
@@ -35502,7 +35724,7 @@ var require_namespace = /* @__PURE__ */ __commonJSMin(((exports) => {
35502
35724
  }(__importDefault(require_node()).default);
35503
35725
  }));
35504
35726
  //#endregion
35505
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/tag.js
35727
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/tag.js
35506
35728
  var require_tag = /* @__PURE__ */ __commonJSMin(((exports) => {
35507
35729
  var __extends = exports && exports.__extends || (function() {
35508
35730
  var extendStatics = function(d, b) {
@@ -35539,7 +35761,7 @@ var require_tag = /* @__PURE__ */ __commonJSMin(((exports) => {
35539
35761
  }(namespace_1.default);
35540
35762
  }));
35541
35763
  //#endregion
35542
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/string.js
35764
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/string.js
35543
35765
  var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
35544
35766
  var __extends = exports && exports.__extends || (function() {
35545
35767
  var extendStatics = function(d, b) {
@@ -35577,7 +35799,7 @@ var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
35577
35799
  exports.default = String;
35578
35800
  }));
35579
35801
  //#endregion
35580
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/pseudo.js
35802
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/pseudo.js
35581
35803
  var require_pseudo = /* @__PURE__ */ __commonJSMin(((exports) => {
35582
35804
  var __extends = exports && exports.__extends || (function() {
35583
35805
  var extendStatics = function(d, b) {
@@ -35684,7 +35906,7 @@ var require_browser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
35684
35906
  }
35685
35907
  }));
35686
35908
  //#endregion
35687
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/attribute.js
35909
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/attribute.js
35688
35910
  var require_attribute = /* @__PURE__ */ __commonJSMin(((exports) => {
35689
35911
  var __extends = exports && exports.__extends || (function() {
35690
35912
  var extendStatics = function(d, b) {
@@ -36070,7 +36292,7 @@ var require_attribute = /* @__PURE__ */ __commonJSMin(((exports) => {
36070
36292
  }
36071
36293
  }));
36072
36294
  //#endregion
36073
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/universal.js
36295
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/universal.js
36074
36296
  var require_universal = /* @__PURE__ */ __commonJSMin(((exports) => {
36075
36297
  var __extends = exports && exports.__extends || (function() {
36076
36298
  var extendStatics = function(d, b) {
@@ -36108,7 +36330,7 @@ var require_universal = /* @__PURE__ */ __commonJSMin(((exports) => {
36108
36330
  }(namespace_1.default);
36109
36331
  }));
36110
36332
  //#endregion
36111
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/combinator.js
36333
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/combinator.js
36112
36334
  var require_combinator = /* @__PURE__ */ __commonJSMin(((exports) => {
36113
36335
  var __extends = exports && exports.__extends || (function() {
36114
36336
  var extendStatics = function(d, b) {
@@ -36145,7 +36367,7 @@ var require_combinator = /* @__PURE__ */ __commonJSMin(((exports) => {
36145
36367
  }(node_1.default);
36146
36368
  }));
36147
36369
  //#endregion
36148
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/nesting.js
36370
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/nesting.js
36149
36371
  var require_nesting = /* @__PURE__ */ __commonJSMin(((exports) => {
36150
36372
  var __extends = exports && exports.__extends || (function() {
36151
36373
  var extendStatics = function(d, b) {
@@ -36183,7 +36405,7 @@ var require_nesting = /* @__PURE__ */ __commonJSMin(((exports) => {
36183
36405
  }(node_1.default);
36184
36406
  }));
36185
36407
  //#endregion
36186
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/sortAscending.js
36408
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/sortAscending.js
36187
36409
  var require_sortAscending = /* @__PURE__ */ __commonJSMin(((exports) => {
36188
36410
  Object.defineProperty(exports, "__esModule", { value: true });
36189
36411
  exports.default = sortAscending;
@@ -36194,7 +36416,7 @@ var require_sortAscending = /* @__PURE__ */ __commonJSMin(((exports) => {
36194
36416
  }
36195
36417
  }));
36196
36418
  //#endregion
36197
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/tokenTypes.js
36419
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/tokenTypes.js
36198
36420
  var require_tokenTypes = /* @__PURE__ */ __commonJSMin(((exports) => {
36199
36421
  Object.defineProperty(exports, "__esModule", { value: true });
36200
36422
  exports.combinator = exports.word = exports.comment = exports.str = exports.tab = exports.newline = exports.feed = exports.cr = exports.backslash = exports.bang = exports.slash = exports.doubleQuote = exports.singleQuote = exports.space = exports.greaterThan = exports.pipe = exports.equals = exports.plus = exports.caret = exports.tilde = exports.dollar = exports.closeSquare = exports.openSquare = exports.closeParenthesis = exports.openParenthesis = exports.semicolon = exports.colon = exports.comma = exports.at = exports.asterisk = exports.ampersand = void 0;
@@ -36231,7 +36453,7 @@ var require_tokenTypes = /* @__PURE__ */ __commonJSMin(((exports) => {
36231
36453
  exports.combinator = -3;
36232
36454
  }));
36233
36455
  //#endregion
36234
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/tokenize.js
36456
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/tokenize.js
36235
36457
  var require_tokenize = /* @__PURE__ */ __commonJSMin(((exports) => {
36236
36458
  var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
36237
36459
  if (k2 === void 0) k2 = k;
@@ -36473,7 +36695,7 @@ var require_tokenize = /* @__PURE__ */ __commonJSMin(((exports) => {
36473
36695
  }
36474
36696
  }));
36475
36697
  //#endregion
36476
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/parser.js
36698
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/parser.js
36477
36699
  var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
36478
36700
  var __assign = exports && exports.__assign || function() {
36479
36701
  __assign = Object.assign || function(t) {
@@ -36625,10 +36847,7 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
36625
36847
  return indexes;
36626
36848
  }
36627
36849
  function uniqs() {
36628
- var list = Array.prototype.concat.apply([], arguments);
36629
- return list.filter(function(item, i) {
36630
- return i === list.indexOf(item);
36631
- });
36850
+ return Array.from(new Set(Array.prototype.concat.apply([], arguments)));
36632
36851
  }
36633
36852
  exports.default = function() {
36634
36853
  function Parser(rule, options) {
@@ -36676,6 +36895,7 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
36676
36895
  attr.push(this.currToken);
36677
36896
  this.position++;
36678
36897
  }
36898
+ if (!this.currToken) return this.expected("closing square bracket", startingToken[tokenize_1.FIELDS.START_POS]);
36679
36899
  if (this.currToken[tokenize_1.FIELDS.TYPE] !== tokens.closeSquare) return this.expected("closing square bracket", this.currToken[tokenize_1.FIELDS.START_POS]);
36680
36900
  var len = attr.length;
36681
36901
  var node = {
@@ -36719,7 +36939,7 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
36719
36939
  }
36720
36940
  if (commentBefore) {
36721
36941
  (0, util_1.ensureObject)(node, "raws", "spaces", "attribute");
36722
- node.raws.spaces.attribute.before = spaceBefore;
36942
+ node.raws.spaces.attribute.before = commentBefore;
36723
36943
  commentBefore = "";
36724
36944
  }
36725
36945
  node.namespace = (node.namespace || "") + content;
@@ -37056,7 +37276,9 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
37056
37276
  return this.error("Unexpected '|'.", this.currToken[tokenize_1.FIELDS.START_POS]);
37057
37277
  };
37058
37278
  Parser.prototype.namespace = function() {
37059
- var before = this.prevToken && this.content(this.prevToken) || true;
37279
+ var prev = this.prevToken;
37280
+ var before = prev && (prev[tokenize_1.FIELDS.TYPE] === tokens.word || prev[tokenize_1.FIELDS.TYPE] === tokens.asterisk || prev[tokenize_1.FIELDS.TYPE] === tokens.ampersand) ? this.content(prev) : true;
37281
+ if (!this.nextToken) return this.unexpectedPipe();
37060
37282
  if (this.nextToken[tokenize_1.FIELDS.TYPE] === tokens.word) {
37061
37283
  this.position++;
37062
37284
  return this.word(before);
@@ -37084,6 +37306,7 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
37084
37306
  Parser.prototype.parentheses = function() {
37085
37307
  var last = this.current.last;
37086
37308
  var unbalanced = 1;
37309
+ var openingToken = this.currToken;
37087
37310
  this.position++;
37088
37311
  if (last && last.type === types.PSEUDO) {
37089
37312
  var selector = new selector_1.default({
@@ -37128,7 +37351,7 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
37128
37351
  sourceIndex: parenStart[tokenize_1.FIELDS.START_POS]
37129
37352
  }));
37130
37353
  }
37131
- if (unbalanced) return this.expected("closing parenthesis", this.currToken[tokenize_1.FIELDS.START_POS]);
37354
+ if (unbalanced) return this.expected("closing parenthesis", (this.currToken || openingToken)[tokenize_1.FIELDS.START_POS]);
37132
37355
  };
37133
37356
  Parser.prototype.pseudo = function() {
37134
37357
  var _this = this;
@@ -37216,9 +37439,14 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
37216
37439
  return word[i - 1] !== "\\";
37217
37440
  });
37218
37441
  var interpolations = indexesOf(word, "#{");
37219
- if (interpolations.length) hasId = hasId.filter(function(hashIndex) {
37220
- return !~interpolations.indexOf(hashIndex);
37221
- });
37442
+ if (interpolations.length) {
37443
+ var interpolationIndexes_1 = new Set(interpolations);
37444
+ hasId = hasId.filter(function(hashIndex) {
37445
+ return !interpolationIndexes_1.has(hashIndex);
37446
+ });
37447
+ }
37448
+ var classIndexes = new Set(hasClass);
37449
+ var idIndexes = new Set(hasId);
37222
37450
  var indices = (0, sortAscending_1.default)(uniqs(__spreadArray(__spreadArray([0], __read(hasClass), false), __read(hasId), false)));
37223
37451
  indices.forEach(function(ind, i) {
37224
37452
  var index = indices[i + 1] || word.length;
@@ -37228,14 +37456,14 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
37228
37456
  var current = _this.currToken;
37229
37457
  var sourceIndex = current[tokenize_1.FIELDS.START_POS] + indices[i];
37230
37458
  var source = getSource(current[1], current[2] + ind, current[3], current[2] + (index - 1));
37231
- if (~hasClass.indexOf(ind)) {
37459
+ if (classIndexes.has(ind)) {
37232
37460
  var classNameOpts = {
37233
37461
  value: value.slice(1),
37234
37462
  source,
37235
37463
  sourceIndex
37236
37464
  };
37237
37465
  node = new className_1.default(unescapeProp(classNameOpts, "value"));
37238
- } else if (~hasId.indexOf(ind)) {
37466
+ } else if (idIndexes.has(ind)) {
37239
37467
  var idOpts = {
37240
37468
  value: value.slice(1),
37241
37469
  source,
@@ -37400,7 +37628,7 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
37400
37628
  }();
37401
37629
  }));
37402
37630
  //#endregion
37403
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/processor.js
37631
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/processor.js
37404
37632
  var require_processor = /* @__PURE__ */ __commonJSMin(((exports) => {
37405
37633
  var __importDefault = exports && exports.__importDefault || function(mod) {
37406
37634
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -37549,7 +37777,7 @@ var require_processor = /* @__PURE__ */ __commonJSMin(((exports) => {
37549
37777
  }();
37550
37778
  }));
37551
37779
  //#endregion
37552
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/constructors.js
37780
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/constructors.js
37553
37781
  var require_constructors = /* @__PURE__ */ __commonJSMin(((exports) => {
37554
37782
  var __importDefault = exports && exports.__importDefault || function(mod) {
37555
37783
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -37618,7 +37846,7 @@ var require_constructors = /* @__PURE__ */ __commonJSMin(((exports) => {
37618
37846
  exports.universal = universal;
37619
37847
  }));
37620
37848
  //#endregion
37621
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/guards.js
37849
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/guards.js
37622
37850
  var require_guards = /* @__PURE__ */ __commonJSMin(((exports) => {
37623
37851
  var _a;
37624
37852
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -37662,7 +37890,7 @@ var require_guards = /* @__PURE__ */ __commonJSMin(((exports) => {
37662
37890
  }
37663
37891
  }));
37664
37892
  //#endregion
37665
- //#region node_modules/.pnpm/postcss-selector-parser@7.1.4/node_modules/postcss-selector-parser/dist/selectors/index.js
37893
+ //#region node_modules/.pnpm/postcss-selector-parser@7.1.6/node_modules/postcss-selector-parser/dist/selectors/index.js
37666
37894
  var require_selectors = /* @__PURE__ */ __commonJSMin(((exports) => {
37667
37895
  var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
37668
37896
  if (k2 === void 0) k2 = k;
@@ -41897,6 +42125,7 @@ function resolveExt(filename, fs) {
41897
42125
  }
41898
42126
  const tsConfigCache = createCache();
41899
42127
  const tsConfigRefMap = /* @__PURE__ */ new Map();
42128
+ const extendedConfigCache = /* @__PURE__ */ new Map();
41900
42129
  const fileToScopeCache = createCache();
41901
42130
  const fileToGlobalScopeCache = createCache();
41902
42131
  /**
@@ -41907,6 +42136,10 @@ function invalidateTypeCache(filename) {
41907
42136
  fileToScopeCache.delete(filename);
41908
42137
  fileToGlobalScopeCache.delete(filename);
41909
42138
  tsConfigCache.delete(filename);
42139
+ if (filename.endsWith(".json")) {
42140
+ extendedConfigCache.clear();
42141
+ tsConfigCache.clear();
42142
+ }
41910
42143
  const affectedConfig = tsConfigRefMap.get(filename);
41911
42144
  if (affectedConfig) tsConfigCache.delete(affectedConfig);
41912
42145
  }
@@ -43161,6 +43394,7 @@ function compileScript(sfc, options) {
43161
43394
  enter(child, parent) {
43162
43395
  if (isFunctionType(child)) this.skip();
43163
43396
  if (child.type === "BlockStatement") scope.push(child.body);
43397
+ else if (child.type === "SwitchCase") scope.push(child.consequent);
43164
43398
  if (child.type === "AwaitExpression") {
43165
43399
  hasAwait = true;
43166
43400
  const needsSemi = scope[scope.length - 1].some((n, i) => {
@@ -43169,8 +43403,8 @@ function compileScript(sfc, options) {
43169
43403
  processAwait(ctx, child, needsSemi, parent.type === "ExpressionStatement");
43170
43404
  }
43171
43405
  },
43172
- exit(node) {
43173
- if (node.type === "BlockStatement") scope.pop();
43406
+ leave(node) {
43407
+ if (node.type === "BlockStatement" || node.type === "SwitchCase") scope.pop();
43174
43408
  }
43175
43409
  });
43176
43410
  }
@@ -43471,7 +43705,7 @@ function mergeSourceMaps(scriptMap, templateMap, templateLineOffset) {
43471
43705
  //#endregion
43472
43706
  //#region packages/compiler-sfc/src/index.ts
43473
43707
  init_objectSpread2();
43474
- const version = "3.6.0-rc.8";
43708
+ const version = "3.6.0-rc.9";
43475
43709
  const parseCache = parseCache$1;
43476
43710
  const errorMessages = _objectSpread2(_objectSpread2({}, errorMessages$1), DOMErrorMessages);
43477
43711
  const walk = walk$2;