@vue/runtime-dom 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/runtime-dom v3.4.22
2
+ * @vue/runtime-dom v3.4.24
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -196,8 +196,8 @@ function resolveTransitionProps(rawProps) {
196
196
  el._isLeaving = true;
197
197
  const resolve = () => finishLeave(el, done);
198
198
  addTransitionClass(el, leaveFromClass);
199
- forceReflow();
200
199
  addTransitionClass(el, leaveActiveClass);
200
+ forceReflow();
201
201
  nextFrame(() => {
202
202
  if (!el._isLeaving) {
203
203
  return;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-dom v3.4.22
2
+ * @vue/runtime-dom v3.4.24
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -196,8 +196,8 @@ function resolveTransitionProps(rawProps) {
196
196
  el._isLeaving = true;
197
197
  const resolve = () => finishLeave(el, done);
198
198
  addTransitionClass(el, leaveFromClass);
199
- forceReflow();
200
199
  addTransitionClass(el, leaveActiveClass);
200
+ forceReflow();
201
201
  nextFrame(() => {
202
202
  if (!el._isLeaving) {
203
203
  return;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-dom v3.4.22
2
+ * @vue/runtime-dom v3.4.24
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -7,7 +7,7 @@
7
7
  // @__NO_SIDE_EFFECTS__
8
8
  function makeMap(str, expectsLowerCase) {
9
9
  const set = new Set(str.split(","));
10
- return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);
10
+ return (val) => set.has(val);
11
11
  }
12
12
 
13
13
  const EMPTY_OBJ = Object.freeze({}) ;
@@ -2356,21 +2356,21 @@ function renderComponentRoot(instance) {
2356
2356
  vnode,
2357
2357
  proxy,
2358
2358
  withProxy,
2359
- props,
2360
2359
  propsOptions: [propsOptions],
2361
2360
  slots,
2362
2361
  attrs,
2363
2362
  emit,
2364
2363
  render,
2365
2364
  renderCache,
2365
+ props,
2366
2366
  data,
2367
2367
  setupState,
2368
2368
  ctx,
2369
2369
  inheritAttrs
2370
2370
  } = instance;
2371
+ const prev = setCurrentRenderingInstance(instance);
2371
2372
  let result;
2372
2373
  let fallthroughAttrs;
2373
- const prev = setCurrentRenderingInstance(instance);
2374
2374
  {
2375
2375
  accessedAttrs = false;
2376
2376
  }
@@ -2392,7 +2392,7 @@ function renderComponentRoot(instance) {
2392
2392
  thisProxy,
2393
2393
  proxyToUse,
2394
2394
  renderCache,
2395
- props,
2395
+ true ? shallowReadonly(props) : props,
2396
2396
  setupState,
2397
2397
  data,
2398
2398
  ctx
@@ -2406,7 +2406,7 @@ function renderComponentRoot(instance) {
2406
2406
  }
2407
2407
  result = normalizeVNode(
2408
2408
  render2.length > 1 ? render2(
2409
- props,
2409
+ true ? shallowReadonly(props) : props,
2410
2410
  true ? {
2411
2411
  get attrs() {
2412
2412
  markAttrsAccessed();
@@ -2416,9 +2416,8 @@ function renderComponentRoot(instance) {
2416
2416
  emit
2417
2417
  } : { attrs, slots, emit }
2418
2418
  ) : render2(
2419
- props,
2419
+ true ? shallowReadonly(props) : props,
2420
2420
  null
2421
- /* we know it doesn't need it */
2422
2421
  )
2423
2422
  );
2424
2423
  fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
@@ -3885,11 +3884,19 @@ function emptyPlaceholder(vnode) {
3885
3884
  }
3886
3885
  }
3887
3886
  function getKeepAliveChild(vnode) {
3888
- return isKeepAlive(vnode) ? (
3889
- // #7121 ensure get the child component subtree in case
3890
- // it's been replaced during HMR
3891
- vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0
3892
- ) : vnode;
3887
+ if (!isKeepAlive(vnode)) {
3888
+ return vnode;
3889
+ }
3890
+ if (vnode.component) {
3891
+ return vnode.component.subTree;
3892
+ }
3893
+ const { shapeFlag, children } = vnode;
3894
+ if (shapeFlag & 16) {
3895
+ return children[0];
3896
+ }
3897
+ if (shapeFlag & 32 && isFunction(children.default)) {
3898
+ return children.default();
3899
+ }
3893
3900
  }
3894
3901
  function setTransitionHooks(vnode, hooks) {
3895
3902
  if (vnode.shapeFlag & 6 && vnode.component) {
@@ -4563,7 +4570,7 @@ const PublicInstanceProxyHandlers = {
4563
4570
  let cssModule, globalProperties;
4564
4571
  if (publicGetter) {
4565
4572
  if (key === "$attrs") {
4566
- track(instance, "get", key);
4573
+ track(instance.attrs, "get", "");
4567
4574
  markAttrsAccessed();
4568
4575
  } else if (key === "$slots") {
4569
4576
  track(instance, "get", key);
@@ -5488,10 +5495,13 @@ function hasInjectionContext() {
5488
5495
  return !!(currentInstance || currentRenderingInstance || currentApp);
5489
5496
  }
5490
5497
 
5491
- const attrsProto = {};
5498
+ const internalObjectProto = /* @__PURE__ */ Object.create(null);
5499
+ const createInternalObject = () => Object.create(internalObjectProto);
5500
+ const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
5501
+
5492
5502
  function initProps(instance, rawProps, isStateful, isSSR = false) {
5493
5503
  const props = {};
5494
- const attrs = Object.create(attrsProto);
5504
+ const attrs = createInternalObject();
5495
5505
  instance.propsDefaults = /* @__PURE__ */ Object.create(null);
5496
5506
  setFullProps(instance, rawProps, props, attrs);
5497
5507
  for (const key in instance.propsOptions[0]) {
@@ -5938,21 +5948,17 @@ const normalizeVNodeSlots = (instance, children) => {
5938
5948
  instance.slots.default = () => normalized;
5939
5949
  };
5940
5950
  const initSlots = (instance, children) => {
5951
+ const slots = instance.slots = createInternalObject();
5941
5952
  if (instance.vnode.shapeFlag & 32) {
5942
5953
  const type = children._;
5943
5954
  if (type) {
5944
- instance.slots = toRaw(children);
5945
- def(instance.slots, "_", type);
5955
+ extend(slots, children);
5956
+ def(slots, "_", type);
5946
5957
  } else {
5947
- normalizeObjectSlots(
5948
- children,
5949
- instance.slots = {});
5950
- }
5951
- } else {
5952
- instance.slots = {};
5953
- if (children) {
5954
- normalizeVNodeSlots(instance, children);
5958
+ normalizeObjectSlots(children, slots);
5955
5959
  }
5960
+ } else if (children) {
5961
+ normalizeVNodeSlots(instance, children);
5956
5962
  }
5957
5963
  };
5958
5964
  const updateSlots = (instance, children, optimized) => {
@@ -8692,7 +8698,7 @@ Component that was made reactive: `,
8692
8698
  function guardReactiveProps(props) {
8693
8699
  if (!props)
8694
8700
  return null;
8695
- return isProxy(props) || Object.getPrototypeOf(props) === attrsProto ? extend({}, props) : props;
8701
+ return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
8696
8702
  }
8697
8703
  function cloneVNode(vnode, extraProps, mergeRef = false) {
8698
8704
  const { props, ref, patchFlag, children } = vnode;
@@ -8797,7 +8803,7 @@ function normalizeChildren(vnode, children) {
8797
8803
  } else {
8798
8804
  type = 32;
8799
8805
  const slotFlag = children._;
8800
- if (!slotFlag) {
8806
+ if (!slotFlag && !isInternalObject(children)) {
8801
8807
  children._ctx = currentRenderingInstance;
8802
8808
  } else if (slotFlag === 3 && currentRenderingInstance) {
8803
8809
  if (currentRenderingInstance.slots._ === 1) {
@@ -9546,7 +9552,7 @@ function isMemoSame(cached, memo) {
9546
9552
  return true;
9547
9553
  }
9548
9554
 
9549
- const version = "3.4.22";
9555
+ const version = "3.4.24";
9550
9556
  const warn = warn$1 ;
9551
9557
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9552
9558
  const devtools = devtools$1 ;
@@ -9742,8 +9748,8 @@ function resolveTransitionProps(rawProps) {
9742
9748
  el._isLeaving = true;
9743
9749
  const resolve = () => finishLeave(el, done);
9744
9750
  addTransitionClass(el, leaveFromClass);
9745
- forceReflow();
9746
9751
  addTransitionClass(el, leaveActiveClass);
9752
+ forceReflow();
9747
9753
  nextFrame(() => {
9748
9754
  if (!el._isLeaving) {
9749
9755
  return;