vue 3.5.40 → 3.5.41
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.cjs.js +1 -1
- package/dist/vue.cjs.prod.js +1 -1
- package/dist/vue.esm-browser.js +127 -31
- package/dist/vue.esm-browser.prod.js +9 -8
- package/dist/vue.esm-bundler.js +1 -1
- package/dist/vue.global.js +127 -31
- package/dist/vue.global.prod.js +9 -8
- package/dist/vue.runtime.esm-browser.js +91 -16
- package/dist/vue.runtime.esm-browser.prod.js +4 -3
- package/dist/vue.runtime.esm-bundler.js +1 -1
- package/dist/vue.runtime.global.js +91 -16
- package/dist/vue.runtime.global.prod.js +4 -3
- package/package.json +6 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vue v3.5.
|
|
2
|
+
* vue v3.5.41
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -194,7 +194,7 @@ const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
|
|
|
194
194
|
const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
|
|
195
195
|
const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
|
|
196
196
|
const isBooleanAttr = /* @__PURE__ */ makeMap(
|
|
197
|
-
specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,
|
|
197
|
+
specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
|
|
198
198
|
);
|
|
199
199
|
function includeBooleanAttr(value) {
|
|
200
200
|
return !!value || value === "";
|
|
@@ -2597,7 +2597,9 @@ function queuePostFlushCb(cb) {
|
|
|
2597
2597
|
cb.flags |= 1;
|
|
2598
2598
|
}
|
|
2599
2599
|
} else {
|
|
2600
|
-
|
|
2600
|
+
for (let i = 0; i < cb.length; i++) {
|
|
2601
|
+
pendingPostFlushCbs.push(cb[i]);
|
|
2602
|
+
}
|
|
2601
2603
|
}
|
|
2602
2604
|
queueFlush();
|
|
2603
2605
|
}
|
|
@@ -2633,7 +2635,9 @@ function flushPostFlushCbs(seen) {
|
|
|
2633
2635
|
);
|
|
2634
2636
|
pendingPostFlushCbs.length = 0;
|
|
2635
2637
|
if (activePostFlushCbs) {
|
|
2636
|
-
|
|
2638
|
+
for (let i = 0; i < deduped.length; i++) {
|
|
2639
|
+
activePostFlushCbs.push(deduped[i]);
|
|
2640
|
+
}
|
|
2637
2641
|
return;
|
|
2638
2642
|
}
|
|
2639
2643
|
activePostFlushCbs = deduped;
|
|
@@ -3922,7 +3926,11 @@ function getInnerChild$1(vnode) {
|
|
|
3922
3926
|
function setTransitionHooks(vnode, hooks) {
|
|
3923
3927
|
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
3924
3928
|
vnode.transition = hooks;
|
|
3925
|
-
|
|
3929
|
+
const subTree = vnode.component.subTree;
|
|
3930
|
+
setTransitionHooks(
|
|
3931
|
+
isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,
|
|
3932
|
+
hooks
|
|
3933
|
+
);
|
|
3926
3934
|
} else if (vnode.shapeFlag & 128) {
|
|
3927
3935
|
vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
3928
3936
|
vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
@@ -4462,6 +4470,9 @@ Server rendered element contains more child nodes than client vdom.`
|
|
|
4462
4470
|
}
|
|
4463
4471
|
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
|
|
4464
4472
|
key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
|
|
4473
|
+
if (isUnchangedResourceProp(el, key, props[key])) {
|
|
4474
|
+
continue;
|
|
4475
|
+
}
|
|
4465
4476
|
patchProp(el, key, null, props[key], namespace, parentComponent);
|
|
4466
4477
|
}
|
|
4467
4478
|
}
|
|
@@ -4644,6 +4655,13 @@ Server rendered element contains fewer child nodes than client vdom.`
|
|
|
4644
4655
|
};
|
|
4645
4656
|
return [hydrate, hydrateNode];
|
|
4646
4657
|
}
|
|
4658
|
+
const resourceProps = /* @__PURE__ */ new Set(["src", "srcset", "href", "poster"]);
|
|
4659
|
+
function isUnchangedResourceProp(el, key, clientValue) {
|
|
4660
|
+
if (!resourceProps.has(key)) {
|
|
4661
|
+
return false;
|
|
4662
|
+
}
|
|
4663
|
+
return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
|
|
4664
|
+
}
|
|
4647
4665
|
function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
4648
4666
|
let mismatchType;
|
|
4649
4667
|
let mismatchKey;
|
|
@@ -4681,7 +4699,10 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
|
4681
4699
|
mismatchKey = "style";
|
|
4682
4700
|
}
|
|
4683
4701
|
} else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
|
|
4684
|
-
if (
|
|
4702
|
+
if (key === "hidden") {
|
|
4703
|
+
actual = normalizeHiddenValue(el.getAttribute(key));
|
|
4704
|
+
expected = normalizeHiddenValue(clientValue);
|
|
4705
|
+
} else if (isBooleanAttr(key)) {
|
|
4685
4706
|
actual = el.hasAttribute(key);
|
|
4686
4707
|
expected = includeBooleanAttr(clientValue);
|
|
4687
4708
|
} else if (clientValue == null) {
|
|
@@ -4717,6 +4738,15 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
|
4717
4738
|
}
|
|
4718
4739
|
return false;
|
|
4719
4740
|
}
|
|
4741
|
+
function normalizeHiddenValue(value) {
|
|
4742
|
+
if (!isRenderableAttrValue(value)) {
|
|
4743
|
+
return false;
|
|
4744
|
+
}
|
|
4745
|
+
if (isString(value)) {
|
|
4746
|
+
return value.toLowerCase() === "until-found" ? "until-found" : "";
|
|
4747
|
+
}
|
|
4748
|
+
return includeBooleanAttr(value) ? "" : false;
|
|
4749
|
+
}
|
|
4720
4750
|
function toClassSet(str) {
|
|
4721
4751
|
return new Set(str.trim().split(/\s+/));
|
|
4722
4752
|
}
|
|
@@ -5536,7 +5566,8 @@ function createSlots(slots, dynamicSlots) {
|
|
|
5536
5566
|
return slots;
|
|
5537
5567
|
}
|
|
5538
5568
|
|
|
5539
|
-
function renderSlot(slots, name, props
|
|
5569
|
+
function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
5570
|
+
if (props == null) props = {};
|
|
5540
5571
|
if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
|
|
5541
5572
|
const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
|
|
5542
5573
|
const hasProps = Object.keys(slotProps).length > 0;
|
|
@@ -6960,12 +6991,13 @@ function renderComponentRoot(instance) {
|
|
|
6960
6991
|
root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
6961
6992
|
}
|
|
6962
6993
|
if (vnode.transition) {
|
|
6963
|
-
|
|
6994
|
+
const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
|
|
6995
|
+
if (!isElementRoot(child)) {
|
|
6964
6996
|
warn$1(
|
|
6965
6997
|
`Component inside <Transition> renders non-element root node that cannot be animated.`
|
|
6966
6998
|
);
|
|
6967
6999
|
}
|
|
6968
|
-
setTransitionHooks(
|
|
7000
|
+
setTransitionHooks(child, vnode.transition);
|
|
6969
7001
|
}
|
|
6970
7002
|
if (setRoot) {
|
|
6971
7003
|
setRoot(root);
|
|
@@ -9613,7 +9645,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9613
9645
|
let hasUnresolvedAncestor = false;
|
|
9614
9646
|
while (parent) {
|
|
9615
9647
|
if (parent.pendingBranch) {
|
|
9616
|
-
|
|
9648
|
+
for (let i = 0; i < effects.length; i++) {
|
|
9649
|
+
parent.effects.push(effects[i]);
|
|
9650
|
+
}
|
|
9617
9651
|
hasUnresolvedAncestor = true;
|
|
9618
9652
|
break;
|
|
9619
9653
|
}
|
|
@@ -9978,6 +10012,14 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
9978
10012
|
if (vnode.key !== vnode.key) {
|
|
9979
10013
|
warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
|
|
9980
10014
|
}
|
|
10015
|
+
if (props && vnode.shapeFlag & 1) {
|
|
10016
|
+
const overwritingProp = props.innerHTML != null ? "innerHTML" : props.textContent != null ? "textContent" : null;
|
|
10017
|
+
if (overwritingProp && hasContentChildren(vnode.children)) {
|
|
10018
|
+
warn$1(
|
|
10019
|
+
`The \`${overwritingProp}\` prop on <${vnode.type}> will override its children. Remove either the \`${overwritingProp}\` prop or the children.`
|
|
10020
|
+
);
|
|
10021
|
+
}
|
|
10022
|
+
}
|
|
9981
10023
|
if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
|
|
9982
10024
|
!isBlockNode && // has current parent block
|
|
9983
10025
|
currentBlock && // presence of a patch flag indicates this node needs patching on updates.
|
|
@@ -9991,6 +10033,11 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
9991
10033
|
}
|
|
9992
10034
|
return vnode;
|
|
9993
10035
|
}
|
|
10036
|
+
function hasContentChildren(children) {
|
|
10037
|
+
if (isString(children)) return children !== "";
|
|
10038
|
+
if (isArray(children)) return children.length > 0;
|
|
10039
|
+
return false;
|
|
10040
|
+
}
|
|
9994
10041
|
const createVNode = createVNodeWithArgsTransform ;
|
|
9995
10042
|
function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
|
|
9996
10043
|
if (!type || type === NULL_DYNAMIC_COMPONENT) {
|
|
@@ -10439,7 +10486,12 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
10439
10486
|
setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
|
|
10440
10487
|
if (isSSR) {
|
|
10441
10488
|
return setupResult.then((resolvedResult) => {
|
|
10442
|
-
|
|
10489
|
+
setInSSRSetupState(true);
|
|
10490
|
+
try {
|
|
10491
|
+
handleSetupResult(instance, resolvedResult, isSSR);
|
|
10492
|
+
} finally {
|
|
10493
|
+
setInSSRSetupState(false);
|
|
10494
|
+
}
|
|
10443
10495
|
}).catch((e) => {
|
|
10444
10496
|
handleError(e, instance, 0);
|
|
10445
10497
|
});
|
|
@@ -10905,7 +10957,7 @@ function isMemoSame(cached, memo) {
|
|
|
10905
10957
|
return true;
|
|
10906
10958
|
}
|
|
10907
10959
|
|
|
10908
|
-
const version = "3.5.
|
|
10960
|
+
const version = "3.5.41";
|
|
10909
10961
|
const warn = warn$1 ;
|
|
10910
10962
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
10911
10963
|
const devtools = devtools$1 ;
|
|
@@ -11875,7 +11927,9 @@ class VueElement extends BaseClass {
|
|
|
11875
11927
|
if (parent && parent._pendingResolve) {
|
|
11876
11928
|
this._pendingResolve = parent._pendingResolve.then(() => {
|
|
11877
11929
|
this._pendingResolve = void 0;
|
|
11878
|
-
this.
|
|
11930
|
+
if (this.isConnected) {
|
|
11931
|
+
return this._resolveDef();
|
|
11932
|
+
}
|
|
11879
11933
|
});
|
|
11880
11934
|
} else {
|
|
11881
11935
|
this._resolveDef();
|
|
@@ -11925,7 +11979,7 @@ class VueElement extends BaseClass {
|
|
|
11925
11979
|
*/
|
|
11926
11980
|
_resolveDef() {
|
|
11927
11981
|
if (this._pendingResolve) {
|
|
11928
|
-
return;
|
|
11982
|
+
return this._pendingResolve;
|
|
11929
11983
|
}
|
|
11930
11984
|
for (let i = 0; i < this.attributes.length; i++) {
|
|
11931
11985
|
this._setAttr(this.attributes[i].name);
|
|
@@ -11965,6 +12019,7 @@ class VueElement extends BaseClass {
|
|
|
11965
12019
|
def.configureApp = this._def.configureApp;
|
|
11966
12020
|
resolve(this._def = def, true);
|
|
11967
12021
|
});
|
|
12022
|
+
return this._pendingResolve;
|
|
11968
12023
|
} else {
|
|
11969
12024
|
resolve(this._def);
|
|
11970
12025
|
}
|
|
@@ -12002,6 +12057,11 @@ class VueElement extends BaseClass {
|
|
|
12002
12057
|
}
|
|
12003
12058
|
}
|
|
12004
12059
|
for (const key of declaredPropKeys.map(camelize)) {
|
|
12060
|
+
if (key in Object.getPrototypeOf(this)) {
|
|
12061
|
+
warn(
|
|
12062
|
+
`Custom element prop "${key}" conflicts with an existing property on the element and will overwrite it.`
|
|
12063
|
+
);
|
|
12064
|
+
}
|
|
12005
12065
|
Object.defineProperty(this, key, {
|
|
12006
12066
|
get() {
|
|
12007
12067
|
return this._getProp(key);
|
|
@@ -12486,6 +12546,7 @@ function onCompositionEnd(e) {
|
|
|
12486
12546
|
}
|
|
12487
12547
|
}
|
|
12488
12548
|
const assignKey = /* @__PURE__ */ Symbol("_assign");
|
|
12549
|
+
const initialValueKey = /* @__PURE__ */ Symbol("_initialValue");
|
|
12489
12550
|
function castValue(value, trim, number) {
|
|
12490
12551
|
if (trim) value = value.trim();
|
|
12491
12552
|
if (number) value = looseToNumber(value);
|
|
@@ -12493,6 +12554,13 @@ function castValue(value, trim, number) {
|
|
|
12493
12554
|
}
|
|
12494
12555
|
const vModelText = {
|
|
12495
12556
|
created(el, { modifiers: { lazy, trim, number } }, vnode) {
|
|
12557
|
+
if (el.parentNode) {
|
|
12558
|
+
if (el.type === "text") {
|
|
12559
|
+
el[initialValueKey] = el.defaultValue.replace(/[\r\n]/g, "");
|
|
12560
|
+
} else if (el.type === "textarea") {
|
|
12561
|
+
el[initialValueKey] = el.defaultValue.replace(/\r\n?/g, "\n");
|
|
12562
|
+
}
|
|
12563
|
+
}
|
|
12496
12564
|
el[assignKey] = getModelAssigner(vnode);
|
|
12497
12565
|
const castToNumber = number || vnode.props && vnode.props.type === "number";
|
|
12498
12566
|
addEventListener(el, lazy ? "change" : "input", (e) => {
|
|
@@ -12511,8 +12579,15 @@ const vModelText = {
|
|
|
12511
12579
|
}
|
|
12512
12580
|
},
|
|
12513
12581
|
// set value on mounted so it's after min/max for type="range"
|
|
12514
|
-
mounted(el, { value }) {
|
|
12515
|
-
|
|
12582
|
+
mounted(el, { value, modifiers: { trim, number } }) {
|
|
12583
|
+
const newValue = value == null ? "" : value;
|
|
12584
|
+
const initialValue = el[initialValueKey];
|
|
12585
|
+
delete el[initialValueKey];
|
|
12586
|
+
if (initialValue !== void 0 && (el.type === "text" || el.type === "textarea") && el.value !== initialValue) {
|
|
12587
|
+
el[assignKey](castValue(el.value, trim, number));
|
|
12588
|
+
} else {
|
|
12589
|
+
el.value = newValue;
|
|
12590
|
+
}
|
|
12516
12591
|
},
|
|
12517
12592
|
beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {
|
|
12518
12593
|
el[assignKey] = getModelAssigner(vnode);
|