@vue/compat 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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.22
2
+ * @vue/compat v3.4.23
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -5664,7 +5664,7 @@ const PublicInstanceProxyHandlers = {
5664
5664
  let cssModule, globalProperties;
5665
5665
  if (publicGetter) {
5666
5666
  if (key === "$attrs") {
5667
- track(instance, "get", key);
5667
+ track(instance.attrs, "get", "");
5668
5668
  markAttrsAccessed();
5669
5669
  } else if (key === "$slots") {
5670
5670
  track(instance, "get", key);
@@ -6476,7 +6476,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6476
6476
  return vm;
6477
6477
  }
6478
6478
  }
6479
- Vue.version = `2.6.14-compat:${"3.4.22"}`;
6479
+ Vue.version = `2.6.14-compat:${"3.4.23"}`;
6480
6480
  Vue.config = singletonApp.config;
6481
6481
  Vue.use = (p, ...options) => {
6482
6482
  if (p && isFunction(p.install)) {
@@ -7113,10 +7113,13 @@ function shouldSkipAttr(key, instance) {
7113
7113
  return false;
7114
7114
  }
7115
7115
 
7116
- const attrsProto = {};
7116
+ const internalObjectProto = /* @__PURE__ */ Object.create(null);
7117
+ const createInternalObject = () => Object.create(internalObjectProto);
7118
+ const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
7119
+
7117
7120
  function initProps(instance, rawProps, isStateful, isSSR = false) {
7118
7121
  const props = {};
7119
- const attrs = Object.create(attrsProto);
7122
+ const attrs = createInternalObject();
7120
7123
  instance.propsDefaults = /* @__PURE__ */ Object.create(null);
7121
7124
  setFullProps(instance, rawProps, props, attrs);
7122
7125
  for (const key in instance.propsOptions[0]) {
@@ -7600,12 +7603,12 @@ const initSlots = (instance, children) => {
7600
7603
  } else {
7601
7604
  normalizeObjectSlots(
7602
7605
  children,
7603
- instance.slots = {},
7606
+ instance.slots = createInternalObject(),
7604
7607
  instance
7605
7608
  );
7606
7609
  }
7607
7610
  } else {
7608
- instance.slots = {};
7611
+ instance.slots = createInternalObject();
7609
7612
  if (children) {
7610
7613
  normalizeVNodeSlots(instance, children);
7611
7614
  }
@@ -10440,7 +10443,7 @@ Component that was made reactive: `,
10440
10443
  function guardReactiveProps(props) {
10441
10444
  if (!props)
10442
10445
  return null;
10443
- return isProxy(props) || Object.getPrototypeOf(props) === attrsProto ? extend({}, props) : props;
10446
+ return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
10444
10447
  }
10445
10448
  function cloneVNode(vnode, extraProps, mergeRef = false) {
10446
10449
  const { props, ref, patchFlag, children } = vnode;
@@ -10548,7 +10551,7 @@ function normalizeChildren(vnode, children) {
10548
10551
  } else {
10549
10552
  type = 32;
10550
10553
  const slotFlag = children._;
10551
- if (!slotFlag) {
10554
+ if (!slotFlag && !isInternalObject(children)) {
10552
10555
  children._ctx = currentRenderingInstance;
10553
10556
  } else if (slotFlag === 3 && currentRenderingInstance) {
10554
10557
  if (currentRenderingInstance.slots._ === 1) {
@@ -11309,7 +11312,7 @@ function isMemoSame(cached, memo) {
11309
11312
  return true;
11310
11313
  }
11311
11314
 
11312
- const version = "3.4.22";
11315
+ const version = "3.4.23";
11313
11316
  const warn = warn$1 ;
11314
11317
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11315
11318
  const devtools = devtools$1 ;