@vue/compiler-vapor 3.6.0-beta.14 → 3.6.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compiler-vapor.cjs.js +182 -111
- package/dist/compiler-vapor.d.ts +43 -20
- package/dist/compiler-vapor.esm-browser.js +173 -102
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compiler-vapor v3.6.0-beta.
|
|
2
|
+
* @vue/compiler-vapor v3.6.0-beta.16
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -152,7 +152,7 @@ const EMPTY_EXPRESSION = (0, _vue_compiler_dom.createSimpleExpression)("", true)
|
|
|
152
152
|
//#region packages/compiler-vapor/src/utils.ts
|
|
153
153
|
const findProp$1 = _vue_compiler_dom.findProp;
|
|
154
154
|
/** find directive */
|
|
155
|
-
const findDir$
|
|
155
|
+
const findDir$3 = _vue_compiler_dom.findDir;
|
|
156
156
|
function propToExpression(prop) {
|
|
157
157
|
return prop.type === 6 ? prop.value ? (0, _vue_compiler_dom.createSimpleExpression)(prop.value.content, true, prop.value.loc) : EMPTY_EXPRESSION : prop.exp;
|
|
158
158
|
}
|
|
@@ -193,6 +193,13 @@ function getLiteralExpressionValue(exp, excludeNumber) {
|
|
|
193
193
|
}
|
|
194
194
|
return exp.isStatic ? exp.content : null;
|
|
195
195
|
}
|
|
196
|
+
function isInTransition(context) {
|
|
197
|
+
const parentNode = context.parent && context.parent.node;
|
|
198
|
+
return !!(parentNode && isTransitionNode(parentNode));
|
|
199
|
+
}
|
|
200
|
+
function isTransitionNode(node) {
|
|
201
|
+
return node.type === 1 && isTransitionTag(node.tag);
|
|
202
|
+
}
|
|
196
203
|
function isTransitionTag(tag) {
|
|
197
204
|
tag = tag.toLowerCase();
|
|
198
205
|
return tag === "transition" || tag === "vaportransition";
|
|
@@ -424,6 +431,7 @@ const defaultOptions = {
|
|
|
424
431
|
bindingMetadata: _vue_shared.EMPTY_OBJ,
|
|
425
432
|
inline: false,
|
|
426
433
|
isTS: false,
|
|
434
|
+
eventDelegation: true,
|
|
427
435
|
onError: _vue_compiler_dom.defaultOnError,
|
|
428
436
|
onWarn: _vue_compiler_dom.defaultOnWarn
|
|
429
437
|
};
|
|
@@ -663,6 +671,8 @@ function genPrependNode(oper, { helper }) {
|
|
|
663
671
|
function genExpression(node, context, assignment) {
|
|
664
672
|
node = context.getExpressionReplacement(node);
|
|
665
673
|
const { content, ast, isStatic, loc } = node;
|
|
674
|
+
const { options } = context;
|
|
675
|
+
const { inline } = options;
|
|
666
676
|
if (isStatic) return [[
|
|
667
677
|
JSON.stringify(content),
|
|
668
678
|
-2,
|
|
@@ -684,23 +694,31 @@ function genExpression(node, context, assignment) {
|
|
|
684
694
|
let hasMemberExpression = false;
|
|
685
695
|
if (ids.length) {
|
|
686
696
|
const [frag, push] = buildCodeFragment();
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
const
|
|
690
|
-
const
|
|
691
|
-
const
|
|
692
|
-
if (leadingText.length) push([leadingText, -3]);
|
|
693
|
-
const source = content.slice(start, end);
|
|
697
|
+
let lastEnd = 0;
|
|
698
|
+
ids.sort((a, b) => a.start - b.start).forEach((id) => {
|
|
699
|
+
const idStart = id.start - 1;
|
|
700
|
+
const idEnd = id.end - 1;
|
|
701
|
+
const source = content.slice(idStart, idEnd);
|
|
694
702
|
const parentStack = parentStackMap.get(id);
|
|
695
703
|
const parent = parentStack[parentStack.length - 1];
|
|
704
|
+
let start = idStart;
|
|
705
|
+
let end = idEnd;
|
|
706
|
+
if (inline && options.bindingMetadata && options.bindingMetadata[source] === "setup-let" && parent && parent.type === "UpdateExpression" && parent.argument === id) {
|
|
707
|
+
start = parent.start - 1;
|
|
708
|
+
end = parent.end - 1;
|
|
709
|
+
}
|
|
710
|
+
if (start < lastEnd) return;
|
|
711
|
+
const leadingText = content.slice(lastEnd, start);
|
|
712
|
+
if (leadingText.length) push([leadingText, -3]);
|
|
696
713
|
hasMemberExpression || (hasMemberExpression = parent && (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression"));
|
|
697
714
|
push(...genIdentifier(source, context, {
|
|
698
715
|
start: (0, _vue_compiler_dom.advancePositionWithClone)(node.loc.start, source, start),
|
|
699
716
|
end: (0, _vue_compiler_dom.advancePositionWithClone)(node.loc.start, source, end),
|
|
700
717
|
source
|
|
701
|
-
}, hasMemberExpression ? void 0 : assignment, id, parent, parentStack));
|
|
702
|
-
|
|
718
|
+
}, hasMemberExpression ? void 0 : assignment, id, parent, parentStack, node));
|
|
719
|
+
lastEnd = end;
|
|
703
720
|
});
|
|
721
|
+
if (lastEnd < content.length) push([content.slice(lastEnd), -3]);
|
|
704
722
|
if (assignment && hasMemberExpression) push(` = ${assignment}`);
|
|
705
723
|
return frag;
|
|
706
724
|
} else return [[
|
|
@@ -709,7 +727,7 @@ function genExpression(node, context, assignment) {
|
|
|
709
727
|
loc
|
|
710
728
|
]];
|
|
711
729
|
}
|
|
712
|
-
function genIdentifier(raw, context, loc, assignment, id, parent, parentStack) {
|
|
730
|
+
function genIdentifier(raw, context, loc, assignment, id, parent, parentStack, sourceNode) {
|
|
713
731
|
const { options, helper, identifiers } = context;
|
|
714
732
|
const { inline, bindingMetadata } = options;
|
|
715
733
|
let name = raw;
|
|
@@ -729,19 +747,49 @@ function genIdentifier(raw, context, loc, assignment, id, parent, parentStack) {
|
|
|
729
747
|
else return genExpression(replacement, context, assignment);
|
|
730
748
|
}
|
|
731
749
|
let prefix;
|
|
732
|
-
if ((0, _vue_compiler_dom.isStaticProperty)(parent) && parent.shorthand) prefix = `${raw}: `;
|
|
733
750
|
const type = bindingMetadata && bindingMetadata[raw];
|
|
751
|
+
const isDestructureAssignment = parent && (0, _vue_compiler_dom.isInDestructureAssignment)(parent, parentStack || []);
|
|
752
|
+
const isAssignmentLVal = parent && parent.type === "AssignmentExpression" && parent.left === id;
|
|
753
|
+
const isUpdateArg = parent && parent.type === "UpdateExpression" && parent.argument === id;
|
|
754
|
+
if ((0, _vue_compiler_dom.isStaticProperty)(parent) && parent.shorthand && !(inline && type === "setup-let" && isDestructureAssignment)) prefix = `${raw}: `;
|
|
734
755
|
if (inline) switch (type) {
|
|
735
756
|
case "setup-let":
|
|
736
|
-
|
|
757
|
+
if (isAssignmentLVal) {
|
|
758
|
+
const { right, operator } = parent;
|
|
759
|
+
const source = sourceNode;
|
|
760
|
+
const sourceContent = source.content;
|
|
761
|
+
const rightStart = right.start - 1;
|
|
762
|
+
const rightEnd = right.end - 1;
|
|
763
|
+
const rightContent = sourceContent.slice(rightStart, rightEnd);
|
|
764
|
+
const rightExp = (0, _vue_compiler_dom.createSimpleExpression)(rightContent, false, {
|
|
765
|
+
start: (0, _vue_compiler_dom.advancePositionWithClone)(source.loc.start, sourceContent, rightStart),
|
|
766
|
+
end: (0, _vue_compiler_dom.advancePositionWithClone)(source.loc.start, sourceContent, rightEnd),
|
|
767
|
+
source: rightContent
|
|
768
|
+
});
|
|
769
|
+
rightExp.ast = parseExp(context, rightContent);
|
|
770
|
+
return [
|
|
771
|
+
prefix,
|
|
772
|
+
`${helper("isRef")}(${raw}) ? ${raw}.value ${operator} `,
|
|
773
|
+
...genExpression(rightExp, context),
|
|
774
|
+
` : `,
|
|
775
|
+
[
|
|
776
|
+
raw,
|
|
777
|
+
-2,
|
|
778
|
+
loc,
|
|
779
|
+
name
|
|
780
|
+
]
|
|
781
|
+
];
|
|
782
|
+
} else if (isUpdateArg) {
|
|
783
|
+
const { prefix: isPrefix, operator } = parent;
|
|
784
|
+
const updatePrefix = isPrefix ? operator : ``;
|
|
785
|
+
const updatePostfix = isPrefix ? `` : operator;
|
|
786
|
+
raw = `${helper("isRef")}(${raw}) ? ${updatePrefix}${raw}.value${updatePostfix} : ${updatePrefix}${raw}${updatePostfix}`;
|
|
787
|
+
} else if (!isDestructureAssignment) name = raw = assignment ? `${helper("isRef")}(${raw}) ? (${raw}.value = ${assignment}) : (${raw} = ${assignment})` : unref();
|
|
737
788
|
break;
|
|
738
789
|
case "setup-ref":
|
|
739
790
|
name = raw = withAssignment(`${raw}.value`);
|
|
740
791
|
break;
|
|
741
792
|
case "setup-maybe-ref":
|
|
742
|
-
const isDestructureAssignment = parent && (0, _vue_compiler_dom.isInDestructureAssignment)(parent, parentStack || []);
|
|
743
|
-
const isAssignmentLVal = parent && parent.type === "AssignmentExpression" && parent.left === id;
|
|
744
|
-
const isUpdateArg = parent && parent.type === "UpdateExpression" && parent.argument === id;
|
|
745
793
|
raw = isAssignmentLVal || isUpdateArg || isDestructureAssignment ? name = `${raw}.value` : assignment ? `${helper("isRef")}(${raw}) ? (${raw}.value = ${assignment}) : null` : unref();
|
|
746
794
|
break;
|
|
747
795
|
case "props":
|
|
@@ -1645,7 +1693,12 @@ function genPropKey({ key: node, modifier, runtimeCamelize, handler, handlerModi
|
|
|
1645
1693
|
if (runtimeCamelize) {
|
|
1646
1694
|
key.push(" || \"\"");
|
|
1647
1695
|
key = genCall(helper("camelize"), key);
|
|
1648
|
-
}
|
|
1696
|
+
} else if (modifier) key = [
|
|
1697
|
+
"(",
|
|
1698
|
+
...key,
|
|
1699
|
+
" || \"\"",
|
|
1700
|
+
")"
|
|
1701
|
+
];
|
|
1649
1702
|
if (handler) key = genCall(helper("toHandlerKey"), key);
|
|
1650
1703
|
return [
|
|
1651
1704
|
"[",
|
|
@@ -1737,6 +1790,11 @@ function genVShow(oper, context) {
|
|
|
1737
1790
|
])];
|
|
1738
1791
|
}
|
|
1739
1792
|
//#endregion
|
|
1793
|
+
//#region packages/compiler-vapor/src/generators/modifier.ts
|
|
1794
|
+
function genDirectiveModifiers(modifiers) {
|
|
1795
|
+
return modifiers.map((value) => `${(0, _vue_compiler_dom.isSimpleIdentifier)(value) ? value : JSON.stringify(value)}: true`).join(", ");
|
|
1796
|
+
}
|
|
1797
|
+
//#endregion
|
|
1740
1798
|
//#region packages/compiler-vapor/src/generators/vModel.ts
|
|
1741
1799
|
const helperMap = {
|
|
1742
1800
|
text: "applyTextModel",
|
|
@@ -1751,7 +1809,7 @@ function genVModel(oper, context) {
|
|
|
1751
1809
|
`() => (`,
|
|
1752
1810
|
...genExpression(exp, context),
|
|
1753
1811
|
`)`
|
|
1754
|
-
], genModelHandler(exp, context), modifiers.length ? `{ ${modifiers.map((e) => e.content
|
|
1812
|
+
], genModelHandler(exp, context), modifiers.length ? `{ ${genDirectiveModifiers(modifiers.map((e) => e.content))} }` : void 0)];
|
|
1755
1813
|
}
|
|
1756
1814
|
function genModelHandler(exp, context) {
|
|
1757
1815
|
return [
|
|
@@ -1793,14 +1851,15 @@ function genCustomDirectives(opers, context) {
|
|
|
1793
1851
|
return genMulti(DELIMITERS_ARRAY.concat("void 0"), directiveVar, value, argument, modifiers);
|
|
1794
1852
|
}
|
|
1795
1853
|
}
|
|
1796
|
-
function genDirectiveModifiers(modifiers) {
|
|
1797
|
-
return modifiers.map((value) => `${(0, _vue_compiler_dom.isSimpleIdentifier)(value) ? value : JSON.stringify(value)}: true`).join(", ");
|
|
1798
|
-
}
|
|
1799
1854
|
function filterCustomDirectives(id, operations) {
|
|
1800
1855
|
return operations.filter((oper) => oper.type === 14 && oper.element === id && !oper.builtin);
|
|
1801
1856
|
}
|
|
1802
1857
|
//#endregion
|
|
1803
1858
|
//#region packages/compiler-vapor/src/generators/component.ts
|
|
1859
|
+
function genStaticModifierPropKey(name) {
|
|
1860
|
+
const key = (0, _vue_shared.getModifierPropName)(name);
|
|
1861
|
+
return [(0, _vue_compiler_dom.isSimpleIdentifier)(key) ? key : JSON.stringify(key)];
|
|
1862
|
+
}
|
|
1804
1863
|
function genCreateComponent(operation, context) {
|
|
1805
1864
|
const { helper } = context;
|
|
1806
1865
|
const singleUseAssetComponentNames = context.singleUseAssetComponentNames;
|
|
@@ -1942,7 +2001,7 @@ function genStaticProps(props, context, dynamicProps, directStaticLiteralProps =
|
|
|
1942
2001
|
}
|
|
1943
2002
|
const { key, modelModifiers } = prop;
|
|
1944
2003
|
if (modelModifiers && modelModifiers.length) {
|
|
1945
|
-
const modifiersKey = key.isStatic ?
|
|
2004
|
+
const modifiersKey = key.isStatic ? genStaticModifierPropKey(key.content) : [
|
|
1946
2005
|
"[",
|
|
1947
2006
|
...genExpression(key, context),
|
|
1948
2007
|
" + \"Modifiers\"]"
|
|
@@ -1985,7 +2044,7 @@ function genDynamicProps(props, context, directStaticLiteralProps = false) {
|
|
|
1985
2044
|
]);
|
|
1986
2045
|
const { modelModifiers } = p;
|
|
1987
2046
|
if (modelModifiers && modelModifiers.length) {
|
|
1988
|
-
const modifiersKey = p.key.isStatic ?
|
|
2047
|
+
const modifiersKey = p.key.isStatic ? genStaticModifierPropKey(p.key.content) : [
|
|
1989
2048
|
"[",
|
|
1990
2049
|
...genExpression(p.key, context),
|
|
1991
2050
|
" + \"Modifiers\"]"
|
|
@@ -2110,7 +2169,7 @@ function genDynamicSlot(slot, context, withFunction = false) {
|
|
|
2110
2169
|
}
|
|
2111
2170
|
function genBasicDynamicSlot(slot, context) {
|
|
2112
2171
|
const { name, fn } = slot;
|
|
2113
|
-
return genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...genExpression(name, context)], ["fn: ", ...genSlotBlockWithProps(fn, context)]);
|
|
2172
|
+
return genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...genExpression(name, context)], ["fn: ", ...genSlotBlockWithProps(fn, context, false)]);
|
|
2114
2173
|
}
|
|
2115
2174
|
function genLoopSlot(slot, context) {
|
|
2116
2175
|
const { name, fn, loop } = slot;
|
|
@@ -2122,7 +2181,7 @@ function genLoopSlot(slot, context) {
|
|
|
2122
2181
|
if (rawValue) idMap[rawValue] = rawValue;
|
|
2123
2182
|
if (rawKey) idMap[rawKey] = rawKey;
|
|
2124
2183
|
if (rawIndex) idMap[rawIndex] = rawIndex;
|
|
2125
|
-
const slotExpr = genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...context.withId(() => genExpression(name, context), idMap)], ["fn: ", ...context.withId(() => genSlotBlockWithProps(fn, context), idMap)]);
|
|
2184
|
+
const slotExpr = genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...context.withId(() => genExpression(name, context), idMap)], ["fn: ", ...context.withId(() => genSlotBlockWithProps(fn, context, false), idMap)]);
|
|
2126
2185
|
return [...genCall(context.helper("createForSlots"), genExpression(source, context), [
|
|
2127
2186
|
...genMulti([
|
|
2128
2187
|
"(",
|
|
@@ -2148,7 +2207,7 @@ function genConditionalSlot(slot, context) {
|
|
|
2148
2207
|
INDENT_END
|
|
2149
2208
|
];
|
|
2150
2209
|
}
|
|
2151
|
-
function genSlotBlockWithProps(oper, context) {
|
|
2210
|
+
function genSlotBlockWithProps(oper, context, emitNonStableFlag = true) {
|
|
2152
2211
|
let propsName;
|
|
2153
2212
|
let exitScope;
|
|
2154
2213
|
let depth;
|
|
@@ -2163,10 +2222,45 @@ function genSlotBlockWithProps(oper, context) {
|
|
|
2163
2222
|
const exitSlotBlock = context.enterSlotBlock();
|
|
2164
2223
|
markSlotRootOperations(oper);
|
|
2165
2224
|
let blockFn = context.withId(() => genBlock(oper, context, propsName ? [propsName] : []), idMap);
|
|
2225
|
+
if (emitNonStableFlag && !hasStableSlotRoot(oper, context)) blockFn = genCall(context.helper("extend"), blockFn, `{ _: 8 }`);
|
|
2166
2226
|
exitSlotBlock();
|
|
2167
2227
|
exitScope && exitScope();
|
|
2168
2228
|
return blockFn;
|
|
2169
2229
|
}
|
|
2230
|
+
const commentOnlyTemplateRE = /^(?:<!--[\s\S]*?-->)+$/;
|
|
2231
|
+
function hasStableSlotRoot(block, context) {
|
|
2232
|
+
let hasValidRoot = false;
|
|
2233
|
+
for (let i = 0; i < block.returns.length; i++) {
|
|
2234
|
+
const id = block.returns[i];
|
|
2235
|
+
const child = findReturnedDynamic$1(block, id);
|
|
2236
|
+
const operation = child && child.operation;
|
|
2237
|
+
if (!operation) {
|
|
2238
|
+
if (child && isStableTemplateSlotRoot(child, context)) hasValidRoot = true;
|
|
2239
|
+
continue;
|
|
2240
|
+
}
|
|
2241
|
+
switch (operation.type) {
|
|
2242
|
+
case 12:
|
|
2243
|
+
if (!operation.dynamic || operation.dynamic.isStatic) {
|
|
2244
|
+
hasValidRoot = true;
|
|
2245
|
+
continue;
|
|
2246
|
+
}
|
|
2247
|
+
return false;
|
|
2248
|
+
case 17:
|
|
2249
|
+
if (hasStableSlotRoot(operation.block, context)) {
|
|
2250
|
+
hasValidRoot = true;
|
|
2251
|
+
continue;
|
|
2252
|
+
}
|
|
2253
|
+
return false;
|
|
2254
|
+
default: return false;
|
|
2255
|
+
}
|
|
2256
|
+
}
|
|
2257
|
+
return hasValidRoot;
|
|
2258
|
+
}
|
|
2259
|
+
function isStableTemplateSlotRoot(child, context) {
|
|
2260
|
+
if (child.template == null) return false;
|
|
2261
|
+
const content = context.ir.template.entries[child.template].content;
|
|
2262
|
+
return content !== "" && !commentOnlyTemplateRE.test(content.trim());
|
|
2263
|
+
}
|
|
2170
2264
|
//#endregion
|
|
2171
2265
|
//#region packages/compiler-vapor/src/generators/slotOutlet.ts
|
|
2172
2266
|
function genSlotOutlet(oper, context) {
|
|
@@ -2503,7 +2597,7 @@ function genBlockContent(block, context, root, genEffectsExtraFrag) {
|
|
|
2503
2597
|
else if (genEffectsExtraFrag) push(...genEffects([], context, genEffectsExtraFrag));
|
|
2504
2598
|
push(NEWLINE, `return `);
|
|
2505
2599
|
const returnNodes = returns.map((n) => `n${n}`);
|
|
2506
|
-
push(...returnNodes.length > 1 ? genMulti(DELIMITERS_ARRAY, ...returnNodes) : [returnNodes[0] || "
|
|
2600
|
+
push(...returnNodes.length > 1 ? genMulti(DELIMITERS_ARRAY, ...returnNodes) : [returnNodes[0] || "[]"]);
|
|
2507
2601
|
resetBlock();
|
|
2508
2602
|
context.singleUseAssetComponentNames = prevSingleUseAssetComponentNames;
|
|
2509
2603
|
return frag;
|
|
@@ -2842,11 +2936,36 @@ const transformVBind = (dir, node, context) => {
|
|
|
2842
2936
|
};
|
|
2843
2937
|
};
|
|
2844
2938
|
//#endregion
|
|
2939
|
+
//#region packages/compiler-vapor/src/transforms/vHtml.ts
|
|
2940
|
+
function ignoreVHtmlChildren(node, context, clear) {
|
|
2941
|
+
if (!node.children.length) return;
|
|
2942
|
+
const dir = (0, _vue_compiler_dom.findDir)(node, "html");
|
|
2943
|
+
if (!dir) return;
|
|
2944
|
+
context.options.onError((0, _vue_compiler_dom.createDOMCompilerError)(55, dir.loc));
|
|
2945
|
+
if (clear === "node") node.children.length = 0;
|
|
2946
|
+
else context.childrenTemplate.length = 0;
|
|
2947
|
+
}
|
|
2948
|
+
const transformVHtml = (dir, node, context) => {
|
|
2949
|
+
let { exp, loc } = dir;
|
|
2950
|
+
if (!exp) {
|
|
2951
|
+
context.options.onError((0, _vue_compiler_dom.createDOMCompilerError)(54, loc));
|
|
2952
|
+
exp = EMPTY_EXPRESSION;
|
|
2953
|
+
}
|
|
2954
|
+
ignoreVHtmlChildren(node, context, "template");
|
|
2955
|
+
context.registerEffect([exp], {
|
|
2956
|
+
type: 8,
|
|
2957
|
+
element: context.reference(),
|
|
2958
|
+
value: exp,
|
|
2959
|
+
isComponent: node.tagType === 1
|
|
2960
|
+
});
|
|
2961
|
+
};
|
|
2962
|
+
//#endregion
|
|
2845
2963
|
//#region packages/compiler-vapor/src/transforms/transformElement.ts
|
|
2846
2964
|
const isReservedProp = /* @__PURE__ */ (0, _vue_shared.makeMap)(",key,ref,ref_for,ref_key,");
|
|
2847
2965
|
const transformElement = (node, context) => {
|
|
2848
2966
|
let effectIndex = context.block.effect.length;
|
|
2849
2967
|
const getEffectIndex = () => effectIndex++;
|
|
2968
|
+
if (node.type === 1 && node.children.length) ignoreVHtmlChildren(node, context, "node");
|
|
2850
2969
|
let parentSlots;
|
|
2851
2970
|
if (node.type === 1 && (node.tagType === 1 || context.options.isCustomElement(node.tag))) {
|
|
2852
2971
|
parentSlots = context.slots;
|
|
@@ -2977,7 +3096,6 @@ function transformNativeElement(node, propsResult, staticKey, singleRoot, contex
|
|
|
2977
3096
|
let template = "";
|
|
2978
3097
|
template += `<${tag}`;
|
|
2979
3098
|
if (scopeId) template += ` ${scopeId}`;
|
|
2980
|
-
const dynamicProps = [];
|
|
2981
3099
|
if (propsResult[0]) {
|
|
2982
3100
|
const [, dynamicArgs, expressions] = propsResult;
|
|
2983
3101
|
context.registerEffect(expressions, {
|
|
@@ -2998,54 +3116,25 @@ function transformNativeElement(node, propsResult, staticKey, singleRoot, contex
|
|
|
2998
3116
|
};
|
|
2999
3117
|
for (const prop of propsResult[1]) {
|
|
3000
3118
|
const { key, values } = prop;
|
|
3001
|
-
|
|
3119
|
+
const canStringifyAttrName = key.isStatic && !UNSAFE_ATTR_NAME_RE.test(key.content);
|
|
3120
|
+
let foldedValue;
|
|
3121
|
+
if (canStringifyAttrName && context.imports.some((imported) => values[0].content.includes(imported.exp.content))) {
|
|
3002
3122
|
if (!prevWasQuoted) template += ` `;
|
|
3003
3123
|
template += `${key.content}="${IMPORT_EXP_START}${values[0].content}${IMPORT_EXP_END}"`;
|
|
3004
3124
|
prevWasQuoted = true;
|
|
3005
|
-
} else if (
|
|
3125
|
+
} else if (canStringifyAttrName && values.length === 1 && (values[0].isStatic || values[0].content === "''") && !dynamicKeys.includes(key.content)) {
|
|
3006
3126
|
const value = values[0].content === "''" ? "" : values[0].content;
|
|
3007
3127
|
appendTemplateProp(key.content, value);
|
|
3008
|
-
} else {
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
tag
|
|
3019
|
-
}, getEffectIndex);
|
|
3020
|
-
}
|
|
3021
|
-
}
|
|
3022
|
-
else if (key.isStatic && !prop.modifier && hasBoundValue(values)) {
|
|
3023
|
-
let foldedValue;
|
|
3024
|
-
if (key.content === "class") foldedValue = foldClassValues(values);
|
|
3025
|
-
else if (key.content === "style") foldedValue = foldStyleValues(values);
|
|
3026
|
-
if (foldedValue != null) {
|
|
3027
|
-
if (foldedValue) appendTemplateProp(key.content, foldedValue, true);
|
|
3028
|
-
} else {
|
|
3029
|
-
dynamicProps.push(key.content);
|
|
3030
|
-
context.registerEffect(values, {
|
|
3031
|
-
type: 3,
|
|
3032
|
-
element: context.reference(),
|
|
3033
|
-
prop,
|
|
3034
|
-
tag
|
|
3035
|
-
}, getEffectIndex);
|
|
3036
|
-
}
|
|
3037
|
-
} else if (key.isStatic && values.length === 1 && (values[0].isStatic || values[0].content === "''") && !dynamicKeys.includes(key.content)) {
|
|
3038
|
-
const value = values[0].content === "''" ? "" : values[0].content;
|
|
3039
|
-
appendTemplateProp(key.content, value);
|
|
3040
|
-
} else {
|
|
3041
|
-
dynamicProps.push(key.content);
|
|
3042
|
-
context.registerEffect(values, {
|
|
3043
|
-
type: 3,
|
|
3044
|
-
element: context.reference(),
|
|
3045
|
-
prop,
|
|
3046
|
-
tag
|
|
3047
|
-
}, getEffectIndex);
|
|
3048
|
-
}
|
|
3128
|
+
} else if (canStringifyAttrName && !prop.modifier && (0, _vue_shared.isBooleanAttr)(key.content) && (foldedValue = foldBooleanAttrValue(values)) != null) {
|
|
3129
|
+
if (foldedValue) appendTemplateProp(key.content);
|
|
3130
|
+
} else if (canStringifyAttrName && !prop.modifier && hasBoundValue(values) && (foldedValue = key.content === "class" ? foldClassValues(values) : key.content === "style" ? foldStyleValues(values) : void 0) != null) {
|
|
3131
|
+
if (foldedValue) appendTemplateProp(key.content, foldedValue, true);
|
|
3132
|
+
} else context.registerEffect(values, {
|
|
3133
|
+
type: 3,
|
|
3134
|
+
element: context.reference(),
|
|
3135
|
+
prop,
|
|
3136
|
+
tag
|
|
3137
|
+
}, getEffectIndex);
|
|
3049
3138
|
}
|
|
3050
3139
|
}
|
|
3051
3140
|
template += `>` + context.childrenTemplate.join("");
|
|
@@ -3558,25 +3647,6 @@ const transformVOnce = (node, context) => {
|
|
|
3558
3647
|
if (node.type === 1 && (0, _vue_compiler_dom.findDir)(node, "once", true)) context.inVOnce = true;
|
|
3559
3648
|
};
|
|
3560
3649
|
//#endregion
|
|
3561
|
-
//#region packages/compiler-vapor/src/transforms/vHtml.ts
|
|
3562
|
-
const transformVHtml = (dir, node, context) => {
|
|
3563
|
-
let { exp, loc } = dir;
|
|
3564
|
-
if (!exp) {
|
|
3565
|
-
context.options.onError((0, _vue_compiler_dom.createDOMCompilerError)(54, loc));
|
|
3566
|
-
exp = EMPTY_EXPRESSION;
|
|
3567
|
-
}
|
|
3568
|
-
if (node.children.length) {
|
|
3569
|
-
context.options.onError((0, _vue_compiler_dom.createDOMCompilerError)(55, loc));
|
|
3570
|
-
context.childrenTemplate.length = 0;
|
|
3571
|
-
}
|
|
3572
|
-
context.registerEffect([exp], {
|
|
3573
|
-
type: 8,
|
|
3574
|
-
element: context.reference(),
|
|
3575
|
-
value: exp,
|
|
3576
|
-
isComponent: node.tagType === 1
|
|
3577
|
-
});
|
|
3578
|
-
};
|
|
3579
|
-
//#endregion
|
|
3580
3650
|
//#region packages/shared/src/makeMap.ts
|
|
3581
3651
|
/**
|
|
3582
3652
|
* Make a map and return a function for checking if a key
|
|
@@ -3794,12 +3864,10 @@ const transformVOn = (dir, node, context) => {
|
|
|
3794
3864
|
const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = (0, _vue_compiler_dom.resolveModifiers)(arg.isStatic ? `on${arg.content}` : arg, modifiers, null, loc);
|
|
3795
3865
|
let keyOverride;
|
|
3796
3866
|
const isStaticClick = arg.isStatic && arg.content.toLowerCase() === "click";
|
|
3797
|
-
if (nonKeyModifiers.includes("middle")) {
|
|
3798
|
-
if (keyOverride) {}
|
|
3799
|
-
if (!isStaticClick && !arg.isStatic) keyOverride = ["click", "mouseup"];
|
|
3800
|
-
}
|
|
3801
3867
|
if (nonKeyModifiers.includes("right")) {
|
|
3802
3868
|
if (!isStaticClick && !arg.isStatic) keyOverride = ["click", "contextmenu"];
|
|
3869
|
+
} else if (nonKeyModifiers.includes("middle")) {
|
|
3870
|
+
if (!isStaticClick && !arg.isStatic) keyOverride = ["click", "mouseup"];
|
|
3803
3871
|
}
|
|
3804
3872
|
arg = normalizeStaticEventArg(arg, nonKeyModifiers);
|
|
3805
3873
|
if (keyModifiers.length && (0, _vue_compiler_dom.isStaticExp)(arg) && !(0, _vue_compiler_dom.isKeyboardEvent)(`on${arg.content.toLowerCase()}`)) keyModifiers.length = 0;
|
|
@@ -3813,7 +3881,7 @@ const transformVOn = (dir, node, context) => {
|
|
|
3813
3881
|
options: eventOptionModifiers
|
|
3814
3882
|
}
|
|
3815
3883
|
};
|
|
3816
|
-
const delegate = arg.isStatic && !eventOptionModifiers.length && !hasStopHandlerForStaticEvent(node, arg.content) && delegatedEvents(arg.content);
|
|
3884
|
+
const delegate = context.options.eventDelegation && arg.isStatic && !eventOptionModifiers.length && !hasStopHandlerForStaticEvent(node, arg.content) && delegatedEvents(arg.content);
|
|
3817
3885
|
const operation = {
|
|
3818
3886
|
type: 6,
|
|
3819
3887
|
element: context.reference(),
|
|
@@ -3834,8 +3902,8 @@ function normalizeStaticEventArg(arg, nonKeyModifiers) {
|
|
|
3834
3902
|
if (!arg.isStatic) return arg;
|
|
3835
3903
|
let normalized = arg;
|
|
3836
3904
|
const isStaticClick = arg.content.toLowerCase() === "click";
|
|
3837
|
-
if (nonKeyModifiers.includes("middle") && isStaticClick) normalized = (0, _vue_shared.extend)({}, normalized, { content: "mouseup" });
|
|
3838
3905
|
if (nonKeyModifiers.includes("right") && isStaticClick) normalized = (0, _vue_shared.extend)({}, normalized, { content: "contextmenu" });
|
|
3906
|
+
else if (nonKeyModifiers.includes("middle") && isStaticClick) normalized = (0, _vue_shared.extend)({}, normalized, { content: "mouseup" });
|
|
3839
3907
|
return normalized;
|
|
3840
3908
|
}
|
|
3841
3909
|
function hasStopHandlerForStaticEvent(node, eventName) {
|
|
@@ -4035,11 +4103,14 @@ function processIf(node, dir, context) {
|
|
|
4035
4103
|
}
|
|
4036
4104
|
while (lastIfNode.negative && lastIfNode.negative.type === 15) lastIfNode = lastIfNode.negative;
|
|
4037
4105
|
if (dir.name === "else-if" && lastIfNode.negative) context.options.onError((0, _vue_compiler_dom.createCompilerError)(30, node.loc));
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4106
|
+
const comments = context.comment;
|
|
4107
|
+
if (comments.length) {
|
|
4108
|
+
if (!isInTransition(context)) {
|
|
4109
|
+
node = wrapTemplate(node, ["else-if", "else"]);
|
|
4110
|
+
context.node = node = (0, _vue_shared.extend)({}, node, { children: [...comments, ...node.children] });
|
|
4111
|
+
}
|
|
4112
|
+
comments.length = 0;
|
|
4041
4113
|
}
|
|
4042
|
-
context.root.comment = [];
|
|
4043
4114
|
const [branch, onExit] = createIfBranch(node, context);
|
|
4044
4115
|
if (dir.name === "else") lastIfNode.negative = branch;
|
|
4045
4116
|
else lastIfNode.negative = {
|
|
@@ -4217,7 +4288,7 @@ function createFallback(node, context) {
|
|
|
4217
4288
|
//#region packages/compiler-vapor/src/transforms/vSlot.ts
|
|
4218
4289
|
const transformVSlot = (node, context) => {
|
|
4219
4290
|
if (node.type !== 1) return;
|
|
4220
|
-
const dir = findDir$
|
|
4291
|
+
const dir = findDir$3(node, "slot", true);
|
|
4221
4292
|
const { tagType, children } = node;
|
|
4222
4293
|
const { parent } = context;
|
|
4223
4294
|
const isComponent = tagType === 1;
|
|
@@ -4268,9 +4339,9 @@ function transformTemplateSlot(node, dir, context) {
|
|
|
4268
4339
|
const resolvedArg = dir.arg && resolveExpression(dir.arg);
|
|
4269
4340
|
let arg = resolvedArg;
|
|
4270
4341
|
if (!arg) arg = (0, _vue_compiler_dom.createSimpleExpression)("default", true);
|
|
4271
|
-
const vFor = findDir$
|
|
4272
|
-
const vIf = findDir$
|
|
4273
|
-
const vElse = findDir$
|
|
4342
|
+
const vFor = findDir$3(node, "for");
|
|
4343
|
+
const vIf = findDir$3(node, "if");
|
|
4344
|
+
const vElse = findDir$3(node, /^else(-if)?$/, true);
|
|
4274
4345
|
const { slots } = context;
|
|
4275
4346
|
const [block, onExit] = createSlotBlock(node, dir, context);
|
|
4276
4347
|
if (!vFor && !vIf && !vElse) {
|
|
@@ -4288,7 +4359,7 @@ function transformTemplateSlot(node, dir, context) {
|
|
|
4288
4359
|
});
|
|
4289
4360
|
else if (vElse) {
|
|
4290
4361
|
const vIfSlot = slots[slots.length - 1];
|
|
4291
|
-
if (vIfSlot.slotType === 3) {
|
|
4362
|
+
if (vIfSlot && vIfSlot.slotType === 3) {
|
|
4292
4363
|
let ifNode = vIfSlot;
|
|
4293
4364
|
while (ifNode.negative && ifNode.negative.slotType === 3) ifNode = ifNode.negative;
|
|
4294
4365
|
const negative = vElse.exp ? {
|
|
@@ -4351,7 +4422,7 @@ function isNonWhitespaceContent(node) {
|
|
|
4351
4422
|
return !!node.content.trim();
|
|
4352
4423
|
}
|
|
4353
4424
|
function isSlotTemplateChild(node) {
|
|
4354
|
-
return node.type === 1 && (0, _vue_compiler_dom.isTemplateNode)(node) && !!findDir$
|
|
4425
|
+
return node.type === 1 && (0, _vue_compiler_dom.isTemplateNode)(node) && !!findDir$3(node, "slot", true);
|
|
4355
4426
|
}
|
|
4356
4427
|
//#endregion
|
|
4357
4428
|
//#region packages/compiler-vapor/src/transforms/transformTransition.ts
|
|
@@ -4364,17 +4435,17 @@ function hasMultipleChildren(node) {
|
|
|
4364
4435
|
const children = node.children = node.children.filter((c) => c.type !== 3 && !(c.type === 2 && !c.content.trim()));
|
|
4365
4436
|
const first = children[0];
|
|
4366
4437
|
if (children.length === 1 && first.type === 1) {
|
|
4367
|
-
if (findDir$
|
|
4438
|
+
if (findDir$3(first, "for")) return true;
|
|
4368
4439
|
if ((0, _vue_compiler_dom.isTemplateNode)(first)) return hasMultipleChildren(first);
|
|
4369
4440
|
}
|
|
4370
|
-
const hasElse = (node) => findDir$
|
|
4371
|
-
if (children.length > 0 && children.every((c, index) => c.type === 1 && (!(0, _vue_compiler_dom.isTemplateNode)(c) || !hasMultipleChildren(c)) && !findDir$
|
|
4441
|
+
const hasElse = (node) => findDir$3(node, "else-if") || findDir$3(node, "else", true);
|
|
4442
|
+
if (children.length > 0 && children.every((c, index) => c.type === 1 && (!(0, _vue_compiler_dom.isTemplateNode)(c) || !hasMultipleChildren(c)) && !findDir$3(c, "for") && (index === 0 ? findDir$3(c, "if") : hasElse(c)))) return false;
|
|
4372
4443
|
return children.length !== 1;
|
|
4373
4444
|
}
|
|
4374
4445
|
//#endregion
|
|
4375
4446
|
//#region packages/compiler-vapor/src/transforms/transformKey.ts
|
|
4376
4447
|
const transformKey = (node, context) => {
|
|
4377
|
-
if (node.type !== 1 || context.inVOnce || findDir$
|
|
4448
|
+
if (node.type !== 1 || context.inVOnce || findDir$3(node, "for")) return;
|
|
4378
4449
|
const dir = findProp$1(node, "key", true, true);
|
|
4379
4450
|
if (!dir || dir.type === 6) return;
|
|
4380
4451
|
let value;
|
package/dist/compiler-vapor.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AllNode, BaseCodegenResult, CodegenOptions as CodegenOptions$1, CodegenSourceMapGenerator, CommentNode, CompilerCompatOptions, CompilerError, CompilerOptions as CompilerOptions$1, CompoundExpressionNode, DirectiveNode, ElementNode, RootNode, SimpleExpressionNode, SourceLocation, TemplateChildNode, TemplateNode, TransformOptions, parse } from "@vue/compiler-dom";
|
|
2
|
-
import { IfAny, IsKeyValues, LooseRequired, Namespace, NormalizedStyle, OverloadParameters, PatchFlags, Prettify, SlotFlags, UnionToIntersection, camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from "@vue/shared";
|
|
2
|
+
import { IfAny, IsKeyValues, LooseRequired, Namespace, NormalizedStyle, OverloadParameters, PatchFlags, Prettify, SlotFlags, UnionToIntersection, VaporSlotFlags, camelize, capitalize, extend, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from "@vue/shared";
|
|
3
3
|
//#endregion
|
|
4
4
|
//#region packages/reactivity/src/constants.d.ts
|
|
5
5
|
declare enum TrackOpTypes {
|
|
@@ -1410,6 +1410,7 @@ declare let isHydrating: boolean;
|
|
|
1410
1410
|
type RootHydrateFunction = (vnode: VNode<Node, Element>, container: (Element | ShadowRoot) & {
|
|
1411
1411
|
_vnode?: VNode;
|
|
1412
1412
|
}) => void;
|
|
1413
|
+
declare const logMismatchError: () => void;
|
|
1413
1414
|
declare function createHydrationFunctions(rendererInternals: RendererInternals<Node, Element>): [RootHydrateFunction, (node: Node, vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized?: boolean) => Node | null];
|
|
1414
1415
|
declare const isTemplateNode: (node: Node) => node is HTMLTemplateElement;
|
|
1415
1416
|
declare function getAttributeMismatch(el: Element, key: string, clientValue: any): {
|
|
@@ -3072,7 +3073,7 @@ type AsyncComponentContext<T, C = ConcreteComponent> = {
|
|
|
3072
3073
|
setPendingRequest: (request: Promise<C> | null) => void;
|
|
3073
3074
|
};
|
|
3074
3075
|
declare function createAsyncComponentContext<T, C = ConcreteComponent>(source: AsyncComponentLoader<T> | AsyncComponentOptions<T>): AsyncComponentContext<T, C>;
|
|
3075
|
-
declare const useAsyncComponentState: (delay: number | undefined, timeout: number | undefined, onError: (err: Error) => void) => {
|
|
3076
|
+
declare const useAsyncComponentState: (delay: number | undefined, timeout: number | undefined, onError: (err: Error) => void, instance?: GenericComponentInstance | null) => {
|
|
3076
3077
|
loaded: Ref<boolean>;
|
|
3077
3078
|
error: Ref<Error | undefined>;
|
|
3078
3079
|
delayed: Ref<boolean>;
|
|
@@ -25232,10 +25233,13 @@ declare function setVarsOnNode(el: Node, vars: Record<string, string>): void;
|
|
|
25232
25233
|
type Style = string | null | undefined | Record<string, unknown>;
|
|
25233
25234
|
declare function patchStyle(el: Element, prev: Style, next: Style): void;
|
|
25234
25235
|
//#endregion
|
|
25236
|
+
//#region packages/runtime-dom/src/modules/events.d.ts
|
|
25237
|
+
declare function parseEventName(name: string): [string, EventListenerOptions | undefined];
|
|
25238
|
+
//#endregion
|
|
25235
25239
|
//#region packages/runtime-dom/src/modules/attrs.d.ts
|
|
25236
25240
|
declare const xlinkNS = "http://www.w3.org/1999/xlink";
|
|
25237
25241
|
declare namespace index_d_exports$1 {
|
|
25238
|
-
export { AllowedAttrs, AllowedComponentProps, AnchorHTMLAttributes, App, AppConfig, AppContext, AppMountFn, AppUnmountFn, AreaHTMLAttributes, AriaAttributes, AsyncComponentInternalOptions, AsyncComponentLoader, AsyncComponentOptions, Attrs, AudioHTMLAttributes, BaseHTMLAttributes, BaseTransition, BaseTransitionProps, BaseTransitionPropsValidators, BlockquoteHTMLAttributes, ButtonHTMLAttributes, CSSProperties, CanvasHTMLAttributes, ClassValue, ColHTMLAttributes, ColgroupHTMLAttributes, Comment$2 as Comment, CompatVue, Component, ComponentCustomElementInterface, ComponentCustomOptions, ComponentCustomProperties, ComponentCustomProps, ComponentInjectOptions, ComponentInstance, ComponentInternalInstance, ComponentInternalOptions, ComponentObjectPropsOptions, ComponentOptions, ComponentOptionsBase, ComponentOptionsMixin, ComponentOptionsWithArrayProps, ComponentOptionsWithObjectProps, ComponentOptionsWithoutProps, ComponentPropsOptions, ComponentProvideOptions, ComponentPublicInstance, ComponentTypeEmits, ComputedGetter, ComputedOptions, ComputedRef, ComputedSetter, ConcreteComponent, CreateAppFunction, CreateComponentPublicInstance, CreateComponentPublicInstanceWithMixins, CustomElementOptions, CustomRefFactory, DataHTMLAttributes, DebuggerEvent, DebuggerEventExtraInfo, DebuggerOptions, DeepReadonly, DefineComponent, DefineProps, DefineSetupFnComponent, DelHTMLAttributes, DeprecationTypes, DetailsHTMLAttributes, DialogHTMLAttributes, Directive$1 as Directive, DirectiveArguments$1 as DirectiveArguments, DirectiveBinding, DirectiveHook, DirectiveModifiers, EffectScheduler, EffectScope, ElementNamespace, ElementWithTransition, EmbedHTMLAttributes, EmitFn, EmitsOptions, EmitsToProps, ErrorCodes, ErrorTypeStrings, Events, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, FieldsetHTMLAttributes, FormHTMLAttributes, Fragment, FunctionDirective, FunctionPlugin, FunctionalComponent, GenericAppContext, GenericComponent, GenericComponentInstance, GlobalComponents, GlobalDirectives, HMRRuntime, HTMLAttributes, HtmlHTMLAttributes, HydrationRenderer, HydrationStrategy, HydrationStrategyFactory, IframeHTMLAttributes, ImgHTMLAttributes, InjectionKey, InputAutoCompleteAttribute, InputHTMLAttributes, InputTypeHTMLAttribute, InsHTMLAttributes, IntrinsicElementAttributes, KeepAlive, KeepAliveContext, KeepAliveProps, KeygenHTMLAttributes, LabelHTMLAttributes, LegacyConfig, LiHTMLAttributes, LifecycleHook, LinkHTMLAttributes, MapHTMLAttributes, MaybeRef, MaybeRefOrGetter, MediaHTMLAttributes, MenuHTMLAttributes, MetaHTMLAttributes, MeterHTMLAttributes, MethodOptions, MismatchTypes, ModelRef, MoveType, MultiWatchSources, NULL_DYNAMIC_COMPONENT, NativeElements, NormalizedPropsOptions, ObjectDirective, ObjectEmitsOptions, ObjectHTMLAttributes, ObjectPlugin, OlHTMLAttributes, OptgroupHTMLAttributes, OptionHTMLAttributes, OptionMergeFunction, OutputHTMLAttributes, ParamHTMLAttributes, Plugin, ProgressHTMLAttributes, Prop, PropType, PublicProps, QuoteHTMLAttributes, Raw, Reactive, ReactiveEffect, ReactiveEffectOptions, ReactiveEffectRunner, ReactiveFlags$1 as ReactiveFlags, Ref, RenderFunction, Renderer, RendererElement, RendererInternals, RendererNode, RendererOptions, ReservedProps, RootHydrateFunction, RootRenderFunction, RuntimeCompilerOptions, SVGAttributes, SchedulerJob, SchedulerJobFlags, ScriptHTMLAttributes, SelectHTMLAttributes, SetupContext, ShallowReactive, ShallowRef, ShallowUnwrapRef, ShortEmitsToObject, Slot, Slots, SlotsType, SourceHTMLAttributes, Static, StyleHTMLAttributes, StyleValue, Suspense, SuspenseBoundary, SuspenseProps, TableHTMLAttributes, TdHTMLAttributes, Teleport, TeleportProps, TeleportTargetElement, TemplateRef, Text$1 as Text, TextareaHTMLAttributes, ThHTMLAttributes, TimeHTMLAttributes, ToRef, ToRefs, TrackHTMLAttributes, TrackOpTypes, Transition, TransitionElement, TransitionGroup, TransitionGroupProps, TransitionHooks, TransitionHooksContext, TransitionProps, TransitionPropsValidators, TransitionState, TriggerOpTypes, TypeEmitsToOptions, UnwrapNestedRefs, UnwrapRef, VNode, VNodeArrayChildren, VNodeChild, VNodeNormalizedChildren, VNodeNormalizedRef, VNodeProps, VNodeRef, VNodeTypes, VShowElement, VaporInteropInterface, VaporSlot$1 as VaporSlot, VideoHTMLAttributes, VueElement, VueElementBase, VueElementConstructor, WatchCallback, WatchEffect, WatchHandle, WatchOptions, WatchEffectOptions as WatchOptionsBase, WatchSource, WatchStopHandle, WebViewHTMLAttributes, WritableComputedOptions, WritableComputedRef, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref$1 as ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, resolveTransitionProps, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext$1 as withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };
|
|
25242
|
+
export { AllowedAttrs, AllowedComponentProps, AnchorHTMLAttributes, App, AppConfig, AppContext, AppMountFn, AppUnmountFn, AreaHTMLAttributes, AriaAttributes, AsyncComponentInternalOptions, AsyncComponentLoader, AsyncComponentOptions, Attrs, AudioHTMLAttributes, BaseHTMLAttributes, BaseTransition, BaseTransitionProps, BaseTransitionPropsValidators, BlockquoteHTMLAttributes, ButtonHTMLAttributes, CSSProperties, CanvasHTMLAttributes, ClassValue, ColHTMLAttributes, ColgroupHTMLAttributes, Comment$2 as Comment, CompatVue, Component, ComponentCustomElementInterface, ComponentCustomOptions, ComponentCustomProperties, ComponentCustomProps, ComponentInjectOptions, ComponentInstance, ComponentInternalInstance, ComponentInternalOptions, ComponentObjectPropsOptions, ComponentOptions, ComponentOptionsBase, ComponentOptionsMixin, ComponentOptionsWithArrayProps, ComponentOptionsWithObjectProps, ComponentOptionsWithoutProps, ComponentPropsOptions, ComponentProvideOptions, ComponentPublicInstance, ComponentTypeEmits, ComputedGetter, ComputedOptions, ComputedRef, ComputedSetter, ConcreteComponent, CreateAppFunction, CreateComponentPublicInstance, CreateComponentPublicInstanceWithMixins, CustomElementOptions, CustomRefFactory, DataHTMLAttributes, DebuggerEvent, DebuggerEventExtraInfo, DebuggerOptions, DeepReadonly, DefineComponent, DefineProps, DefineSetupFnComponent, DelHTMLAttributes, DeprecationTypes, DetailsHTMLAttributes, DialogHTMLAttributes, Directive$1 as Directive, DirectiveArguments$1 as DirectiveArguments, DirectiveBinding, DirectiveHook, DirectiveModifiers, EffectScheduler, EffectScope, ElementNamespace, ElementWithTransition, EmbedHTMLAttributes, EmitFn, EmitsOptions, EmitsToProps, ErrorCodes, ErrorTypeStrings, Events, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, FieldsetHTMLAttributes, FormHTMLAttributes, Fragment, FunctionDirective, FunctionPlugin, FunctionalComponent, GenericAppContext, GenericComponent, GenericComponentInstance, GlobalComponents, GlobalDirectives, HMRRuntime, HTMLAttributes, HtmlHTMLAttributes, HydrationRenderer, HydrationStrategy, HydrationStrategyFactory, IframeHTMLAttributes, ImgHTMLAttributes, InjectionKey, InputAutoCompleteAttribute, InputHTMLAttributes, InputTypeHTMLAttribute, InsHTMLAttributes, IntrinsicElementAttributes, KeepAlive, KeepAliveContext, KeepAliveProps, KeygenHTMLAttributes, LabelHTMLAttributes, LegacyConfig, LiHTMLAttributes, LifecycleHook, LinkHTMLAttributes, MapHTMLAttributes, MaybeRef, MaybeRefOrGetter, MediaHTMLAttributes, MenuHTMLAttributes, MetaHTMLAttributes, MeterHTMLAttributes, MethodOptions, MismatchTypes, ModelRef, MoveType, MultiWatchSources, NULL_DYNAMIC_COMPONENT, NativeElements, NormalizedPropsOptions, ObjectDirective, ObjectEmitsOptions, ObjectHTMLAttributes, ObjectPlugin, OlHTMLAttributes, OptgroupHTMLAttributes, OptionHTMLAttributes, OptionMergeFunction, OutputHTMLAttributes, ParamHTMLAttributes, Plugin, ProgressHTMLAttributes, Prop, PropType, PublicProps, QuoteHTMLAttributes, Raw, Reactive, ReactiveEffect, ReactiveEffectOptions, ReactiveEffectRunner, ReactiveFlags$1 as ReactiveFlags, Ref, RenderFunction, Renderer, RendererElement, RendererInternals, RendererNode, RendererOptions, ReservedProps, RootHydrateFunction, RootRenderFunction, RuntimeCompilerOptions, SVGAttributes, SchedulerJob, SchedulerJobFlags, ScriptHTMLAttributes, SelectHTMLAttributes, SetupContext, ShallowReactive, ShallowRef, ShallowUnwrapRef, ShortEmitsToObject, Slot, Slots, SlotsType, SourceHTMLAttributes, Static, StyleHTMLAttributes, StyleValue, Suspense, SuspenseBoundary, SuspenseProps, TableHTMLAttributes, TdHTMLAttributes, Teleport, TeleportProps, TeleportTargetElement, TemplateRef, Text$1 as Text, TextareaHTMLAttributes, ThHTMLAttributes, TimeHTMLAttributes, ToRef, ToRefs, TrackHTMLAttributes, TrackOpTypes, Transition, TransitionElement, TransitionGroup, TransitionGroupProps, TransitionHooks, TransitionHooksContext, TransitionProps, TransitionPropsValidators, TransitionState, TriggerOpTypes, TypeEmitsToOptions, UnwrapNestedRefs, UnwrapRef, VNode, VNodeArrayChildren, VNodeChild, VNodeNormalizedChildren, VNodeNormalizedRef, VNodeProps, VNodeRef, VNodeTypes, VShowElement, VaporInteropInterface, VaporSlot$1 as VaporSlot, VideoHTMLAttributes, VueElement, VueElementBase, VueElementConstructor, WatchCallback, WatchEffect, WatchHandle, WatchOptions, WatchEffectOptions as WatchOptionsBase, WatchSource, WatchStopHandle, WebViewHTMLAttributes, WritableComputedOptions, WritableComputedRef, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, parseEventName, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref$1 as ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, resolveTransitionProps, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext$1 as withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };
|
|
25239
25243
|
}
|
|
25240
25244
|
/**
|
|
25241
25245
|
* This is a stub implementation to prevent the need to use dom types.
|
|
@@ -25291,22 +25295,36 @@ declare function createTemplateRefSetter(): setRefFn;
|
|
|
25291
25295
|
declare function setStaticTemplateRef(el: RefEl, ref: NodeRef, refFor?: boolean, refKey?: string): NodeRef | undefined;
|
|
25292
25296
|
declare function setTemplateRefBinding(el: RefEl, getter: () => any, setter?: setRefFn, refFor?: boolean, refKey?: string): void;
|
|
25293
25297
|
//#endregion
|
|
25298
|
+
//#region packages/runtime-vapor/src/slotBoundary.d.ts
|
|
25299
|
+
interface SlotBoundaryContext {
|
|
25300
|
+
parent: SlotBoundaryContext | null;
|
|
25301
|
+
getFallback: () => BlockFn | undefined;
|
|
25302
|
+
run<R>(fn: () => R, scope?: EffectScope): R;
|
|
25303
|
+
markDirty: () => void;
|
|
25304
|
+
redirected?: SlotBoundaryContext;
|
|
25305
|
+
}
|
|
25306
|
+
//#endregion
|
|
25294
25307
|
//#region packages/runtime-vapor/src/keepAlive.d.ts
|
|
25295
25308
|
interface VaporKeepAliveContext {
|
|
25309
|
+
acquireBranchScope(key: any): EffectScope | undefined;
|
|
25310
|
+
runBranchRender(frag: DynamicFragment, fn: () => void): void;
|
|
25296
25311
|
processShapeFlag(block: Block$1): any | false;
|
|
25297
25312
|
cacheBlock(block?: Block$1): void;
|
|
25298
25313
|
cacheScope(cacheKey: any, scopeLookupKey: any, scope: EffectScope): void;
|
|
25299
|
-
getScope(key: any): EffectScope | undefined;
|
|
25300
25314
|
}
|
|
25301
25315
|
//#endregion
|
|
25302
25316
|
//#region packages/runtime-vapor/src/fragment.d.ts
|
|
25303
25317
|
declare class VaporFragment<T extends Block$1 = Block$1> implements TransitionOptions {
|
|
25318
|
+
/**
|
|
25319
|
+
* @internal marker for duck typing to avoid direct instanceof check
|
|
25320
|
+
* which prevents tree-shaking of VaporFragment
|
|
25321
|
+
*/
|
|
25322
|
+
readonly __vf = true;
|
|
25304
25323
|
$key?: any;
|
|
25305
25324
|
$transition?: VaporTransitionHooks | undefined;
|
|
25306
25325
|
nodes: T;
|
|
25307
25326
|
vnode?: VNode | null;
|
|
25308
25327
|
anchor?: Node;
|
|
25309
|
-
parentComponent?: GenericComponentInstance | null;
|
|
25310
25328
|
validityPending?: boolean;
|
|
25311
25329
|
isBlockValid?: () => boolean;
|
|
25312
25330
|
insert?: (parent: ParentNode, anchor: Node | null, transitionHooks?: TransitionHooks) => void;
|
|
@@ -25317,6 +25335,9 @@ declare class VaporFragment<T extends Block$1 = Block$1> implements TransitionOp
|
|
|
25317
25335
|
onBeforeRemove?: ((scope: EffectScope) => boolean)[];
|
|
25318
25336
|
onBeforeUpdate?: (() => void)[];
|
|
25319
25337
|
onUpdated?: ((nodes?: Block$1) => void)[];
|
|
25338
|
+
constructor(nodes: T);
|
|
25339
|
+
}
|
|
25340
|
+
declare class RenderContextFragment<T extends Block$1 = Block$1> extends VaporFragment<T> {
|
|
25320
25341
|
readonly renderInstance: GenericComponentInstance | null;
|
|
25321
25342
|
readonly slotOwner: VaporComponentInstance | null;
|
|
25322
25343
|
readonly keepAliveCtx?: VaporKeepAliveContext | null;
|
|
@@ -25329,7 +25350,12 @@ declare class ForFragment extends VaporFragment<Block$1[]> {
|
|
|
25329
25350
|
constructor(nodes: Block$1[], trackSlotBoundary: boolean);
|
|
25330
25351
|
onReset(fn: () => void): void;
|
|
25331
25352
|
}
|
|
25332
|
-
declare class DynamicFragment extends
|
|
25353
|
+
declare class DynamicFragment extends RenderContextFragment {
|
|
25354
|
+
/**
|
|
25355
|
+
* @internal marker for duck typing to avoid direct instanceof check
|
|
25356
|
+
* which prevents tree-shaking of DynamicFragment
|
|
25357
|
+
*/
|
|
25358
|
+
readonly __df = true;
|
|
25333
25359
|
anchor: Node;
|
|
25334
25360
|
scope: EffectScope | undefined;
|
|
25335
25361
|
current?: BlockFn;
|
|
@@ -25341,21 +25367,16 @@ declare class DynamicFragment extends VaporFragment {
|
|
|
25341
25367
|
anchorLabel?: string;
|
|
25342
25368
|
keyed?: boolean;
|
|
25343
25369
|
isSlot?: boolean;
|
|
25370
|
+
forwarded?: boolean;
|
|
25344
25371
|
inTransition?: boolean;
|
|
25345
25372
|
hasFallthroughAttrs?: true;
|
|
25346
|
-
|
|
25347
|
-
|
|
25373
|
+
readonly autoHydrate: boolean;
|
|
25374
|
+
constructor(anchorLabel?: string, keyed?: boolean, locate?: boolean, trackSlotBoundary?: boolean, autoHydrate?: boolean);
|
|
25375
|
+
update(render?: BlockFn, key?: any, noScope?: boolean): void;
|
|
25376
|
+
protected getBranchParent(): ParentNode | null;
|
|
25348
25377
|
renderBranch(render: BlockFn | undefined, transition: VaporTransitionHooks | undefined, parent: ParentNode | null, key: any, noScope?: boolean, notifyUpdated?: boolean): void;
|
|
25349
|
-
hydrate(isEmpty?: boolean): void;
|
|
25350
25378
|
}
|
|
25351
|
-
|
|
25352
|
-
parent: SlotBoundaryContext | null;
|
|
25353
|
-
getFallback: () => BlockFn | undefined;
|
|
25354
|
-
run<R>(fn: () => R, scope?: EffectScope): R;
|
|
25355
|
-
markDirty: () => void;
|
|
25356
|
-
redirected?: SlotBoundaryContext;
|
|
25357
|
-
}
|
|
25358
|
-
declare function isFragment(val: NonNullable<unknown>): val is VaporFragment;
|
|
25379
|
+
declare function isFragment(val: unknown): val is VaporFragment;
|
|
25359
25380
|
//#endregion
|
|
25360
25381
|
//#region packages/runtime-vapor/src/block.d.ts
|
|
25361
25382
|
interface VaporTransitionHooks extends TransitionHooks {
|
|
@@ -25408,7 +25429,9 @@ type LooseRawSlots = VaporSlot | (Record<string, VaporSlot | DynamicSlotSource[]
|
|
|
25408
25429
|
$?: DynamicSlotSource[];
|
|
25409
25430
|
});
|
|
25410
25431
|
type StaticSlots = Record<string, VaporSlot>;
|
|
25411
|
-
type VaporSlot = BlockFn
|
|
25432
|
+
type VaporSlot = BlockFn & {
|
|
25433
|
+
_?: VaporSlotFlags.NON_STABLE;
|
|
25434
|
+
};
|
|
25412
25435
|
type DynamicSlot = {
|
|
25413
25436
|
name: string;
|
|
25414
25437
|
fn: VaporSlot;
|
|
@@ -25832,7 +25855,7 @@ declare const VaporTransition: FunctionalVaporComponent<TransitionProps>;
|
|
|
25832
25855
|
//#region packages/runtime-vapor/src/components/TransitionGroup.d.ts
|
|
25833
25856
|
declare const VaporTransitionGroup: DefineVaporComponent<{}, string, TransitionGroupProps>;
|
|
25834
25857
|
declare namespace index_d_exports {
|
|
25835
|
-
export { Block$1 as Block, DefineVaporComponent, DynamicFragment, FunctionalVaporComponent, VaporComponent, VaporComponentInstance, VaporComponentOptions, VaporDirective, VaporElement, VaporElementConstructor, VaporFragment, VaporKeepAlive, VaporKeepAliveContext, VaporPublicProps, VaporRenderResult, VaporSlot, VaporTeleport, VaporTransition, VaporTransitionGroup, VaporTransitionHooks, applyCheckboxModel, applyDynamicModel, applyRadioModel, applySelectModel, applyTextModel, applyVShow, child, createAssetComponent, createComponent, createComponentWithFallback, createDynamicComponent, createFor, createForSlots, createIf, createInvoker, createKeyedFragment, createPlainElement, createSelector, createSlot, createTemplateRefSetter, createTextNode, createVaporApp, createVaporSSRApp, defineVaporAsyncComponent, defineVaporComponent, defineVaporCustomElement, defineVaporSSRCustomElement, delegate, delegateEvents, getDefaultValue, getRestElement, insert$1 as insert, isFragment, isVaporComponent, next, nthChild, on, onBinding, prepend, remove, renderEffect, setAttr, setBlockHtml, setBlockKey, setBlockText, setClass, setClassName, setDOMProp, setDynamicEvents, setDynamicProps, setElementText, setHtml, setInsertionState, setProp, setStaticTemplateRef, setStyle, setTemplateRefBinding, setText, setValue, template, txt, useVaporCssVars, vaporInteropPlugin, withAsyncContext, withVaporDirectives, withVaporKeys, withVaporModifiers };
|
|
25858
|
+
export { Block$1 as Block, DefineVaporComponent, DynamicFragment, FunctionalVaporComponent, VaporComponent, VaporComponentInstance, VaporComponentOptions, VaporDirective, VaporElement, VaporElementConstructor, VaporFragment, VaporKeepAlive, VaporKeepAliveContext, VaporPublicProps, VaporRenderResult, VaporSlot, VaporTeleport, VaporTransition, VaporTransitionGroup, VaporTransitionHooks, applyCheckboxModel, applyDynamicModel, applyRadioModel, applySelectModel, applyTextModel, applyVShow, child, createAssetComponent, createComponent, createComponentWithFallback, createDynamicComponent, createFor, createForSlots, createIf, createInvoker, createKeyedFragment, createPlainElement, createSelector, createSlot, createTemplateRefSetter, createTextNode, createVaporApp, createVaporSSRApp, defineVaporAsyncComponent, defineVaporComponent, defineVaporCustomElement, defineVaporSSRCustomElement, delegate, delegateEvents, extend, getDefaultValue, getRestElement, insert$1 as insert, isFragment, isVaporComponent, next, nthChild, on, onBinding, prepend, remove, renderEffect, setAttr, setBlockHtml, setBlockKey, setBlockText, setClass, setClassName, setDOMProp, setDynamicEvents, setDynamicProps, setElementText, setHtml, setInsertionState, setProp, setStaticTemplateRef, setStyle, setTemplateRefBinding, setText, setValue, template, txt, useVaporCssVars, vaporInteropPlugin, withAsyncContext, withVaporDirectives, withVaporKeys, withVaporModifiers };
|
|
25836
25859
|
}
|
|
25837
25860
|
//#endregion
|
|
25838
25861
|
//#region temp/packages/compiler-vapor/src/ir/component.d.ts
|
|
@@ -26166,7 +26189,7 @@ interface ImportItem {
|
|
|
26166
26189
|
//#region packages/compiler-core/src/transforms/transformElement.d.ts
|
|
26167
26190
|
type PropsExpression = ObjectExpression | CallExpression | ExpressionNode;
|
|
26168
26191
|
//#endregion
|
|
26169
|
-
//#region node_modules/.pnpm/@babel+types@7.29.
|
|
26192
|
+
//#region node_modules/.pnpm/@babel+types@7.29.7/node_modules/@babel/types/lib/index-legacy.d.ts
|
|
26170
26193
|
// NOTE: This file is autogenerated. Do not modify.
|
|
26171
26194
|
// See packages/babel-types/scripts/generators/typescript-legacy.ts for script used.
|
|
26172
26195
|
interface BaseComment {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compiler-vapor v3.6.0-beta.
|
|
2
|
+
* @vue/compiler-vapor v3.6.0-beta.16
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -16248,7 +16248,7 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
16248
16248
|
}
|
|
16249
16249
|
},
|
|
16250
16250
|
oncdata(start, end) {
|
|
16251
|
-
if (stack[0].ns !== 0) onText(getSlice(start, end), start, end);
|
|
16251
|
+
if ((stack[0] ? stack[0].ns : currentOptions.ns) !== 0) onText(getSlice(start, end), start, end);
|
|
16252
16252
|
else emitError(1, start - 9);
|
|
16253
16253
|
},
|
|
16254
16254
|
onprocessinginstruction(start) {
|
|
@@ -19134,6 +19134,13 @@ function getLiteralExpressionValue(exp, excludeNumber) {
|
|
|
19134
19134
|
}
|
|
19135
19135
|
return exp.isStatic ? exp.content : null;
|
|
19136
19136
|
}
|
|
19137
|
+
function isInTransition(context) {
|
|
19138
|
+
const parentNode = context.parent && context.parent.node;
|
|
19139
|
+
return !!(parentNode && isTransitionNode(parentNode));
|
|
19140
|
+
}
|
|
19141
|
+
function isTransitionNode(node) {
|
|
19142
|
+
return node.type === 1 && isTransitionTag(node.tag);
|
|
19143
|
+
}
|
|
19137
19144
|
function isTransitionTag(tag) {
|
|
19138
19145
|
tag = tag.toLowerCase();
|
|
19139
19146
|
return tag === "transition" || tag === "vaportransition";
|
|
@@ -19365,6 +19372,7 @@ const defaultOptions = {
|
|
|
19365
19372
|
bindingMetadata: EMPTY_OBJ,
|
|
19366
19373
|
inline: false,
|
|
19367
19374
|
isTS: false,
|
|
19375
|
+
eventDelegation: true,
|
|
19368
19376
|
onError: defaultOnError,
|
|
19369
19377
|
onWarn: defaultOnWarn
|
|
19370
19378
|
};
|
|
@@ -19666,6 +19674,8 @@ function _objectSpread2(e) {
|
|
|
19666
19674
|
function genExpression(node, context, assignment) {
|
|
19667
19675
|
node = context.getExpressionReplacement(node);
|
|
19668
19676
|
const { content, ast, isStatic, loc } = node;
|
|
19677
|
+
const { options } = context;
|
|
19678
|
+
const { inline } = options;
|
|
19669
19679
|
if (isStatic) return [[
|
|
19670
19680
|
JSON.stringify(content),
|
|
19671
19681
|
-2,
|
|
@@ -19687,23 +19697,31 @@ function genExpression(node, context, assignment) {
|
|
|
19687
19697
|
let hasMemberExpression = false;
|
|
19688
19698
|
if (ids.length) {
|
|
19689
19699
|
const [frag, push] = buildCodeFragment();
|
|
19690
|
-
|
|
19691
|
-
|
|
19692
|
-
const
|
|
19693
|
-
const
|
|
19694
|
-
const
|
|
19695
|
-
if (leadingText.length) push([leadingText, -3]);
|
|
19696
|
-
const source = content.slice(start, end);
|
|
19700
|
+
let lastEnd = 0;
|
|
19701
|
+
ids.sort((a, b) => a.start - b.start).forEach((id) => {
|
|
19702
|
+
const idStart = id.start - 1;
|
|
19703
|
+
const idEnd = id.end - 1;
|
|
19704
|
+
const source = content.slice(idStart, idEnd);
|
|
19697
19705
|
const parentStack = parentStackMap.get(id);
|
|
19698
19706
|
const parent = parentStack[parentStack.length - 1];
|
|
19707
|
+
let start = idStart;
|
|
19708
|
+
let end = idEnd;
|
|
19709
|
+
if (inline && options.bindingMetadata && options.bindingMetadata[source] === "setup-let" && parent && parent.type === "UpdateExpression" && parent.argument === id) {
|
|
19710
|
+
start = parent.start - 1;
|
|
19711
|
+
end = parent.end - 1;
|
|
19712
|
+
}
|
|
19713
|
+
if (start < lastEnd) return;
|
|
19714
|
+
const leadingText = content.slice(lastEnd, start);
|
|
19715
|
+
if (leadingText.length) push([leadingText, -3]);
|
|
19699
19716
|
hasMemberExpression || (hasMemberExpression = parent && (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression"));
|
|
19700
19717
|
push(...genIdentifier(source, context, {
|
|
19701
19718
|
start: advancePositionWithClone(node.loc.start, source, start),
|
|
19702
19719
|
end: advancePositionWithClone(node.loc.start, source, end),
|
|
19703
19720
|
source
|
|
19704
|
-
}, hasMemberExpression ? void 0 : assignment, id, parent, parentStack));
|
|
19705
|
-
|
|
19721
|
+
}, hasMemberExpression ? void 0 : assignment, id, parent, parentStack, node));
|
|
19722
|
+
lastEnd = end;
|
|
19706
19723
|
});
|
|
19724
|
+
if (lastEnd < content.length) push([content.slice(lastEnd), -3]);
|
|
19707
19725
|
if (assignment && hasMemberExpression) push(` = ${assignment}`);
|
|
19708
19726
|
return frag;
|
|
19709
19727
|
} else return [[
|
|
@@ -19712,7 +19730,7 @@ function genExpression(node, context, assignment) {
|
|
|
19712
19730
|
loc
|
|
19713
19731
|
]];
|
|
19714
19732
|
}
|
|
19715
|
-
function genIdentifier(raw, context, loc, assignment, id, parent, parentStack) {
|
|
19733
|
+
function genIdentifier(raw, context, loc, assignment, id, parent, parentStack, sourceNode) {
|
|
19716
19734
|
const { options, helper, identifiers } = context;
|
|
19717
19735
|
const { inline, bindingMetadata } = options;
|
|
19718
19736
|
let name = raw;
|
|
@@ -19732,19 +19750,49 @@ function genIdentifier(raw, context, loc, assignment, id, parent, parentStack) {
|
|
|
19732
19750
|
else return genExpression(replacement, context, assignment);
|
|
19733
19751
|
}
|
|
19734
19752
|
let prefix;
|
|
19735
|
-
if (isStaticProperty(parent) && parent.shorthand) prefix = `${raw}: `;
|
|
19736
19753
|
const type = bindingMetadata && bindingMetadata[raw];
|
|
19754
|
+
const isDestructureAssignment = parent && isInDestructureAssignment(parent, parentStack || []);
|
|
19755
|
+
const isAssignmentLVal = parent && parent.type === "AssignmentExpression" && parent.left === id;
|
|
19756
|
+
const isUpdateArg = parent && parent.type === "UpdateExpression" && parent.argument === id;
|
|
19757
|
+
if (isStaticProperty(parent) && parent.shorthand && !(inline && type === "setup-let" && isDestructureAssignment)) prefix = `${raw}: `;
|
|
19737
19758
|
if (inline) switch (type) {
|
|
19738
19759
|
case "setup-let":
|
|
19739
|
-
|
|
19760
|
+
if (isAssignmentLVal) {
|
|
19761
|
+
const { right, operator } = parent;
|
|
19762
|
+
const source = sourceNode;
|
|
19763
|
+
const sourceContent = source.content;
|
|
19764
|
+
const rightStart = right.start - 1;
|
|
19765
|
+
const rightEnd = right.end - 1;
|
|
19766
|
+
const rightContent = sourceContent.slice(rightStart, rightEnd);
|
|
19767
|
+
const rightExp = createSimpleExpression(rightContent, false, {
|
|
19768
|
+
start: advancePositionWithClone(source.loc.start, sourceContent, rightStart),
|
|
19769
|
+
end: advancePositionWithClone(source.loc.start, sourceContent, rightEnd),
|
|
19770
|
+
source: rightContent
|
|
19771
|
+
});
|
|
19772
|
+
rightExp.ast = parseExp(context, rightContent);
|
|
19773
|
+
return [
|
|
19774
|
+
prefix,
|
|
19775
|
+
`${helper("isRef")}(${raw}) ? ${raw}.value ${operator} `,
|
|
19776
|
+
...genExpression(rightExp, context),
|
|
19777
|
+
` : `,
|
|
19778
|
+
[
|
|
19779
|
+
raw,
|
|
19780
|
+
-2,
|
|
19781
|
+
loc,
|
|
19782
|
+
name
|
|
19783
|
+
]
|
|
19784
|
+
];
|
|
19785
|
+
} else if (isUpdateArg) {
|
|
19786
|
+
const { prefix: isPrefix, operator } = parent;
|
|
19787
|
+
const updatePrefix = isPrefix ? operator : ``;
|
|
19788
|
+
const updatePostfix = isPrefix ? `` : operator;
|
|
19789
|
+
raw = `${helper("isRef")}(${raw}) ? ${updatePrefix}${raw}.value${updatePostfix} : ${updatePrefix}${raw}${updatePostfix}`;
|
|
19790
|
+
} else if (!isDestructureAssignment) name = raw = assignment ? `${helper("isRef")}(${raw}) ? (${raw}.value = ${assignment}) : (${raw} = ${assignment})` : unref();
|
|
19740
19791
|
break;
|
|
19741
19792
|
case "setup-ref":
|
|
19742
19793
|
name = raw = withAssignment(`${raw}.value`);
|
|
19743
19794
|
break;
|
|
19744
19795
|
case "setup-maybe-ref":
|
|
19745
|
-
const isDestructureAssignment = parent && isInDestructureAssignment(parent, parentStack || []);
|
|
19746
|
-
const isAssignmentLVal = parent && parent.type === "AssignmentExpression" && parent.left === id;
|
|
19747
|
-
const isUpdateArg = parent && parent.type === "UpdateExpression" && parent.argument === id;
|
|
19748
19796
|
raw = isAssignmentLVal || isUpdateArg || isDestructureAssignment ? name = `${raw}.value` : assignment ? `${helper("isRef")}(${raw}) ? (${raw}.value = ${assignment}) : null` : unref();
|
|
19749
19797
|
break;
|
|
19750
19798
|
case "props":
|
|
@@ -20645,7 +20693,12 @@ function genPropKey({ key: node, modifier, runtimeCamelize, handler, handlerModi
|
|
|
20645
20693
|
if (runtimeCamelize) {
|
|
20646
20694
|
key.push(" || \"\"");
|
|
20647
20695
|
key = genCall(helper("camelize"), key);
|
|
20648
|
-
}
|
|
20696
|
+
} else if (modifier) key = [
|
|
20697
|
+
"(",
|
|
20698
|
+
...key,
|
|
20699
|
+
" || \"\"",
|
|
20700
|
+
")"
|
|
20701
|
+
];
|
|
20649
20702
|
if (handler) key = genCall(helper("toHandlerKey"), key);
|
|
20650
20703
|
return [
|
|
20651
20704
|
"[",
|
|
@@ -20737,6 +20790,11 @@ function genVShow(oper, context) {
|
|
|
20737
20790
|
])];
|
|
20738
20791
|
}
|
|
20739
20792
|
//#endregion
|
|
20793
|
+
//#region packages/compiler-vapor/src/generators/modifier.ts
|
|
20794
|
+
function genDirectiveModifiers(modifiers) {
|
|
20795
|
+
return modifiers.map((value) => `${isSimpleIdentifier(value) ? value : JSON.stringify(value)}: true`).join(", ");
|
|
20796
|
+
}
|
|
20797
|
+
//#endregion
|
|
20740
20798
|
//#region packages/compiler-vapor/src/generators/vModel.ts
|
|
20741
20799
|
const helperMap = {
|
|
20742
20800
|
text: "applyTextModel",
|
|
@@ -20751,7 +20809,7 @@ function genVModel(oper, context) {
|
|
|
20751
20809
|
`() => (`,
|
|
20752
20810
|
...genExpression(exp, context),
|
|
20753
20811
|
`)`
|
|
20754
|
-
], genModelHandler(exp, context), modifiers.length ? `{ ${modifiers.map((e) => e.content
|
|
20812
|
+
], genModelHandler(exp, context), modifiers.length ? `{ ${genDirectiveModifiers(modifiers.map((e) => e.content))} }` : void 0)];
|
|
20755
20813
|
}
|
|
20756
20814
|
function genModelHandler(exp, context) {
|
|
20757
20815
|
return [
|
|
@@ -20793,14 +20851,15 @@ function genCustomDirectives(opers, context) {
|
|
|
20793
20851
|
return genMulti(DELIMITERS_ARRAY.concat("void 0"), directiveVar, value, argument, modifiers);
|
|
20794
20852
|
}
|
|
20795
20853
|
}
|
|
20796
|
-
function genDirectiveModifiers(modifiers) {
|
|
20797
|
-
return modifiers.map((value) => `${isSimpleIdentifier(value) ? value : JSON.stringify(value)}: true`).join(", ");
|
|
20798
|
-
}
|
|
20799
20854
|
function filterCustomDirectives(id, operations) {
|
|
20800
20855
|
return operations.filter((oper) => oper.type === 14 && oper.element === id && !oper.builtin);
|
|
20801
20856
|
}
|
|
20802
20857
|
//#endregion
|
|
20803
20858
|
//#region packages/compiler-vapor/src/generators/component.ts
|
|
20859
|
+
function genStaticModifierPropKey(name) {
|
|
20860
|
+
const key = getModifierPropName(name);
|
|
20861
|
+
return [isSimpleIdentifier(key) ? key : JSON.stringify(key)];
|
|
20862
|
+
}
|
|
20804
20863
|
function genCreateComponent(operation, context) {
|
|
20805
20864
|
const { helper } = context;
|
|
20806
20865
|
const singleUseAssetComponentNames = context.singleUseAssetComponentNames;
|
|
@@ -20942,7 +21001,7 @@ function genStaticProps(props, context, dynamicProps, directStaticLiteralProps =
|
|
|
20942
21001
|
}
|
|
20943
21002
|
const { key, modelModifiers } = prop;
|
|
20944
21003
|
if (modelModifiers && modelModifiers.length) {
|
|
20945
|
-
const modifiersKey = key.isStatic ?
|
|
21004
|
+
const modifiersKey = key.isStatic ? genStaticModifierPropKey(key.content) : [
|
|
20946
21005
|
"[",
|
|
20947
21006
|
...genExpression(key, context),
|
|
20948
21007
|
" + \"Modifiers\"]"
|
|
@@ -20985,7 +21044,7 @@ function genDynamicProps(props, context, directStaticLiteralProps = false) {
|
|
|
20985
21044
|
]);
|
|
20986
21045
|
const { modelModifiers } = p;
|
|
20987
21046
|
if (modelModifiers && modelModifiers.length) {
|
|
20988
|
-
const modifiersKey = p.key.isStatic ?
|
|
21047
|
+
const modifiersKey = p.key.isStatic ? genStaticModifierPropKey(p.key.content) : [
|
|
20989
21048
|
"[",
|
|
20990
21049
|
...genExpression(p.key, context),
|
|
20991
21050
|
" + \"Modifiers\"]"
|
|
@@ -21110,7 +21169,7 @@ function genDynamicSlot(slot, context, withFunction = false) {
|
|
|
21110
21169
|
}
|
|
21111
21170
|
function genBasicDynamicSlot(slot, context) {
|
|
21112
21171
|
const { name, fn } = slot;
|
|
21113
|
-
return genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...genExpression(name, context)], ["fn: ", ...genSlotBlockWithProps(fn, context)]);
|
|
21172
|
+
return genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...genExpression(name, context)], ["fn: ", ...genSlotBlockWithProps(fn, context, false)]);
|
|
21114
21173
|
}
|
|
21115
21174
|
function genLoopSlot(slot, context) {
|
|
21116
21175
|
const { name, fn, loop } = slot;
|
|
@@ -21122,7 +21181,7 @@ function genLoopSlot(slot, context) {
|
|
|
21122
21181
|
if (rawValue) idMap[rawValue] = rawValue;
|
|
21123
21182
|
if (rawKey) idMap[rawKey] = rawKey;
|
|
21124
21183
|
if (rawIndex) idMap[rawIndex] = rawIndex;
|
|
21125
|
-
const slotExpr = genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...context.withId(() => genExpression(name, context), idMap)], ["fn: ", ...context.withId(() => genSlotBlockWithProps(fn, context), idMap)]);
|
|
21184
|
+
const slotExpr = genMulti(DELIMITERS_OBJECT_NEWLINE, ["name: ", ...context.withId(() => genExpression(name, context), idMap)], ["fn: ", ...context.withId(() => genSlotBlockWithProps(fn, context, false), idMap)]);
|
|
21126
21185
|
return [...genCall(context.helper("createForSlots"), genExpression(source, context), [
|
|
21127
21186
|
...genMulti([
|
|
21128
21187
|
"(",
|
|
@@ -21148,7 +21207,7 @@ function genConditionalSlot(slot, context) {
|
|
|
21148
21207
|
INDENT_END
|
|
21149
21208
|
];
|
|
21150
21209
|
}
|
|
21151
|
-
function genSlotBlockWithProps(oper, context) {
|
|
21210
|
+
function genSlotBlockWithProps(oper, context, emitNonStableFlag = true) {
|
|
21152
21211
|
let propsName;
|
|
21153
21212
|
let exitScope;
|
|
21154
21213
|
let depth;
|
|
@@ -21163,10 +21222,45 @@ function genSlotBlockWithProps(oper, context) {
|
|
|
21163
21222
|
const exitSlotBlock = context.enterSlotBlock();
|
|
21164
21223
|
markSlotRootOperations(oper);
|
|
21165
21224
|
let blockFn = context.withId(() => genBlock(oper, context, propsName ? [propsName] : []), idMap);
|
|
21225
|
+
if (emitNonStableFlag && !hasStableSlotRoot(oper, context)) blockFn = genCall(context.helper("extend"), blockFn, `{ _: 8 }`);
|
|
21166
21226
|
exitSlotBlock();
|
|
21167
21227
|
exitScope && exitScope();
|
|
21168
21228
|
return blockFn;
|
|
21169
21229
|
}
|
|
21230
|
+
const commentOnlyTemplateRE = /^(?:<!--[\s\S]*?-->)+$/;
|
|
21231
|
+
function hasStableSlotRoot(block, context) {
|
|
21232
|
+
let hasValidRoot = false;
|
|
21233
|
+
for (let i = 0; i < block.returns.length; i++) {
|
|
21234
|
+
const id = block.returns[i];
|
|
21235
|
+
const child = findReturnedDynamic$1(block, id);
|
|
21236
|
+
const operation = child && child.operation;
|
|
21237
|
+
if (!operation) {
|
|
21238
|
+
if (child && isStableTemplateSlotRoot(child, context)) hasValidRoot = true;
|
|
21239
|
+
continue;
|
|
21240
|
+
}
|
|
21241
|
+
switch (operation.type) {
|
|
21242
|
+
case 12:
|
|
21243
|
+
if (!operation.dynamic || operation.dynamic.isStatic) {
|
|
21244
|
+
hasValidRoot = true;
|
|
21245
|
+
continue;
|
|
21246
|
+
}
|
|
21247
|
+
return false;
|
|
21248
|
+
case 17:
|
|
21249
|
+
if (hasStableSlotRoot(operation.block, context)) {
|
|
21250
|
+
hasValidRoot = true;
|
|
21251
|
+
continue;
|
|
21252
|
+
}
|
|
21253
|
+
return false;
|
|
21254
|
+
default: return false;
|
|
21255
|
+
}
|
|
21256
|
+
}
|
|
21257
|
+
return hasValidRoot;
|
|
21258
|
+
}
|
|
21259
|
+
function isStableTemplateSlotRoot(child, context) {
|
|
21260
|
+
if (child.template == null) return false;
|
|
21261
|
+
const content = context.ir.template.entries[child.template].content;
|
|
21262
|
+
return content !== "" && !commentOnlyTemplateRE.test(content.trim());
|
|
21263
|
+
}
|
|
21170
21264
|
//#endregion
|
|
21171
21265
|
//#region packages/compiler-vapor/src/generators/slotOutlet.ts
|
|
21172
21266
|
function genSlotOutlet(oper, context) {
|
|
@@ -21503,7 +21597,7 @@ function genBlockContent(block, context, root, genEffectsExtraFrag) {
|
|
|
21503
21597
|
else if (genEffectsExtraFrag) push(...genEffects([], context, genEffectsExtraFrag));
|
|
21504
21598
|
push(NEWLINE, `return `);
|
|
21505
21599
|
const returnNodes = returns.map((n) => `n${n}`);
|
|
21506
|
-
push(...returnNodes.length > 1 ? genMulti(DELIMITERS_ARRAY, ...returnNodes) : [returnNodes[0] || "
|
|
21600
|
+
push(...returnNodes.length > 1 ? genMulti(DELIMITERS_ARRAY, ...returnNodes) : [returnNodes[0] || "[]"]);
|
|
21507
21601
|
resetBlock();
|
|
21508
21602
|
context.singleUseAssetComponentNames = prevSingleUseAssetComponentNames;
|
|
21509
21603
|
return frag;
|
|
@@ -21842,11 +21936,36 @@ const transformVBind = (dir, node, context) => {
|
|
|
21842
21936
|
};
|
|
21843
21937
|
};
|
|
21844
21938
|
//#endregion
|
|
21939
|
+
//#region packages/compiler-vapor/src/transforms/vHtml.ts
|
|
21940
|
+
function ignoreVHtmlChildren(node, context, clear) {
|
|
21941
|
+
if (!node.children.length) return;
|
|
21942
|
+
const dir = findDir$1(node, "html");
|
|
21943
|
+
if (!dir) return;
|
|
21944
|
+
context.options.onError(createDOMCompilerError(55, dir.loc));
|
|
21945
|
+
if (clear === "node") node.children.length = 0;
|
|
21946
|
+
else context.childrenTemplate.length = 0;
|
|
21947
|
+
}
|
|
21948
|
+
const transformVHtml = (dir, node, context) => {
|
|
21949
|
+
let { exp, loc } = dir;
|
|
21950
|
+
if (!exp) {
|
|
21951
|
+
context.options.onError(createDOMCompilerError(54, loc));
|
|
21952
|
+
exp = EMPTY_EXPRESSION;
|
|
21953
|
+
}
|
|
21954
|
+
ignoreVHtmlChildren(node, context, "template");
|
|
21955
|
+
context.registerEffect([exp], {
|
|
21956
|
+
type: 8,
|
|
21957
|
+
element: context.reference(),
|
|
21958
|
+
value: exp,
|
|
21959
|
+
isComponent: node.tagType === 1
|
|
21960
|
+
});
|
|
21961
|
+
};
|
|
21962
|
+
//#endregion
|
|
21845
21963
|
//#region packages/compiler-vapor/src/transforms/transformElement.ts
|
|
21846
21964
|
const isReservedProp = /* @__PURE__ */ makeMap(",key,ref,ref_for,ref_key,");
|
|
21847
21965
|
const transformElement = (node, context) => {
|
|
21848
21966
|
let effectIndex = context.block.effect.length;
|
|
21849
21967
|
const getEffectIndex = () => effectIndex++;
|
|
21968
|
+
if (node.type === 1 && node.children.length) ignoreVHtmlChildren(node, context, "node");
|
|
21850
21969
|
let parentSlots;
|
|
21851
21970
|
if (node.type === 1 && (node.tagType === 1 || context.options.isCustomElement(node.tag))) {
|
|
21852
21971
|
parentSlots = context.slots;
|
|
@@ -21977,7 +22096,6 @@ function transformNativeElement(node, propsResult, staticKey, singleRoot, contex
|
|
|
21977
22096
|
let template = "";
|
|
21978
22097
|
template += `<${tag}`;
|
|
21979
22098
|
if (scopeId) template += ` ${scopeId}`;
|
|
21980
|
-
const dynamicProps = [];
|
|
21981
22099
|
if (propsResult[0]) {
|
|
21982
22100
|
const [, dynamicArgs, expressions] = propsResult;
|
|
21983
22101
|
context.registerEffect(expressions, {
|
|
@@ -21998,54 +22116,25 @@ function transformNativeElement(node, propsResult, staticKey, singleRoot, contex
|
|
|
21998
22116
|
};
|
|
21999
22117
|
for (const prop of propsResult[1]) {
|
|
22000
22118
|
const { key, values } = prop;
|
|
22001
|
-
|
|
22119
|
+
const canStringifyAttrName = key.isStatic && !UNSAFE_ATTR_NAME_RE.test(key.content);
|
|
22120
|
+
let foldedValue;
|
|
22121
|
+
if (canStringifyAttrName && context.imports.some((imported) => values[0].content.includes(imported.exp.content))) {
|
|
22002
22122
|
if (!prevWasQuoted) template += ` `;
|
|
22003
22123
|
template += `${key.content}="${IMPORT_EXP_START}${values[0].content}${IMPORT_EXP_END}"`;
|
|
22004
22124
|
prevWasQuoted = true;
|
|
22005
|
-
} else if (
|
|
22006
|
-
const value = values[0].content === "''" ? "" : values[0].content;
|
|
22007
|
-
appendTemplateProp(key.content, value);
|
|
22008
|
-
} else {
|
|
22009
|
-
const include = foldBooleanAttrValue(values);
|
|
22010
|
-
if (include != null) {
|
|
22011
|
-
if (include) appendTemplateProp(key.content);
|
|
22012
|
-
} else {
|
|
22013
|
-
dynamicProps.push(key.content);
|
|
22014
|
-
context.registerEffect(values, {
|
|
22015
|
-
type: 3,
|
|
22016
|
-
element: context.reference(),
|
|
22017
|
-
prop,
|
|
22018
|
-
tag
|
|
22019
|
-
}, getEffectIndex);
|
|
22020
|
-
}
|
|
22021
|
-
}
|
|
22022
|
-
else if (key.isStatic && !prop.modifier && hasBoundValue(values)) {
|
|
22023
|
-
let foldedValue;
|
|
22024
|
-
if (key.content === "class") foldedValue = foldClassValues(values);
|
|
22025
|
-
else if (key.content === "style") foldedValue = foldStyleValues(values);
|
|
22026
|
-
if (foldedValue != null) {
|
|
22027
|
-
if (foldedValue) appendTemplateProp(key.content, foldedValue, true);
|
|
22028
|
-
} else {
|
|
22029
|
-
dynamicProps.push(key.content);
|
|
22030
|
-
context.registerEffect(values, {
|
|
22031
|
-
type: 3,
|
|
22032
|
-
element: context.reference(),
|
|
22033
|
-
prop,
|
|
22034
|
-
tag
|
|
22035
|
-
}, getEffectIndex);
|
|
22036
|
-
}
|
|
22037
|
-
} else if (key.isStatic && values.length === 1 && (values[0].isStatic || values[0].content === "''") && !dynamicKeys.includes(key.content)) {
|
|
22125
|
+
} else if (canStringifyAttrName && values.length === 1 && (values[0].isStatic || values[0].content === "''") && !dynamicKeys.includes(key.content)) {
|
|
22038
22126
|
const value = values[0].content === "''" ? "" : values[0].content;
|
|
22039
22127
|
appendTemplateProp(key.content, value);
|
|
22040
|
-
} else {
|
|
22041
|
-
|
|
22042
|
-
|
|
22043
|
-
|
|
22044
|
-
|
|
22045
|
-
|
|
22046
|
-
|
|
22047
|
-
|
|
22048
|
-
|
|
22128
|
+
} else if (canStringifyAttrName && !prop.modifier && isBooleanAttr(key.content) && (foldedValue = foldBooleanAttrValue(values)) != null) {
|
|
22129
|
+
if (foldedValue) appendTemplateProp(key.content);
|
|
22130
|
+
} else if (canStringifyAttrName && !prop.modifier && hasBoundValue(values) && (foldedValue = key.content === "class" ? foldClassValues(values) : key.content === "style" ? foldStyleValues(values) : void 0) != null) {
|
|
22131
|
+
if (foldedValue) appendTemplateProp(key.content, foldedValue, true);
|
|
22132
|
+
} else context.registerEffect(values, {
|
|
22133
|
+
type: 3,
|
|
22134
|
+
element: context.reference(),
|
|
22135
|
+
prop,
|
|
22136
|
+
tag
|
|
22137
|
+
}, getEffectIndex);
|
|
22049
22138
|
}
|
|
22050
22139
|
}
|
|
22051
22140
|
template += `>` + context.childrenTemplate.join("");
|
|
@@ -22558,25 +22647,6 @@ const transformVOnce = (node, context) => {
|
|
|
22558
22647
|
if (node.type === 1 && findDir$1(node, "once", true)) context.inVOnce = true;
|
|
22559
22648
|
};
|
|
22560
22649
|
//#endregion
|
|
22561
|
-
//#region packages/compiler-vapor/src/transforms/vHtml.ts
|
|
22562
|
-
const transformVHtml = (dir, node, context) => {
|
|
22563
|
-
let { exp, loc } = dir;
|
|
22564
|
-
if (!exp) {
|
|
22565
|
-
context.options.onError(createDOMCompilerError(54, loc));
|
|
22566
|
-
exp = EMPTY_EXPRESSION;
|
|
22567
|
-
}
|
|
22568
|
-
if (node.children.length) {
|
|
22569
|
-
context.options.onError(createDOMCompilerError(55, loc));
|
|
22570
|
-
context.childrenTemplate.length = 0;
|
|
22571
|
-
}
|
|
22572
|
-
context.registerEffect([exp], {
|
|
22573
|
-
type: 8,
|
|
22574
|
-
element: context.reference(),
|
|
22575
|
-
value: exp,
|
|
22576
|
-
isComponent: node.tagType === 1
|
|
22577
|
-
});
|
|
22578
|
-
};
|
|
22579
|
-
//#endregion
|
|
22580
22650
|
//#region packages/compiler-vapor/src/transforms/transformText.ts
|
|
22581
22651
|
const seen = /* @__PURE__ */ new WeakMap();
|
|
22582
22652
|
function markNonTemplate(node, context) {
|
|
@@ -22774,12 +22844,10 @@ const transformVOn = (dir, node, context) => {
|
|
|
22774
22844
|
const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(arg.isStatic ? `on${arg.content}` : arg, modifiers, null, loc);
|
|
22775
22845
|
let keyOverride;
|
|
22776
22846
|
const isStaticClick = arg.isStatic && arg.content.toLowerCase() === "click";
|
|
22777
|
-
if (nonKeyModifiers.includes("middle")) {
|
|
22778
|
-
if (keyOverride) {}
|
|
22779
|
-
if (!isStaticClick && !arg.isStatic) keyOverride = ["click", "mouseup"];
|
|
22780
|
-
}
|
|
22781
22847
|
if (nonKeyModifiers.includes("right")) {
|
|
22782
22848
|
if (!isStaticClick && !arg.isStatic) keyOverride = ["click", "contextmenu"];
|
|
22849
|
+
} else if (nonKeyModifiers.includes("middle")) {
|
|
22850
|
+
if (!isStaticClick && !arg.isStatic) keyOverride = ["click", "mouseup"];
|
|
22783
22851
|
}
|
|
22784
22852
|
arg = normalizeStaticEventArg(arg, nonKeyModifiers);
|
|
22785
22853
|
if (keyModifiers.length && isStaticExp(arg) && !isKeyboardEvent(`on${arg.content.toLowerCase()}`)) keyModifiers.length = 0;
|
|
@@ -22793,7 +22861,7 @@ const transformVOn = (dir, node, context) => {
|
|
|
22793
22861
|
options: eventOptionModifiers
|
|
22794
22862
|
}
|
|
22795
22863
|
};
|
|
22796
|
-
const delegate = arg.isStatic && !eventOptionModifiers.length && !hasStopHandlerForStaticEvent(node, arg.content) && delegatedEvents(arg.content);
|
|
22864
|
+
const delegate = context.options.eventDelegation && arg.isStatic && !eventOptionModifiers.length && !hasStopHandlerForStaticEvent(node, arg.content) && delegatedEvents(arg.content);
|
|
22797
22865
|
const operation = {
|
|
22798
22866
|
type: 6,
|
|
22799
22867
|
element: context.reference(),
|
|
@@ -22814,8 +22882,8 @@ function normalizeStaticEventArg(arg, nonKeyModifiers) {
|
|
|
22814
22882
|
if (!arg.isStatic) return arg;
|
|
22815
22883
|
let normalized = arg;
|
|
22816
22884
|
const isStaticClick = arg.content.toLowerCase() === "click";
|
|
22817
|
-
if (nonKeyModifiers.includes("middle") && isStaticClick) normalized = extend({}, normalized, { content: "mouseup" });
|
|
22818
22885
|
if (nonKeyModifiers.includes("right") && isStaticClick) normalized = extend({}, normalized, { content: "contextmenu" });
|
|
22886
|
+
else if (nonKeyModifiers.includes("middle") && isStaticClick) normalized = extend({}, normalized, { content: "mouseup" });
|
|
22819
22887
|
return normalized;
|
|
22820
22888
|
}
|
|
22821
22889
|
function hasStopHandlerForStaticEvent(node, eventName) {
|
|
@@ -23015,11 +23083,14 @@ function processIf(node, dir, context) {
|
|
|
23015
23083
|
}
|
|
23016
23084
|
while (lastIfNode.negative && lastIfNode.negative.type === 15) lastIfNode = lastIfNode.negative;
|
|
23017
23085
|
if (dir.name === "else-if" && lastIfNode.negative) context.options.onError(createCompilerError(30, node.loc));
|
|
23018
|
-
|
|
23019
|
-
|
|
23020
|
-
|
|
23086
|
+
const comments = context.comment;
|
|
23087
|
+
if (comments.length) {
|
|
23088
|
+
if (!isInTransition(context)) {
|
|
23089
|
+
node = wrapTemplate(node, ["else-if", "else"]);
|
|
23090
|
+
context.node = node = extend({}, node, { children: [...comments, ...node.children] });
|
|
23091
|
+
}
|
|
23092
|
+
comments.length = 0;
|
|
23021
23093
|
}
|
|
23022
|
-
context.root.comment = [];
|
|
23023
23094
|
const [branch, onExit] = createIfBranch(node, context);
|
|
23024
23095
|
if (dir.name === "else") lastIfNode.negative = branch;
|
|
23025
23096
|
else lastIfNode.negative = {
|
|
@@ -23268,7 +23339,7 @@ function transformTemplateSlot(node, dir, context) {
|
|
|
23268
23339
|
});
|
|
23269
23340
|
else if (vElse) {
|
|
23270
23341
|
const vIfSlot = slots[slots.length - 1];
|
|
23271
|
-
if (vIfSlot.slotType === 3) {
|
|
23342
|
+
if (vIfSlot && vIfSlot.slotType === 3) {
|
|
23272
23343
|
let ifNode = vIfSlot;
|
|
23273
23344
|
while (ifNode.negative && ifNode.negative.slotType === 3) ifNode = ifNode.negative;
|
|
23274
23345
|
const negative = vElse.exp ? {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vue/compiler-vapor",
|
|
3
|
-
"version": "3.6.0-beta.
|
|
3
|
+
"version": "3.6.0-beta.16",
|
|
4
4
|
"description": "@vue/compiler-vapor",
|
|
5
5
|
"main": "dist/compiler-vapor.cjs.js",
|
|
6
6
|
"module": "dist/compiler-vapor.esm-browser.js",
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
},
|
|
43
43
|
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-vapor#readme",
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@babel/parser": "^7.29.
|
|
45
|
+
"@babel/parser": "^7.29.7",
|
|
46
46
|
"estree-walker": "^2.0.2",
|
|
47
47
|
"source-map-js": "^1.2.1",
|
|
48
|
-
"@vue/compiler-dom": "3.6.0-beta.
|
|
49
|
-
"@vue/shared": "3.6.0-beta.
|
|
48
|
+
"@vue/compiler-dom": "3.6.0-beta.16",
|
|
49
|
+
"@vue/shared": "3.6.0-beta.16"
|
|
50
50
|
}
|
|
51
51
|
}
|