From 3bd962a6d7f61239c020e2dbbeb7341e5b842dd1 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期二, 21 四月 2026 11:46:41 +0800
Subject: [PATCH] 推送
---
node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js | 652 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 379 insertions(+), 273 deletions(-)
diff --git a/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js b/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js
index 453cd60..9f99db1 100644
--- a/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js
+++ b/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js
@@ -1,5 +1,5 @@
/**
-* @vue/runtime-core v3.5.25
+* @vue/runtime-core v3.5.32
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -376,7 +376,144 @@
}
}
-const TeleportEndKey = Symbol("_vte");
+function provide(key, value) {
+ if (currentInstance) {
+ let provides = currentInstance.provides;
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
+ if (parentProvides === provides) {
+ provides = currentInstance.provides = Object.create(parentProvides);
+ }
+ provides[key] = value;
+ }
+}
+function inject(key, defaultValue, treatDefaultAsFactory = false) {
+ const instance = getCurrentInstance();
+ if (instance || currentApp) {
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
+ if (provides && key in provides) {
+ return provides[key];
+ } else if (arguments.length > 1) {
+ return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
+ } else ;
+ }
+}
+function hasInjectionContext() {
+ return !!(getCurrentInstance() || currentApp);
+}
+
+const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
+const useSSRContext = () => {
+ {
+ const ctx = inject(ssrContextKey);
+ return ctx;
+ }
+};
+
+function watchEffect(effect, options) {
+ return doWatch(effect, null, options);
+}
+function watchPostEffect(effect, options) {
+ return doWatch(
+ effect,
+ null,
+ { flush: "post" }
+ );
+}
+function watchSyncEffect(effect, options) {
+ return doWatch(
+ effect,
+ null,
+ { flush: "sync" }
+ );
+}
+function watch(source, cb, options) {
+ return doWatch(source, cb, options);
+}
+function doWatch(source, cb, options = shared.EMPTY_OBJ) {
+ const { immediate, deep, flush, once } = options;
+ const baseWatchOptions = shared.extend({}, options);
+ const runsImmediately = cb && immediate || !cb && flush !== "post";
+ let ssrCleanup;
+ if (isInSSRComponentSetup) {
+ if (flush === "sync") {
+ const ctx = useSSRContext();
+ ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
+ } else if (!runsImmediately) {
+ const watchStopHandle = () => {
+ };
+ watchStopHandle.stop = shared.NOOP;
+ watchStopHandle.resume = shared.NOOP;
+ watchStopHandle.pause = shared.NOOP;
+ return watchStopHandle;
+ }
+ }
+ const instance = currentInstance;
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
+ let isPre = false;
+ if (flush === "post") {
+ baseWatchOptions.scheduler = (job) => {
+ queuePostRenderEffect(job, instance && instance.suspense);
+ };
+ } else if (flush !== "sync") {
+ isPre = true;
+ baseWatchOptions.scheduler = (job, isFirstRun) => {
+ if (isFirstRun) {
+ job();
+ } else {
+ queueJob(job);
+ }
+ };
+ }
+ baseWatchOptions.augmentJob = (job) => {
+ if (cb) {
+ job.flags |= 4;
+ }
+ if (isPre) {
+ job.flags |= 2;
+ if (instance) {
+ job.id = instance.uid;
+ job.i = instance;
+ }
+ }
+ };
+ const watchHandle = reactivity.watch(source, cb, baseWatchOptions);
+ if (isInSSRComponentSetup) {
+ if (ssrCleanup) {
+ ssrCleanup.push(watchHandle);
+ } else if (runsImmediately) {
+ watchHandle();
+ }
+ }
+ return watchHandle;
+}
+function instanceWatch(source, value, options) {
+ const publicThis = this.proxy;
+ const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
+ let cb;
+ if (shared.isFunction(value)) {
+ cb = value;
+ } else {
+ cb = value.handler;
+ options = value;
+ }
+ const reset = setCurrentInstance(this);
+ const res = doWatch(getter, cb.bind(publicThis), options);
+ reset();
+ return res;
+}
+function createPathGetter(ctx, path) {
+ const segments = path.split(".");
+ return () => {
+ let cur = ctx;
+ for (let i = 0; i < segments.length && cur; i++) {
+ cur = cur[segments[i]];
+ }
+ return cur;
+ };
+}
+
+const pendingMounts = /* @__PURE__ */ new WeakMap();
+const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
const isTeleport = (type) => type.__isTeleport;
const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
@@ -406,78 +543,78 @@
o: { insert, querySelector, createText, createComment }
} = internals;
const disabled = isTeleportDisabled(n2.props);
- let { shapeFlag, children, dynamicChildren } = n2;
+ let { dynamicChildren } = n2;
+ const mount = (vnode, container2, anchor2) => {
+ if (vnode.shapeFlag & 16) {
+ mountChildren(
+ vnode.children,
+ container2,
+ anchor2,
+ parentComponent,
+ parentSuspense,
+ namespace,
+ slotScopeIds,
+ optimized
+ );
+ }
+ };
+ const mountToTarget = (vnode = n2) => {
+ const disabled2 = isTeleportDisabled(vnode.props);
+ const target = vnode.target = resolveTarget(vnode.props, querySelector);
+ const targetAnchor = prepareAnchor(target, vnode, createText, insert);
+ if (target) {
+ if (namespace !== "svg" && isTargetSVG(target)) {
+ namespace = "svg";
+ } else if (namespace !== "mathml" && isTargetMathML(target)) {
+ namespace = "mathml";
+ }
+ if (parentComponent && parentComponent.isCE) {
+ (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
+ }
+ if (!disabled2) {
+ mount(vnode, target, targetAnchor);
+ updateCssVars(vnode, false);
+ }
+ }
+ };
+ const queuePendingMount = (vnode) => {
+ const mountJob = () => {
+ if (pendingMounts.get(vnode) !== mountJob) return;
+ pendingMounts.delete(vnode);
+ if (isTeleportDisabled(vnode.props)) {
+ mount(vnode, container, vnode.anchor);
+ updateCssVars(vnode, true);
+ }
+ mountToTarget(vnode);
+ };
+ pendingMounts.set(vnode, mountJob);
+ queuePostRenderEffect(mountJob, parentSuspense);
+ };
if (n1 == null) {
const placeholder = n2.el = createText("");
const mainAnchor = n2.anchor = createText("");
insert(placeholder, container, anchor);
insert(mainAnchor, container, anchor);
- const mount = (container2, anchor2) => {
- if (shapeFlag & 16) {
- mountChildren(
- children,
- container2,
- anchor2,
- parentComponent,
- parentSuspense,
- namespace,
- slotScopeIds,
- optimized
- );
- }
- };
- const mountToTarget = () => {
- const target = n2.target = resolveTarget(n2.props, querySelector);
- const targetAnchor = prepareAnchor(target, n2, createText, insert);
- if (target) {
- if (namespace !== "svg" && isTargetSVG(target)) {
- namespace = "svg";
- } else if (namespace !== "mathml" && isTargetMathML(target)) {
- namespace = "mathml";
- }
- if (parentComponent && parentComponent.isCE) {
- (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
- }
- if (!disabled) {
- mount(target, targetAnchor);
- updateCssVars(n2, false);
- }
- }
- };
- if (disabled) {
- mount(container, mainAnchor);
- updateCssVars(n2, true);
- }
- if (isTeleportDeferred(n2.props)) {
- n2.el.__isMounted = false;
- queuePostRenderEffect(() => {
- mountToTarget();
- delete n2.el.__isMounted;
- }, parentSuspense);
- } else {
- mountToTarget();
- }
- } else {
- if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
- queuePostRenderEffect(() => {
- TeleportImpl.process(
- n1,
- n2,
- container,
- anchor,
- parentComponent,
- parentSuspense,
- namespace,
- slotScopeIds,
- optimized,
- internals
- );
- }, parentSuspense);
+ if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {
+ queuePendingMount(n2);
return;
}
+ if (disabled) {
+ mount(n2, container, mainAnchor);
+ updateCssVars(n2, true);
+ }
+ mountToTarget();
+ } else {
n2.el = n1.el;
- n2.targetStart = n1.targetStart;
const mainAnchor = n2.anchor = n1.anchor;
+ const pendingMount = pendingMounts.get(n1);
+ if (pendingMount) {
+ pendingMount.flags |= 8;
+ pendingMounts.delete(n1);
+ queuePendingMount(n2);
+ return;
+ }
+ n2.targetStart = n1.targetStart;
const target = n2.target = n1.target;
const targetAnchor = n2.targetAnchor = n1.targetAnchor;
const wasDisabled = isTeleportDisabled(n1.props);
@@ -564,13 +701,19 @@
target,
props
} = vnode;
+ let shouldRemove = doRemove || !isTeleportDisabled(props);
+ const pendingMount = pendingMounts.get(vnode);
+ if (pendingMount) {
+ pendingMount.flags |= 8;
+ pendingMounts.delete(vnode);
+ shouldRemove = false;
+ }
if (target) {
hostRemove(targetStart);
hostRemove(targetAnchor);
}
doRemove && hostRemove(anchor);
if (shapeFlag & 16) {
- const shouldRemove = doRemove || !isTeleportDisabled(props);
for (let i = 0; i < children.length; i++) {
const child = children[i];
unmount(
@@ -614,7 +757,22 @@
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
o: { nextSibling, parentNode, querySelector, insert, createText }
}, hydrateChildren) {
- function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
+ function hydrateAnchor(target2, targetNode) {
+ let targetAnchor = targetNode;
+ while (targetAnchor) {
+ if (targetAnchor && targetAnchor.nodeType === 8) {
+ if (targetAnchor.data === "teleport start anchor") {
+ vnode.targetStart = targetAnchor;
+ } else if (targetAnchor.data === "teleport anchor") {
+ vnode.targetAnchor = targetAnchor;
+ target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
+ break;
+ }
+ }
+ targetAnchor = nextSibling(targetAnchor);
+ }
+ }
+ function hydrateDisabledTeleport(node2, vnode2) {
vnode2.anchor = hydrateChildren(
nextSibling(node2),
vnode2,
@@ -624,8 +782,6 @@
slotScopeIds,
optimized
);
- vnode2.targetStart = targetStart;
- vnode2.targetAnchor = targetAnchor;
}
const target = vnode.target = resolveTarget(
vnode.props,
@@ -636,27 +792,22 @@
const targetNode = target._lpa || target.firstChild;
if (vnode.shapeFlag & 16) {
if (disabled) {
- hydrateDisabledTeleport(
- node,
- vnode,
- targetNode,
- targetNode && nextSibling(targetNode)
- );
+ hydrateDisabledTeleport(node, vnode);
+ hydrateAnchor(target, targetNode);
+ if (!vnode.targetAnchor) {
+ prepareAnchor(
+ target,
+ vnode,
+ createText,
+ insert,
+ // if target is the same as the main view, insert anchors before current node
+ // to avoid hydrating mismatch
+ parentNode(node) === target ? node : null
+ );
+ }
} else {
vnode.anchor = nextSibling(node);
- let targetAnchor = targetNode;
- while (targetAnchor) {
- if (targetAnchor && targetAnchor.nodeType === 8) {
- if (targetAnchor.data === "teleport start anchor") {
- vnode.targetStart = targetAnchor;
- } else if (targetAnchor.data === "teleport anchor") {
- vnode.targetAnchor = targetAnchor;
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
- break;
- }
- }
- targetAnchor = nextSibling(targetAnchor);
- }
+ hydrateAnchor(target, targetNode);
if (!vnode.targetAnchor) {
prepareAnchor(target, vnode, createText, insert);
}
@@ -674,7 +825,9 @@
updateCssVars(vnode, disabled);
} else if (disabled) {
if (vnode.shapeFlag & 16) {
- hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
+ hydrateDisabledTeleport(node, vnode);
+ vnode.targetStart = node;
+ vnode.targetAnchor = nextSibling(node);
}
}
return vnode.anchor && nextSibling(vnode.anchor);
@@ -698,19 +851,19 @@
ctx.ut();
}
}
-function prepareAnchor(target, vnode, createText, insert) {
+function prepareAnchor(target, vnode, createText, insert, anchor = null) {
const targetStart = vnode.targetStart = createText("");
const targetAnchor = vnode.targetAnchor = createText("");
targetStart[TeleportEndKey] = targetAnchor;
if (target) {
- insert(targetStart, target);
- insert(targetAnchor, target);
+ insert(targetStart, target, anchor);
+ insert(targetAnchor, target, anchor);
}
return targetAnchor;
}
-const leaveCbKey = Symbol("_leaveCb");
-const enterCbKey = Symbol("_enterCb");
+const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
+const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
function useTransitionState() {
const state = {
isMounted: false,
@@ -916,6 +1069,7 @@
callHook(hook, [el]);
},
enter(el) {
+ if (leavingVNodesCache[key] === vnode) return;
let hook = onEnter;
let afterHook = onAfterEnter;
let cancelHook = onEnterCancelled;
@@ -929,7 +1083,7 @@
}
}
let called = false;
- const done = el[enterCbKey] = (cancelled) => {
+ el[enterCbKey] = (cancelled) => {
if (called) return;
called = true;
if (cancelled) {
@@ -942,6 +1096,7 @@
}
el[enterCbKey] = void 0;
};
+ const done = el[enterCbKey].bind(null, false);
if (hook) {
callAsyncHook(hook, [el, done]);
} else {
@@ -961,7 +1116,7 @@
}
callHook(onBeforeLeave, [el]);
let called = false;
- const done = el[leaveCbKey] = (cancelled) => {
+ el[leaveCbKey] = (cancelled) => {
if (called) return;
called = true;
remove();
@@ -975,6 +1130,7 @@
delete leavingVNodesCache[key2];
}
};
+ const done = el[leaveCbKey].bind(null, false);
leavingVNodesCache[key2] = vnode;
if (onLeave) {
callAsyncHook(onLeave, [el, done]);
@@ -1093,6 +1249,10 @@
const ret = r;
return ret;
}
+function isTemplateRefKey(refs, key) {
+ let desc;
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
+}
const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
@@ -1122,7 +1282,16 @@
const setupState = owner.setupState;
const rawSetupState = reactivity.toRaw(setupState);
const canSetSetupRef = setupState === shared.EMPTY_OBJ ? shared.NO : (key) => {
+ if (isTemplateRefKey(refs, key)) {
+ return false;
+ }
return shared.hasOwn(rawSetupState, key);
+ };
+ const canSetRef = (ref2, key) => {
+ if (key && isTemplateRefKey(refs, key)) {
+ return false;
+ }
+ return true;
};
if (oldRef != null && oldRef !== ref) {
invalidatePendingSetRef(oldRawRef);
@@ -1132,10 +1301,10 @@
setupState[oldRef] = null;
}
} else if (reactivity.isRef(oldRef)) {
- {
+ const oldRawRefAtom = oldRawRef;
+ if (canSetRef(oldRef, oldRawRefAtom.k)) {
oldRef.value = null;
}
- const oldRawRefAtom = oldRawRef;
if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
}
}
@@ -1147,7 +1316,7 @@
if (_isString || _isRef) {
const doSet = () => {
if (rawRef.f) {
- const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value ;
+ const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef() || !rawRef.k ? ref.value : refs[rawRef.k];
if (isUnmount) {
shared.isArray(existing) && shared.remove(existing, refValue);
} else {
@@ -1159,7 +1328,7 @@
}
} else {
const newVal = [refValue];
- {
+ if (canSetRef(ref, rawRef.k)) {
ref.value = newVal;
}
if (rawRef.k) refs[rawRef.k] = newVal;
@@ -1174,7 +1343,7 @@
setupState[ref] = value;
}
} else if (_isRef) {
- {
+ if (canSetRef(ref, rawRef.k)) {
ref.value = value;
}
if (rawRef.k) refs[rawRef.k] = value;
@@ -1470,7 +1639,7 @@
const isCustomElement = el.tagName.includes("-");
for (const key in props) {
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || shared.isOn(key) && !shared.isReservedProp(key) || // force hydrate v-bind with .prop modifiers
- key[0] === "." || isCustomElement) {
+ key[0] === "." || isCustomElement && !shared.isReservedProp(key)) {
patchProp(el, key, null, props[key], void 0, parentComponent);
}
}
@@ -2003,7 +2172,9 @@
}
function pruneCache(filter) {
cache.forEach((vnode, key) => {
- const name = getComponentName(vnode.type);
+ const name = getComponentName(
+ isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
+ );
if (name && !filter(name)) {
pruneCacheEntry(key);
}
@@ -2222,7 +2393,7 @@
function resolveComponent(name, maybeSelfReference) {
return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
}
-const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
+const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
function resolveDynamicComponent(component) {
if (shared.isString(component)) {
return resolveAsset(COMPONENTS, component, false) || component;
@@ -2285,9 +2456,11 @@
);
}
} else if (typeof source === "number") {
- ret = new Array(source);
- for (let i = 0; i < source; i++) {
- ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
+ {
+ ret = new Array(source);
+ for (let i = 0; i < source; i++) {
+ ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
+ }
}
} else if (shared.isObject(source)) {
if (source[Symbol.iterator]) {
@@ -2594,15 +2767,39 @@
}
function withAsyncContext(getAwaitable) {
const ctx = getCurrentInstance();
+ const inSSRSetup = isInSSRComponentSetup;
let awaitable = getAwaitable();
unsetCurrentInstance();
+ if (inSSRSetup) {
+ setInSSRSetupState(false);
+ }
+ const restore = () => {
+ setCurrentInstance(ctx);
+ if (inSSRSetup) {
+ setInSSRSetupState(true);
+ }
+ };
+ const cleanup = () => {
+ if (getCurrentInstance() !== ctx) ctx.scope.off();
+ unsetCurrentInstance();
+ if (inSSRSetup) {
+ setInSSRSetupState(false);
+ }
+ };
if (shared.isPromise(awaitable)) {
awaitable = awaitable.catch((e) => {
- setCurrentInstance(ctx);
+ restore();
+ Promise.resolve().then(() => Promise.resolve().then(cleanup));
throw e;
});
}
- return [awaitable, () => setCurrentInstance(ctx)];
+ return [
+ awaitable,
+ () => {
+ restore();
+ Promise.resolve().then(cleanup);
+ }
+ ];
}
let shouldCacheAccess = true;
@@ -3075,142 +3272,6 @@
}
let currentApp = null;
-function provide(key, value) {
- if (currentInstance) {
- let provides = currentInstance.provides;
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
- if (parentProvides === provides) {
- provides = currentInstance.provides = Object.create(parentProvides);
- }
- provides[key] = value;
- }
-}
-function inject(key, defaultValue, treatDefaultAsFactory = false) {
- const instance = getCurrentInstance();
- if (instance || currentApp) {
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
- if (provides && key in provides) {
- return provides[key];
- } else if (arguments.length > 1) {
- return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
- } else ;
- }
-}
-function hasInjectionContext() {
- return !!(getCurrentInstance() || currentApp);
-}
-
-const ssrContextKey = Symbol.for("v-scx");
-const useSSRContext = () => {
- {
- const ctx = inject(ssrContextKey);
- return ctx;
- }
-};
-
-function watchEffect(effect, options) {
- return doWatch(effect, null, options);
-}
-function watchPostEffect(effect, options) {
- return doWatch(
- effect,
- null,
- { flush: "post" }
- );
-}
-function watchSyncEffect(effect, options) {
- return doWatch(
- effect,
- null,
- { flush: "sync" }
- );
-}
-function watch(source, cb, options) {
- return doWatch(source, cb, options);
-}
-function doWatch(source, cb, options = shared.EMPTY_OBJ) {
- const { immediate, deep, flush, once } = options;
- const baseWatchOptions = shared.extend({}, options);
- const runsImmediately = cb && immediate || !cb && flush !== "post";
- let ssrCleanup;
- if (isInSSRComponentSetup) {
- if (flush === "sync") {
- const ctx = useSSRContext();
- ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
- } else if (!runsImmediately) {
- const watchStopHandle = () => {
- };
- watchStopHandle.stop = shared.NOOP;
- watchStopHandle.resume = shared.NOOP;
- watchStopHandle.pause = shared.NOOP;
- return watchStopHandle;
- }
- }
- const instance = currentInstance;
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
- let isPre = false;
- if (flush === "post") {
- baseWatchOptions.scheduler = (job) => {
- queuePostRenderEffect(job, instance && instance.suspense);
- };
- } else if (flush !== "sync") {
- isPre = true;
- baseWatchOptions.scheduler = (job, isFirstRun) => {
- if (isFirstRun) {
- job();
- } else {
- queueJob(job);
- }
- };
- }
- baseWatchOptions.augmentJob = (job) => {
- if (cb) {
- job.flags |= 4;
- }
- if (isPre) {
- job.flags |= 2;
- if (instance) {
- job.id = instance.uid;
- job.i = instance;
- }
- }
- };
- const watchHandle = reactivity.watch(source, cb, baseWatchOptions);
- if (isInSSRComponentSetup) {
- if (ssrCleanup) {
- ssrCleanup.push(watchHandle);
- } else if (runsImmediately) {
- watchHandle();
- }
- }
- return watchHandle;
-}
-function instanceWatch(source, value, options) {
- const publicThis = this.proxy;
- const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
- let cb;
- if (shared.isFunction(value)) {
- cb = value;
- } else {
- cb = value.handler;
- options = value;
- }
- const reset = setCurrentInstance(this);
- const res = doWatch(getter, cb.bind(publicThis), options);
- reset();
- return res;
-}
-function createPathGetter(ctx, path) {
- const segments = path.split(".");
- return () => {
- let cur = ctx;
- for (let i = 0; i < segments.length && cur; i++) {
- cur = cur[segments[i]];
- }
- return cur;
- };
-}
-
function useModel(props, name, options = shared.EMPTY_OBJ) {
const i = getCurrentInstance();
const camelizedName = shared.camelize(name);
@@ -3525,7 +3586,7 @@
const dynamicProps = nextVNode.dynamicProps;
for (let i = 0; i < dynamicProps.length; i++) {
const key = dynamicProps[i];
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
return true;
}
}
@@ -3556,17 +3617,26 @@
}
for (let i = 0; i < nextKeys.length; i++) {
const key = nextKeys[i];
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
return true;
}
}
return false;
}
-function updateHOCHostEl({ vnode, parent }, el) {
+function hasPropValueChanged(nextProps, prevProps, key) {
+ const nextProp = nextProps[key];
+ const prevProp = prevProps[key];
+ if (key === "style" && shared.isObject(nextProp) && shared.isObject(prevProp)) {
+ return !shared.looseEqual(nextProp, prevProp);
+ }
+ return nextProp !== prevProp;
+}
+function updateHOCHostEl({ vnode, parent, suspense }, el) {
while (parent) {
const root = parent.subTree;
if (root.suspense && root.suspense.activeBranch === vnode) {
- root.el = vnode.el;
+ root.suspense.vnode.el = root.el = el;
+ vnode = root;
}
if (root === vnode) {
(vnode = parent.vnode).el = el;
@@ -3574,6 +3644,9 @@
} else {
break;
}
+ }
+ if (suspense && suspense.activeBranch === vnode) {
+ suspense.vnode.el = el;
}
}
@@ -4129,7 +4202,7 @@
optimized
);
} else {
- const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
+ const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
try {
if (customElement) {
customElement._beginPatch();
@@ -4201,9 +4274,12 @@
hostInsert(el, container, anchor);
if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
queuePostRenderEffect(() => {
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
- needCallTransitionHooks && transition.enter(el);
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
+ try {
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
+ needCallTransitionHooks && transition.enter(el);
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
+ } finally {
+ }
}, parentSuspense);
}
};
@@ -4413,7 +4489,7 @@
} else {
if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
// of renderSlot() with no valid children
- n1.dynamicChildren) {
+ n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
patchBlockChildren(
n1.dynamicChildren,
dynamicChildren,
@@ -4560,9 +4636,11 @@
hydrateSubTree();
}
} else {
- if (root.ce && // @ts-expect-error _def is private
- root.ce._def.shadowRoot !== false) {
- root.ce._injectChildStyle(type);
+ if (root.ce && root.ce._hasShadowRoot()) {
+ root.ce._injectChildStyle(
+ type,
+ instance.parent ? instance.parent.type : void 0
+ );
}
const subTree = instance.subTree = renderComponentRoot(instance);
patch(
@@ -4601,9 +4679,9 @@
updateComponentPreRender(instance, next, optimized);
}
nonHydratedAsyncRoot.asyncDep.then(() => {
- if (!instance.isUnmounted) {
- componentUpdateFn();
- }
+ queuePostRenderEffect(() => {
+ if (!instance.isUnmounted) update();
+ }, parentSuspense);
});
return;
}
@@ -4930,8 +5008,8 @@
const nextChild = c2[nextIndex];
const anchorVNode = c2[nextIndex + 1];
const anchor = nextIndex + 1 < l2 ? (
- // #13559, fallback to el placeholder for unresolved async component
- anchorVNode.el || anchorVNode.placeholder
+ // #13559, #14173 fallback to el placeholder for unresolved async component
+ anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
) : parentAnchor;
if (newIndexToOldIndexMap[i] === 0) {
patch(
@@ -5028,7 +5106,8 @@
shapeFlag,
patchFlag,
dirs,
- cacheIndex
+ cacheIndex,
+ memo
} = vnode;
if (patchFlag === -2) {
optimized = false;
@@ -5090,10 +5169,14 @@
remove(vnode);
}
}
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {
+ const shouldInvalidateMemo = memo != null && cacheIndex == null;
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs || shouldInvalidateMemo) {
queuePostRenderEffect(() => {
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
+ if (shouldInvalidateMemo) {
+ vnode.el = null;
+ }
}, parentSuspense);
}
};
@@ -5173,9 +5256,11 @@
};
let isFlushing = false;
const render = (vnode, container, namespace) => {
+ let instance;
if (vnode == null) {
if (container._vnode) {
unmount(container._vnode, null, null, true);
+ instance = container._vnode.component;
}
} else {
patch(
@@ -5191,7 +5276,7 @@
container._vnode = vnode;
if (!isFlushing) {
isFlushing = true;
- flushPreFlushCbs();
+ flushPreFlushCbs(instance);
flushPostFlushCbs();
isFlushing = false;
}
@@ -5251,8 +5336,10 @@
if (!shallow && c2.patchFlag !== -2)
traverseStaticChildren(c1, c2);
}
- if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
- c2.patchFlag !== -1) {
+ if (c2.type === Text) {
+ if (c2.patchFlag === -1) {
+ c2 = ch2[i] = cloneIfMounted(c2);
+ }
c2.el = c1.el;
}
if (c2.type === Comment && !c2.el) {
@@ -5316,6 +5403,16 @@
for (let i = 0; i < hooks.length; i++)
hooks[i].flags |= 8;
}
+}
+function resolveAsyncComponentPlaceholder(anchorVnode) {
+ if (anchorVnode.placeholder) {
+ return anchorVnode.placeholder;
+ }
+ const instance = anchorVnode.component;
+ if (instance) {
+ return resolveAsyncComponentPlaceholder(instance.subTree);
+ }
+ return null;
}
const isSuspense = (type) => type.__isSuspense;
@@ -5606,6 +5703,7 @@
pendingId: suspenseId++,
timeout: typeof timeout === "number" ? timeout : -1,
activeBranch: null,
+ isFallbackMountPending: false,
pendingBranch: null,
isInFallback: !isHydrating,
isHydrating,
@@ -5643,7 +5741,7 @@
}
};
}
- if (activeBranch) {
+ if (activeBranch && !suspense.isFallbackMountPending) {
if (parentNode(activeBranch.el) === container2) {
anchor = next(activeBranch);
}
@@ -5656,6 +5754,7 @@
move(pendingBranch, container2, anchor, 0);
}
}
+ suspense.isFallbackMountPending = false;
setActiveBranch(suspense, pendingBranch);
suspense.pendingBranch = null;
suspense.isInFallback = false;
@@ -5691,6 +5790,7 @@
triggerEvent(vnode2, "onFallback");
const anchor2 = next(activeBranch);
const mountFallback = () => {
+ suspense.isFallbackMountPending = false;
if (!suspense.isInFallback) {
return;
}
@@ -5710,6 +5810,7 @@
};
const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
if (delayEnter) {
+ suspense.isFallbackMountPending = true;
activeBranch.transition.afterLeave = mountFallback;
}
suspense.isInFallback = true;
@@ -5744,6 +5845,7 @@
if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {
return;
}
+ unsetCurrentInstance();
instance.asyncResolved = true;
const { vnode: vnode2 } = instance;
handleSetupResult(instance, asyncSetupResult, false);
@@ -5888,10 +5990,10 @@
return suspensible != null && suspensible !== false;
}
-const Fragment = Symbol.for("v-fgt");
-const Text = Symbol.for("v-txt");
-const Comment = Symbol.for("v-cmt");
-const Static = Symbol.for("v-stc");
+const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
+const Text = /* @__PURE__ */ Symbol.for("v-txt");
+const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
+const Static = /* @__PURE__ */ Symbol.for("v-stc");
const blockStack = [];
let currentBlock = null;
function openBlock(disableTracking = false) {
@@ -6214,6 +6316,10 @@
const incoming = toMerge[key];
if (incoming && existing !== incoming && !(shared.isArray(existing) && existing.includes(incoming))) {
ret[key] = existing ? [].concat(existing, incoming) : incoming;
+ } else if (incoming == null && existing == null && // mergeProps({ 'onUpdate:modelValue': undefined }) should not retain
+ // the model listener.
+ !shared.isModelListener(key)) {
+ ret[key] = incoming;
}
} else if (key !== "") {
ret[key] = toMerge[key];
@@ -6580,7 +6686,7 @@
return true;
}
-const version = "3.5.25";
+const version = "3.5.32";
const warn$1 = shared.NOOP;
const ErrorTypeStrings = ErrorTypeStrings$1 ;
const devtools = void 0;
--
Gitblit v1.9.3