@vue/compat 3.4.14 → 3.4.16
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 +124 -61
- package/dist/vue.cjs.prod.js +104 -54
- package/dist/vue.esm-browser.js +119 -64
- package/dist/vue.esm-browser.prod.js +4 -4
- package/dist/vue.esm-bundler.js +121 -66
- package/dist/vue.global.js +119 -64
- package/dist/vue.global.prod.js +4 -4
- package/dist/vue.runtime.esm-browser.js +91 -52
- package/dist/vue.runtime.esm-browser.prod.js +4 -4
- package/dist/vue.runtime.esm-bundler.js +92 -53
- package/dist/vue.runtime.global.js +91 -52
- package/dist/vue.runtime.global.prod.js +4 -4
- package/package.json +3 -3
package/dist/vue.esm-browser.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.4.
|
|
2
|
+
* @vue/compat v3.4.16
|
|
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)
|
|
@@ -465,7 +472,7 @@ class ReactiveEffect {
|
|
|
465
472
|
/**
|
|
466
473
|
* @internal
|
|
467
474
|
*/
|
|
468
|
-
this._dirtyLevel =
|
|
475
|
+
this._dirtyLevel = 4;
|
|
469
476
|
/**
|
|
470
477
|
* @internal
|
|
471
478
|
*/
|
|
@@ -485,26 +492,27 @@ class ReactiveEffect {
|
|
|
485
492
|
recordEffectScope(this, scope);
|
|
486
493
|
}
|
|
487
494
|
get dirty() {
|
|
488
|
-
if (this._dirtyLevel ===
|
|
495
|
+
if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {
|
|
496
|
+
this._dirtyLevel = 1;
|
|
489
497
|
pauseTracking();
|
|
490
498
|
for (let i = 0; i < this._depsLength; i++) {
|
|
491
499
|
const dep = this.deps[i];
|
|
492
500
|
if (dep.computed) {
|
|
493
501
|
triggerComputed(dep.computed);
|
|
494
|
-
if (this._dirtyLevel >=
|
|
502
|
+
if (this._dirtyLevel >= 4) {
|
|
495
503
|
break;
|
|
496
504
|
}
|
|
497
505
|
}
|
|
498
506
|
}
|
|
499
|
-
if (this._dirtyLevel
|
|
507
|
+
if (this._dirtyLevel === 1) {
|
|
500
508
|
this._dirtyLevel = 0;
|
|
501
509
|
}
|
|
502
510
|
resetTracking();
|
|
503
511
|
}
|
|
504
|
-
return this._dirtyLevel >=
|
|
512
|
+
return this._dirtyLevel >= 4;
|
|
505
513
|
}
|
|
506
514
|
set dirty(v) {
|
|
507
|
-
this._dirtyLevel = v ?
|
|
515
|
+
this._dirtyLevel = v ? 4 : 0;
|
|
508
516
|
}
|
|
509
517
|
run() {
|
|
510
518
|
this._dirtyLevel = 0;
|
|
@@ -544,7 +552,7 @@ function preCleanupEffect(effect2) {
|
|
|
544
552
|
effect2._depsLength = 0;
|
|
545
553
|
}
|
|
546
554
|
function postCleanupEffect(effect2) {
|
|
547
|
-
if (effect2.deps
|
|
555
|
+
if (effect2.deps.length > effect2._depsLength) {
|
|
548
556
|
for (let i = effect2._depsLength; i < effect2.deps.length; i++) {
|
|
549
557
|
cleanupDepEffect(effect2.deps[i], effect2);
|
|
550
558
|
}
|
|
@@ -627,24 +635,23 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
|
|
|
627
635
|
var _a;
|
|
628
636
|
pauseScheduling();
|
|
629
637
|
for (const effect2 of dep.keys()) {
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
if (effect2._dirtyLevel < dirtyLevel && !(effect2._runnings && !effect2.allowRecurse)) {
|
|
634
|
-
const lastDirtyLevel = effect2._dirtyLevel;
|
|
638
|
+
let tracking;
|
|
639
|
+
if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
|
|
640
|
+
effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
|
|
635
641
|
effect2._dirtyLevel = dirtyLevel;
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
642
|
+
}
|
|
643
|
+
if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
|
|
644
|
+
{
|
|
645
|
+
(_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));
|
|
646
|
+
}
|
|
647
|
+
effect2.trigger();
|
|
648
|
+
if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {
|
|
649
|
+
effect2._shouldSchedule = false;
|
|
650
|
+
if (effect2.scheduler) {
|
|
651
|
+
queueEffectSchedulers.push(effect2.scheduler);
|
|
640
652
|
}
|
|
641
|
-
effect2.trigger();
|
|
642
653
|
}
|
|
643
654
|
}
|
|
644
|
-
if (effect2.scheduler && effect2._shouldSchedule && (!effect2._runnings || effect2.allowRecurse)) {
|
|
645
|
-
effect2._shouldSchedule = false;
|
|
646
|
-
queueEffectSchedulers.push(effect2.scheduler);
|
|
647
|
-
}
|
|
648
655
|
}
|
|
649
656
|
resetScheduling();
|
|
650
657
|
}
|
|
@@ -730,7 +737,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
730
737
|
if (dep) {
|
|
731
738
|
triggerEffects(
|
|
732
739
|
dep,
|
|
733
|
-
|
|
740
|
+
4,
|
|
734
741
|
{
|
|
735
742
|
target,
|
|
736
743
|
type,
|
|
@@ -1315,7 +1322,9 @@ function toRaw(observed) {
|
|
|
1315
1322
|
return raw ? toRaw(raw) : observed;
|
|
1316
1323
|
}
|
|
1317
1324
|
function markRaw(value) {
|
|
1318
|
-
|
|
1325
|
+
if (Object.isExtensible(value)) {
|
|
1326
|
+
def(value, "__v_skip", true);
|
|
1327
|
+
}
|
|
1319
1328
|
return value;
|
|
1320
1329
|
}
|
|
1321
1330
|
const toReactive = (value) => isObject(value) ? reactive(value) : value;
|
|
@@ -1329,7 +1338,10 @@ class ComputedRefImpl {
|
|
|
1329
1338
|
this["__v_isReadonly"] = false;
|
|
1330
1339
|
this.effect = new ReactiveEffect(
|
|
1331
1340
|
() => getter(this._value),
|
|
1332
|
-
() => triggerRefValue(
|
|
1341
|
+
() => triggerRefValue(
|
|
1342
|
+
this,
|
|
1343
|
+
this.effect._dirtyLevel === 2 ? 2 : 3
|
|
1344
|
+
)
|
|
1333
1345
|
);
|
|
1334
1346
|
this.effect.computed = this;
|
|
1335
1347
|
this.effect.active = this._cacheable = !isSSR;
|
|
@@ -1337,12 +1349,13 @@ class ComputedRefImpl {
|
|
|
1337
1349
|
}
|
|
1338
1350
|
get value() {
|
|
1339
1351
|
const self = toRaw(this);
|
|
1340
|
-
if (!self._cacheable || self.effect.dirty) {
|
|
1341
|
-
|
|
1342
|
-
triggerRefValue(self, 2);
|
|
1343
|
-
}
|
|
1352
|
+
if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {
|
|
1353
|
+
triggerRefValue(self, 4);
|
|
1344
1354
|
}
|
|
1345
1355
|
trackRefValue(self);
|
|
1356
|
+
if (self.effect._dirtyLevel >= 2) {
|
|
1357
|
+
triggerRefValue(self, 2);
|
|
1358
|
+
}
|
|
1346
1359
|
return self._value;
|
|
1347
1360
|
}
|
|
1348
1361
|
set value(newValue) {
|
|
@@ -1379,14 +1392,15 @@ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
|
|
|
1379
1392
|
}
|
|
1380
1393
|
|
|
1381
1394
|
function trackRefValue(ref2) {
|
|
1395
|
+
var _a;
|
|
1382
1396
|
if (shouldTrack && activeEffect) {
|
|
1383
1397
|
ref2 = toRaw(ref2);
|
|
1384
1398
|
trackEffect(
|
|
1385
1399
|
activeEffect,
|
|
1386
|
-
ref2.dep
|
|
1400
|
+
(_a = ref2.dep) != null ? _a : ref2.dep = createDep(
|
|
1387
1401
|
() => ref2.dep = void 0,
|
|
1388
1402
|
ref2 instanceof ComputedRefImpl ? ref2 : void 0
|
|
1389
|
-
)
|
|
1403
|
+
),
|
|
1390
1404
|
{
|
|
1391
1405
|
target: ref2,
|
|
1392
1406
|
type: "get",
|
|
@@ -1395,7 +1409,7 @@ function trackRefValue(ref2) {
|
|
|
1395
1409
|
);
|
|
1396
1410
|
}
|
|
1397
1411
|
}
|
|
1398
|
-
function triggerRefValue(ref2, dirtyLevel =
|
|
1412
|
+
function triggerRefValue(ref2, dirtyLevel = 4, newVal) {
|
|
1399
1413
|
ref2 = toRaw(ref2);
|
|
1400
1414
|
const dep = ref2.dep;
|
|
1401
1415
|
if (dep) {
|
|
@@ -1444,12 +1458,12 @@ class RefImpl {
|
|
|
1444
1458
|
if (hasChanged(newVal, this._rawValue)) {
|
|
1445
1459
|
this._rawValue = newVal;
|
|
1446
1460
|
this._value = useDirectValue ? newVal : toReactive(newVal);
|
|
1447
|
-
triggerRefValue(this,
|
|
1461
|
+
triggerRefValue(this, 4, newVal);
|
|
1448
1462
|
}
|
|
1449
1463
|
}
|
|
1450
1464
|
}
|
|
1451
1465
|
function triggerRef(ref2) {
|
|
1452
|
-
triggerRefValue(ref2,
|
|
1466
|
+
triggerRefValue(ref2, 4, ref2.value );
|
|
1453
1467
|
}
|
|
1454
1468
|
function unref(ref2) {
|
|
1455
1469
|
return isRef(ref2) ? ref2.value : ref2;
|
|
@@ -6488,7 +6502,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
6488
6502
|
return vm;
|
|
6489
6503
|
}
|
|
6490
6504
|
}
|
|
6491
|
-
Vue.version = `2.6.14-compat:${"3.4.
|
|
6505
|
+
Vue.version = `2.6.14-compat:${"3.4.16"}`;
|
|
6492
6506
|
Vue.config = singletonApp.config;
|
|
6493
6507
|
Vue.use = (p, ...options) => {
|
|
6494
6508
|
if (p && isFunction(p.install)) {
|
|
@@ -7033,11 +7047,12 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
7033
7047
|
return app;
|
|
7034
7048
|
},
|
|
7035
7049
|
runWithContext(fn) {
|
|
7050
|
+
const lastApp = currentApp;
|
|
7036
7051
|
currentApp = app;
|
|
7037
7052
|
try {
|
|
7038
7053
|
return fn();
|
|
7039
7054
|
} finally {
|
|
7040
|
-
currentApp =
|
|
7055
|
+
currentApp = lastApp;
|
|
7041
7056
|
}
|
|
7042
7057
|
}
|
|
7043
7058
|
};
|
|
@@ -7557,7 +7572,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
|
|
|
7557
7572
|
return rawSlot;
|
|
7558
7573
|
}
|
|
7559
7574
|
const normalized = withCtx((...args) => {
|
|
7560
|
-
if (currentInstance) {
|
|
7575
|
+
if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
|
|
7561
7576
|
warn$1(
|
|
7562
7577
|
`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
7578
|
);
|
|
@@ -8033,7 +8048,7 @@ Server rendered element contains more child nodes than client vdom.`
|
|
|
8033
8048
|
if (props) {
|
|
8034
8049
|
{
|
|
8035
8050
|
for (const key in props) {
|
|
8036
|
-
if (propHasMismatch(el, key, props[key], vnode)) {
|
|
8051
|
+
if (propHasMismatch(el, key, props[key], vnode, parentComponent)) {
|
|
8037
8052
|
hasMismatch = true;
|
|
8038
8053
|
}
|
|
8039
8054
|
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
|
|
@@ -8208,7 +8223,8 @@ Server rendered element contains fewer child nodes than client vdom.`
|
|
|
8208
8223
|
};
|
|
8209
8224
|
return [hydrate, hydrateNode];
|
|
8210
8225
|
}
|
|
8211
|
-
function propHasMismatch(el, key, clientValue, vnode) {
|
|
8226
|
+
function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
8227
|
+
var _a;
|
|
8212
8228
|
let mismatchType;
|
|
8213
8229
|
let mismatchKey;
|
|
8214
8230
|
let actual;
|
|
@@ -8231,6 +8247,10 @@ function propHasMismatch(el, key, clientValue, vnode) {
|
|
|
8231
8247
|
}
|
|
8232
8248
|
}
|
|
8233
8249
|
}
|
|
8250
|
+
const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
|
|
8251
|
+
for (const key2 in cssVars) {
|
|
8252
|
+
expectedMap.set(`--${key2}`, String(cssVars[key2]));
|
|
8253
|
+
}
|
|
8234
8254
|
if (!isMapEqual(actualMap, expectedMap)) {
|
|
8235
8255
|
mismatchType = mismatchKey = "style";
|
|
8236
8256
|
}
|
|
@@ -8244,11 +8264,12 @@ function propHasMismatch(el, key, clientValue, vnode) {
|
|
|
8244
8264
|
} else {
|
|
8245
8265
|
if (el.hasAttribute(key)) {
|
|
8246
8266
|
actual = el.getAttribute(key);
|
|
8267
|
+
} else if (key === "value" && el.tagName === "TEXTAREA") {
|
|
8268
|
+
actual = el.value;
|
|
8247
8269
|
} else {
|
|
8248
|
-
|
|
8249
|
-
actual = isObject(serverValue) || serverValue == null ? "" : String(serverValue);
|
|
8270
|
+
actual = false;
|
|
8250
8271
|
}
|
|
8251
|
-
expected =
|
|
8272
|
+
expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;
|
|
8252
8273
|
}
|
|
8253
8274
|
if (actual !== expected) {
|
|
8254
8275
|
mismatchType = `attribute`;
|
|
@@ -11303,7 +11324,7 @@ function isMemoSame(cached, memo) {
|
|
|
11303
11324
|
return true;
|
|
11304
11325
|
}
|
|
11305
11326
|
|
|
11306
|
-
const version = "3.4.
|
|
11327
|
+
const version = "3.4.16";
|
|
11307
11328
|
const warn = warn$1 ;
|
|
11308
11329
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
11309
11330
|
const devtools = devtools$1 ;
|
|
@@ -11724,7 +11745,7 @@ const vShow = {
|
|
|
11724
11745
|
}
|
|
11725
11746
|
},
|
|
11726
11747
|
updated(el, { value, oldValue }, { transition }) {
|
|
11727
|
-
if (!value === !oldValue)
|
|
11748
|
+
if (!value === !oldValue && el.style.display === el[vShowOldKey])
|
|
11728
11749
|
return;
|
|
11729
11750
|
if (transition) {
|
|
11730
11751
|
if (value) {
|
|
@@ -11763,6 +11784,9 @@ function useCssVars(getter) {
|
|
|
11763
11784
|
document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)
|
|
11764
11785
|
).forEach((node) => setVarsOnNode(node, vars));
|
|
11765
11786
|
};
|
|
11787
|
+
{
|
|
11788
|
+
instance.getCssVars = () => getter(instance.proxy);
|
|
11789
|
+
}
|
|
11766
11790
|
const setVars = () => {
|
|
11767
11791
|
const vars = getter(instance.proxy);
|
|
11768
11792
|
setVarsOnVNode(instance.subTree, vars);
|
|
@@ -11843,6 +11867,7 @@ function patchStyle(el, prev, next) {
|
|
|
11843
11867
|
}
|
|
11844
11868
|
}
|
|
11845
11869
|
if (vShowOldKey in el) {
|
|
11870
|
+
el[vShowOldKey] = style.display;
|
|
11846
11871
|
style.display = currentDisplay;
|
|
11847
11872
|
}
|
|
11848
11873
|
}
|
|
@@ -12662,24 +12687,31 @@ const vModelSelect = {
|
|
|
12662
12687
|
el[assignKey](
|
|
12663
12688
|
el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
|
|
12664
12689
|
);
|
|
12690
|
+
el._assigning = true;
|
|
12691
|
+
nextTick(() => {
|
|
12692
|
+
el._assigning = false;
|
|
12693
|
+
});
|
|
12665
12694
|
});
|
|
12666
12695
|
el[assignKey] = getModelAssigner(vnode);
|
|
12667
12696
|
},
|
|
12668
12697
|
// set value in mounted & updated because <select> relies on its children
|
|
12669
12698
|
// <option>s.
|
|
12670
|
-
mounted(el, { value }) {
|
|
12671
|
-
setSelected(el, value);
|
|
12699
|
+
mounted(el, { value, oldValue, modifiers: { number } }) {
|
|
12700
|
+
setSelected(el, value, oldValue, number);
|
|
12672
12701
|
},
|
|
12673
12702
|
beforeUpdate(el, _binding, vnode) {
|
|
12674
12703
|
el[assignKey] = getModelAssigner(vnode);
|
|
12675
12704
|
},
|
|
12676
|
-
updated(el, { value }) {
|
|
12677
|
-
|
|
12705
|
+
updated(el, { value, oldValue, modifiers: { number } }) {
|
|
12706
|
+
if (!el._assigning) {
|
|
12707
|
+
setSelected(el, value, oldValue, number);
|
|
12708
|
+
}
|
|
12678
12709
|
}
|
|
12679
12710
|
};
|
|
12680
|
-
function setSelected(el, value) {
|
|
12711
|
+
function setSelected(el, value, oldValue, number) {
|
|
12681
12712
|
const isMultiple = el.multiple;
|
|
12682
|
-
|
|
12713
|
+
const isArrayValue = isArray(value);
|
|
12714
|
+
if (isMultiple && !isArrayValue && !isSet(value)) {
|
|
12683
12715
|
warn(
|
|
12684
12716
|
`<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`
|
|
12685
12717
|
);
|
|
@@ -12689,8 +12721,15 @@ function setSelected(el, value) {
|
|
|
12689
12721
|
const option = el.options[i];
|
|
12690
12722
|
const optionValue = getValue(option);
|
|
12691
12723
|
if (isMultiple) {
|
|
12692
|
-
if (
|
|
12693
|
-
|
|
12724
|
+
if (isArrayValue) {
|
|
12725
|
+
const optionType = typeof optionValue;
|
|
12726
|
+
if (optionType === "string" || optionType === "number") {
|
|
12727
|
+
option.selected = value.includes(
|
|
12728
|
+
number ? looseToNumber(optionValue) : optionValue
|
|
12729
|
+
);
|
|
12730
|
+
} else {
|
|
12731
|
+
option.selected = looseIndexOf(value, optionValue) > -1;
|
|
12732
|
+
}
|
|
12694
12733
|
} else {
|
|
12695
12734
|
option.selected = value.has(optionValue);
|
|
12696
12735
|
}
|
|
@@ -14322,6 +14361,7 @@ const errorMessages = {
|
|
|
14322
14361
|
[32]: `v-for has invalid expression.`,
|
|
14323
14362
|
[33]: `<template v-for> key should be placed on the <template> tag.`,
|
|
14324
14363
|
[34]: `v-bind is missing expression.`,
|
|
14364
|
+
[52]: `v-bind with same-name shorthand only allows static argument.`,
|
|
14325
14365
|
[35]: `v-on is missing expression.`,
|
|
14326
14366
|
[36]: `Unexpected custom directive on <slot> outlet.`,
|
|
14327
14367
|
[37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
|
|
@@ -14342,7 +14382,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
14342
14382
|
[49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
|
|
14343
14383
|
[50]: `"scopeId" option is only supported in module mode.`,
|
|
14344
14384
|
// just to fulfill types
|
|
14345
|
-
[
|
|
14385
|
+
[53]: ``
|
|
14346
14386
|
};
|
|
14347
14387
|
|
|
14348
14388
|
const isStaticExp = (p) => p.type === 4 && p.isStatic;
|
|
@@ -15937,8 +15977,7 @@ function generate(ast, options = {}) {
|
|
|
15937
15977
|
const helpers = Array.from(ast.helpers);
|
|
15938
15978
|
const hasHelpers = helpers.length > 0;
|
|
15939
15979
|
const useWithBlock = !prefixIdentifiers && mode !== "module";
|
|
15940
|
-
const
|
|
15941
|
-
const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context;
|
|
15980
|
+
const preambleContext = context;
|
|
15942
15981
|
{
|
|
15943
15982
|
genFunctionPreamble(ast, preambleContext);
|
|
15944
15983
|
}
|
|
@@ -16006,7 +16045,7 @@ function generate(ast, options = {}) {
|
|
|
16006
16045
|
return {
|
|
16007
16046
|
ast,
|
|
16008
16047
|
code: context.code,
|
|
16009
|
-
preamble:
|
|
16048
|
+
preamble: ``,
|
|
16010
16049
|
map: context.map ? context.map.toJSON() : void 0
|
|
16011
16050
|
};
|
|
16012
16051
|
}
|
|
@@ -17764,8 +17803,12 @@ function processSlotOutlet(node, context) {
|
|
|
17764
17803
|
}
|
|
17765
17804
|
} else {
|
|
17766
17805
|
if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
|
|
17767
|
-
if (p.exp)
|
|
17806
|
+
if (p.exp) {
|
|
17768
17807
|
slotName = p.exp;
|
|
17808
|
+
} else if (p.arg && p.arg.type === 4) {
|
|
17809
|
+
const name = camelize(p.arg.content);
|
|
17810
|
+
slotName = p.exp = createSimpleExpression(name, false, p.arg.loc);
|
|
17811
|
+
}
|
|
17769
17812
|
} else {
|
|
17770
17813
|
if (p.name === "bind" && p.arg && isStaticExp(p.arg)) {
|
|
17771
17814
|
p.arg.content = camelize(p.arg.content);
|
|
@@ -17883,7 +17926,25 @@ const transformBind = (dir, _node, context) => {
|
|
|
17883
17926
|
const { modifiers, loc } = dir;
|
|
17884
17927
|
const arg = dir.arg;
|
|
17885
17928
|
let { exp } = dir;
|
|
17886
|
-
if (
|
|
17929
|
+
if (exp && exp.type === 4 && !exp.content.trim()) {
|
|
17930
|
+
{
|
|
17931
|
+
exp = void 0;
|
|
17932
|
+
}
|
|
17933
|
+
}
|
|
17934
|
+
if (!exp) {
|
|
17935
|
+
if (arg.type !== 4 || !arg.isStatic) {
|
|
17936
|
+
context.onError(
|
|
17937
|
+
createCompilerError(
|
|
17938
|
+
52,
|
|
17939
|
+
arg.loc
|
|
17940
|
+
)
|
|
17941
|
+
);
|
|
17942
|
+
return {
|
|
17943
|
+
props: [
|
|
17944
|
+
createObjectProperty(arg, createSimpleExpression("", true, loc))
|
|
17945
|
+
]
|
|
17946
|
+
};
|
|
17947
|
+
}
|
|
17887
17948
|
const propName = camelize(arg.content);
|
|
17888
17949
|
exp = dir.exp = createSimpleExpression(propName, false, arg.loc);
|
|
17889
17950
|
}
|
|
@@ -17913,12 +17974,6 @@ const transformBind = (dir, _node, context) => {
|
|
|
17913
17974
|
injectPrefix(arg, "^");
|
|
17914
17975
|
}
|
|
17915
17976
|
}
|
|
17916
|
-
if (!exp || exp.type === 4 && !exp.content.trim()) {
|
|
17917
|
-
context.onError(createCompilerError(34, loc));
|
|
17918
|
-
return {
|
|
17919
|
-
props: [createObjectProperty(arg, createSimpleExpression("", true, loc))]
|
|
17920
|
-
};
|
|
17921
|
-
}
|
|
17922
17977
|
return {
|
|
17923
17978
|
props: [createObjectProperty(arg, exp)]
|
|
17924
17979
|
};
|