vue 3.4.22 → 3.4.23

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.23
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.23
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.23
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -4628,7 +4628,7 @@ const PublicInstanceProxyHandlers = {
4628
4628
  let cssModule, globalProperties;
4629
4629
  if (publicGetter) {
4630
4630
  if (key === "$attrs") {
4631
- track(instance, "get", key);
4631
+ track(instance.attrs, "get", "");
4632
4632
  markAttrsAccessed();
4633
4633
  } else if (key === "$slots") {
4634
4634
  track(instance, "get", key);
@@ -5553,10 +5553,13 @@ function hasInjectionContext() {
5553
5553
  return !!(currentInstance || currentRenderingInstance || currentApp);
5554
5554
  }
5555
5555
 
5556
- const attrsProto = {};
5556
+ const internalObjectProto = /* @__PURE__ */ Object.create(null);
5557
+ const createInternalObject = () => Object.create(internalObjectProto);
5558
+ const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
5559
+
5557
5560
  function initProps(instance, rawProps, isStateful, isSSR = false) {
5558
5561
  const props = {};
5559
- const attrs = Object.create(attrsProto);
5562
+ const attrs = createInternalObject();
5560
5563
  instance.propsDefaults = /* @__PURE__ */ Object.create(null);
5561
5564
  setFullProps(instance, rawProps, props, attrs);
5562
5565
  for (const key in instance.propsOptions[0]) {
@@ -6011,10 +6014,10 @@ const initSlots = (instance, children) => {
6011
6014
  } else {
6012
6015
  normalizeObjectSlots(
6013
6016
  children,
6014
- instance.slots = {});
6017
+ instance.slots = createInternalObject());
6015
6018
  }
6016
6019
  } else {
6017
- instance.slots = {};
6020
+ instance.slots = createInternalObject();
6018
6021
  if (children) {
6019
6022
  normalizeVNodeSlots(instance, children);
6020
6023
  }
@@ -8757,7 +8760,7 @@ Component that was made reactive: `,
8757
8760
  function guardReactiveProps(props) {
8758
8761
  if (!props)
8759
8762
  return null;
8760
- return isProxy(props) || Object.getPrototypeOf(props) === attrsProto ? extend({}, props) : props;
8763
+ return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
8761
8764
  }
8762
8765
  function cloneVNode(vnode, extraProps, mergeRef = false) {
8763
8766
  const { props, ref, patchFlag, children } = vnode;
@@ -8862,7 +8865,7 @@ function normalizeChildren(vnode, children) {
8862
8865
  } else {
8863
8866
  type = 32;
8864
8867
  const slotFlag = children._;
8865
- if (!slotFlag) {
8868
+ if (!slotFlag && !isInternalObject(children)) {
8866
8869
  children._ctx = currentRenderingInstance;
8867
8870
  } else if (slotFlag === 3 && currentRenderingInstance) {
8868
8871
  if (currentRenderingInstance.slots._ === 1) {
@@ -9611,7 +9614,7 @@ function isMemoSame(cached, memo) {
9611
9614
  return true;
9612
9615
  }
9613
9616
 
9614
- const version = "3.4.22";
9617
+ const version = "3.4.23";
9615
9618
  const warn = warn$1 ;
9616
9619
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9617
9620
  const devtools = devtools$1 ;