@vue/compat 3.2.27 → 3.2.28
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/README.md +2 -2
- package/dist/vue.cjs.js +93 -51
- package/dist/vue.cjs.prod.js +83 -40
- package/dist/vue.esm-browser.js +82 -42
- package/dist/vue.esm-browser.prod.js +1 -1
- package/dist/vue.esm-bundler.js +82 -42
- package/dist/vue.global.js +81 -41
- package/dist/vue.global.prod.js +1 -1
- package/dist/vue.runtime.esm-browser.js +75 -39
- package/dist/vue.runtime.esm-browser.prod.js +1 -1
- package/dist/vue.runtime.esm-bundler.js +75 -39
- package/dist/vue.runtime.global.js +74 -38
- package/dist/vue.runtime.global.prod.js +1 -1
- package/package.json +5 -5
package/dist/vue.esm-bundler.js
CHANGED
|
@@ -206,8 +206,20 @@ const SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,col
|
|
|
206
206
|
'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' +
|
|
207
207
|
'text,textPath,title,tspan,unknown,use,view';
|
|
208
208
|
const VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr';
|
|
209
|
+
/**
|
|
210
|
+
* Compiler only.
|
|
211
|
+
* Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.
|
|
212
|
+
*/
|
|
209
213
|
const isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS);
|
|
214
|
+
/**
|
|
215
|
+
* Compiler only.
|
|
216
|
+
* Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.
|
|
217
|
+
*/
|
|
210
218
|
const isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS);
|
|
219
|
+
/**
|
|
220
|
+
* Compiler only.
|
|
221
|
+
* Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.
|
|
222
|
+
*/
|
|
211
223
|
const isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS);
|
|
212
224
|
|
|
213
225
|
function looseCompareArrays(a, b) {
|
|
@@ -552,7 +564,7 @@ class ReactiveEffect {
|
|
|
552
564
|
if (!this.active) {
|
|
553
565
|
return this.fn();
|
|
554
566
|
}
|
|
555
|
-
if (!effectStack.includes(this)) {
|
|
567
|
+
if (!effectStack.length || !effectStack.includes(this)) {
|
|
556
568
|
try {
|
|
557
569
|
effectStack.push((activeEffect = this));
|
|
558
570
|
enableTracking();
|
|
@@ -816,6 +828,9 @@ function createGetter(isReadonly = false, shallow = false) {
|
|
|
816
828
|
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
817
829
|
return isReadonly;
|
|
818
830
|
}
|
|
831
|
+
else if (key === "__v_isShallow" /* IS_SHALLOW */) {
|
|
832
|
+
return shallow;
|
|
833
|
+
}
|
|
819
834
|
else if (key === "__v_raw" /* RAW */ &&
|
|
820
835
|
receiver ===
|
|
821
836
|
(isReadonly
|
|
@@ -860,9 +875,14 @@ const shallowSet = /*#__PURE__*/ createSetter(true);
|
|
|
860
875
|
function createSetter(shallow = false) {
|
|
861
876
|
return function set(target, key, value, receiver) {
|
|
862
877
|
let oldValue = target[key];
|
|
878
|
+
if (isReadonly(oldValue) && isRef(oldValue)) {
|
|
879
|
+
return false;
|
|
880
|
+
}
|
|
863
881
|
if (!shallow && !isReadonly(value)) {
|
|
864
|
-
|
|
865
|
-
|
|
882
|
+
if (!isShallow(value)) {
|
|
883
|
+
value = toRaw(value);
|
|
884
|
+
oldValue = toRaw(oldValue);
|
|
885
|
+
}
|
|
866
886
|
if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
|
|
867
887
|
oldValue.value = value;
|
|
868
888
|
return true;
|
|
@@ -1250,7 +1270,7 @@ function getTargetType(value) {
|
|
|
1250
1270
|
}
|
|
1251
1271
|
function reactive(target) {
|
|
1252
1272
|
// if trying to observe a readonly proxy, return the readonly version.
|
|
1253
|
-
if (target
|
|
1273
|
+
if (isReadonly(target)) {
|
|
1254
1274
|
return target;
|
|
1255
1275
|
}
|
|
1256
1276
|
return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
|
|
@@ -1315,6 +1335,9 @@ function isReactive(value) {
|
|
|
1315
1335
|
function isReadonly(value) {
|
|
1316
1336
|
return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
|
|
1317
1337
|
}
|
|
1338
|
+
function isShallow(value) {
|
|
1339
|
+
return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
|
|
1340
|
+
}
|
|
1318
1341
|
function isProxy(value) {
|
|
1319
1342
|
return isReactive(value) || isReadonly(value);
|
|
1320
1343
|
}
|
|
@@ -1379,22 +1402,22 @@ function createRef(rawValue, shallow) {
|
|
|
1379
1402
|
return new RefImpl(rawValue, shallow);
|
|
1380
1403
|
}
|
|
1381
1404
|
class RefImpl {
|
|
1382
|
-
constructor(value,
|
|
1383
|
-
this.
|
|
1405
|
+
constructor(value, __v_isShallow) {
|
|
1406
|
+
this.__v_isShallow = __v_isShallow;
|
|
1384
1407
|
this.dep = undefined;
|
|
1385
1408
|
this.__v_isRef = true;
|
|
1386
|
-
this._rawValue =
|
|
1387
|
-
this._value =
|
|
1409
|
+
this._rawValue = __v_isShallow ? value : toRaw(value);
|
|
1410
|
+
this._value = __v_isShallow ? value : toReactive(value);
|
|
1388
1411
|
}
|
|
1389
1412
|
get value() {
|
|
1390
1413
|
trackRefValue(this);
|
|
1391
1414
|
return this._value;
|
|
1392
1415
|
}
|
|
1393
1416
|
set value(newVal) {
|
|
1394
|
-
newVal = this.
|
|
1417
|
+
newVal = this.__v_isShallow ? newVal : toRaw(newVal);
|
|
1395
1418
|
if (hasChanged(newVal, this._rawValue)) {
|
|
1396
1419
|
this._rawValue = newVal;
|
|
1397
|
-
this._value = this.
|
|
1420
|
+
this._value = this.__v_isShallow ? newVal : toReactive(newVal);
|
|
1398
1421
|
triggerRefValue(this, newVal);
|
|
1399
1422
|
}
|
|
1400
1423
|
}
|
|
@@ -1477,22 +1500,23 @@ class ComputedRefImpl {
|
|
|
1477
1500
|
constructor(getter, _setter, isReadonly, isSSR) {
|
|
1478
1501
|
this._setter = _setter;
|
|
1479
1502
|
this.dep = undefined;
|
|
1480
|
-
this._dirty = true;
|
|
1481
1503
|
this.__v_isRef = true;
|
|
1504
|
+
this._dirty = true;
|
|
1482
1505
|
this.effect = new ReactiveEffect(getter, () => {
|
|
1483
1506
|
if (!this._dirty) {
|
|
1484
1507
|
this._dirty = true;
|
|
1485
1508
|
triggerRefValue(this);
|
|
1486
1509
|
}
|
|
1487
1510
|
});
|
|
1488
|
-
this.effect.
|
|
1511
|
+
this.effect.computed = this;
|
|
1512
|
+
this.effect.active = this._cacheable = !isSSR;
|
|
1489
1513
|
this["__v_isReadonly" /* IS_READONLY */] = isReadonly;
|
|
1490
1514
|
}
|
|
1491
1515
|
get value() {
|
|
1492
1516
|
// the computed ref may get wrapped by other proxies e.g. readonly() #3376
|
|
1493
1517
|
const self = toRaw(this);
|
|
1494
1518
|
trackRefValue(self);
|
|
1495
|
-
if (self._dirty) {
|
|
1519
|
+
if (self._dirty || !self._cacheable) {
|
|
1496
1520
|
self._dirty = false;
|
|
1497
1521
|
self._value = self.effect.run();
|
|
1498
1522
|
}
|
|
@@ -1670,7 +1694,7 @@ const ErrorTypeStrings = {
|
|
|
1670
1694
|
[12 /* FUNCTION_REF */]: 'ref function',
|
|
1671
1695
|
[13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',
|
|
1672
1696
|
[14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +
|
|
1673
|
-
'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/
|
|
1697
|
+
'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'
|
|
1674
1698
|
};
|
|
1675
1699
|
function callWithErrorHandling(fn, instance, type, args) {
|
|
1676
1700
|
let res;
|
|
@@ -2225,7 +2249,7 @@ const deprecationData = {
|
|
|
2225
2249
|
["CONFIG_DEVTOOLS" /* CONFIG_DEVTOOLS */]: {
|
|
2226
2250
|
message: `config.devtools has been removed. To enable devtools for ` +
|
|
2227
2251
|
`production, configure the __VUE_PROD_DEVTOOLS__ compile-time flag.`,
|
|
2228
|
-
link: `https://github.com/vuejs/
|
|
2252
|
+
link: `https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags`
|
|
2229
2253
|
},
|
|
2230
2254
|
["CONFIG_KEY_CODES" /* CONFIG_KEY_CODES */]: {
|
|
2231
2255
|
message: `config.keyCodes has been removed. ` +
|
|
@@ -2412,7 +2436,7 @@ const deprecationData = {
|
|
|
2412
2436
|
(isArray(comp.props)
|
|
2413
2437
|
? comp.props.includes('modelValue')
|
|
2414
2438
|
: hasOwn(comp.props, 'modelValue'))) {
|
|
2415
|
-
return (`Component
|
|
2439
|
+
return (`Component declares "modelValue" prop, which is Vue 3 usage, but ` +
|
|
2416
2440
|
`is running under Vue 2 compat v-model behavior. You can ${configMsg}`);
|
|
2417
2441
|
}
|
|
2418
2442
|
return (`v-model usage on component has changed in Vue 3. Component that expects ` +
|
|
@@ -2645,6 +2669,7 @@ const compatModelEventPrefix = `onModelCompat:`;
|
|
|
2645
2669
|
const warnedTypes = new WeakSet();
|
|
2646
2670
|
function convertLegacyVModelProps(vnode) {
|
|
2647
2671
|
const { type, shapeFlag, props, dynamicProps } = vnode;
|
|
2672
|
+
const comp = type;
|
|
2648
2673
|
if (shapeFlag & 6 /* COMPONENT */ && props && 'modelValue' in props) {
|
|
2649
2674
|
if (!isCompatEnabled("COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */,
|
|
2650
2675
|
// this is a special case where we want to use the vnode component's
|
|
@@ -2653,16 +2678,18 @@ function convertLegacyVModelProps(vnode) {
|
|
|
2653
2678
|
{ type })) {
|
|
2654
2679
|
return;
|
|
2655
2680
|
}
|
|
2656
|
-
if ((process.env.NODE_ENV !== 'production') && !warnedTypes.has(
|
|
2681
|
+
if ((process.env.NODE_ENV !== 'production') && !warnedTypes.has(comp)) {
|
|
2657
2682
|
pushWarningContext(vnode);
|
|
2658
|
-
warnDeprecation("COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */, { type },
|
|
2683
|
+
warnDeprecation("COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */, { type }, comp);
|
|
2659
2684
|
popWarningContext();
|
|
2660
|
-
warnedTypes.add(
|
|
2685
|
+
warnedTypes.add(comp);
|
|
2661
2686
|
}
|
|
2662
2687
|
// v3 compiled model code -> v2 compat props
|
|
2663
2688
|
// modelValue -> value
|
|
2664
2689
|
// onUpdate:modelValue -> onModelCompat:input
|
|
2665
|
-
const
|
|
2690
|
+
const model = comp.model || {};
|
|
2691
|
+
applyModelFromMixins(model, comp.mixins);
|
|
2692
|
+
const { prop = 'value', event = 'input' } = model;
|
|
2666
2693
|
if (prop !== 'modelValue') {
|
|
2667
2694
|
props[prop] = props.modelValue;
|
|
2668
2695
|
delete props.modelValue;
|
|
@@ -2675,6 +2702,16 @@ function convertLegacyVModelProps(vnode) {
|
|
|
2675
2702
|
delete props['onUpdate:modelValue'];
|
|
2676
2703
|
}
|
|
2677
2704
|
}
|
|
2705
|
+
function applyModelFromMixins(model, mixins) {
|
|
2706
|
+
if (mixins) {
|
|
2707
|
+
mixins.forEach(m => {
|
|
2708
|
+
if (m.model)
|
|
2709
|
+
extend(model, m.model);
|
|
2710
|
+
if (m.mixins)
|
|
2711
|
+
applyModelFromMixins(model, m.mixins);
|
|
2712
|
+
});
|
|
2713
|
+
}
|
|
2714
|
+
}
|
|
2678
2715
|
function compatModelEmit(instance, event, args) {
|
|
2679
2716
|
if (!isCompatEnabled("COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */, instance)) {
|
|
2680
2717
|
return;
|
|
@@ -3678,7 +3715,7 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
|
|
|
3678
3715
|
if (instance) {
|
|
3679
3716
|
// #2400
|
|
3680
3717
|
// to support `app.use` plugins,
|
|
3681
|
-
// fallback to appContext's `provides` if the
|
|
3718
|
+
// fallback to appContext's `provides` if the instance is at root
|
|
3682
3719
|
const provides = instance.parent == null
|
|
3683
3720
|
? instance.vnode.appContext && instance.vnode.appContext.provides
|
|
3684
3721
|
: instance.parent.provides;
|
|
@@ -3746,7 +3783,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3746
3783
|
let isMultiSource = false;
|
|
3747
3784
|
if (isRef(source)) {
|
|
3748
3785
|
getter = () => source.value;
|
|
3749
|
-
forceTrigger =
|
|
3786
|
+
forceTrigger = isShallow(source);
|
|
3750
3787
|
}
|
|
3751
3788
|
else if (isReactive(source)) {
|
|
3752
3789
|
getter = () => source;
|
|
@@ -4658,7 +4695,7 @@ function matches(pattern, name) {
|
|
|
4658
4695
|
return pattern.some((p) => matches(p, name));
|
|
4659
4696
|
}
|
|
4660
4697
|
else if (isString(pattern)) {
|
|
4661
|
-
return pattern.split(',').
|
|
4698
|
+
return pattern.split(',').includes(name);
|
|
4662
4699
|
}
|
|
4663
4700
|
else if (pattern.test) {
|
|
4664
4701
|
return pattern.test(name);
|
|
@@ -4930,7 +4967,7 @@ function applyOptions(instance) {
|
|
|
4930
4967
|
warn$1(`Write operation failed: computed property "${key}" is readonly.`);
|
|
4931
4968
|
}
|
|
4932
4969
|
: NOOP;
|
|
4933
|
-
const c = computed({
|
|
4970
|
+
const c = computed$1({
|
|
4934
4971
|
get,
|
|
4935
4972
|
set
|
|
4936
4973
|
});
|
|
@@ -5414,7 +5451,9 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
5414
5451
|
// attrs point to the same object so it should already have been updated.
|
|
5415
5452
|
if (attrs !== rawCurrentProps) {
|
|
5416
5453
|
for (const key in attrs) {
|
|
5417
|
-
if (!rawProps ||
|
|
5454
|
+
if (!rawProps ||
|
|
5455
|
+
(!hasOwn(rawProps, key) &&
|
|
5456
|
+
(!hasOwn(rawProps, key + 'Native')))) {
|
|
5418
5457
|
delete attrs[key];
|
|
5419
5458
|
hasAttrsChanged = true;
|
|
5420
5459
|
}
|
|
@@ -6054,7 +6093,7 @@ function createCompatVue(createApp, createSingletonApp) {
|
|
|
6054
6093
|
return vm;
|
|
6055
6094
|
}
|
|
6056
6095
|
}
|
|
6057
|
-
Vue.version = "3.2.
|
|
6096
|
+
Vue.version = `2.6.14-compat:${"3.2.28"}`;
|
|
6058
6097
|
Vue.config = singletonApp.config;
|
|
6059
6098
|
Vue.use = (p, ...options) => {
|
|
6060
6099
|
if (p && isFunction(p.install)) {
|
|
@@ -7052,6 +7091,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7052
7091
|
return [hydrate, hydrateNode];
|
|
7053
7092
|
}
|
|
7054
7093
|
|
|
7094
|
+
/* eslint-disable no-restricted-globals */
|
|
7055
7095
|
let supported;
|
|
7056
7096
|
let perf;
|
|
7057
7097
|
function startMeasure(instance, type) {
|
|
@@ -7079,7 +7119,6 @@ function isSupported() {
|
|
|
7079
7119
|
if (supported !== undefined) {
|
|
7080
7120
|
return supported;
|
|
7081
7121
|
}
|
|
7082
|
-
/* eslint-disable no-restricted-globals */
|
|
7083
7122
|
if (typeof window !== 'undefined' && window.performance) {
|
|
7084
7123
|
supported = true;
|
|
7085
7124
|
perf = window.performance;
|
|
@@ -7087,7 +7126,6 @@ function isSupported() {
|
|
|
7087
7126
|
else {
|
|
7088
7127
|
supported = false;
|
|
7089
7128
|
}
|
|
7090
|
-
/* eslint-enable no-restricted-globals */
|
|
7091
7129
|
return supported;
|
|
7092
7130
|
}
|
|
7093
7131
|
|
|
@@ -9380,7 +9418,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
9380
9418
|
shapeFlag: vnode.shapeFlag,
|
|
9381
9419
|
// if the vnode is cloned with extra props, we can no longer assume its
|
|
9382
9420
|
// existing patch flag to be reliable and need to add the FULL_PROPS flag.
|
|
9383
|
-
// note:
|
|
9421
|
+
// note: preserve flag for fragments since they use the flag for children
|
|
9384
9422
|
// fast paths only.
|
|
9385
9423
|
patchFlag: extraProps && vnode.type !== Fragment
|
|
9386
9424
|
? patchFlag === -1 // hoisted node
|
|
@@ -9545,7 +9583,8 @@ function mergeProps(...args) {
|
|
|
9545
9583
|
else if (isOn(key)) {
|
|
9546
9584
|
const existing = ret[key];
|
|
9547
9585
|
const incoming = toMerge[key];
|
|
9548
|
-
if (
|
|
9586
|
+
if (incoming &&
|
|
9587
|
+
existing !== incoming &&
|
|
9549
9588
|
!(isArray(existing) && existing.includes(incoming))) {
|
|
9550
9589
|
ret[key] = existing
|
|
9551
9590
|
? [].concat(existing, incoming)
|
|
@@ -9821,7 +9860,7 @@ function legacyCheckKeyCodes(instance, eventKeyCode, key, builtInKeyCode, eventK
|
|
|
9821
9860
|
}
|
|
9822
9861
|
function isKeyNotMatch(expect, actual) {
|
|
9823
9862
|
if (isArray(expect)) {
|
|
9824
|
-
return expect.
|
|
9863
|
+
return !expect.includes(actual);
|
|
9825
9864
|
}
|
|
9826
9865
|
else {
|
|
9827
9866
|
return expect !== actual;
|
|
@@ -9900,7 +9939,7 @@ function installCompatInstanceProperties(map) {
|
|
|
9900
9939
|
extend(map, {
|
|
9901
9940
|
// needed by many libs / render fns
|
|
9902
9941
|
$vnode: i => i.vnode,
|
|
9903
|
-
// inject
|
|
9942
|
+
// inject additional properties into $options for compat
|
|
9904
9943
|
// e.g. vuex needs this.$options.parent
|
|
9905
9944
|
$options: i => {
|
|
9906
9945
|
const res = extend({}, resolveMergedOptions(i));
|
|
@@ -10656,7 +10695,7 @@ function defineEmits() {
|
|
|
10656
10695
|
* instance properties when it is accessed by a parent component via template
|
|
10657
10696
|
* refs.
|
|
10658
10697
|
*
|
|
10659
|
-
* `<script setup>` components are closed by default - i.e.
|
|
10698
|
+
* `<script setup>` components are closed by default - i.e. variables inside
|
|
10660
10699
|
* the `<script setup>` scope is not exposed to parent unless explicitly exposed
|
|
10661
10700
|
* via `defineExpose`.
|
|
10662
10701
|
*
|
|
@@ -10859,7 +10898,7 @@ function initCustomFormatter() {
|
|
|
10859
10898
|
return [
|
|
10860
10899
|
'div',
|
|
10861
10900
|
{},
|
|
10862
|
-
['span', vueStyle, 'Reactive'],
|
|
10901
|
+
['span', vueStyle, isShallow(obj) ? 'ShallowReactive' : 'Reactive'],
|
|
10863
10902
|
'<',
|
|
10864
10903
|
formatValue(obj),
|
|
10865
10904
|
`>${isReadonly(obj) ? ` (readonly)` : ``}`
|
|
@@ -10869,7 +10908,7 @@ function initCustomFormatter() {
|
|
|
10869
10908
|
return [
|
|
10870
10909
|
'div',
|
|
10871
10910
|
{},
|
|
10872
|
-
['span', vueStyle, 'Readonly'],
|
|
10911
|
+
['span', vueStyle, isShallow(obj) ? 'ShallowReadonly' : 'Readonly'],
|
|
10873
10912
|
'<',
|
|
10874
10913
|
formatValue(obj),
|
|
10875
10914
|
'>'
|
|
@@ -10998,7 +11037,7 @@ function initCustomFormatter() {
|
|
|
10998
11037
|
}
|
|
10999
11038
|
}
|
|
11000
11039
|
function genRefFlag(v) {
|
|
11001
|
-
if (v
|
|
11040
|
+
if (isShallow(v)) {
|
|
11002
11041
|
return `ShallowRef`;
|
|
11003
11042
|
}
|
|
11004
11043
|
if (v.effect) {
|
|
@@ -11042,7 +11081,7 @@ function isMemoSame(cached, memo) {
|
|
|
11042
11081
|
}
|
|
11043
11082
|
|
|
11044
11083
|
// Core API ------------------------------------------------------------------
|
|
11045
|
-
const version = "3.2.
|
|
11084
|
+
const version = "3.2.28";
|
|
11046
11085
|
const _ssrUtils = {
|
|
11047
11086
|
createComponentInstance,
|
|
11048
11087
|
setupComponent,
|
|
@@ -11482,7 +11521,7 @@ function patchStopImmediatePropagation(e, value) {
|
|
|
11482
11521
|
originalStop.call(e);
|
|
11483
11522
|
e._stopped = true;
|
|
11484
11523
|
};
|
|
11485
|
-
return value.map(fn => (e) => !e._stopped && fn(e));
|
|
11524
|
+
return value.map(fn => (e) => !e._stopped && fn && fn(e));
|
|
11486
11525
|
}
|
|
11487
11526
|
else {
|
|
11488
11527
|
return value;
|
|
@@ -12903,6 +12942,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
|
|
|
12903
12942
|
isProxy: isProxy,
|
|
12904
12943
|
isReactive: isReactive,
|
|
12905
12944
|
isReadonly: isReadonly,
|
|
12945
|
+
isShallow: isShallow,
|
|
12906
12946
|
customRef: customRef,
|
|
12907
12947
|
triggerRef: triggerRef,
|
|
12908
12948
|
shallowRef: shallowRef,
|
|
@@ -14251,7 +14291,7 @@ function parseAttributes(context, type) {
|
|
|
14251
14291
|
}
|
|
14252
14292
|
const attr = parseAttribute(context, attributeNames);
|
|
14253
14293
|
// Trim whitespace between class
|
|
14254
|
-
// https://github.com/vuejs/
|
|
14294
|
+
// https://github.com/vuejs/core/issues/4251
|
|
14255
14295
|
if (attr.type === 6 /* ATTRIBUTE */ &&
|
|
14256
14296
|
attr.value &&
|
|
14257
14297
|
attr.name === 'class') {
|
|
@@ -14487,7 +14527,7 @@ function parseTextData(context, length, mode) {
|
|
|
14487
14527
|
advanceBy(context, length);
|
|
14488
14528
|
if (mode === 2 /* RAWTEXT */ ||
|
|
14489
14529
|
mode === 3 /* CDATA */ ||
|
|
14490
|
-
rawText.
|
|
14530
|
+
!rawText.includes('&')) {
|
|
14491
14531
|
return rawText;
|
|
14492
14532
|
}
|
|
14493
14533
|
else {
|
|
@@ -16014,6 +16054,7 @@ const transformFor = createStructuralDirectiveTransform('for', (node, dir, conte
|
|
|
16014
16054
|
const renderExp = createCallExpression(helper(RENDER_LIST), [
|
|
16015
16055
|
forNode.source
|
|
16016
16056
|
]);
|
|
16057
|
+
const isTemplate = isTemplateNode(node);
|
|
16017
16058
|
const memo = findDir(node, 'memo');
|
|
16018
16059
|
const keyProp = findProp(node, `key`);
|
|
16019
16060
|
const keyExp = keyProp &&
|
|
@@ -16033,7 +16074,6 @@ const transformFor = createStructuralDirectiveTransform('for', (node, dir, conte
|
|
|
16033
16074
|
return () => {
|
|
16034
16075
|
// finish the codegen now that all children have been traversed
|
|
16035
16076
|
let childBlock;
|
|
16036
|
-
const isTemplate = isTemplateNode(node);
|
|
16037
16077
|
const { children } = forNode;
|
|
16038
16078
|
// check <template v-for> key placement
|
|
16039
16079
|
if (((process.env.NODE_ENV !== 'production') || !true) && isTemplate) {
|
|
@@ -18187,4 +18227,4 @@ Vue.compile = compileToFunction;
|
|
|
18187
18227
|
const { configureCompat: configureCompat$1 } = Vue;
|
|
18188
18228
|
|
|
18189
18229
|
export default Vue;
|
|
18190
|
-
export { BaseTransition, Comment, EffectScope, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, Transition, TransitionGroup, VueElement, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed$1 as computed, configureCompat$1 as configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineProps, defineSSRCustomElement, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isVNode, markRaw, mergeDefaults, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter$1 as resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn$1 as warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
|
|
18230
|
+
export { BaseTransition, Comment, EffectScope, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, Transition, TransitionGroup, VueElement, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed$1 as computed, configureCompat$1 as configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineProps, defineSSRCustomElement, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter$1 as resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn$1 as warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
|