From 9bce51f651aad297ef9eb6df832bfdaf1de05d84 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 22 四月 2026 14:27:54 +0800
Subject: [PATCH] 青岛推送
---
node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js | 762 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 438 insertions(+), 324 deletions(-)
diff --git a/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js b/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
index 3518f53..1e2892e 100644
--- a/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
+++ b/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
@@ -1,11 +1,11 @@
/**
-* @vue/runtime-core v3.5.25
+* @vue/runtime-core v3.5.32
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
-import { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, watch as watch$1, customRef, shallowReactive, trigger, ReactiveEffect, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';
+import { pauseTracking, resetTracking, isRef, toRaw, traverse, watch as watch$1, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, customRef, shallowReactive, trigger, ReactiveEffect, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';
export { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
-import { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, hyphenate, hasChanged, looseToNumber, isModelListener, EMPTY_ARR, makeMap, toRawType, toNumber } from '@vue/shared';
+import { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, hyphenate, hasChanged, looseToNumber, isModelListener, looseEqual, EMPTY_ARR, toRawType, makeMap, toNumber } from '@vue/shared';
export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
const stack = [];
@@ -448,6 +448,13 @@
}
let isHmrUpdating = false;
+const setHmrUpdating = (v) => {
+ try {
+ return isHmrUpdating;
+ } finally {
+ isHmrUpdating = v;
+ }
+};
const hmrDirtyComponents = /* @__PURE__ */ new Map();
if (!!(process.env.NODE_ENV !== "production")) {
getGlobalThis().__VUE_HMR_RUNTIME__ = {
@@ -768,7 +775,181 @@
}
}
-const TeleportEndKey = Symbol("_vte");
+function provide(key, value) {
+ if (!!(process.env.NODE_ENV !== "production")) {
+ if (!currentInstance || currentInstance.isMounted) {
+ warn$1(`provide() can only be used inside setup().`);
+ }
+ }
+ 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 && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
+ } else if (!!(process.env.NODE_ENV !== "production")) {
+ warn$1(`injection "${String(key)}" not found.`);
+ }
+ } else if (!!(process.env.NODE_ENV !== "production")) {
+ warn$1(`inject() can only be used inside setup() or functional components.`);
+ }
+}
+function hasInjectionContext() {
+ return !!(getCurrentInstance() || currentApp);
+}
+
+const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
+const useSSRContext = () => {
+ {
+ const ctx = inject(ssrContextKey);
+ if (!ctx) {
+ !!(process.env.NODE_ENV !== "production") && warn$1(
+ `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
+ );
+ }
+ return ctx;
+ }
+};
+
+function watchEffect(effect, options) {
+ return doWatch(effect, null, options);
+}
+function watchPostEffect(effect, options) {
+ return doWatch(
+ effect,
+ null,
+ !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "post" }) : { flush: "post" }
+ );
+}
+function watchSyncEffect(effect, options) {
+ return doWatch(
+ effect,
+ null,
+ !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "sync" }) : { flush: "sync" }
+ );
+}
+function watch(source, cb, options) {
+ if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) {
+ warn$1(
+ `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
+ );
+ }
+ return doWatch(source, cb, options);
+}
+function doWatch(source, cb, options = EMPTY_OBJ) {
+ const { immediate, deep, flush, once } = options;
+ if (!!(process.env.NODE_ENV !== "production") && !cb) {
+ if (immediate !== void 0) {
+ warn$1(
+ `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
+ );
+ }
+ if (deep !== void 0) {
+ warn$1(
+ `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
+ );
+ }
+ if (once !== void 0) {
+ warn$1(
+ `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
+ );
+ }
+ }
+ const baseWatchOptions = extend({}, options);
+ if (!!(process.env.NODE_ENV !== "production")) baseWatchOptions.onWarn = warn$1;
+ 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 = NOOP;
+ watchStopHandle.resume = NOOP;
+ watchStopHandle.pause = 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 = watch$1(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 = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
+ let cb;
+ if (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 === "");
@@ -809,88 +990,84 @@
o: { insert, querySelector, createText, createComment }
} = internals;
const disabled = isTeleportDisabled(n2.props);
- let { shapeFlag, children, dynamicChildren } = n2;
+ let { dynamicChildren } = n2;
if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) {
optimized = false;
dynamicChildren = null;
}
+ 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);
+ }
+ } else if (!!(process.env.NODE_ENV !== "production") && !disabled2) {
+ warn$1("Invalid Teleport target on mount:", target, `(${typeof target})`);
+ }
+ };
+ 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 = !!(process.env.NODE_ENV !== "production") ? createComment("teleport start") : createText("");
const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== "production") ? createComment("teleport end") : 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);
- }
- } else if (!!(process.env.NODE_ENV !== "production") && !disabled) {
- warn$1(
- "Invalid Teleport target on mount:",
- target,
- `(${typeof target})`
- );
- }
- };
- 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);
@@ -983,13 +1160,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(
@@ -1033,7 +1216,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,
@@ -1043,8 +1241,6 @@
slotScopeIds,
optimized
);
- vnode2.targetStart = targetStart;
- vnode2.targetAnchor = targetAnchor;
}
const target = vnode.target = resolveTarget(
vnode.props,
@@ -1055,27 +1251,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);
}
@@ -1093,7 +1284,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);
@@ -1117,19 +1310,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,
@@ -1346,6 +1539,7 @@
callHook(hook, [el]);
},
enter(el) {
+ if (!isHmrUpdating && leavingVNodesCache[key] === vnode) return;
let hook = onEnter;
let afterHook = onAfterEnter;
let cancelHook = onEnterCancelled;
@@ -1359,7 +1553,7 @@
}
}
let called = false;
- const done = el[enterCbKey] = (cancelled) => {
+ el[enterCbKey] = (cancelled) => {
if (called) return;
called = true;
if (cancelled) {
@@ -1372,6 +1566,7 @@
}
el[enterCbKey] = void 0;
};
+ const done = el[enterCbKey].bind(null, false);
if (hook) {
callAsyncHook(hook, [el, done]);
} else {
@@ -1391,7 +1586,7 @@
}
callHook(onBeforeLeave, [el]);
let called = false;
- const done = el[leaveCbKey] = (cancelled) => {
+ el[leaveCbKey] = (cancelled) => {
if (called) return;
called = true;
remove();
@@ -1405,6 +1600,7 @@
delete leavingVNodesCache[key2];
}
};
+ const done = el[leaveCbKey].bind(null, false);
leavingVNodesCache[key2] = vnode;
if (onLeave) {
callAsyncHook(onLeave, [el, done]);
@@ -1517,8 +1713,7 @@
const r = shallowRef(null);
if (i) {
const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
- let desc;
- if (!!(process.env.NODE_ENV !== "production") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
+ if (!!(process.env.NODE_ENV !== "production") && isTemplateRefKey(refs, key)) {
warn$1(`useTemplateRef('${key}') already exists.`);
} else {
Object.defineProperty(refs, key, {
@@ -1537,6 +1732,10 @@
knownTemplateRefs.add(ret);
}
return ret;
+}
+function isTemplateRefKey(refs, key) {
+ let desc;
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
}
const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
@@ -1583,10 +1782,19 @@
return false;
}
}
+ if (isTemplateRefKey(refs, key)) {
+ return false;
+ }
return hasOwn(rawSetupState, key);
};
- const canSetRef = (ref2) => {
- return !!!(process.env.NODE_ENV !== "production") || !knownTemplateRefs.has(ref2);
+ const canSetRef = (ref2, key) => {
+ if (!!(process.env.NODE_ENV !== "production") && knownTemplateRefs.has(ref2)) {
+ return false;
+ }
+ if (key && isTemplateRefKey(refs, key)) {
+ return false;
+ }
+ return true;
};
if (oldRef != null && oldRef !== ref) {
invalidatePendingSetRef(oldRawRef);
@@ -1596,10 +1804,10 @@
setupState[oldRef] = null;
}
} else if (isRef(oldRef)) {
- if (canSetRef(oldRef)) {
+ const oldRawRefAtom = oldRawRef;
+ if (canSetRef(oldRef, oldRawRefAtom.k)) {
oldRef.value = null;
}
- const oldRawRefAtom = oldRawRef;
if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
}
}
@@ -1623,7 +1831,7 @@
}
} else {
const newVal = [refValue];
- if (canSetRef(ref)) {
+ if (canSetRef(ref, rawRef.k)) {
ref.value = newVal;
}
if (rawRef.k) refs[rawRef.k] = newVal;
@@ -1638,7 +1846,7 @@
setupState[ref] = value;
}
} else if (_isRef) {
- if (canSetRef(ref)) {
+ if (canSetRef(ref, rawRef.k)) {
ref.value = value;
}
if (rawRef.k) refs[rawRef.k] = value;
@@ -1978,7 +2186,7 @@
logMismatchError();
}
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
- key[0] === "." || isCustomElement) {
+ key[0] === "." || isCustomElement && !isReservedProp(key)) {
patchProp(el, key, null, props[key], void 0, parentComponent);
}
}
@@ -2678,7 +2886,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);
}
@@ -2905,7 +3115,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 (isString(component)) {
return resolveAsset(COMPONENTS, component, false) || component;
@@ -2977,12 +3187,16 @@
);
}
} else if (typeof source === "number") {
- if (!!(process.env.NODE_ENV !== "production") && !Number.isInteger(source)) {
- warn$1(`The v-for range expect an integer value but got ${source}.`);
- }
- ret = new Array(source);
- for (let i = 0; i < source; i++) {
- ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
+ if (!!(process.env.NODE_ENV !== "production") && (!Number.isInteger(source) || source < 0)) {
+ warn$1(
+ `The v-for range expects a positive integer value but got ${source}.`
+ );
+ ret = [];
+ } else {
+ ret = new Array(source);
+ for (let i = 0; i < source; i++) {
+ ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
+ }
}
} else if (isObject(source)) {
if (source[Symbol.iterator]) {
@@ -3433,6 +3647,7 @@
}
function withAsyncContext(getAwaitable) {
const ctx = getCurrentInstance();
+ const inSSRSetup = isInSSRComponentSetup;
if (!!(process.env.NODE_ENV !== "production") && !ctx) {
warn$1(
`withAsyncContext called without active current instance. This is likely a bug.`
@@ -3440,13 +3655,36 @@
}
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 (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);
+ }
+ ];
}
function createDuplicateChecker() {
@@ -4073,179 +4311,6 @@
}
let currentApp = null;
-function provide(key, value) {
- if (!!(process.env.NODE_ENV !== "production")) {
- if (!currentInstance || currentInstance.isMounted) {
- warn$1(`provide() can only be used inside setup().`);
- }
- }
- 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 && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
- } else if (!!(process.env.NODE_ENV !== "production")) {
- warn$1(`injection "${String(key)}" not found.`);
- }
- } else if (!!(process.env.NODE_ENV !== "production")) {
- warn$1(`inject() can only be used inside setup() or functional components.`);
- }
-}
-function hasInjectionContext() {
- return !!(getCurrentInstance() || currentApp);
-}
-
-const ssrContextKey = Symbol.for("v-scx");
-const useSSRContext = () => {
- {
- const ctx = inject(ssrContextKey);
- if (!ctx) {
- !!(process.env.NODE_ENV !== "production") && warn$1(
- `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
- );
- }
- return ctx;
- }
-};
-
-function watchEffect(effect, options) {
- return doWatch(effect, null, options);
-}
-function watchPostEffect(effect, options) {
- return doWatch(
- effect,
- null,
- !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "post" }) : { flush: "post" }
- );
-}
-function watchSyncEffect(effect, options) {
- return doWatch(
- effect,
- null,
- !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "sync" }) : { flush: "sync" }
- );
-}
-function watch(source, cb, options) {
- if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) {
- warn$1(
- `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
- );
- }
- return doWatch(source, cb, options);
-}
-function doWatch(source, cb, options = EMPTY_OBJ) {
- const { immediate, deep, flush, once } = options;
- if (!!(process.env.NODE_ENV !== "production") && !cb) {
- if (immediate !== void 0) {
- warn$1(
- `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
- );
- }
- if (deep !== void 0) {
- warn$1(
- `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
- );
- }
- if (once !== void 0) {
- warn$1(
- `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
- );
- }
- }
- const baseWatchOptions = extend({}, options);
- if (!!(process.env.NODE_ENV !== "production")) baseWatchOptions.onWarn = warn$1;
- 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 = NOOP;
- watchStopHandle.resume = NOOP;
- watchStopHandle.pause = 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 = watch$1(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 = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
- let cb;
- if (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 = EMPTY_OBJ) {
const i = getCurrentInstance();
if (!!(process.env.NODE_ENV !== "production") && !i) {
@@ -4688,7 +4753,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;
}
}
@@ -4719,17 +4784,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" && isObject(nextProp) && isObject(prevProp)) {
+ return !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;
@@ -4737,6 +4811,9 @@
} else {
break;
}
+ }
+ if (suspense && suspense.activeBranch === vnode) {
+ suspense.vnode.el = el;
}
}
@@ -5531,7 +5608,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();
@@ -5606,10 +5683,17 @@
}
hostInsert(el, container, anchor);
if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
+ const isHmr = !!(process.env.NODE_ENV !== "production") && isHmrUpdating;
queuePostRenderEffect(() => {
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
- needCallTransitionHooks && transition.enter(el);
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
+ let prev;
+ if (!!(process.env.NODE_ENV !== "production")) prev = setHmrUpdating(isHmr);
+ try {
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
+ needCallTransitionHooks && transition.enter(el);
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
+ } finally {
+ if (!!(process.env.NODE_ENV !== "production")) setHmrUpdating(prev);
+ }
}, parentSuspense);
}
};
@@ -5839,7 +5923,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,
@@ -6024,9 +6108,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
+ );
}
if (!!(process.env.NODE_ENV !== "production")) {
startMeasure(instance, `render`);
@@ -6080,9 +6166,9 @@
updateComponentPreRender(instance, next, optimized);
}
nonHydratedAsyncRoot.asyncDep.then(() => {
- if (!instance.isUnmounted) {
- componentUpdateFn();
- }
+ queuePostRenderEffect(() => {
+ if (!instance.isUnmounted) update();
+ }, parentSuspense);
});
return;
}
@@ -6441,8 +6527,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(
@@ -6539,7 +6625,8 @@
shapeFlag,
patchFlag,
dirs,
- cacheIndex
+ cacheIndex,
+ memo
} = vnode;
if (patchFlag === -2) {
optimized = false;
@@ -6601,10 +6688,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);
}
};
@@ -6698,9 +6789,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(
@@ -6716,7 +6809,7 @@
container._vnode = vnode;
if (!isFlushing) {
isFlushing = true;
- flushPreFlushCbs();
+ flushPreFlushCbs(instance);
flushPostFlushCbs();
isFlushing = false;
}
@@ -6776,8 +6869,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) {
@@ -6844,6 +6939,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;
@@ -7144,6 +7249,7 @@
pendingId: suspenseId++,
timeout: typeof timeout === "number" ? timeout : -1,
activeBranch: null,
+ isFallbackMountPending: false,
pendingBranch: null,
isInFallback: !isHydrating,
isHydrating,
@@ -7193,7 +7299,7 @@
}
};
}
- if (activeBranch) {
+ if (activeBranch && !suspense.isFallbackMountPending) {
if (parentNode(activeBranch.el) === container2) {
anchor = next(activeBranch);
}
@@ -7206,6 +7312,7 @@
move(pendingBranch, container2, anchor, 0);
}
}
+ suspense.isFallbackMountPending = false;
setActiveBranch(suspense, pendingBranch);
suspense.pendingBranch = null;
suspense.isInFallback = false;
@@ -7241,6 +7348,7 @@
triggerEvent(vnode2, "onFallback");
const anchor2 = next(activeBranch);
const mountFallback = () => {
+ suspense.isFallbackMountPending = false;
if (!suspense.isInFallback) {
return;
}
@@ -7260,6 +7368,7 @@
};
const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
if (delayEnter) {
+ suspense.isFallbackMountPending = true;
activeBranch.transition.afterLeave = mountFallback;
}
suspense.isInFallback = true;
@@ -7294,6 +7403,7 @@
if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {
return;
}
+ unsetCurrentInstance();
instance.asyncResolved = true;
const { vnode: vnode2 } = instance;
if (!!(process.env.NODE_ENV !== "production")) {
@@ -7447,10 +7557,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) {
@@ -7810,6 +7920,10 @@
const incoming = toMerge[key];
if (incoming && existing !== incoming && !(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.
+ !isModelListener(key)) {
+ ret[key] = incoming;
}
} else if (key !== "") {
ret[key] = toMerge[key];
@@ -8508,7 +8622,7 @@
return true;
}
-const version = "3.5.25";
+const version = "3.5.32";
const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
const ErrorTypeStrings = ErrorTypeStrings$1 ;
const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
--
Gitblit v1.9.3