@vue/compat 3.6.0-rc.12 → 3.6.0-rc.14
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/vue-compat.d.ts +29 -1
- package/dist/vue.cjs.js +127 -50
- package/dist/vue.cjs.prod.js +128 -51
- package/dist/vue.esm-browser.js +121 -53
- package/dist/vue.esm-browser.prod.js +7 -7
- package/dist/vue.esm-bundler.js +131 -61
- package/dist/vue.global.js +120 -52
- package/dist/vue.global.prod.js +7 -7
- package/dist/vue.runtime.esm-browser.js +121 -53
- package/dist/vue.runtime.esm-browser.prod.js +7 -7
- package/dist/vue.runtime.esm-bundler.js +131 -61
- package/dist/vue.runtime.global.js +120 -52
- package/dist/vue.runtime.global.prod.js +7 -7
- package/package.json +2 -2
package/dist/vue.cjs.prod.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.6.0-rc.
|
|
2
|
+
* @vue/compat v3.6.0-rc.14
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -467,6 +467,21 @@ function getSequence(arr) {
|
|
|
467
467
|
return result;
|
|
468
468
|
}
|
|
469
469
|
//#endregion
|
|
470
|
+
//#region packages/shared/src/vaporFlags.ts
|
|
471
|
+
/**
|
|
472
|
+
* The data of the comment a vapor server render opens the branch of a `v-if`
|
|
473
|
+
* chain with, `<!--[1-->`: the digits are the branch's position in the chain,
|
|
474
|
+
* and `<!--]-->` closes it like a fragment.
|
|
475
|
+
*/
|
|
476
|
+
function isVaporBranchStart(data) {
|
|
477
|
+
if (data.length < 2 || data.charCodeAt(0) !== 91) return false;
|
|
478
|
+
for (let i = 1; i < data.length; i++) {
|
|
479
|
+
const c = data.charCodeAt(i);
|
|
480
|
+
if (c < 48 || c > 57) return false;
|
|
481
|
+
}
|
|
482
|
+
return true;
|
|
483
|
+
}
|
|
484
|
+
//#endregion
|
|
470
485
|
//#region packages/reactivity/src/system.ts
|
|
471
486
|
const notifyBuffer = [];
|
|
472
487
|
let batchDepth = 0;
|
|
@@ -2954,6 +2969,16 @@ function createPathGetter(ctx, path) {
|
|
|
2954
2969
|
};
|
|
2955
2970
|
}
|
|
2956
2971
|
//#endregion
|
|
2972
|
+
//#region packages/runtime-core/src/vaporInteropState.ts
|
|
2973
|
+
/**
|
|
2974
|
+
* Set by `vaporInteropPlugin`. Stays false in apps that never import the
|
|
2975
|
+
* plugin, so bundlers drop the vapor-in-vdom branches of the renderer.
|
|
2976
|
+
*/
|
|
2977
|
+
let isVaporInteropEnabled = false;
|
|
2978
|
+
function setVaporInteropEnabled() {
|
|
2979
|
+
isVaporInteropEnabled = true;
|
|
2980
|
+
}
|
|
2981
|
+
//#endregion
|
|
2957
2982
|
//#region packages/runtime-core/src/components/Teleport.ts
|
|
2958
2983
|
const pendingMounts = /* @__PURE__ */ new WeakMap();
|
|
2959
2984
|
const TeleportEndKey = Symbol("_vte");
|
|
@@ -3200,13 +3225,18 @@ const BaseTransitionPropsValidators = {
|
|
|
3200
3225
|
onAfterAppear: TransitionHookValidator,
|
|
3201
3226
|
onAppearCancelled: TransitionHookValidator
|
|
3202
3227
|
};
|
|
3228
|
+
let isTransitionEnabled = false;
|
|
3229
|
+
function withTransitionEnabled(value) {
|
|
3230
|
+
isTransitionEnabled = true;
|
|
3231
|
+
return value;
|
|
3232
|
+
}
|
|
3203
3233
|
function isEmptyTransitionChild(vnode, instance) {
|
|
3204
3234
|
if (vnode.type === Comment) return true;
|
|
3205
3235
|
if (vnode.type === Fragment) {
|
|
3206
3236
|
const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);
|
|
3207
3237
|
return !child || isEmptyTransitionChild(child, instance);
|
|
3208
3238
|
}
|
|
3209
|
-
if (vnode.type === VaporSlot || isVaporComponent(vnode.type)) return !getVaporInterface(instance, vnode).hasTransitionChild(vnode);
|
|
3239
|
+
if (isVaporInteropEnabled && (vnode.type === VaporSlot || isVaporComponent(vnode.type))) return !getVaporInterface(instance, vnode).hasTransitionChild(vnode);
|
|
3210
3240
|
return !!vnode.component && isEmptyTransitionChild(vnode.component.subTree, instance);
|
|
3211
3241
|
}
|
|
3212
3242
|
const BaseTransitionImpl = {
|
|
@@ -3222,7 +3252,7 @@ const BaseTransitionImpl = {
|
|
|
3222
3252
|
const rawProps = /* @__PURE__ */ toRaw(props);
|
|
3223
3253
|
const { mode } = rawProps;
|
|
3224
3254
|
return prepareTransitionSwitch(instance.subTree, child, rawProps, state, instance, mode === "out-in" ? resumeAfterLeave || (resumeAfterLeave = () => {
|
|
3225
|
-
if (!(instance.
|
|
3255
|
+
if (!(instance.effect.flags & 1024)) instance.update();
|
|
3226
3256
|
}) : NOOP);
|
|
3227
3257
|
};
|
|
3228
3258
|
}
|
|
@@ -3238,7 +3268,7 @@ function findNonCommentChild(children) {
|
|
|
3238
3268
|
}
|
|
3239
3269
|
return child;
|
|
3240
3270
|
}
|
|
3241
|
-
const BaseTransition = BaseTransitionImpl;
|
|
3271
|
+
const BaseTransition = /*@__PURE__*/ withTransitionEnabled(BaseTransitionImpl);
|
|
3242
3272
|
function getLeavingNodesForType(state, vnode) {
|
|
3243
3273
|
const { leavingNodes } = state;
|
|
3244
3274
|
let leavingVNodesCache = leavingNodes.get(vnode.type);
|
|
@@ -3276,7 +3306,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
3276
3306
|
return hooks;
|
|
3277
3307
|
}
|
|
3278
3308
|
}, props, state, instance);
|
|
3279
|
-
if (vnode.type === VaporSlot) extend(hooks, {
|
|
3309
|
+
if (isVaporInteropEnabled && vnode.type === VaporSlot) extend(hooks, {
|
|
3280
3310
|
__vapor: true,
|
|
3281
3311
|
props,
|
|
3282
3312
|
state,
|
|
@@ -3453,7 +3483,7 @@ function applyTransitionModeSwitch(leavingVNode, leavingHooks, getEnterHooks, pr
|
|
|
3453
3483
|
function setTransitionHooks(vnode, hooks) {
|
|
3454
3484
|
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
3455
3485
|
vnode.transition = hooks;
|
|
3456
|
-
if (isVaporComponent(vnode.type)) getVaporInterface(vnode.component, vnode).setTransitionHooks(vnode.component, hooks);
|
|
3486
|
+
if (isVaporInteropEnabled && isVaporComponent(vnode.type)) getVaporInterface(vnode.component, vnode).setTransitionHooks(vnode.component, hooks);
|
|
3457
3487
|
else {
|
|
3458
3488
|
const subTree = vnode.component.subTree;
|
|
3459
3489
|
return setTransitionHooks(isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree, hooks);
|
|
@@ -3486,7 +3516,7 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
|
|
|
3486
3516
|
return ret;
|
|
3487
3517
|
}
|
|
3488
3518
|
function getTransitionRoot(vnode) {
|
|
3489
|
-
if (vnode.component && !isVaporComponent(vnode.type)) return getTransitionRoot(vnode.component.subTree);
|
|
3519
|
+
if (vnode.component && (!isVaporInteropEnabled || !isVaporComponent(vnode.type))) return getTransitionRoot(vnode.component.subTree);
|
|
3490
3520
|
if (vnode.type === Fragment) {
|
|
3491
3521
|
const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);
|
|
3492
3522
|
return child ? getTransitionRoot(child) : void 0;
|
|
@@ -3661,6 +3691,8 @@ const getContainerType = (container) => {
|
|
|
3661
3691
|
if (isMathMLContainer(container)) return "mathml";
|
|
3662
3692
|
};
|
|
3663
3693
|
const isComment = (node) => node.nodeType === 8;
|
|
3694
|
+
/** The data of a comment opening a range a hydration steps over as one. */
|
|
3695
|
+
const isRangeStart = (data) => data === "[" || data === "(" || isVaporBranchStart(data);
|
|
3664
3696
|
function createHydrationFunctions(rendererInternals) {
|
|
3665
3697
|
const { mt: mountComponent, p: patch, o: { patchProp, createText, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;
|
|
3666
3698
|
const hydrate = (vnode, container) => {
|
|
@@ -3677,7 +3709,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3677
3709
|
};
|
|
3678
3710
|
const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {
|
|
3679
3711
|
optimized = optimized || !!vnode.dynamicChildren;
|
|
3680
|
-
const isFragmentStart = isComment(node) && (node.data === "[" || node.data === "(");
|
|
3712
|
+
const isFragmentStart = isComment(node) && (node.data === "[" || node.data === "(" || isVaporInteropEnabled && isVaporBranchStart(node.data));
|
|
3681
3713
|
const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);
|
|
3682
3714
|
const { type, ref, shapeFlag, patchFlag } = vnode;
|
|
3683
3715
|
let domType = node.nodeType;
|
|
@@ -3730,7 +3762,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3730
3762
|
else nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
3731
3763
|
break;
|
|
3732
3764
|
case VaporSlot:
|
|
3733
|
-
nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
|
|
3765
|
+
if (isVaporInteropEnabled) nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
|
|
3734
3766
|
break;
|
|
3735
3767
|
default: if (shapeFlag & 1) {
|
|
3736
3768
|
if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
|
|
@@ -3741,7 +3773,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3741
3773
|
if (isFragmentStart) nextNode = locateClosingAnchor(node);
|
|
3742
3774
|
else if (isComment(node) && node.data === "teleport start") nextNode = locateClosingAnchor(node, node.data, "teleport end");
|
|
3743
3775
|
else nextNode = nextSibling(node);
|
|
3744
|
-
if (vnode.type.__vapor) getVaporInterface(parentComponent, vnode).hydrate(vnode, node, container, nextNode, parentComponent, parentSuspense);
|
|
3776
|
+
if ((isVaporInteropEnabled || false) && vnode.type.__vapor) getVaporInterface(parentComponent, vnode).hydrate(vnode, node, container, nextNode, parentComponent, parentSuspense);
|
|
3745
3777
|
else {
|
|
3746
3778
|
mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
|
|
3747
3779
|
const component = vnode.component;
|
|
@@ -3853,7 +3885,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3853
3885
|
if (fragmentSlotScopeIds) slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
|
|
3854
3886
|
const container = parentNode(node);
|
|
3855
3887
|
const first = nextSibling(node);
|
|
3856
|
-
const next = vnode.vo && node.data === "(" ? getVaporInterface(parentComponent, vnode).hydrateSlotOutlet(vnode, node, parentComponent, parentSuspense, slotScopeIds) : hydrateChildren(first, vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
3888
|
+
const next = isVaporInteropEnabled && vnode.vo && node.data === "(" ? getVaporInterface(parentComponent, vnode).hydrateSlotOutlet(vnode, node, parentComponent, parentSuspense, slotScopeIds) : hydrateChildren(first, vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
3857
3889
|
if (next && isComment(next) && next.data === (node.data === "(" ? ")" : "]")) return nextSibling(vnode.anchor = next);
|
|
3858
3890
|
else {
|
|
3859
3891
|
logMismatchError();
|
|
@@ -3887,7 +3919,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3887
3919
|
while (node) {
|
|
3888
3920
|
node = nextSibling(node);
|
|
3889
3921
|
if (node && isComment(node)) {
|
|
3890
|
-
if (node.data === open) match++;
|
|
3922
|
+
if (node.data === open || isVaporInteropEnabled && open === "[" && isVaporBranchStart(node.data)) match++;
|
|
3891
3923
|
if (node.data === close) {
|
|
3892
3924
|
if (match === 0) return nextSibling(node);
|
|
3893
3925
|
else match--;
|
|
@@ -4030,9 +4062,9 @@ const hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {
|
|
|
4030
4062
|
return teardown;
|
|
4031
4063
|
};
|
|
4032
4064
|
function forEachElement(node, cb) {
|
|
4033
|
-
if (isComment(node) && (node.data
|
|
4065
|
+
if (isComment(node) && isRangeStart(node.data)) {
|
|
4034
4066
|
const open = node.data;
|
|
4035
|
-
const close = open === "
|
|
4067
|
+
const close = open === "(" ? ")" : "]";
|
|
4036
4068
|
let depth = 1;
|
|
4037
4069
|
let next = node.nextSibling;
|
|
4038
4070
|
while (next) {
|
|
@@ -4041,7 +4073,7 @@ function forEachElement(node, cb) {
|
|
|
4041
4073
|
} else if (isComment(next)) {
|
|
4042
4074
|
if (next.data === close) {
|
|
4043
4075
|
if (--depth === 0) break;
|
|
4044
|
-
} else if (next.data === open) depth++;
|
|
4076
|
+
} else if (close === "]" ? next.data === "[" || isVaporBranchStart(next.data) : next.data === open) depth++;
|
|
4045
4077
|
}
|
|
4046
4078
|
next = next.nextSibling;
|
|
4047
4079
|
}
|
|
@@ -4142,7 +4174,7 @@ function createAsyncComponentContext(source) {
|
|
|
4142
4174
|
setPendingRequest: (request) => pendingRequest = request
|
|
4143
4175
|
};
|
|
4144
4176
|
}
|
|
4145
|
-
const useAsyncComponentState = (delay, timeout, onError, instance = currentInstance) => {
|
|
4177
|
+
const useAsyncComponentState = (delay = 200, timeout, onError, instance = currentInstance) => {
|
|
4146
4178
|
const loaded = /* @__PURE__ */ ref(false);
|
|
4147
4179
|
const error = /* @__PURE__ */ ref();
|
|
4148
4180
|
const delayed = /* @__PURE__ */ ref(!!delay);
|
|
@@ -4193,6 +4225,11 @@ function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydra
|
|
|
4193
4225
|
//#endregion
|
|
4194
4226
|
//#region packages/runtime-core/src/components/KeepAlive.ts
|
|
4195
4227
|
const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
|
|
4228
|
+
let isKeepAliveEnabled = false;
|
|
4229
|
+
function withKeepAliveEnabled(value) {
|
|
4230
|
+
isKeepAliveEnabled = true;
|
|
4231
|
+
return value;
|
|
4232
|
+
}
|
|
4196
4233
|
const KeepAliveImpl = {
|
|
4197
4234
|
name: `KeepAlive`,
|
|
4198
4235
|
__isKeepAlive: true,
|
|
@@ -4339,7 +4376,7 @@ const decorate$2 = (t) => {
|
|
|
4339
4376
|
t.__isBuiltIn = true;
|
|
4340
4377
|
return t;
|
|
4341
4378
|
};
|
|
4342
|
-
const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
|
|
4379
|
+
const KeepAlive = /*@__PURE__*/ withKeepAliveEnabled(/*@__PURE__*/ decorate$2(KeepAliveImpl));
|
|
4343
4380
|
function matches(pattern, name) {
|
|
4344
4381
|
if (isArray(pattern)) return pattern.some((p) => matches(p, name));
|
|
4345
4382
|
else if (isString(pattern)) return pattern.split(",").includes(name);
|
|
@@ -4794,11 +4831,12 @@ function invokeSlotFallback(fallback, owner) {
|
|
|
4794
4831
|
function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
4795
4832
|
if (props == null) props = {};
|
|
4796
4833
|
let slot = slots[name];
|
|
4797
|
-
const vaporSlot = slot && slot[rawVaporSlotKey];
|
|
4834
|
+
const vaporSlot = isVaporInteropEnabled && slot && slot[rawVaporSlotKey];
|
|
4798
4835
|
if (vaporSlot) {
|
|
4799
4836
|
const ret = (openBlock(), createBlock(VaporSlot, props));
|
|
4800
4837
|
ret.vs = {
|
|
4801
4838
|
slot: vaporSlot,
|
|
4839
|
+
name,
|
|
4802
4840
|
outlets: fallback ? [{
|
|
4803
4841
|
fallback,
|
|
4804
4842
|
owner: currentRenderingInstance
|
|
@@ -4825,7 +4863,7 @@ function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
|
4825
4863
|
try {
|
|
4826
4864
|
const validSlotContent = slot && ensureValidVNode(slot(props));
|
|
4827
4865
|
let attached = false;
|
|
4828
|
-
if (fallback && validSlotContent && currentRenderingInstance) {
|
|
4866
|
+
if (isVaporInteropEnabled && fallback && validSlotContent && currentRenderingInstance) {
|
|
4829
4867
|
const interop = currentRenderingInstance.appContext.vapor;
|
|
4830
4868
|
if (interop) attached = interop.attachSlotOutlet(validSlotContent, fallback, currentRenderingInstance);
|
|
4831
4869
|
}
|
|
@@ -5598,7 +5636,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
5598
5636
|
if (options.el) return vm.$mount(options.el);
|
|
5599
5637
|
else return vm;
|
|
5600
5638
|
}
|
|
5601
|
-
Vue.version = `2.6.14-compat:3.6.0-rc.
|
|
5639
|
+
Vue.version = `2.6.14-compat:3.6.0-rc.14`;
|
|
5602
5640
|
Vue.config = singletonApp.config;
|
|
5603
5641
|
Vue.use = (plugin, ...options) => {
|
|
5604
5642
|
if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
|
|
@@ -6634,7 +6672,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6634
6672
|
processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6635
6673
|
break;
|
|
6636
6674
|
case VaporSlot:
|
|
6637
|
-
getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense, slotScopeIds);
|
|
6675
|
+
if (isVaporInteropEnabled) getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense, slotScopeIds);
|
|
6638
6676
|
break;
|
|
6639
6677
|
default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6640
6678
|
else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
@@ -6744,7 +6782,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6744
6782
|
let vnodeHook;
|
|
6745
6783
|
parentComponent && toggleRecurse(parentComponent, false);
|
|
6746
6784
|
if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
6747
|
-
if (n2.ibu) n2.ibu();
|
|
6785
|
+
if (isVaporInteropEnabled && n2.ibu) n2.ibu();
|
|
6748
6786
|
if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
|
|
6749
6787
|
parentComponent && toggleRecurse(parentComponent, true);
|
|
6750
6788
|
if (dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
|
|
@@ -6776,9 +6814,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6776
6814
|
if (n1.children !== n2.children) hostSetElementText(el, n2.children);
|
|
6777
6815
|
}
|
|
6778
6816
|
} else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
|
|
6779
|
-
if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
|
|
6817
|
+
if ((vnodeHook = newProps.onVnodeUpdated) || dirs || isVaporInteropEnabled && n2.iu) queuePostRenderEffect(() => {
|
|
6780
6818
|
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
6781
|
-
n2.iu && n2.iu();
|
|
6819
|
+
isVaporInteropEnabled && n2.iu && n2.iu();
|
|
6782
6820
|
dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
6783
6821
|
}, void 0, parentSuspense);
|
|
6784
6822
|
};
|
|
@@ -6821,7 +6859,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6821
6859
|
};
|
|
6822
6860
|
const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
|
|
6823
6861
|
n2.slotScopeIds = slotScopeIds;
|
|
6824
|
-
if (n2.type.__vapor) {
|
|
6862
|
+
if ((isVaporInteropEnabled || false) && n2.type.__vapor) {
|
|
6825
6863
|
if (n1 == null) {
|
|
6826
6864
|
if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
|
|
6827
6865
|
else getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense);
|
|
@@ -6963,7 +7001,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6963
7001
|
} else next = vnode;
|
|
6964
7002
|
if (bu) invokeArrayFns(bu);
|
|
6965
7003
|
if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
6966
|
-
if (next.ibu) next.ibu();
|
|
7004
|
+
if (isVaporInteropEnabled && next.ibu) next.ibu();
|
|
6967
7005
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
|
|
6968
7006
|
toggleRecurse(instance, true);
|
|
6969
7007
|
const nextTree = renderComponentRoot(instance);
|
|
@@ -6973,9 +7011,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6973
7011
|
next.el = nextTree.el;
|
|
6974
7012
|
if (originNext === null) updateHOCHostEl(instance, nextTree.el);
|
|
6975
7013
|
if (u) queuePostRenderEffect(u, void 0, parentSuspense);
|
|
6976
|
-
if ((vnodeHook = next.props && next.props.onVnodeUpdated) || next.iu) queuePostRenderEffect(() => {
|
|
7014
|
+
if ((vnodeHook = next.props && next.props.onVnodeUpdated) || isVaporInteropEnabled && next.iu) queuePostRenderEffect(() => {
|
|
6977
7015
|
vnodeHook && invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
6978
|
-
next.iu && next.iu();
|
|
7016
|
+
isVaporInteropEnabled && next.iu && next.iu();
|
|
6979
7017
|
}, void 0, parentSuspense);
|
|
6980
7018
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
|
|
6981
7019
|
}
|
|
@@ -7123,7 +7161,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7123
7161
|
};
|
|
7124
7162
|
const move = (vnode, container, anchor, moveType, parentComponent, parentSuspense = null) => {
|
|
7125
7163
|
const { el, type, transition, children, shapeFlag } = vnode;
|
|
7126
|
-
if (isVaporComponent(type) || type === VaporSlot) {
|
|
7164
|
+
if (isVaporInteropEnabled && (isVaporComponent(type) || type === VaporSlot)) {
|
|
7127
7165
|
getVaporInterface(parentComponent, vnode).move(vnode, container, anchor, moveType, parentSuspense);
|
|
7128
7166
|
return;
|
|
7129
7167
|
}
|
|
@@ -7167,11 +7205,11 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7167
7205
|
}
|
|
7168
7206
|
if (cacheIndex != null && (!vnode.ctx || vnode.ctx === parentComponent)) parentComponent.renderCache[cacheIndex] = void 0;
|
|
7169
7207
|
if (shapeFlag & 256) {
|
|
7170
|
-
if (isVaporComponent(vnode.type)) getVaporInterface(parentComponent, vnode).deactivate(vnode, parentComponent.ctx.getStorageContainer(), parentSuspense);
|
|
7208
|
+
if (isVaporInteropEnabled && isVaporComponent(vnode.type)) getVaporInterface(parentComponent, vnode).deactivate(vnode, parentComponent.ctx.getStorageContainer(), parentSuspense);
|
|
7171
7209
|
else parentComponent.ctx.deactivate(vnode);
|
|
7172
7210
|
return;
|
|
7173
7211
|
}
|
|
7174
|
-
if (shapeFlag & 6 && isVaporComponent(type)) {
|
|
7212
|
+
if (isVaporInteropEnabled && shapeFlag & 6 && isVaporComponent(type)) {
|
|
7175
7213
|
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
|
|
7176
7214
|
return;
|
|
7177
7215
|
}
|
|
@@ -7189,7 +7227,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7189
7227
|
if (shapeFlag & 64) vnode.type.remove(vnode, parentComponent, parentSuspense, internals, doRemove);
|
|
7190
7228
|
else if (dynamicChildren && !dynamicChildren.hasOnce && (type !== Fragment || patchFlag > 0 && patchFlag & 64)) unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);
|
|
7191
7229
|
else if (type === Fragment && patchFlag & 384 || !optimized && shapeFlag & 16) unmountChildren(children, parentComponent, parentSuspense);
|
|
7192
|
-
if (type === VaporSlot) {
|
|
7230
|
+
if (isVaporInteropEnabled && type === VaporSlot) {
|
|
7193
7231
|
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
|
|
7194
7232
|
return;
|
|
7195
7233
|
}
|
|
@@ -7223,7 +7261,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7223
7261
|
if (transition) {
|
|
7224
7262
|
let leavingEl = leavingNode && leavingNode.el;
|
|
7225
7263
|
let isElement = !!(leavingNode && leavingNode.shapeFlag & 1);
|
|
7226
|
-
if (isFragment && leavingNode && isVaporComponent(leavingNode.type)) {
|
|
7264
|
+
if (isVaporInteropEnabled && isFragment && leavingNode && isVaporComponent(leavingNode.type)) {
|
|
7227
7265
|
leavingEl = getVaporInterface(leavingNode.component, leavingNode).getTransitionElement(leavingNode);
|
|
7228
7266
|
isElement = !!leavingEl;
|
|
7229
7267
|
}
|
|
@@ -7262,7 +7300,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7262
7300
|
};
|
|
7263
7301
|
const getNextHostNode = (vnode) => {
|
|
7264
7302
|
if (vnode.shapeFlag & 6) {
|
|
7265
|
-
if (isVaporComponent(vnode.type)) return hostNextSibling(vnode.anchor);
|
|
7303
|
+
if (isVaporInteropEnabled && isVaporComponent(vnode.type)) return hostNextSibling(vnode.anchor);
|
|
7266
7304
|
return getNextHostNode(vnode.component.subTree);
|
|
7267
7305
|
}
|
|
7268
7306
|
if (vnode.shapeFlag & 128) return vnode.suspense.next();
|
|
@@ -7318,7 +7356,7 @@ function resolveChildrenNamespace({ type, props }, currentNamespace) {
|
|
|
7318
7356
|
return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
|
|
7319
7357
|
}
|
|
7320
7358
|
function toggleRecurse({ effect, job, vapor }, allowed) {
|
|
7321
|
-
if (!vapor) {
|
|
7359
|
+
if (!isVaporInteropEnabled || !vapor) {
|
|
7322
7360
|
if (allowed) {
|
|
7323
7361
|
effect.flags |= 128;
|
|
7324
7362
|
job.flags |= 2;
|
|
@@ -7425,7 +7463,7 @@ function getInheritedScopeIds(vnode, parentComponent, includeVaporRootIds = true
|
|
|
7425
7463
|
currentParent = currentParent.parent;
|
|
7426
7464
|
} else break;
|
|
7427
7465
|
}
|
|
7428
|
-
const vaporScopeIds = includeVaporRootIds && currentVNode.vaporScopeIds;
|
|
7466
|
+
const vaporScopeIds = isVaporInteropEnabled && includeVaporRootIds && currentVNode.vaporScopeIds;
|
|
7429
7467
|
if (vaporScopeIds) inheritedScopeIds.push(...vaporScopeIds);
|
|
7430
7468
|
return inheritedScopeIds;
|
|
7431
7469
|
}
|
|
@@ -7438,8 +7476,13 @@ function resolveAsyncComponentPlaceholder(anchorVnode) {
|
|
|
7438
7476
|
//#endregion
|
|
7439
7477
|
//#region packages/runtime-core/src/components/Suspense.ts
|
|
7440
7478
|
const isSuspense = (type) => type.__isSuspense;
|
|
7479
|
+
let isSuspenseEnabled = false;
|
|
7480
|
+
function withSuspenseEnabled(value) {
|
|
7481
|
+
isSuspenseEnabled = true;
|
|
7482
|
+
return value;
|
|
7483
|
+
}
|
|
7441
7484
|
let suspenseId = 0;
|
|
7442
|
-
const Suspense = {
|
|
7485
|
+
const Suspense = /*@__PURE__*/ withSuspenseEnabled({
|
|
7443
7486
|
name: "Suspense",
|
|
7444
7487
|
__isSuspense: true,
|
|
7445
7488
|
process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
|
|
@@ -7456,7 +7499,7 @@ const Suspense = {
|
|
|
7456
7499
|
},
|
|
7457
7500
|
hydrate: hydrateSuspense,
|
|
7458
7501
|
normalize: normalizeSuspenseChildren
|
|
7459
|
-
};
|
|
7502
|
+
});
|
|
7460
7503
|
function triggerEvent(vnode, name) {
|
|
7461
7504
|
const eventListener = vnode.props && vnode.props[name];
|
|
7462
7505
|
if (isFunction(eventListener)) eventListener();
|
|
@@ -7985,16 +8028,23 @@ function cloneVaporSlotMeta(vnode, extraProps) {
|
|
|
7985
8028
|
if (!vaporSlot) return vaporSlot;
|
|
7986
8029
|
const cloned = {
|
|
7987
8030
|
slot: vaporSlot.slot,
|
|
8031
|
+
name: vaporSlot.name,
|
|
7988
8032
|
outlets: vaporSlot.outlets,
|
|
7989
|
-
props: vaporSlot.props
|
|
8033
|
+
props: vaporSlot.props,
|
|
8034
|
+
attrs: vaporSlot.attrs && vaporSlot.attrs === EMPTY_OBJ ? {} : vaporSlot.attrs,
|
|
8035
|
+
group: vaporSlot.group
|
|
7990
8036
|
};
|
|
7991
|
-
|
|
8037
|
+
const attrs = cloned.attrs;
|
|
8038
|
+
if (extraProps && vaporSlot.props) {
|
|
7992
8039
|
let extraSlotProps;
|
|
7993
|
-
for (const key in extraProps) if (key !== "key") {
|
|
8040
|
+
for (const key in extraProps) if (attrs ? !isReservedProp(key) : key !== "key") {
|
|
7994
8041
|
if (!extraSlotProps) extraSlotProps = {};
|
|
7995
8042
|
extraSlotProps[key] = extraProps[key];
|
|
7996
8043
|
}
|
|
7997
|
-
if (extraSlotProps)
|
|
8044
|
+
if (extraSlotProps) {
|
|
8045
|
+
if (attrs) cloned.attrs = mergeProps(attrs, extraSlotProps);
|
|
8046
|
+
else cloned.props = mergeProps(vaporSlot.props, extraSlotProps);
|
|
8047
|
+
}
|
|
7998
8048
|
}
|
|
7999
8049
|
if (vnode.el) {
|
|
8000
8050
|
cloned.state = vaporSlot.state;
|
|
@@ -8255,7 +8305,7 @@ function setupComponent(instance, isSSR = false, optimized = false) {
|
|
|
8255
8305
|
isSSR && setInSSRSetupState(isSSR);
|
|
8256
8306
|
const { props, children, vi } = instance.vnode;
|
|
8257
8307
|
const isStateful = isStatefulComponent(instance);
|
|
8258
|
-
if (vi) vi(instance);
|
|
8308
|
+
if (isVaporInteropEnabled && vi) vi(instance);
|
|
8259
8309
|
else {
|
|
8260
8310
|
initProps(instance, props, isStateful, isSSR);
|
|
8261
8311
|
initSlots(instance, children, optimized || isSSR);
|
|
@@ -8435,7 +8485,7 @@ function isMemoSame(cached, memo) {
|
|
|
8435
8485
|
}
|
|
8436
8486
|
//#endregion
|
|
8437
8487
|
//#region packages/runtime-core/src/index.ts
|
|
8438
|
-
const version = "3.6.0-rc.
|
|
8488
|
+
const version = "3.6.0-rc.14";
|
|
8439
8489
|
const warn = NOOP;
|
|
8440
8490
|
/**
|
|
8441
8491
|
* Runtime error messages. Only exposed in dev or esm builds.
|
|
@@ -9484,7 +9534,7 @@ const decorate = (t) => {
|
|
|
9484
9534
|
t.__isBuiltIn = true;
|
|
9485
9535
|
return t;
|
|
9486
9536
|
};
|
|
9487
|
-
const TransitionGroup = /* @__PURE__ */ decorate({
|
|
9537
|
+
const TransitionGroup = /*@__PURE__*/ withTransitionEnabled(/* @__PURE__ */ decorate({
|
|
9488
9538
|
name: "TransitionGroup",
|
|
9489
9539
|
props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
|
|
9490
9540
|
tag: String,
|
|
@@ -9493,6 +9543,11 @@ const TransitionGroup = /* @__PURE__ */ decorate({
|
|
|
9493
9543
|
setup(props, { slots }) {
|
|
9494
9544
|
const instance = getCurrentInstance();
|
|
9495
9545
|
const state = useTransitionState();
|
|
9546
|
+
const group = {
|
|
9547
|
+
props: {},
|
|
9548
|
+
state,
|
|
9549
|
+
instance
|
|
9550
|
+
};
|
|
9496
9551
|
let prevChildren;
|
|
9497
9552
|
let children;
|
|
9498
9553
|
let origins;
|
|
@@ -9523,7 +9578,7 @@ const TransitionGroup = /* @__PURE__ */ decorate({
|
|
|
9523
9578
|
});
|
|
9524
9579
|
return () => {
|
|
9525
9580
|
const rawProps = /* @__PURE__ */ toRaw(props);
|
|
9526
|
-
const cssTransitionProps = resolveTransitionProps(rawProps);
|
|
9581
|
+
const cssTransitionProps = group.props = resolveTransitionProps(rawProps);
|
|
9527
9582
|
let tag = rawProps.tag || Fragment;
|
|
9528
9583
|
if (!rawProps.tag && compatUtils.checkCompatEnabled("TRANSITION_GROUP_ROOT", instance.parent)) tag = "span";
|
|
9529
9584
|
prevChildren = [];
|
|
@@ -9534,12 +9589,17 @@ const TransitionGroup = /* @__PURE__ */ decorate({
|
|
|
9534
9589
|
prevChildren.push(child);
|
|
9535
9590
|
setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
|
|
9536
9591
|
positionMap.set(child, getPosition(child.el));
|
|
9537
|
-
}
|
|
9592
|
+
} else if (isVaporInteropEnabled && child.vs && child.vb) instance.appContext.vapor.forEachGroupChild(child, (el) => {
|
|
9593
|
+
const row = { el };
|
|
9594
|
+
prevChildren.push(row);
|
|
9595
|
+
positionMap.set(row, getPosition(el));
|
|
9596
|
+
});
|
|
9538
9597
|
}
|
|
9539
9598
|
children = slots.default ? getTransitionRawChildren(slots.default()) : [];
|
|
9540
9599
|
for (let i = 0; i < children.length; i++) {
|
|
9541
9600
|
const child = children[i];
|
|
9542
|
-
if (child.
|
|
9601
|
+
if (isVaporInteropEnabled && child.vs) child.vs.group = group;
|
|
9602
|
+
else if (child.key != null) setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
|
|
9543
9603
|
}
|
|
9544
9604
|
if (prevChildren.length) {
|
|
9545
9605
|
const root = instance.vnode.el;
|
|
@@ -9552,7 +9612,7 @@ const TransitionGroup = /* @__PURE__ */ decorate({
|
|
|
9552
9612
|
return createVNode(tag, null, children);
|
|
9553
9613
|
};
|
|
9554
9614
|
}
|
|
9555
|
-
});
|
|
9615
|
+
}));
|
|
9556
9616
|
function callPendingCbs(el) {
|
|
9557
9617
|
if (el[moveCbKey]) el[moveCbKey]();
|
|
9558
9618
|
if (el[enterCbKey]) el[enterCbKey]();
|
|
@@ -9696,7 +9756,7 @@ const vModelTextInit = (el, trim, number, lazy, set) => {
|
|
|
9696
9756
|
if (e.target.composing) return;
|
|
9697
9757
|
(set || el[assignKey])(castValue(el.value, trim, number || el.type === "number"));
|
|
9698
9758
|
});
|
|
9699
|
-
if (trim || number) addEventListener(el, "change", () => {
|
|
9759
|
+
if (trim || number || el.type === "number") addEventListener(el, "change", () => {
|
|
9700
9760
|
el.value = castValue(el.value, trim, number || el.type === "number");
|
|
9701
9761
|
});
|
|
9702
9762
|
if (!lazy) {
|
|
@@ -10072,6 +10132,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
10072
10132
|
initCustomFormatter: () => initCustomFormatter,
|
|
10073
10133
|
initDirectivesForSSR: () => initDirectivesForSSR,
|
|
10074
10134
|
inject: () => inject,
|
|
10135
|
+
isKeepAliveEnabled: () => isKeepAliveEnabled,
|
|
10075
10136
|
isMemoSame: () => isMemoSame,
|
|
10076
10137
|
isProxy: () => isProxy,
|
|
10077
10138
|
isReactive: () => isReactive,
|
|
@@ -10079,7 +10140,10 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
10079
10140
|
isRef: () => isRef,
|
|
10080
10141
|
isRuntimeOnly: () => isRuntimeOnly,
|
|
10081
10142
|
isShallow: () => isShallow,
|
|
10143
|
+
isSuspenseEnabled: () => isSuspenseEnabled,
|
|
10144
|
+
isTransitionEnabled: () => isTransitionEnabled,
|
|
10082
10145
|
isVNode: () => isVNode,
|
|
10146
|
+
isVaporInteropEnabled: () => isVaporInteropEnabled,
|
|
10083
10147
|
markRaw: () => markRaw,
|
|
10084
10148
|
mergeDefaults: () => mergeDefaults,
|
|
10085
10149
|
mergeModels: () => mergeModels,
|
|
@@ -10126,6 +10190,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
10126
10190
|
setDevtoolsHook: () => setDevtoolsHook,
|
|
10127
10191
|
setIsHydratingEnabled: () => setIsHydratingEnabled,
|
|
10128
10192
|
setTransitionHooks: () => setTransitionHooks,
|
|
10193
|
+
setVaporInteropEnabled: () => setVaporInteropEnabled,
|
|
10129
10194
|
shallowReactive: () => shallowReactive,
|
|
10130
10195
|
shallowReadonly: () => shallowReadonly,
|
|
10131
10196
|
shallowRef: () => shallowRef,
|
|
@@ -10170,10 +10235,13 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
10170
10235
|
withCtx: () => withCtx,
|
|
10171
10236
|
withDefaults: () => withDefaults,
|
|
10172
10237
|
withDirectives: () => withDirectives,
|
|
10238
|
+
withKeepAliveEnabled: () => withKeepAliveEnabled,
|
|
10173
10239
|
withKeys: () => withKeys,
|
|
10174
10240
|
withMemo: () => withMemo,
|
|
10175
10241
|
withModifiers: () => withModifiers,
|
|
10176
|
-
withScopeId: () => withScopeId
|
|
10242
|
+
withScopeId: () => withScopeId,
|
|
10243
|
+
withSuspenseEnabled: () => withSuspenseEnabled,
|
|
10244
|
+
withTransitionEnabled: () => withTransitionEnabled
|
|
10177
10245
|
});
|
|
10178
10246
|
const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
|
|
10179
10247
|
let renderer;
|
|
@@ -12050,7 +12118,15 @@ const nonIdentifierRE = /^$|^\d|[^\$\w\xA0-\uFFFF]/;
|
|
|
12050
12118
|
const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
|
|
12051
12119
|
const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
|
|
12052
12120
|
const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
|
|
12121
|
+
const asciiIdentifierRE = /^[A-Za-z_$][\w$]*$/;
|
|
12122
|
+
const isReservedWord = /*@__PURE__*/ makeMap("await,break,case,catch,class,const,continue,debugger,default,delete,do,else,enum,export,extends,false,finally,for,function,if,implements,import,in,instanceof,interface,let,new,null,package,private,protected,public,return,static,super,switch,this,throw,true,try,typeof,undefined,var,void,while,with,yield");
|
|
12123
|
+
const isUnparsedIdentifier = (exp) => {
|
|
12124
|
+
if (exp.ast !== null) return false;
|
|
12125
|
+
const content = getExpSource(exp);
|
|
12126
|
+
return asciiIdentifierRE.test(content) && !isReservedWord(content);
|
|
12127
|
+
};
|
|
12053
12128
|
const isMemberExpressionNode = (exp, context) => {
|
|
12129
|
+
if (isUnparsedIdentifier(exp)) return true;
|
|
12054
12130
|
try {
|
|
12055
12131
|
let ret = exp.ast || (0, _babel_parser.parseExpression)(getExpSource(exp), { plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"] });
|
|
12056
12132
|
ret = unwrapTSNode(ret);
|
|
@@ -12061,6 +12137,7 @@ const isMemberExpressionNode = (exp, context) => {
|
|
|
12061
12137
|
};
|
|
12062
12138
|
const isMemberExpression = isMemberExpressionNode;
|
|
12063
12139
|
const isFnExpressionNode = (exp, context) => {
|
|
12140
|
+
if (isUnparsedIdentifier(exp)) return false;
|
|
12064
12141
|
try {
|
|
12065
12142
|
let ret = exp.ast || (0, _babel_parser.parseExpression)(getExpSource(exp), { plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"] });
|
|
12066
12143
|
if (ret.type === "Program") {
|