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.
package/dist/vue.cjs.js CHANGED
@@ -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
  **/
@@ -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
  **/
@@ -2421,21 +2421,21 @@ function renderComponentRoot(instance) {
2421
2421
  vnode,
2422
2422
  proxy,
2423
2423
  withProxy,
2424
- props,
2425
2424
  propsOptions: [propsOptions],
2426
2425
  slots,
2427
2426
  attrs,
2428
2427
  emit,
2429
2428
  render,
2430
2429
  renderCache,
2430
+ props,
2431
2431
  data,
2432
2432
  setupState,
2433
2433
  ctx,
2434
2434
  inheritAttrs
2435
2435
  } = instance;
2436
+ const prev = setCurrentRenderingInstance(instance);
2436
2437
  let result;
2437
2438
  let fallthroughAttrs;
2438
- const prev = setCurrentRenderingInstance(instance);
2439
2439
  {
2440
2440
  accessedAttrs = false;
2441
2441
  }
@@ -2457,7 +2457,7 @@ function renderComponentRoot(instance) {
2457
2457
  thisProxy,
2458
2458
  proxyToUse,
2459
2459
  renderCache,
2460
- props,
2460
+ true ? shallowReadonly(props) : props,
2461
2461
  setupState,
2462
2462
  data,
2463
2463
  ctx
@@ -2471,7 +2471,7 @@ function renderComponentRoot(instance) {
2471
2471
  }
2472
2472
  result = normalizeVNode(
2473
2473
  render2.length > 1 ? render2(
2474
- props,
2474
+ true ? shallowReadonly(props) : props,
2475
2475
  true ? {
2476
2476
  get attrs() {
2477
2477
  markAttrsAccessed();
@@ -2481,9 +2481,8 @@ function renderComponentRoot(instance) {
2481
2481
  emit
2482
2482
  } : { attrs, slots, emit }
2483
2483
  ) : render2(
2484
- props,
2484
+ true ? shallowReadonly(props) : props,
2485
2485
  null
2486
- /* we know it doesn't need it */
2487
2486
  )
2488
2487
  );
2489
2488
  fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
@@ -3950,11 +3949,19 @@ function emptyPlaceholder(vnode) {
3950
3949
  }
3951
3950
  }
3952
3951
  function getKeepAliveChild(vnode) {
3953
- return isKeepAlive(vnode) ? (
3954
- // #7121 ensure get the child component subtree in case
3955
- // it's been replaced during HMR
3956
- vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0
3957
- ) : vnode;
3952
+ if (!isKeepAlive(vnode)) {
3953
+ return vnode;
3954
+ }
3955
+ if (vnode.component) {
3956
+ return vnode.component.subTree;
3957
+ }
3958
+ const { shapeFlag, children } = vnode;
3959
+ if (shapeFlag & 16) {
3960
+ return children[0];
3961
+ }
3962
+ if (shapeFlag & 32 && isFunction(children.default)) {
3963
+ return children.default();
3964
+ }
3958
3965
  }
3959
3966
  function setTransitionHooks(vnode, hooks) {
3960
3967
  if (vnode.shapeFlag & 6 && vnode.component) {
@@ -4628,7 +4635,7 @@ const PublicInstanceProxyHandlers = {
4628
4635
  let cssModule, globalProperties;
4629
4636
  if (publicGetter) {
4630
4637
  if (key === "$attrs") {
4631
- track(instance, "get", key);
4638
+ track(instance.attrs, "get", "");
4632
4639
  markAttrsAccessed();
4633
4640
  } else if (key === "$slots") {
4634
4641
  track(instance, "get", key);
@@ -5553,10 +5560,13 @@ function hasInjectionContext() {
5553
5560
  return !!(currentInstance || currentRenderingInstance || currentApp);
5554
5561
  }
5555
5562
 
5556
- const attrsProto = {};
5563
+ const internalObjectProto = /* @__PURE__ */ Object.create(null);
5564
+ const createInternalObject = () => Object.create(internalObjectProto);
5565
+ const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
5566
+
5557
5567
  function initProps(instance, rawProps, isStateful, isSSR = false) {
5558
5568
  const props = {};
5559
- const attrs = Object.create(attrsProto);
5569
+ const attrs = createInternalObject();
5560
5570
  instance.propsDefaults = /* @__PURE__ */ Object.create(null);
5561
5571
  setFullProps(instance, rawProps, props, attrs);
5562
5572
  for (const key in instance.propsOptions[0]) {
@@ -6003,21 +6013,17 @@ const normalizeVNodeSlots = (instance, children) => {
6003
6013
  instance.slots.default = () => normalized;
6004
6014
  };
6005
6015
  const initSlots = (instance, children) => {
6016
+ const slots = instance.slots = createInternalObject();
6006
6017
  if (instance.vnode.shapeFlag & 32) {
6007
6018
  const type = children._;
6008
6019
  if (type) {
6009
- instance.slots = toRaw(children);
6010
- def(instance.slots, "_", type);
6020
+ extend(slots, children);
6021
+ def(slots, "_", type);
6011
6022
  } else {
6012
- normalizeObjectSlots(
6013
- children,
6014
- instance.slots = {});
6015
- }
6016
- } else {
6017
- instance.slots = {};
6018
- if (children) {
6019
- normalizeVNodeSlots(instance, children);
6023
+ normalizeObjectSlots(children, slots);
6020
6024
  }
6025
+ } else if (children) {
6026
+ normalizeVNodeSlots(instance, children);
6021
6027
  }
6022
6028
  };
6023
6029
  const updateSlots = (instance, children, optimized) => {
@@ -8757,7 +8763,7 @@ Component that was made reactive: `,
8757
8763
  function guardReactiveProps(props) {
8758
8764
  if (!props)
8759
8765
  return null;
8760
- return isProxy(props) || Object.getPrototypeOf(props) === attrsProto ? extend({}, props) : props;
8766
+ return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
8761
8767
  }
8762
8768
  function cloneVNode(vnode, extraProps, mergeRef = false) {
8763
8769
  const { props, ref, patchFlag, children } = vnode;
@@ -8862,7 +8868,7 @@ function normalizeChildren(vnode, children) {
8862
8868
  } else {
8863
8869
  type = 32;
8864
8870
  const slotFlag = children._;
8865
- if (!slotFlag) {
8871
+ if (!slotFlag && !isInternalObject(children)) {
8866
8872
  children._ctx = currentRenderingInstance;
8867
8873
  } else if (slotFlag === 3 && currentRenderingInstance) {
8868
8874
  if (currentRenderingInstance.slots._ === 1) {
@@ -9611,7 +9617,7 @@ function isMemoSame(cached, memo) {
9611
9617
  return true;
9612
9618
  }
9613
9619
 
9614
- const version = "3.4.22";
9620
+ const version = "3.4.24";
9615
9621
  const warn = warn$1 ;
9616
9622
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9617
9623
  const devtools = devtools$1 ;
@@ -9807,8 +9813,8 @@ function resolveTransitionProps(rawProps) {
9807
9813
  el._isLeaving = true;
9808
9814
  const resolve = () => finishLeave(el, done);
9809
9815
  addTransitionClass(el, leaveFromClass);
9810
- forceReflow();
9811
9816
  addTransitionClass(el, leaveActiveClass);
9817
+ forceReflow();
9812
9818
  nextFrame(() => {
9813
9819
  if (!el._isLeaving) {
9814
9820
  return;
@@ -13691,6 +13697,7 @@ function createTransformContext(root, {
13691
13697
  vOnce: 0
13692
13698
  },
13693
13699
  parent: null,
13700
+ grandParent: null,
13694
13701
  currentNode: root,
13695
13702
  childIndex: 0,
13696
13703
  inVOnce: false,
@@ -13831,6 +13838,7 @@ function traverseChildren(parent, context) {
13831
13838
  const child = parent.children[i];
13832
13839
  if (isString(child))
13833
13840
  continue;
13841
+ context.grandParent = context.parent;
13834
13842
  context.parent = parent;
13835
13843
  context.childIndex = i;
13836
13844
  context.onNodeRemoved = nodeRemoved;
@@ -15390,6 +15398,16 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15390
15398
  if (arg)
15391
15399
  mergeArgs.push(arg);
15392
15400
  };
15401
+ const pushRefVForMarker = () => {
15402
+ if (context.scopes.vFor > 0) {
15403
+ properties.push(
15404
+ createObjectProperty(
15405
+ createSimpleExpression("ref_for", true),
15406
+ createSimpleExpression("true")
15407
+ )
15408
+ );
15409
+ }
15410
+ };
15393
15411
  const analyzePatchFlag = ({ key, value }) => {
15394
15412
  if (isStaticExp(key)) {
15395
15413
  const name = key.content;
@@ -15433,14 +15451,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15433
15451
  let isStatic = true;
15434
15452
  if (name === "ref") {
15435
15453
  hasRef = true;
15436
- if (context.scopes.vFor > 0) {
15437
- properties.push(
15438
- createObjectProperty(
15439
- createSimpleExpression("ref_for", true),
15440
- createSimpleExpression("true")
15441
- )
15442
- );
15443
- }
15454
+ pushRefVForMarker();
15444
15455
  }
15445
15456
  if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || false)) {
15446
15457
  continue;
@@ -15484,18 +15495,14 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15484
15495
  ) {
15485
15496
  shouldUseBlock = true;
15486
15497
  }
15487
- if (isVBind && isStaticArgOf(arg, "ref") && context.scopes.vFor > 0) {
15488
- properties.push(
15489
- createObjectProperty(
15490
- createSimpleExpression("ref_for", true),
15491
- createSimpleExpression("true")
15492
- )
15493
- );
15498
+ if (isVBind && isStaticArgOf(arg, "ref")) {
15499
+ pushRefVForMarker();
15494
15500
  }
15495
15501
  if (!arg && (isVBind || isVOn)) {
15496
15502
  hasDynamicKeys = true;
15497
15503
  if (exp) {
15498
15504
  if (isVBind) {
15505
+ pushRefVForMarker();
15499
15506
  pushMergeArg();
15500
15507
  mergeArgs.push(exp);
15501
15508
  } else {