@vue/compat 3.4.13 → 3.4.15
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 +58 -26
- package/dist/vue.cjs.prod.js +47 -23
- package/dist/vue.esm-browser.js +58 -26
- package/dist/vue.esm-browser.prod.js +6 -6
- package/dist/vue.esm-bundler.js +60 -28
- package/dist/vue.global.js +58 -26
- package/dist/vue.global.prod.js +6 -6
- package/dist/vue.runtime.esm-browser.js +58 -26
- package/dist/vue.runtime.esm-browser.prod.js +6 -6
- package/dist/vue.runtime.esm-bundler.js +59 -27
- package/dist/vue.runtime.global.js +58 -26
- package/dist/vue.runtime.global.prod.js +6 -6
- package/package.json +2 -2
package/dist/vue.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.4.
|
|
2
|
+
* @vue/compat v3.4.15
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -276,6 +276,13 @@ const isKnownHtmlAttr = /* @__PURE__ */ makeMap(
|
|
|
276
276
|
const isKnownSvgAttr = /* @__PURE__ */ makeMap(
|
|
277
277
|
`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`
|
|
278
278
|
);
|
|
279
|
+
function isRenderableAttrValue(value) {
|
|
280
|
+
if (value == null) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
const type = typeof value;
|
|
284
|
+
return type === "string" || type === "number" || type === "boolean";
|
|
285
|
+
}
|
|
279
286
|
|
|
280
287
|
const escapeRE = /["'&<>]/;
|
|
281
288
|
function escapeHtml(string) {
|
|
@@ -678,10 +685,7 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
|
|
|
678
685
|
var _a;
|
|
679
686
|
pauseScheduling();
|
|
680
687
|
for (const effect2 of dep.keys()) {
|
|
681
|
-
if (dep.get(effect2)
|
|
682
|
-
continue;
|
|
683
|
-
}
|
|
684
|
-
if (effect2._dirtyLevel < dirtyLevel) {
|
|
688
|
+
if (effect2._dirtyLevel < dirtyLevel && dep.get(effect2) === effect2._trackId) {
|
|
685
689
|
const lastDirtyLevel = effect2._dirtyLevel;
|
|
686
690
|
effect2._dirtyLevel = dirtyLevel;
|
|
687
691
|
if (lastDirtyLevel === 0) {
|
|
@@ -692,12 +696,17 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
|
|
|
692
696
|
effect2.trigger();
|
|
693
697
|
}
|
|
694
698
|
}
|
|
695
|
-
|
|
699
|
+
}
|
|
700
|
+
scheduleEffects(dep);
|
|
701
|
+
resetScheduling();
|
|
702
|
+
}
|
|
703
|
+
function scheduleEffects(dep) {
|
|
704
|
+
for (const effect2 of dep.keys()) {
|
|
705
|
+
if (effect2.scheduler && effect2._shouldSchedule && (!effect2._runnings || effect2.allowRecurse) && dep.get(effect2) === effect2._trackId) {
|
|
696
706
|
effect2._shouldSchedule = false;
|
|
697
707
|
queueEffectSchedulers.push(effect2.scheduler);
|
|
698
708
|
}
|
|
699
709
|
}
|
|
700
|
-
resetScheduling();
|
|
701
710
|
}
|
|
702
711
|
|
|
703
712
|
const createDep = (cleanup, computed) => {
|
|
@@ -1380,7 +1389,8 @@ class ComputedRefImpl {
|
|
|
1380
1389
|
this["__v_isReadonly"] = false;
|
|
1381
1390
|
this.effect = new ReactiveEffect(
|
|
1382
1391
|
() => getter(this._value),
|
|
1383
|
-
() => triggerRefValue(this, 1)
|
|
1392
|
+
() => triggerRefValue(this, 1),
|
|
1393
|
+
() => this.dep && scheduleEffects(this.dep)
|
|
1384
1394
|
);
|
|
1385
1395
|
this.effect.computed = this;
|
|
1386
1396
|
this.effect.active = this._cacheable = !isSSR;
|
|
@@ -1394,6 +1404,9 @@ class ComputedRefImpl {
|
|
|
1394
1404
|
}
|
|
1395
1405
|
}
|
|
1396
1406
|
trackRefValue(self);
|
|
1407
|
+
if (self.effect._dirtyLevel >= 1) {
|
|
1408
|
+
triggerRefValue(self, 1);
|
|
1409
|
+
}
|
|
1397
1410
|
return self._value;
|
|
1398
1411
|
}
|
|
1399
1412
|
set value(newValue) {
|
|
@@ -6566,7 +6579,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
6566
6579
|
return vm;
|
|
6567
6580
|
}
|
|
6568
6581
|
}
|
|
6569
|
-
Vue.version = `2.6.14-compat:${"3.4.
|
|
6582
|
+
Vue.version = `2.6.14-compat:${"3.4.15"}`;
|
|
6570
6583
|
Vue.config = singletonApp.config;
|
|
6571
6584
|
Vue.use = (p, ...options) => {
|
|
6572
6585
|
if (p && isFunction(p.install)) {
|
|
@@ -7635,7 +7648,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
|
|
|
7635
7648
|
return rawSlot;
|
|
7636
7649
|
}
|
|
7637
7650
|
const normalized = withCtx((...args) => {
|
|
7638
|
-
if (currentInstance) {
|
|
7651
|
+
if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
|
|
7639
7652
|
warn$1(
|
|
7640
7653
|
`Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
|
|
7641
7654
|
);
|
|
@@ -7773,9 +7786,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
7773
7786
|
} else {
|
|
7774
7787
|
const _isString = isString(ref);
|
|
7775
7788
|
const _isRef = isRef(ref);
|
|
7789
|
+
const isVFor = rawRef.f;
|
|
7776
7790
|
if (_isString || _isRef) {
|
|
7777
7791
|
const doSet = () => {
|
|
7778
|
-
if (
|
|
7792
|
+
if (isVFor) {
|
|
7779
7793
|
const existing = _isString ? hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;
|
|
7780
7794
|
if (isUnmount) {
|
|
7781
7795
|
isArray(existing) && remove(existing, refValue);
|
|
@@ -7808,11 +7822,11 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
7808
7822
|
warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
|
|
7809
7823
|
}
|
|
7810
7824
|
};
|
|
7811
|
-
if (
|
|
7825
|
+
if (isUnmount || isVFor) {
|
|
7826
|
+
doSet();
|
|
7827
|
+
} else {
|
|
7812
7828
|
doSet.id = -1;
|
|
7813
7829
|
queuePostRenderEffect(doSet, parentSuspense);
|
|
7814
|
-
} else {
|
|
7815
|
-
doSet();
|
|
7816
7830
|
}
|
|
7817
7831
|
} else {
|
|
7818
7832
|
warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
|
|
@@ -8322,11 +8336,12 @@ function propHasMismatch(el, key, clientValue, vnode) {
|
|
|
8322
8336
|
} else {
|
|
8323
8337
|
if (el.hasAttribute(key)) {
|
|
8324
8338
|
actual = el.getAttribute(key);
|
|
8339
|
+
} else if (key === "value" && el.tagName === "TEXTAREA") {
|
|
8340
|
+
actual = el.value;
|
|
8325
8341
|
} else {
|
|
8326
|
-
|
|
8327
|
-
actual = isObject(serverValue) || serverValue == null ? "" : String(serverValue);
|
|
8342
|
+
actual = false;
|
|
8328
8343
|
}
|
|
8329
|
-
expected =
|
|
8344
|
+
expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;
|
|
8330
8345
|
}
|
|
8331
8346
|
if (actual !== expected) {
|
|
8332
8347
|
mismatchType = `attribute`;
|
|
@@ -11398,7 +11413,7 @@ function isMemoSame(cached, memo) {
|
|
|
11398
11413
|
return true;
|
|
11399
11414
|
}
|
|
11400
11415
|
|
|
11401
|
-
const version = "3.4.
|
|
11416
|
+
const version = "3.4.15";
|
|
11402
11417
|
const warn = warn$1 ;
|
|
11403
11418
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
11404
11419
|
const devtools = devtools$1 ;
|
|
@@ -12714,35 +12729,52 @@ const vModelSelect = {
|
|
|
12714
12729
|
el[assignKey](
|
|
12715
12730
|
el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
|
|
12716
12731
|
);
|
|
12732
|
+
el._assigning = true;
|
|
12733
|
+
nextTick(() => {
|
|
12734
|
+
el._assigning = false;
|
|
12735
|
+
});
|
|
12717
12736
|
});
|
|
12718
12737
|
el[assignKey] = getModelAssigner(vnode);
|
|
12719
12738
|
},
|
|
12720
12739
|
// set value in mounted & updated because <select> relies on its children
|
|
12721
12740
|
// <option>s.
|
|
12722
|
-
mounted(el, { value }) {
|
|
12723
|
-
setSelected(el, value);
|
|
12741
|
+
mounted(el, { value, oldValue, modifiers: { number } }) {
|
|
12742
|
+
setSelected(el, value, oldValue, number);
|
|
12724
12743
|
},
|
|
12725
12744
|
beforeUpdate(el, _binding, vnode) {
|
|
12726
12745
|
el[assignKey] = getModelAssigner(vnode);
|
|
12727
12746
|
},
|
|
12728
|
-
updated(el, { value }) {
|
|
12729
|
-
|
|
12747
|
+
updated(el, { value, oldValue, modifiers: { number } }) {
|
|
12748
|
+
if (!el._assigning) {
|
|
12749
|
+
setSelected(el, value, oldValue, number);
|
|
12750
|
+
}
|
|
12730
12751
|
}
|
|
12731
12752
|
};
|
|
12732
|
-
function setSelected(el, value) {
|
|
12753
|
+
function setSelected(el, value, oldValue, number) {
|
|
12733
12754
|
const isMultiple = el.multiple;
|
|
12734
|
-
|
|
12755
|
+
const isArrayValue = isArray(value);
|
|
12756
|
+
if (isMultiple && !isArrayValue && !isSet(value)) {
|
|
12735
12757
|
warn(
|
|
12736
12758
|
`<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`
|
|
12737
12759
|
);
|
|
12738
12760
|
return;
|
|
12739
12761
|
}
|
|
12762
|
+
if (isArrayValue && looseEqual(value, oldValue)) {
|
|
12763
|
+
return;
|
|
12764
|
+
}
|
|
12740
12765
|
for (let i = 0, l = el.options.length; i < l; i++) {
|
|
12741
12766
|
const option = el.options[i];
|
|
12742
12767
|
const optionValue = getValue(option);
|
|
12743
12768
|
if (isMultiple) {
|
|
12744
|
-
if (
|
|
12745
|
-
|
|
12769
|
+
if (isArrayValue) {
|
|
12770
|
+
const optionType = typeof optionValue;
|
|
12771
|
+
if (optionType === "string" || optionType === "number") {
|
|
12772
|
+
option.selected = value.includes(
|
|
12773
|
+
number ? looseToNumber(optionValue) : optionValue
|
|
12774
|
+
);
|
|
12775
|
+
} else {
|
|
12776
|
+
option.selected = looseIndexOf(value, optionValue) > -1;
|
|
12777
|
+
}
|
|
12746
12778
|
} else {
|
|
12747
12779
|
option.selected = value.has(optionValue);
|
|
12748
12780
|
}
|
package/dist/vue.cjs.prod.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.4.
|
|
2
|
+
* @vue/compat v3.4.15
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -600,10 +600,7 @@ const queueEffectSchedulers = [];
|
|
|
600
600
|
function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
|
|
601
601
|
pauseScheduling();
|
|
602
602
|
for (const effect2 of dep.keys()) {
|
|
603
|
-
if (dep.get(effect2)
|
|
604
|
-
continue;
|
|
605
|
-
}
|
|
606
|
-
if (effect2._dirtyLevel < dirtyLevel) {
|
|
603
|
+
if (effect2._dirtyLevel < dirtyLevel && dep.get(effect2) === effect2._trackId) {
|
|
607
604
|
const lastDirtyLevel = effect2._dirtyLevel;
|
|
608
605
|
effect2._dirtyLevel = dirtyLevel;
|
|
609
606
|
if (lastDirtyLevel === 0) {
|
|
@@ -611,12 +608,17 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
|
|
|
611
608
|
effect2.trigger();
|
|
612
609
|
}
|
|
613
610
|
}
|
|
614
|
-
|
|
611
|
+
}
|
|
612
|
+
scheduleEffects(dep);
|
|
613
|
+
resetScheduling();
|
|
614
|
+
}
|
|
615
|
+
function scheduleEffects(dep) {
|
|
616
|
+
for (const effect2 of dep.keys()) {
|
|
617
|
+
if (effect2.scheduler && effect2._shouldSchedule && (!effect2._runnings || effect2.allowRecurse) && dep.get(effect2) === effect2._trackId) {
|
|
615
618
|
effect2._shouldSchedule = false;
|
|
616
619
|
queueEffectSchedulers.push(effect2.scheduler);
|
|
617
620
|
}
|
|
618
621
|
}
|
|
619
|
-
resetScheduling();
|
|
620
622
|
}
|
|
621
623
|
|
|
622
624
|
const createDep = (cleanup, computed) => {
|
|
@@ -1248,7 +1250,8 @@ class ComputedRefImpl {
|
|
|
1248
1250
|
this["__v_isReadonly"] = false;
|
|
1249
1251
|
this.effect = new ReactiveEffect(
|
|
1250
1252
|
() => getter(this._value),
|
|
1251
|
-
() => triggerRefValue(this, 1)
|
|
1253
|
+
() => triggerRefValue(this, 1),
|
|
1254
|
+
() => this.dep && scheduleEffects(this.dep)
|
|
1252
1255
|
);
|
|
1253
1256
|
this.effect.computed = this;
|
|
1254
1257
|
this.effect.active = this._cacheable = !isSSR;
|
|
@@ -1262,6 +1265,9 @@ class ComputedRefImpl {
|
|
|
1262
1265
|
}
|
|
1263
1266
|
}
|
|
1264
1267
|
trackRefValue(self);
|
|
1268
|
+
if (self.effect._dirtyLevel >= 1) {
|
|
1269
|
+
triggerRefValue(self, 1);
|
|
1270
|
+
}
|
|
1265
1271
|
return self._value;
|
|
1266
1272
|
}
|
|
1267
1273
|
set value(newValue) {
|
|
@@ -1553,7 +1559,7 @@ function handleError(err, instance, type, throwInDev = true) {
|
|
|
1553
1559
|
if (instance) {
|
|
1554
1560
|
let cur = instance.parent;
|
|
1555
1561
|
const exposedInstance = instance.proxy;
|
|
1556
|
-
const errorInfo = `https://vuejs.org/
|
|
1562
|
+
const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`;
|
|
1557
1563
|
while (cur) {
|
|
1558
1564
|
const errorCapturedHooks = cur.ec;
|
|
1559
1565
|
if (errorCapturedHooks) {
|
|
@@ -5250,7 +5256,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
5250
5256
|
return vm;
|
|
5251
5257
|
}
|
|
5252
5258
|
}
|
|
5253
|
-
Vue.version = `2.6.14-compat:${"3.4.
|
|
5259
|
+
Vue.version = `2.6.14-compat:${"3.4.15"}`;
|
|
5254
5260
|
Vue.config = singletonApp.config;
|
|
5255
5261
|
Vue.use = (p, ...options) => {
|
|
5256
5262
|
if (p && isFunction(p.install)) {
|
|
@@ -6198,9 +6204,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
6198
6204
|
} else {
|
|
6199
6205
|
const _isString = isString(ref);
|
|
6200
6206
|
const _isRef = isRef(ref);
|
|
6207
|
+
const isVFor = rawRef.f;
|
|
6201
6208
|
if (_isString || _isRef) {
|
|
6202
6209
|
const doSet = () => {
|
|
6203
|
-
if (
|
|
6210
|
+
if (isVFor) {
|
|
6204
6211
|
const existing = _isString ? hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;
|
|
6205
6212
|
if (isUnmount) {
|
|
6206
6213
|
isArray(existing) && remove(existing, refValue);
|
|
@@ -6231,11 +6238,11 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
6231
6238
|
refs[rawRef.k] = value;
|
|
6232
6239
|
} else ;
|
|
6233
6240
|
};
|
|
6234
|
-
if (
|
|
6241
|
+
if (isUnmount || isVFor) {
|
|
6242
|
+
doSet();
|
|
6243
|
+
} else {
|
|
6235
6244
|
doSet.id = -1;
|
|
6236
6245
|
queuePostRenderEffect(doSet, parentSuspense);
|
|
6237
|
-
} else {
|
|
6238
|
-
doSet();
|
|
6239
6246
|
}
|
|
6240
6247
|
}
|
|
6241
6248
|
}
|
|
@@ -9109,7 +9116,7 @@ function isMemoSame(cached, memo) {
|
|
|
9109
9116
|
return true;
|
|
9110
9117
|
}
|
|
9111
9118
|
|
|
9112
|
-
const version = "3.4.
|
|
9119
|
+
const version = "3.4.15";
|
|
9113
9120
|
const warn$1 = NOOP;
|
|
9114
9121
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
9115
9122
|
const devtools = void 0;
|
|
@@ -10376,32 +10383,49 @@ const vModelSelect = {
|
|
|
10376
10383
|
el[assignKey](
|
|
10377
10384
|
el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
|
|
10378
10385
|
);
|
|
10386
|
+
el._assigning = true;
|
|
10387
|
+
nextTick(() => {
|
|
10388
|
+
el._assigning = false;
|
|
10389
|
+
});
|
|
10379
10390
|
});
|
|
10380
10391
|
el[assignKey] = getModelAssigner(vnode);
|
|
10381
10392
|
},
|
|
10382
10393
|
// set value in mounted & updated because <select> relies on its children
|
|
10383
10394
|
// <option>s.
|
|
10384
|
-
mounted(el, { value }) {
|
|
10385
|
-
setSelected(el, value);
|
|
10395
|
+
mounted(el, { value, oldValue, modifiers: { number } }) {
|
|
10396
|
+
setSelected(el, value, oldValue, number);
|
|
10386
10397
|
},
|
|
10387
10398
|
beforeUpdate(el, _binding, vnode) {
|
|
10388
10399
|
el[assignKey] = getModelAssigner(vnode);
|
|
10389
10400
|
},
|
|
10390
|
-
updated(el, { value }) {
|
|
10391
|
-
|
|
10401
|
+
updated(el, { value, oldValue, modifiers: { number } }) {
|
|
10402
|
+
if (!el._assigning) {
|
|
10403
|
+
setSelected(el, value, oldValue, number);
|
|
10404
|
+
}
|
|
10392
10405
|
}
|
|
10393
10406
|
};
|
|
10394
|
-
function setSelected(el, value) {
|
|
10407
|
+
function setSelected(el, value, oldValue, number) {
|
|
10395
10408
|
const isMultiple = el.multiple;
|
|
10396
|
-
|
|
10409
|
+
const isArrayValue = isArray(value);
|
|
10410
|
+
if (isMultiple && !isArrayValue && !isSet(value)) {
|
|
10411
|
+
return;
|
|
10412
|
+
}
|
|
10413
|
+
if (isArrayValue && looseEqual(value, oldValue)) {
|
|
10397
10414
|
return;
|
|
10398
10415
|
}
|
|
10399
10416
|
for (let i = 0, l = el.options.length; i < l; i++) {
|
|
10400
10417
|
const option = el.options[i];
|
|
10401
10418
|
const optionValue = getValue(option);
|
|
10402
10419
|
if (isMultiple) {
|
|
10403
|
-
if (
|
|
10404
|
-
|
|
10420
|
+
if (isArrayValue) {
|
|
10421
|
+
const optionType = typeof optionValue;
|
|
10422
|
+
if (optionType === "string" || optionType === "number") {
|
|
10423
|
+
option.selected = value.includes(
|
|
10424
|
+
number ? looseToNumber(optionValue) : optionValue
|
|
10425
|
+
);
|
|
10426
|
+
} else {
|
|
10427
|
+
option.selected = looseIndexOf(value, optionValue) > -1;
|
|
10428
|
+
}
|
|
10405
10429
|
} else {
|
|
10406
10430
|
option.selected = value.has(optionValue);
|
|
10407
10431
|
}
|
package/dist/vue.esm-browser.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.4.
|
|
2
|
+
* @vue/compat v3.4.15
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -265,6 +265,13 @@ const isKnownHtmlAttr = /* @__PURE__ */ makeMap(
|
|
|
265
265
|
const isKnownSvgAttr = /* @__PURE__ */ makeMap(
|
|
266
266
|
`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`
|
|
267
267
|
);
|
|
268
|
+
function isRenderableAttrValue(value) {
|
|
269
|
+
if (value == null) {
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
const type = typeof value;
|
|
273
|
+
return type === "string" || type === "number" || type === "boolean";
|
|
274
|
+
}
|
|
268
275
|
|
|
269
276
|
function looseCompareArrays(a, b) {
|
|
270
277
|
if (a.length !== b.length)
|
|
@@ -627,10 +634,7 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
|
|
|
627
634
|
var _a;
|
|
628
635
|
pauseScheduling();
|
|
629
636
|
for (const effect2 of dep.keys()) {
|
|
630
|
-
if (dep.get(effect2)
|
|
631
|
-
continue;
|
|
632
|
-
}
|
|
633
|
-
if (effect2._dirtyLevel < dirtyLevel) {
|
|
637
|
+
if (effect2._dirtyLevel < dirtyLevel && dep.get(effect2) === effect2._trackId) {
|
|
634
638
|
const lastDirtyLevel = effect2._dirtyLevel;
|
|
635
639
|
effect2._dirtyLevel = dirtyLevel;
|
|
636
640
|
if (lastDirtyLevel === 0) {
|
|
@@ -641,12 +645,17 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
|
|
|
641
645
|
effect2.trigger();
|
|
642
646
|
}
|
|
643
647
|
}
|
|
644
|
-
|
|
648
|
+
}
|
|
649
|
+
scheduleEffects(dep);
|
|
650
|
+
resetScheduling();
|
|
651
|
+
}
|
|
652
|
+
function scheduleEffects(dep) {
|
|
653
|
+
for (const effect2 of dep.keys()) {
|
|
654
|
+
if (effect2.scheduler && effect2._shouldSchedule && (!effect2._runnings || effect2.allowRecurse) && dep.get(effect2) === effect2._trackId) {
|
|
645
655
|
effect2._shouldSchedule = false;
|
|
646
656
|
queueEffectSchedulers.push(effect2.scheduler);
|
|
647
657
|
}
|
|
648
658
|
}
|
|
649
|
-
resetScheduling();
|
|
650
659
|
}
|
|
651
660
|
|
|
652
661
|
const createDep = (cleanup, computed) => {
|
|
@@ -1329,7 +1338,8 @@ class ComputedRefImpl {
|
|
|
1329
1338
|
this["__v_isReadonly"] = false;
|
|
1330
1339
|
this.effect = new ReactiveEffect(
|
|
1331
1340
|
() => getter(this._value),
|
|
1332
|
-
() => triggerRefValue(this, 1)
|
|
1341
|
+
() => triggerRefValue(this, 1),
|
|
1342
|
+
() => this.dep && scheduleEffects(this.dep)
|
|
1333
1343
|
);
|
|
1334
1344
|
this.effect.computed = this;
|
|
1335
1345
|
this.effect.active = this._cacheable = !isSSR;
|
|
@@ -1343,6 +1353,9 @@ class ComputedRefImpl {
|
|
|
1343
1353
|
}
|
|
1344
1354
|
}
|
|
1345
1355
|
trackRefValue(self);
|
|
1356
|
+
if (self.effect._dirtyLevel >= 1) {
|
|
1357
|
+
triggerRefValue(self, 1);
|
|
1358
|
+
}
|
|
1346
1359
|
return self._value;
|
|
1347
1360
|
}
|
|
1348
1361
|
set value(newValue) {
|
|
@@ -6488,7 +6501,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
6488
6501
|
return vm;
|
|
6489
6502
|
}
|
|
6490
6503
|
}
|
|
6491
|
-
Vue.version = `2.6.14-compat:${"3.4.
|
|
6504
|
+
Vue.version = `2.6.14-compat:${"3.4.15"}`;
|
|
6492
6505
|
Vue.config = singletonApp.config;
|
|
6493
6506
|
Vue.use = (p, ...options) => {
|
|
6494
6507
|
if (p && isFunction(p.install)) {
|
|
@@ -7557,7 +7570,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
|
|
|
7557
7570
|
return rawSlot;
|
|
7558
7571
|
}
|
|
7559
7572
|
const normalized = withCtx((...args) => {
|
|
7560
|
-
if (currentInstance) {
|
|
7573
|
+
if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
|
|
7561
7574
|
warn$1(
|
|
7562
7575
|
`Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
|
|
7563
7576
|
);
|
|
@@ -7695,9 +7708,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
7695
7708
|
} else {
|
|
7696
7709
|
const _isString = isString(ref);
|
|
7697
7710
|
const _isRef = isRef(ref);
|
|
7711
|
+
const isVFor = rawRef.f;
|
|
7698
7712
|
if (_isString || _isRef) {
|
|
7699
7713
|
const doSet = () => {
|
|
7700
|
-
if (
|
|
7714
|
+
if (isVFor) {
|
|
7701
7715
|
const existing = _isString ? hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;
|
|
7702
7716
|
if (isUnmount) {
|
|
7703
7717
|
isArray(existing) && remove(existing, refValue);
|
|
@@ -7730,11 +7744,11 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
7730
7744
|
warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
|
|
7731
7745
|
}
|
|
7732
7746
|
};
|
|
7733
|
-
if (
|
|
7747
|
+
if (isUnmount || isVFor) {
|
|
7748
|
+
doSet();
|
|
7749
|
+
} else {
|
|
7734
7750
|
doSet.id = -1;
|
|
7735
7751
|
queuePostRenderEffect(doSet, parentSuspense);
|
|
7736
|
-
} else {
|
|
7737
|
-
doSet();
|
|
7738
7752
|
}
|
|
7739
7753
|
} else {
|
|
7740
7754
|
warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
|
|
@@ -8244,11 +8258,12 @@ function propHasMismatch(el, key, clientValue, vnode) {
|
|
|
8244
8258
|
} else {
|
|
8245
8259
|
if (el.hasAttribute(key)) {
|
|
8246
8260
|
actual = el.getAttribute(key);
|
|
8261
|
+
} else if (key === "value" && el.tagName === "TEXTAREA") {
|
|
8262
|
+
actual = el.value;
|
|
8247
8263
|
} else {
|
|
8248
|
-
|
|
8249
|
-
actual = isObject(serverValue) || serverValue == null ? "" : String(serverValue);
|
|
8264
|
+
actual = false;
|
|
8250
8265
|
}
|
|
8251
|
-
expected =
|
|
8266
|
+
expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;
|
|
8252
8267
|
}
|
|
8253
8268
|
if (actual !== expected) {
|
|
8254
8269
|
mismatchType = `attribute`;
|
|
@@ -11303,7 +11318,7 @@ function isMemoSame(cached, memo) {
|
|
|
11303
11318
|
return true;
|
|
11304
11319
|
}
|
|
11305
11320
|
|
|
11306
|
-
const version = "3.4.
|
|
11321
|
+
const version = "3.4.15";
|
|
11307
11322
|
const warn = warn$1 ;
|
|
11308
11323
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
11309
11324
|
const devtools = devtools$1 ;
|
|
@@ -12662,35 +12677,52 @@ const vModelSelect = {
|
|
|
12662
12677
|
el[assignKey](
|
|
12663
12678
|
el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
|
|
12664
12679
|
);
|
|
12680
|
+
el._assigning = true;
|
|
12681
|
+
nextTick(() => {
|
|
12682
|
+
el._assigning = false;
|
|
12683
|
+
});
|
|
12665
12684
|
});
|
|
12666
12685
|
el[assignKey] = getModelAssigner(vnode);
|
|
12667
12686
|
},
|
|
12668
12687
|
// set value in mounted & updated because <select> relies on its children
|
|
12669
12688
|
// <option>s.
|
|
12670
|
-
mounted(el, { value }) {
|
|
12671
|
-
setSelected(el, value);
|
|
12689
|
+
mounted(el, { value, oldValue, modifiers: { number } }) {
|
|
12690
|
+
setSelected(el, value, oldValue, number);
|
|
12672
12691
|
},
|
|
12673
12692
|
beforeUpdate(el, _binding, vnode) {
|
|
12674
12693
|
el[assignKey] = getModelAssigner(vnode);
|
|
12675
12694
|
},
|
|
12676
|
-
updated(el, { value }) {
|
|
12677
|
-
|
|
12695
|
+
updated(el, { value, oldValue, modifiers: { number } }) {
|
|
12696
|
+
if (!el._assigning) {
|
|
12697
|
+
setSelected(el, value, oldValue, number);
|
|
12698
|
+
}
|
|
12678
12699
|
}
|
|
12679
12700
|
};
|
|
12680
|
-
function setSelected(el, value) {
|
|
12701
|
+
function setSelected(el, value, oldValue, number) {
|
|
12681
12702
|
const isMultiple = el.multiple;
|
|
12682
|
-
|
|
12703
|
+
const isArrayValue = isArray(value);
|
|
12704
|
+
if (isMultiple && !isArrayValue && !isSet(value)) {
|
|
12683
12705
|
warn(
|
|
12684
12706
|
`<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`
|
|
12685
12707
|
);
|
|
12686
12708
|
return;
|
|
12687
12709
|
}
|
|
12710
|
+
if (isArrayValue && looseEqual(value, oldValue)) {
|
|
12711
|
+
return;
|
|
12712
|
+
}
|
|
12688
12713
|
for (let i = 0, l = el.options.length; i < l; i++) {
|
|
12689
12714
|
const option = el.options[i];
|
|
12690
12715
|
const optionValue = getValue(option);
|
|
12691
12716
|
if (isMultiple) {
|
|
12692
|
-
if (
|
|
12693
|
-
|
|
12717
|
+
if (isArrayValue) {
|
|
12718
|
+
const optionType = typeof optionValue;
|
|
12719
|
+
if (optionType === "string" || optionType === "number") {
|
|
12720
|
+
option.selected = value.includes(
|
|
12721
|
+
number ? looseToNumber(optionValue) : optionValue
|
|
12722
|
+
);
|
|
12723
|
+
} else {
|
|
12724
|
+
option.selected = looseIndexOf(value, optionValue) > -1;
|
|
12725
|
+
}
|
|
12694
12726
|
} else {
|
|
12695
12727
|
option.selected = value.has(optionValue);
|
|
12696
12728
|
}
|