@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
  **/
@@ -449,8 +449,9 @@ class EffectScope {
449
449
  this._isPaused = true;
450
450
  let i, l;
451
451
  if (this.scopes) {
452
- for (i = 0, l = this.scopes.length; i < l; i++) {
453
- this.scopes[i].pause();
452
+ const scopes = this.scopes.slice();
453
+ for (i = 0, l = scopes.length; i < l; i++) {
454
+ scopes[i].pause();
454
455
  }
455
456
  }
456
457
  for (i = 0, l = this.effects.length; i < l; i++) {
@@ -467,12 +468,14 @@ class EffectScope {
467
468
  this._isPaused = false;
468
469
  let i, l;
469
470
  if (this.scopes) {
470
- for (i = 0, l = this.scopes.length; i < l; i++) {
471
- this.scopes[i].resume();
471
+ const scopes = this.scopes.slice();
472
+ for (i = 0, l = scopes.length; i < l; i++) {
473
+ scopes[i].resume();
472
474
  }
473
475
  }
474
- for (i = 0, l = this.effects.length; i < l; i++) {
475
- this.effects[i].resume();
476
+ const effects = this.effects.slice();
477
+ for (i = 0, l = effects.length; i < l; i++) {
478
+ effects[i].resume();
476
479
  }
477
480
  }
478
481
  }
@@ -534,8 +537,9 @@ class EffectScope {
534
537
  }
535
538
  this.cleanups.length = 0;
536
539
  if (this.scopes) {
537
- for (i = 0, l = this.scopes.length; i < l; i++) {
538
- this.scopes[i].stop(true);
540
+ const scopes = this.scopes.slice();
541
+ for (i = 0, l = scopes.length; i < l; i++) {
542
+ scopes[i].stop(true);
539
543
  }
540
544
  this.scopes.length = 0;
541
545
  }
@@ -3475,10 +3479,12 @@ function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
3475
3479
  setBlockTracking(-1);
3476
3480
  }
3477
3481
  const prevInstance = setCurrentRenderingInstance(ctx);
3482
+ const prevStackSize = blockStack.length;
3478
3483
  let res;
3479
3484
  try {
3480
3485
  res = fn(...args);
3481
3486
  } finally {
3487
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
3482
3488
  setCurrentRenderingInstance(prevInstance);
3483
3489
  if (renderFnWithContext._d) {
3484
3490
  setBlockTracking(1);
@@ -4640,12 +4646,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4640
4646
  }
4641
4647
  }
4642
4648
  if (isFunction(ref)) {
4643
- pauseTracking();
4644
- try {
4645
- callWithErrorHandling(ref, owner, 12, [value, refs]);
4646
- } finally {
4647
- resetTracking();
4648
- }
4649
+ callWithErrorHandling(ref, owner, 12, [value, refs]);
4649
4650
  } else {
4650
4651
  const _isString = isString(ref);
4651
4652
  const _isRef = isRef(ref);
@@ -5017,6 +5018,7 @@ Server rendered element contains more child nodes than client vdom.`
5017
5018
  if (props) {
5018
5019
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || hasDynamicProps || !optimized || patchFlag & (16 | 32)) {
5019
5020
  const isCustomElement = el.tagName.includes("-");
5021
+ const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
5020
5022
  for (const key in props) {
5021
5023
  if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks
5022
5024
  // as it could have mutated the DOM in any possible way
@@ -5025,7 +5027,7 @@ Server rendered element contains more child nodes than client vdom.`
5025
5027
  }
5026
5028
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
5027
5029
  key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
5028
- patchProp(el, key, null, props[key], void 0, parentComponent);
5030
+ patchProp(el, key, null, props[key], namespace, parentComponent);
5029
5031
  }
5030
5032
  }
5031
5033
  } else if (props.onClick) {
@@ -5539,6 +5541,7 @@ function defineAsyncComponent(source) {
5539
5541
  name: "AsyncComponentWrapper",
5540
5542
  __asyncLoader: load,
5541
5543
  __asyncHydrate(el, instance, hydrate) {
5544
+ const wasConnected = el.isConnected;
5542
5545
  let patched = false;
5543
5546
  (instance.bu || (instance.bu = [])).push(() => patched = true);
5544
5547
  const performHydrate = () => {
@@ -5550,6 +5553,7 @@ function defineAsyncComponent(source) {
5550
5553
  }
5551
5554
  return;
5552
5555
  }
5556
+ if (!el.parentNode || wasConnected && !el.isConnected) return;
5553
5557
  hydrate();
5554
5558
  };
5555
5559
  const doHydrate = hydrateStrategy ? () => {
@@ -6399,14 +6403,15 @@ function createSlots(slots, dynamicSlots) {
6399
6403
  return slots;
6400
6404
  }
6401
6405
 
6402
- function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6406
+ function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
6403
6407
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
6404
- const hasProps = Object.keys(props).length > 0;
6405
- if (name !== "default") props.name = name;
6408
+ const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
6409
+ const hasProps = Object.keys(slotProps).length > 0;
6410
+ if (name !== "default") slotProps.name = name;
6406
6411
  return openBlock(), createBlock(
6407
6412
  Fragment,
6408
6413
  null,
6409
- [createVNode("slot", props, fallback && fallback())],
6414
+ [createVNode("slot", slotProps, fallback && fallback())],
6410
6415
  hasProps ? -2 : 64
6411
6416
  );
6412
6417
  }
@@ -6420,26 +6425,34 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6420
6425
  if (slot && slot._c) {
6421
6426
  slot._d = false;
6422
6427
  }
6428
+ const prevStackSize = blockStack.length;
6423
6429
  openBlock();
6424
- const validSlotContent = slot && ensureValidVNode(slot(props));
6425
- const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch
6426
- // key attached in the `createSlots` helper, respect that
6427
- validSlotContent && validSlotContent.key;
6428
- const rendered = createBlock(
6429
- Fragment,
6430
- {
6431
- key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
6432
- (!validSlotContent && fallback ? "_fb" : "")
6433
- },
6434
- validSlotContent || (fallback ? fallback() : []),
6435
- validSlotContent && slots._ === 1 ? 64 : -2
6436
- );
6430
+ let rendered;
6431
+ try {
6432
+ const validSlotContent = slot && ensureValidVNode(slot(props));
6433
+ const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch
6434
+ // key attached in the `createSlots` helper, respect that
6435
+ validSlotContent && validSlotContent.key;
6436
+ rendered = createBlock(
6437
+ Fragment,
6438
+ {
6439
+ key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
6440
+ (!validSlotContent && fallback ? "_fb" : "")
6441
+ },
6442
+ validSlotContent || (fallback ? fallback() : []),
6443
+ validSlotContent && slots._ === 1 ? 64 : -2
6444
+ );
6445
+ } catch (err) {
6446
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
6447
+ throw err;
6448
+ } finally {
6449
+ if (slot && slot._c) {
6450
+ slot._d = true;
6451
+ }
6452
+ }
6437
6453
  if (!noSlotted && rendered.scopeId) {
6438
6454
  rendered.slotScopeIds = [rendered.scopeId + "-s"];
6439
6455
  }
6440
- if (slot && slot._c) {
6441
- slot._d = true;
6442
- }
6443
6456
  return rendered;
6444
6457
  }
6445
6458
  function ensureValidVNode(vnodes) {
@@ -7619,7 +7632,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7619
7632
  return vm;
7620
7633
  }
7621
7634
  }
7622
- Vue.version = `2.6.14-compat:${"3.5.39"}`;
7635
+ Vue.version = `2.6.14-compat:${"3.5.40"}`;
7623
7636
  Vue.config = singletonApp.config;
7624
7637
  Vue.use = (plugin, ...options) => {
7625
7638
  if (plugin && isFunction(plugin.install)) {
@@ -12825,7 +12838,7 @@ function isMemoSame(cached, memo) {
12825
12838
  return true;
12826
12839
  }
12827
12840
 
12828
- const version = "3.5.39";
12841
+ const version = "3.5.40";
12829
12842
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12830
12843
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12831
12844
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -14625,13 +14638,13 @@ const vModelSelect = {
14625
14638
  // <select multiple> value need to be deep traversed
14626
14639
  deep: true,
14627
14640
  created(el, { value, modifiers: { number } }, vnode) {
14628
- const isSetModel = isSet(value);
14641
+ el._modelValue = value;
14629
14642
  addEventListener(el, "change", () => {
14630
14643
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
14631
14644
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
14632
14645
  );
14633
14646
  el[assignKey](
14634
- el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
14647
+ el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]
14635
14648
  );
14636
14649
  el._assigning = true;
14637
14650
  nextTick(() => {
@@ -14645,7 +14658,8 @@ const vModelSelect = {
14645
14658
  mounted(el, { value }) {
14646
14659
  setSelected(el, value);
14647
14660
  },
14648
- beforeUpdate(el, _binding, vnode) {
14661
+ beforeUpdate(el, { value }, vnode) {
14662
+ el._modelValue = value;
14649
14663
  el[assignKey] = getModelAssigner(vnode);
14650
14664
  },
14651
14665
  updated(el, { value }) {
@@ -16578,6 +16592,9 @@ function getUnnormalizedProps(props, callPath = []) {
16578
16592
  return [props, callPath];
16579
16593
  }
16580
16594
  function injectProp(node, prop, context) {
16595
+ if (node.type !== 13 && injectSlotKey(node, prop)) {
16596
+ return;
16597
+ }
16581
16598
  let propsWithInjection;
16582
16599
  let props = node.type === 13 ? node.props : node.arguments[2];
16583
16600
  let callPath = [];
@@ -16635,6 +16652,24 @@ function injectProp(node, prop, context) {
16635
16652
  }
16636
16653
  }
16637
16654
  }
16655
+ function injectSlotKey(node, prop) {
16656
+ var _a, _b, _c;
16657
+ if (prop.key.type !== 4 || prop.key.content !== "key") {
16658
+ return false;
16659
+ }
16660
+ const props = node.arguments[2];
16661
+ if (props && !isString(props)) {
16662
+ const [unnormalizedProps] = getUnnormalizedProps(props);
16663
+ if (unnormalizedProps && !isString(unnormalizedProps) && unnormalizedProps.type === 15 && hasProp(prop, unnormalizedProps)) {
16664
+ return true;
16665
+ }
16666
+ }
16667
+ (_a = node.arguments)[2] || (_a[2] = "{}");
16668
+ (_b = node.arguments)[3] || (_b[3] = "undefined");
16669
+ (_c = node.arguments)[4] || (_c[4] = "undefined");
16670
+ node.arguments[5] = prop.value;
16671
+ return true;
16672
+ }
16638
16673
  function hasProp(prop, props) {
16639
16674
  let result = false;
16640
16675
  if (prop.key.type === 4) {
@@ -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
  **/
@@ -452,8 +452,9 @@ var Vue = (function () {
452
452
  this._isPaused = true;
453
453
  let i, l;
454
454
  if (this.scopes) {
455
- for (i = 0, l = this.scopes.length; i < l; i++) {
456
- this.scopes[i].pause();
455
+ const scopes = this.scopes.slice();
456
+ for (i = 0, l = scopes.length; i < l; i++) {
457
+ scopes[i].pause();
457
458
  }
458
459
  }
459
460
  for (i = 0, l = this.effects.length; i < l; i++) {
@@ -470,12 +471,14 @@ var Vue = (function () {
470
471
  this._isPaused = false;
471
472
  let i, l;
472
473
  if (this.scopes) {
473
- for (i = 0, l = this.scopes.length; i < l; i++) {
474
- this.scopes[i].resume();
474
+ const scopes = this.scopes.slice();
475
+ for (i = 0, l = scopes.length; i < l; i++) {
476
+ scopes[i].resume();
475
477
  }
476
478
  }
477
- for (i = 0, l = this.effects.length; i < l; i++) {
478
- this.effects[i].resume();
479
+ const effects = this.effects.slice();
480
+ for (i = 0, l = effects.length; i < l; i++) {
481
+ effects[i].resume();
479
482
  }
480
483
  }
481
484
  }
@@ -537,8 +540,9 @@ var Vue = (function () {
537
540
  }
538
541
  this.cleanups.length = 0;
539
542
  if (this.scopes) {
540
- for (i = 0, l = this.scopes.length; i < l; i++) {
541
- this.scopes[i].stop(true);
543
+ const scopes = this.scopes.slice();
544
+ for (i = 0, l = scopes.length; i < l; i++) {
545
+ scopes[i].stop(true);
542
546
  }
543
547
  this.scopes.length = 0;
544
548
  }
@@ -3460,10 +3464,12 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3460
3464
  setBlockTracking(-1);
3461
3465
  }
3462
3466
  const prevInstance = setCurrentRenderingInstance(ctx);
3467
+ const prevStackSize = blockStack.length;
3463
3468
  let res;
3464
3469
  try {
3465
3470
  res = fn(...args);
3466
3471
  } finally {
3472
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
3467
3473
  setCurrentRenderingInstance(prevInstance);
3468
3474
  if (renderFnWithContext._d) {
3469
3475
  setBlockTracking(1);
@@ -4596,12 +4602,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4596
4602
  }
4597
4603
  }
4598
4604
  if (isFunction(ref)) {
4599
- pauseTracking();
4600
- try {
4601
- callWithErrorHandling(ref, owner, 12, [value, refs]);
4602
- } finally {
4603
- resetTracking();
4604
- }
4605
+ callWithErrorHandling(ref, owner, 12, [value, refs]);
4605
4606
  } else {
4606
4607
  const _isString = isString(ref);
4607
4608
  const _isRef = isRef(ref);
@@ -4972,6 +4973,7 @@ Server rendered element contains more child nodes than client vdom.`
4972
4973
  if (props) {
4973
4974
  {
4974
4975
  const isCustomElement = el.tagName.includes("-");
4976
+ const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
4975
4977
  for (const key in props) {
4976
4978
  if (// #11189 skip if this node has directives that have created hooks
4977
4979
  // as it could have mutated the DOM in any possible way
@@ -4980,7 +4982,7 @@ Server rendered element contains more child nodes than client vdom.`
4980
4982
  }
4981
4983
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4982
4984
  key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
4983
- patchProp(el, key, null, props[key], void 0, parentComponent);
4985
+ patchProp(el, key, null, props[key], namespace, parentComponent);
4984
4986
  }
4985
4987
  }
4986
4988
  }
@@ -5483,6 +5485,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5483
5485
  name: "AsyncComponentWrapper",
5484
5486
  __asyncLoader: load,
5485
5487
  __asyncHydrate(el, instance, hydrate) {
5488
+ const wasConnected = el.isConnected;
5486
5489
  let patched = false;
5487
5490
  (instance.bu || (instance.bu = [])).push(() => patched = true);
5488
5491
  const performHydrate = () => {
@@ -5494,6 +5497,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5494
5497
  }
5495
5498
  return;
5496
5499
  }
5500
+ if (!el.parentNode || wasConnected && !el.isConnected) return;
5497
5501
  hydrate();
5498
5502
  };
5499
5503
  const doHydrate = hydrateStrategy ? () => {
@@ -6337,14 +6341,15 @@ If this is a native custom element, make sure to exclude it from component resol
6337
6341
  return slots;
6338
6342
  }
6339
6343
 
6340
- function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6344
+ function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
6341
6345
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
6342
- const hasProps = Object.keys(props).length > 0;
6343
- if (name !== "default") props.name = name;
6346
+ const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
6347
+ const hasProps = Object.keys(slotProps).length > 0;
6348
+ if (name !== "default") slotProps.name = name;
6344
6349
  return openBlock(), createBlock(
6345
6350
  Fragment,
6346
6351
  null,
6347
- [createVNode("slot", props, fallback && fallback())],
6352
+ [createVNode("slot", slotProps, fallback && fallback())],
6348
6353
  hasProps ? -2 : 64
6349
6354
  );
6350
6355
  }
@@ -6358,26 +6363,34 @@ If this is a native custom element, make sure to exclude it from component resol
6358
6363
  if (slot && slot._c) {
6359
6364
  slot._d = false;
6360
6365
  }
6366
+ const prevStackSize = blockStack.length;
6361
6367
  openBlock();
6362
- const validSlotContent = slot && ensureValidVNode(slot(props));
6363
- const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch
6364
- // key attached in the `createSlots` helper, respect that
6365
- validSlotContent && validSlotContent.key;
6366
- const rendered = createBlock(
6367
- Fragment,
6368
- {
6369
- key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
6370
- (!validSlotContent && fallback ? "_fb" : "")
6371
- },
6372
- validSlotContent || (fallback ? fallback() : []),
6373
- validSlotContent && slots._ === 1 ? 64 : -2
6374
- );
6368
+ let rendered;
6369
+ try {
6370
+ const validSlotContent = slot && ensureValidVNode(slot(props));
6371
+ const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch
6372
+ // key attached in the `createSlots` helper, respect that
6373
+ validSlotContent && validSlotContent.key;
6374
+ rendered = createBlock(
6375
+ Fragment,
6376
+ {
6377
+ key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
6378
+ (!validSlotContent && fallback ? "_fb" : "")
6379
+ },
6380
+ validSlotContent || (fallback ? fallback() : []),
6381
+ validSlotContent && slots._ === 1 ? 64 : -2
6382
+ );
6383
+ } catch (err) {
6384
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
6385
+ throw err;
6386
+ } finally {
6387
+ if (slot && slot._c) {
6388
+ slot._d = true;
6389
+ }
6390
+ }
6375
6391
  if (!noSlotted && rendered.scopeId) {
6376
6392
  rendered.slotScopeIds = [rendered.scopeId + "-s"];
6377
6393
  }
6378
- if (slot && slot._c) {
6379
- slot._d = true;
6380
- }
6381
6394
  return rendered;
6382
6395
  }
6383
6396
  function ensureValidVNode(vnodes) {
@@ -7552,7 +7565,7 @@ If this is a native custom element, make sure to exclude it from component resol
7552
7565
  return vm;
7553
7566
  }
7554
7567
  }
7555
- Vue.version = `2.6.14-compat:${"3.5.39"}`;
7568
+ Vue.version = `2.6.14-compat:${"3.5.40"}`;
7556
7569
  Vue.config = singletonApp.config;
7557
7570
  Vue.use = (plugin, ...options) => {
7558
7571
  if (plugin && isFunction(plugin.install)) {
@@ -12690,7 +12703,7 @@ Component that was made reactive: `,
12690
12703
  return true;
12691
12704
  }
12692
12705
 
12693
- const version = "3.5.39";
12706
+ const version = "3.5.40";
12694
12707
  const warn = warn$1 ;
12695
12708
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12696
12709
  const devtools = devtools$1 ;
@@ -14459,13 +14472,13 @@ Expected function or array of functions, received type ${typeof value}.`
14459
14472
  // <select multiple> value need to be deep traversed
14460
14473
  deep: true,
14461
14474
  created(el, { value, modifiers: { number } }, vnode) {
14462
- const isSetModel = isSet(value);
14475
+ el._modelValue = value;
14463
14476
  addEventListener(el, "change", () => {
14464
14477
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
14465
14478
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
14466
14479
  );
14467
14480
  el[assignKey](
14468
- el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
14481
+ el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]
14469
14482
  );
14470
14483
  el._assigning = true;
14471
14484
  nextTick(() => {
@@ -14479,7 +14492,8 @@ Expected function or array of functions, received type ${typeof value}.`
14479
14492
  mounted(el, { value }) {
14480
14493
  setSelected(el, value);
14481
14494
  },
14482
- beforeUpdate(el, _binding, vnode) {
14495
+ beforeUpdate(el, { value }, vnode) {
14496
+ el._modelValue = value;
14483
14497
  el[assignKey] = getModelAssigner(vnode);
14484
14498
  },
14485
14499
  updated(el, { value }) {
@@ -16377,6 +16391,9 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16377
16391
  return [props, callPath];
16378
16392
  }
16379
16393
  function injectProp(node, prop, context) {
16394
+ if (node.type !== 13 && injectSlotKey(node, prop)) {
16395
+ return;
16396
+ }
16380
16397
  let propsWithInjection;
16381
16398
  let props = node.type === 13 ? node.props : node.arguments[2];
16382
16399
  let callPath = [];
@@ -16434,6 +16451,24 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16434
16451
  }
16435
16452
  }
16436
16453
  }
16454
+ function injectSlotKey(node, prop) {
16455
+ var _a, _b, _c;
16456
+ if (prop.key.type !== 4 || prop.key.content !== "key") {
16457
+ return false;
16458
+ }
16459
+ const props = node.arguments[2];
16460
+ if (props && !isString(props)) {
16461
+ const [unnormalizedProps] = getUnnormalizedProps(props);
16462
+ if (unnormalizedProps && !isString(unnormalizedProps) && unnormalizedProps.type === 15 && hasProp(prop, unnormalizedProps)) {
16463
+ return true;
16464
+ }
16465
+ }
16466
+ (_a = node.arguments)[2] || (_a[2] = "{}");
16467
+ (_b = node.arguments)[3] || (_b[3] = "undefined");
16468
+ (_c = node.arguments)[4] || (_c[4] = "undefined");
16469
+ node.arguments[5] = prop.value;
16470
+ return true;
16471
+ }
16437
16472
  function hasProp(prop, props) {
16438
16473
  let result = false;
16439
16474
  if (prop.key.type === 4) {