vue 3.4.22 → 3.4.24

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 v3.4.22
2
+ * vue v3.4.24
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.4.22
2
+ * vue v3.4.24
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -2424,21 +2424,21 @@ getter: `, this.getter);
2424
2424
  vnode,
2425
2425
  proxy,
2426
2426
  withProxy,
2427
- props,
2428
2427
  propsOptions: [propsOptions],
2429
2428
  slots,
2430
2429
  attrs,
2431
2430
  emit,
2432
2431
  render,
2433
2432
  renderCache,
2433
+ props,
2434
2434
  data,
2435
2435
  setupState,
2436
2436
  ctx,
2437
2437
  inheritAttrs
2438
2438
  } = instance;
2439
+ const prev = setCurrentRenderingInstance(instance);
2439
2440
  let result;
2440
2441
  let fallthroughAttrs;
2441
- const prev = setCurrentRenderingInstance(instance);
2442
2442
  {
2443
2443
  accessedAttrs = false;
2444
2444
  }
@@ -2460,7 +2460,7 @@ getter: `, this.getter);
2460
2460
  thisProxy,
2461
2461
  proxyToUse,
2462
2462
  renderCache,
2463
- props,
2463
+ true ? shallowReadonly(props) : props,
2464
2464
  setupState,
2465
2465
  data,
2466
2466
  ctx
@@ -2474,7 +2474,7 @@ getter: `, this.getter);
2474
2474
  }
2475
2475
  result = normalizeVNode(
2476
2476
  render2.length > 1 ? render2(
2477
- props,
2477
+ true ? shallowReadonly(props) : props,
2478
2478
  true ? {
2479
2479
  get attrs() {
2480
2480
  markAttrsAccessed();
@@ -2484,9 +2484,8 @@ getter: `, this.getter);
2484
2484
  emit
2485
2485
  } : { attrs, slots, emit }
2486
2486
  ) : render2(
2487
- props,
2487
+ true ? shallowReadonly(props) : props,
2488
2488
  null
2489
- /* we know it doesn't need it */
2490
2489
  )
2491
2490
  );
2492
2491
  fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
@@ -3947,11 +3946,19 @@ If this is a native custom element, make sure to exclude it from component resol
3947
3946
  }
3948
3947
  }
3949
3948
  function getKeepAliveChild(vnode) {
3950
- return isKeepAlive(vnode) ? (
3951
- // #7121 ensure get the child component subtree in case
3952
- // it's been replaced during HMR
3953
- vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0
3954
- ) : vnode;
3949
+ if (!isKeepAlive(vnode)) {
3950
+ return vnode;
3951
+ }
3952
+ if (vnode.component) {
3953
+ return vnode.component.subTree;
3954
+ }
3955
+ const { shapeFlag, children } = vnode;
3956
+ if (shapeFlag & 16) {
3957
+ return children[0];
3958
+ }
3959
+ if (shapeFlag & 32 && isFunction(children.default)) {
3960
+ return children.default();
3961
+ }
3955
3962
  }
3956
3963
  function setTransitionHooks(vnode, hooks) {
3957
3964
  if (vnode.shapeFlag & 6 && vnode.component) {
@@ -4625,7 +4632,7 @@ If this is a native custom element, make sure to exclude it from component resol
4625
4632
  let cssModule, globalProperties;
4626
4633
  if (publicGetter) {
4627
4634
  if (key === "$attrs") {
4628
- track(instance, "get", key);
4635
+ track(instance.attrs, "get", "");
4629
4636
  markAttrsAccessed();
4630
4637
  } else if (key === "$slots") {
4631
4638
  track(instance, "get", key);
@@ -5550,10 +5557,13 @@ If you want to remount the same app, move your app creation logic into a factory
5550
5557
  return !!(currentInstance || currentRenderingInstance || currentApp);
5551
5558
  }
5552
5559
 
5553
- const attrsProto = {};
5560
+ const internalObjectProto = /* @__PURE__ */ Object.create(null);
5561
+ const createInternalObject = () => Object.create(internalObjectProto);
5562
+ const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
5563
+
5554
5564
  function initProps(instance, rawProps, isStateful, isSSR = false) {
5555
5565
  const props = {};
5556
- const attrs = Object.create(attrsProto);
5566
+ const attrs = createInternalObject();
5557
5567
  instance.propsDefaults = /* @__PURE__ */ Object.create(null);
5558
5568
  setFullProps(instance, rawProps, props, attrs);
5559
5569
  for (const key in instance.propsOptions[0]) {
@@ -6000,21 +6010,17 @@ If you want to remount the same app, move your app creation logic into a factory
6000
6010
  instance.slots.default = () => normalized;
6001
6011
  };
6002
6012
  const initSlots = (instance, children) => {
6013
+ const slots = instance.slots = createInternalObject();
6003
6014
  if (instance.vnode.shapeFlag & 32) {
6004
6015
  const type = children._;
6005
6016
  if (type) {
6006
- instance.slots = toRaw(children);
6007
- def(instance.slots, "_", type);
6017
+ extend(slots, children);
6018
+ def(slots, "_", type);
6008
6019
  } else {
6009
- normalizeObjectSlots(
6010
- children,
6011
- instance.slots = {});
6012
- }
6013
- } else {
6014
- instance.slots = {};
6015
- if (children) {
6016
- normalizeVNodeSlots(instance, children);
6020
+ normalizeObjectSlots(children, slots);
6017
6021
  }
6022
+ } else if (children) {
6023
+ normalizeVNodeSlots(instance, children);
6018
6024
  }
6019
6025
  };
6020
6026
  const updateSlots = (instance, children, optimized) => {
@@ -8754,7 +8760,7 @@ Component that was made reactive: `,
8754
8760
  function guardReactiveProps(props) {
8755
8761
  if (!props)
8756
8762
  return null;
8757
- return isProxy(props) || Object.getPrototypeOf(props) === attrsProto ? extend({}, props) : props;
8763
+ return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
8758
8764
  }
8759
8765
  function cloneVNode(vnode, extraProps, mergeRef = false) {
8760
8766
  const { props, ref, patchFlag, children } = vnode;
@@ -8859,7 +8865,7 @@ Component that was made reactive: `,
8859
8865
  } else {
8860
8866
  type = 32;
8861
8867
  const slotFlag = children._;
8862
- if (!slotFlag) {
8868
+ if (!slotFlag && !isInternalObject(children)) {
8863
8869
  children._ctx = currentRenderingInstance;
8864
8870
  } else if (slotFlag === 3 && currentRenderingInstance) {
8865
8871
  if (currentRenderingInstance.slots._ === 1) {
@@ -9608,7 +9614,7 @@ Component that was made reactive: `,
9608
9614
  return true;
9609
9615
  }
9610
9616
 
9611
- const version = "3.4.22";
9617
+ const version = "3.4.24";
9612
9618
  const warn = warn$1 ;
9613
9619
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9614
9620
  const devtools = devtools$1 ;
@@ -9804,8 +9810,8 @@ Component that was made reactive: `,
9804
9810
  el._isLeaving = true;
9805
9811
  const resolve = () => finishLeave(el, done);
9806
9812
  addTransitionClass(el, leaveFromClass);
9807
- forceReflow();
9808
9813
  addTransitionClass(el, leaveActiveClass);
9814
+ forceReflow();
9809
9815
  nextFrame(() => {
9810
9816
  if (!el._isLeaving) {
9811
9817
  return;
@@ -13514,6 +13520,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
13514
13520
  vOnce: 0
13515
13521
  },
13516
13522
  parent: null,
13523
+ grandParent: null,
13517
13524
  currentNode: root,
13518
13525
  childIndex: 0,
13519
13526
  inVOnce: false,
@@ -13654,6 +13661,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
13654
13661
  const child = parent.children[i];
13655
13662
  if (isString(child))
13656
13663
  continue;
13664
+ context.grandParent = context.parent;
13657
13665
  context.parent = parent;
13658
13666
  context.childIndex = i;
13659
13667
  context.onNodeRemoved = nodeRemoved;
@@ -15213,6 +15221,16 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15213
15221
  if (arg)
15214
15222
  mergeArgs.push(arg);
15215
15223
  };
15224
+ const pushRefVForMarker = () => {
15225
+ if (context.scopes.vFor > 0) {
15226
+ properties.push(
15227
+ createObjectProperty(
15228
+ createSimpleExpression("ref_for", true),
15229
+ createSimpleExpression("true")
15230
+ )
15231
+ );
15232
+ }
15233
+ };
15216
15234
  const analyzePatchFlag = ({ key, value }) => {
15217
15235
  if (isStaticExp(key)) {
15218
15236
  const name = key.content;
@@ -15256,14 +15274,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15256
15274
  let isStatic = true;
15257
15275
  if (name === "ref") {
15258
15276
  hasRef = true;
15259
- if (context.scopes.vFor > 0) {
15260
- properties.push(
15261
- createObjectProperty(
15262
- createSimpleExpression("ref_for", true),
15263
- createSimpleExpression("true")
15264
- )
15265
- );
15266
- }
15277
+ pushRefVForMarker();
15267
15278
  }
15268
15279
  if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || false)) {
15269
15280
  continue;
@@ -15307,18 +15318,14 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15307
15318
  ) {
15308
15319
  shouldUseBlock = true;
15309
15320
  }
15310
- if (isVBind && isStaticArgOf(arg, "ref") && context.scopes.vFor > 0) {
15311
- properties.push(
15312
- createObjectProperty(
15313
- createSimpleExpression("ref_for", true),
15314
- createSimpleExpression("true")
15315
- )
15316
- );
15321
+ if (isVBind && isStaticArgOf(arg, "ref")) {
15322
+ pushRefVForMarker();
15317
15323
  }
15318
15324
  if (!arg && (isVBind || isVOn)) {
15319
15325
  hasDynamicKeys = true;
15320
15326
  if (exp) {
15321
15327
  if (isVBind) {
15328
+ pushRefVForMarker();
15322
15329
  pushMergeArg();
15323
15330
  mergeArgs.push(exp);
15324
15331
  } else {