@vue/compat 3.5.39 → 3.5.40

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.39
2
+ * @vue/compat v3.5.40
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -376,8 +376,9 @@ class EffectScope {
376
376
  this._isPaused = true;
377
377
  let i, l;
378
378
  if (this.scopes) {
379
- for (i = 0, l = this.scopes.length; i < l; i++) {
380
- this.scopes[i].pause();
379
+ const scopes = this.scopes.slice();
380
+ for (i = 0, l = scopes.length; i < l; i++) {
381
+ scopes[i].pause();
381
382
  }
382
383
  }
383
384
  for (i = 0, l = this.effects.length; i < l; i++) {
@@ -394,12 +395,14 @@ class EffectScope {
394
395
  this._isPaused = false;
395
396
  let i, l;
396
397
  if (this.scopes) {
397
- for (i = 0, l = this.scopes.length; i < l; i++) {
398
- this.scopes[i].resume();
398
+ const scopes = this.scopes.slice();
399
+ for (i = 0, l = scopes.length; i < l; i++) {
400
+ scopes[i].resume();
399
401
  }
400
402
  }
401
- for (i = 0, l = this.effects.length; i < l; i++) {
402
- this.effects[i].resume();
403
+ const effects = this.effects.slice();
404
+ for (i = 0, l = effects.length; i < l; i++) {
405
+ effects[i].resume();
403
406
  }
404
407
  }
405
408
  }
@@ -461,8 +464,9 @@ class EffectScope {
461
464
  }
462
465
  this.cleanups.length = 0;
463
466
  if (this.scopes) {
464
- for (i = 0, l = this.scopes.length; i < l; i++) {
465
- this.scopes[i].stop(true);
467
+ const scopes = this.scopes.slice();
468
+ for (i = 0, l = scopes.length; i < l; i++) {
469
+ scopes[i].stop(true);
466
470
  }
467
471
  this.scopes.length = 0;
468
472
  }
@@ -3402,10 +3406,12 @@ function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
3402
3406
  setBlockTracking(-1);
3403
3407
  }
3404
3408
  const prevInstance = setCurrentRenderingInstance(ctx);
3409
+ const prevStackSize = blockStack.length;
3405
3410
  let res;
3406
3411
  try {
3407
3412
  res = fn(...args);
3408
3413
  } finally {
3414
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
3409
3415
  setCurrentRenderingInstance(prevInstance);
3410
3416
  if (renderFnWithContext._d) {
3411
3417
  setBlockTracking(1);
@@ -4567,12 +4573,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4567
4573
  }
4568
4574
  }
4569
4575
  if (isFunction(ref)) {
4570
- pauseTracking();
4571
- try {
4572
- callWithErrorHandling(ref, owner, 12, [value, refs]);
4573
- } finally {
4574
- resetTracking();
4575
- }
4576
+ callWithErrorHandling(ref, owner, 12, [value, refs]);
4576
4577
  } else {
4577
4578
  const _isString = isString(ref);
4578
4579
  const _isRef = isRef(ref);
@@ -4944,6 +4945,7 @@ Server rendered element contains more child nodes than client vdom.`
4944
4945
  if (props) {
4945
4946
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || hasDynamicProps || !optimized || patchFlag & (16 | 32)) {
4946
4947
  const isCustomElement = el.tagName.includes("-");
4948
+ const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
4947
4949
  for (const key in props) {
4948
4950
  if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks
4949
4951
  // as it could have mutated the DOM in any possible way
@@ -4952,7 +4954,7 @@ Server rendered element contains more child nodes than client vdom.`
4952
4954
  }
4953
4955
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4954
4956
  key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
4955
- patchProp(el, key, null, props[key], void 0, parentComponent);
4957
+ patchProp(el, key, null, props[key], namespace, parentComponent);
4956
4958
  }
4957
4959
  }
4958
4960
  } else if (props.onClick) {
@@ -5466,6 +5468,7 @@ function defineAsyncComponent(source) {
5466
5468
  name: "AsyncComponentWrapper",
5467
5469
  __asyncLoader: load,
5468
5470
  __asyncHydrate(el, instance, hydrate) {
5471
+ const wasConnected = el.isConnected;
5469
5472
  let patched = false;
5470
5473
  (instance.bu || (instance.bu = [])).push(() => patched = true);
5471
5474
  const performHydrate = () => {
@@ -5477,6 +5480,7 @@ function defineAsyncComponent(source) {
5477
5480
  }
5478
5481
  return;
5479
5482
  }
5483
+ if (!el.parentNode || wasConnected && !el.isConnected) return;
5480
5484
  hydrate();
5481
5485
  };
5482
5486
  const doHydrate = hydrateStrategy ? () => {
@@ -6326,14 +6330,15 @@ function createSlots(slots, dynamicSlots) {
6326
6330
  return slots;
6327
6331
  }
6328
6332
 
6329
- function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6333
+ function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
6330
6334
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
6331
- const hasProps = Object.keys(props).length > 0;
6332
- if (name !== "default") props.name = name;
6335
+ const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
6336
+ const hasProps = Object.keys(slotProps).length > 0;
6337
+ if (name !== "default") slotProps.name = name;
6333
6338
  return openBlock(), createBlock(
6334
6339
  Fragment,
6335
6340
  null,
6336
- [createVNode("slot", props, fallback && fallback())],
6341
+ [createVNode("slot", slotProps, fallback && fallback())],
6337
6342
  hasProps ? -2 : 64
6338
6343
  );
6339
6344
  }
@@ -6347,26 +6352,34 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6347
6352
  if (slot && slot._c) {
6348
6353
  slot._d = false;
6349
6354
  }
6355
+ const prevStackSize = blockStack.length;
6350
6356
  openBlock();
6351
- const validSlotContent = slot && ensureValidVNode(slot(props));
6352
- const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch
6353
- // key attached in the `createSlots` helper, respect that
6354
- validSlotContent && validSlotContent.key;
6355
- const rendered = createBlock(
6356
- Fragment,
6357
- {
6358
- key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
6359
- (!validSlotContent && fallback ? "_fb" : "")
6360
- },
6361
- validSlotContent || (fallback ? fallback() : []),
6362
- validSlotContent && slots._ === 1 ? 64 : -2
6363
- );
6357
+ let rendered;
6358
+ try {
6359
+ const validSlotContent = slot && ensureValidVNode(slot(props));
6360
+ const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch
6361
+ // key attached in the `createSlots` helper, respect that
6362
+ validSlotContent && validSlotContent.key;
6363
+ rendered = createBlock(
6364
+ Fragment,
6365
+ {
6366
+ key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
6367
+ (!validSlotContent && fallback ? "_fb" : "")
6368
+ },
6369
+ validSlotContent || (fallback ? fallback() : []),
6370
+ validSlotContent && slots._ === 1 ? 64 : -2
6371
+ );
6372
+ } catch (err) {
6373
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
6374
+ throw err;
6375
+ } finally {
6376
+ if (slot && slot._c) {
6377
+ slot._d = true;
6378
+ }
6379
+ }
6364
6380
  if (!noSlotted && rendered.scopeId) {
6365
6381
  rendered.slotScopeIds = [rendered.scopeId + "-s"];
6366
6382
  }
6367
- if (slot && slot._c) {
6368
- slot._d = true;
6369
- }
6370
6383
  return rendered;
6371
6384
  }
6372
6385
  function ensureValidVNode(vnodes) {
@@ -7546,7 +7559,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7546
7559
  return vm;
7547
7560
  }
7548
7561
  }
7549
- Vue.version = `2.6.14-compat:${"3.5.39"}`;
7562
+ Vue.version = `2.6.14-compat:${"3.5.40"}`;
7550
7563
  Vue.config = singletonApp.config;
7551
7564
  Vue.use = (plugin, ...options) => {
7552
7565
  if (plugin && isFunction(plugin.install)) {
@@ -12752,7 +12765,7 @@ function isMemoSame(cached, memo) {
12752
12765
  return true;
12753
12766
  }
12754
12767
 
12755
- const version = "3.5.39";
12768
+ const version = "3.5.40";
12756
12769
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12757
12770
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12758
12771
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -14552,13 +14565,13 @@ const vModelSelect = {
14552
14565
  // <select multiple> value need to be deep traversed
14553
14566
  deep: true,
14554
14567
  created(el, { value, modifiers: { number } }, vnode) {
14555
- const isSetModel = isSet(value);
14568
+ el._modelValue = value;
14556
14569
  addEventListener(el, "change", () => {
14557
14570
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
14558
14571
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
14559
14572
  );
14560
14573
  el[assignKey](
14561
- el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
14574
+ el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]
14562
14575
  );
14563
14576
  el._assigning = true;
14564
14577
  nextTick(() => {
@@ -14572,7 +14585,8 @@ const vModelSelect = {
14572
14585
  mounted(el, { value }) {
14573
14586
  setSelected(el, value);
14574
14587
  },
14575
- beforeUpdate(el, _binding, vnode) {
14588
+ beforeUpdate(el, { value }, vnode) {
14589
+ el._modelValue = value;
14576
14590
  el[assignKey] = getModelAssigner(vnode);
14577
14591
  },
14578
14592
  updated(el, { value }) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.39
2
+ * @vue/compat v3.5.40
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -379,8 +379,9 @@ var Vue = (function () {
379
379
  this._isPaused = true;
380
380
  let i, l;
381
381
  if (this.scopes) {
382
- for (i = 0, l = this.scopes.length; i < l; i++) {
383
- this.scopes[i].pause();
382
+ const scopes = this.scopes.slice();
383
+ for (i = 0, l = scopes.length; i < l; i++) {
384
+ scopes[i].pause();
384
385
  }
385
386
  }
386
387
  for (i = 0, l = this.effects.length; i < l; i++) {
@@ -397,12 +398,14 @@ var Vue = (function () {
397
398
  this._isPaused = false;
398
399
  let i, l;
399
400
  if (this.scopes) {
400
- for (i = 0, l = this.scopes.length; i < l; i++) {
401
- this.scopes[i].resume();
401
+ const scopes = this.scopes.slice();
402
+ for (i = 0, l = scopes.length; i < l; i++) {
403
+ scopes[i].resume();
402
404
  }
403
405
  }
404
- for (i = 0, l = this.effects.length; i < l; i++) {
405
- this.effects[i].resume();
406
+ const effects = this.effects.slice();
407
+ for (i = 0, l = effects.length; i < l; i++) {
408
+ effects[i].resume();
406
409
  }
407
410
  }
408
411
  }
@@ -464,8 +467,9 @@ var Vue = (function () {
464
467
  }
465
468
  this.cleanups.length = 0;
466
469
  if (this.scopes) {
467
- for (i = 0, l = this.scopes.length; i < l; i++) {
468
- this.scopes[i].stop(true);
470
+ const scopes = this.scopes.slice();
471
+ for (i = 0, l = scopes.length; i < l; i++) {
472
+ scopes[i].stop(true);
469
473
  }
470
474
  this.scopes.length = 0;
471
475
  }
@@ -3387,10 +3391,12 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3387
3391
  setBlockTracking(-1);
3388
3392
  }
3389
3393
  const prevInstance = setCurrentRenderingInstance(ctx);
3394
+ const prevStackSize = blockStack.length;
3390
3395
  let res;
3391
3396
  try {
3392
3397
  res = fn(...args);
3393
3398
  } finally {
3399
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
3394
3400
  setCurrentRenderingInstance(prevInstance);
3395
3401
  if (renderFnWithContext._d) {
3396
3402
  setBlockTracking(1);
@@ -4523,12 +4529,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4523
4529
  }
4524
4530
  }
4525
4531
  if (isFunction(ref)) {
4526
- pauseTracking();
4527
- try {
4528
- callWithErrorHandling(ref, owner, 12, [value, refs]);
4529
- } finally {
4530
- resetTracking();
4531
- }
4532
+ callWithErrorHandling(ref, owner, 12, [value, refs]);
4532
4533
  } else {
4533
4534
  const _isString = isString(ref);
4534
4535
  const _isRef = isRef(ref);
@@ -4899,6 +4900,7 @@ Server rendered element contains more child nodes than client vdom.`
4899
4900
  if (props) {
4900
4901
  {
4901
4902
  const isCustomElement = el.tagName.includes("-");
4903
+ const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
4902
4904
  for (const key in props) {
4903
4905
  if (// #11189 skip if this node has directives that have created hooks
4904
4906
  // as it could have mutated the DOM in any possible way
@@ -4907,7 +4909,7 @@ Server rendered element contains more child nodes than client vdom.`
4907
4909
  }
4908
4910
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4909
4911
  key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
4910
- patchProp(el, key, null, props[key], void 0, parentComponent);
4912
+ patchProp(el, key, null, props[key], namespace, parentComponent);
4911
4913
  }
4912
4914
  }
4913
4915
  }
@@ -5410,6 +5412,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5410
5412
  name: "AsyncComponentWrapper",
5411
5413
  __asyncLoader: load,
5412
5414
  __asyncHydrate(el, instance, hydrate) {
5415
+ const wasConnected = el.isConnected;
5413
5416
  let patched = false;
5414
5417
  (instance.bu || (instance.bu = [])).push(() => patched = true);
5415
5418
  const performHydrate = () => {
@@ -5421,6 +5424,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5421
5424
  }
5422
5425
  return;
5423
5426
  }
5427
+ if (!el.parentNode || wasConnected && !el.isConnected) return;
5424
5428
  hydrate();
5425
5429
  };
5426
5430
  const doHydrate = hydrateStrategy ? () => {
@@ -6264,14 +6268,15 @@ If this is a native custom element, make sure to exclude it from component resol
6264
6268
  return slots;
6265
6269
  }
6266
6270
 
6267
- function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6271
+ function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
6268
6272
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
6269
- const hasProps = Object.keys(props).length > 0;
6270
- if (name !== "default") props.name = name;
6273
+ const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
6274
+ const hasProps = Object.keys(slotProps).length > 0;
6275
+ if (name !== "default") slotProps.name = name;
6271
6276
  return openBlock(), createBlock(
6272
6277
  Fragment,
6273
6278
  null,
6274
- [createVNode("slot", props, fallback && fallback())],
6279
+ [createVNode("slot", slotProps, fallback && fallback())],
6275
6280
  hasProps ? -2 : 64
6276
6281
  );
6277
6282
  }
@@ -6285,26 +6290,34 @@ If this is a native custom element, make sure to exclude it from component resol
6285
6290
  if (slot && slot._c) {
6286
6291
  slot._d = false;
6287
6292
  }
6293
+ const prevStackSize = blockStack.length;
6288
6294
  openBlock();
6289
- const validSlotContent = slot && ensureValidVNode(slot(props));
6290
- const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch
6291
- // key attached in the `createSlots` helper, respect that
6292
- validSlotContent && validSlotContent.key;
6293
- const rendered = createBlock(
6294
- Fragment,
6295
- {
6296
- key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
6297
- (!validSlotContent && fallback ? "_fb" : "")
6298
- },
6299
- validSlotContent || (fallback ? fallback() : []),
6300
- validSlotContent && slots._ === 1 ? 64 : -2
6301
- );
6295
+ let rendered;
6296
+ try {
6297
+ const validSlotContent = slot && ensureValidVNode(slot(props));
6298
+ const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch
6299
+ // key attached in the `createSlots` helper, respect that
6300
+ validSlotContent && validSlotContent.key;
6301
+ rendered = createBlock(
6302
+ Fragment,
6303
+ {
6304
+ key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
6305
+ (!validSlotContent && fallback ? "_fb" : "")
6306
+ },
6307
+ validSlotContent || (fallback ? fallback() : []),
6308
+ validSlotContent && slots._ === 1 ? 64 : -2
6309
+ );
6310
+ } catch (err) {
6311
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
6312
+ throw err;
6313
+ } finally {
6314
+ if (slot && slot._c) {
6315
+ slot._d = true;
6316
+ }
6317
+ }
6302
6318
  if (!noSlotted && rendered.scopeId) {
6303
6319
  rendered.slotScopeIds = [rendered.scopeId + "-s"];
6304
6320
  }
6305
- if (slot && slot._c) {
6306
- slot._d = true;
6307
- }
6308
6321
  return rendered;
6309
6322
  }
6310
6323
  function ensureValidVNode(vnodes) {
@@ -7479,7 +7492,7 @@ If this is a native custom element, make sure to exclude it from component resol
7479
7492
  return vm;
7480
7493
  }
7481
7494
  }
7482
- Vue.version = `2.6.14-compat:${"3.5.39"}`;
7495
+ Vue.version = `2.6.14-compat:${"3.5.40"}`;
7483
7496
  Vue.config = singletonApp.config;
7484
7497
  Vue.use = (plugin, ...options) => {
7485
7498
  if (plugin && isFunction(plugin.install)) {
@@ -12617,7 +12630,7 @@ Component that was made reactive: `,
12617
12630
  return true;
12618
12631
  }
12619
12632
 
12620
- const version = "3.5.39";
12633
+ const version = "3.5.40";
12621
12634
  const warn = warn$1 ;
12622
12635
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12623
12636
  const devtools = devtools$1 ;
@@ -14386,13 +14399,13 @@ Expected function or array of functions, received type ${typeof value}.`
14386
14399
  // <select multiple> value need to be deep traversed
14387
14400
  deep: true,
14388
14401
  created(el, { value, modifiers: { number } }, vnode) {
14389
- const isSetModel = isSet(value);
14402
+ el._modelValue = value;
14390
14403
  addEventListener(el, "change", () => {
14391
14404
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
14392
14405
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
14393
14406
  );
14394
14407
  el[assignKey](
14395
- el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
14408
+ el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]
14396
14409
  );
14397
14410
  el._assigning = true;
14398
14411
  nextTick(() => {
@@ -14406,7 +14419,8 @@ Expected function or array of functions, received type ${typeof value}.`
14406
14419
  mounted(el, { value }) {
14407
14420
  setSelected(el, value);
14408
14421
  },
14409
- beforeUpdate(el, _binding, vnode) {
14422
+ beforeUpdate(el, { value }, vnode) {
14423
+ el._modelValue = value;
14410
14424
  el[assignKey] = getModelAssigner(vnode);
14411
14425
  },
14412
14426
  updated(el, { value }) {