@vue/compat 3.4.24 → 3.4.26

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.24
2
+ * @vue/compat v3.4.26
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -88,10 +88,11 @@ const invokeArrayFns = (fns, arg) => {
88
88
  fns[i](arg);
89
89
  }
90
90
  };
91
- const def = (obj, key, value) => {
91
+ const def = (obj, key, value, writable = false) => {
92
92
  Object.defineProperty(obj, key, {
93
93
  configurable: true,
94
94
  enumerable: false,
95
+ writable,
95
96
  value
96
97
  });
97
98
  };
@@ -512,11 +513,10 @@ class ReactiveEffect {
512
513
  }
513
514
  }
514
515
  stop() {
515
- var _a;
516
516
  if (this.active) {
517
517
  preCleanupEffect(this);
518
518
  postCleanupEffect(this);
519
- (_a = this.onStop) == null ? void 0 : _a.call(this);
519
+ this.onStop && this.onStop();
520
520
  this.active = false;
521
521
  }
522
522
  }
@@ -706,8 +706,8 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
706
706
  resetScheduling();
707
707
  }
708
708
  function getDepFromReactive(object, key) {
709
- var _a;
710
- return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
709
+ const depsMap = targetMap.get(object);
710
+ return depsMap && depsMap.get(key);
711
711
  }
712
712
 
713
713
  const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
@@ -2151,7 +2151,7 @@ function renderComponentRoot(instance) {
2151
2151
  false ? {
2152
2152
  get attrs() {
2153
2153
  markAttrsAccessed();
2154
- return attrs;
2154
+ return shallowReadonly(attrs);
2155
2155
  },
2156
2156
  slots,
2157
2157
  emit
@@ -2180,21 +2180,26 @@ function renderComponentRoot(instance) {
2180
2180
  propsOptions
2181
2181
  );
2182
2182
  }
2183
- root = cloneVNode(root, fallthroughAttrs);
2183
+ root = cloneVNode(root, fallthroughAttrs, false, true);
2184
2184
  }
2185
2185
  }
2186
2186
  }
2187
2187
  if (isCompatEnabled$1("INSTANCE_ATTRS_CLASS_STYLE", instance) && vnode.shapeFlag & 4 && root.shapeFlag & (1 | 6)) {
2188
2188
  const { class: cls, style } = vnode.props || {};
2189
2189
  if (cls || style) {
2190
- root = cloneVNode(root, {
2191
- class: cls,
2192
- style
2193
- });
2190
+ root = cloneVNode(
2191
+ root,
2192
+ {
2193
+ class: cls,
2194
+ style
2195
+ },
2196
+ false,
2197
+ true
2198
+ );
2194
2199
  }
2195
2200
  }
2196
2201
  if (vnode.dirs) {
2197
- root = cloneVNode(root);
2202
+ root = cloneVNode(root, null, false, true);
2198
2203
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
2199
2204
  }
2200
2205
  if (vnode.transition) {
@@ -2634,7 +2639,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
2634
2639
  let parentSuspenseId;
2635
2640
  const isSuspensible = isVNodeSuspensible(vnode);
2636
2641
  if (isSuspensible) {
2637
- if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {
2642
+ if (parentSuspense && parentSuspense.pendingBranch) {
2638
2643
  parentSuspenseId = parentSuspense.pendingId;
2639
2644
  parentSuspense.deps++;
2640
2645
  }
@@ -2922,8 +2927,8 @@ function setActiveBranch(suspense, branch) {
2922
2927
  }
2923
2928
  }
2924
2929
  function isVNodeSuspensible(vnode) {
2925
- var _a;
2926
- return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;
2930
+ const suspensible = vnode.props && vnode.props.suspensible;
2931
+ return suspensible != null && suspensible !== false;
2927
2932
  }
2928
2933
 
2929
2934
  const legacyDirectiveHookMap = {
@@ -3179,34 +3184,29 @@ function createPathGetter(ctx, path) {
3179
3184
  return cur;
3180
3185
  };
3181
3186
  }
3182
- function traverse(value, depth, currentDepth = 0, seen) {
3183
- if (!isObject(value) || value["__v_skip"]) {
3187
+ function traverse(value, depth = Infinity, seen) {
3188
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
3184
3189
  return value;
3185
3190
  }
3186
- if (depth && depth > 0) {
3187
- if (currentDepth >= depth) {
3188
- return value;
3189
- }
3190
- currentDepth++;
3191
- }
3192
3191
  seen = seen || /* @__PURE__ */ new Set();
3193
3192
  if (seen.has(value)) {
3194
3193
  return value;
3195
3194
  }
3196
3195
  seen.add(value);
3196
+ depth--;
3197
3197
  if (isRef(value)) {
3198
- traverse(value.value, depth, currentDepth, seen);
3198
+ traverse(value.value, depth, seen);
3199
3199
  } else if (isArray(value)) {
3200
3200
  for (let i = 0; i < value.length; i++) {
3201
- traverse(value[i], depth, currentDepth, seen);
3201
+ traverse(value[i], depth, seen);
3202
3202
  }
3203
3203
  } else if (isSet(value) || isMap(value)) {
3204
3204
  value.forEach((v) => {
3205
- traverse(v, depth, currentDepth, seen);
3205
+ traverse(v, depth, seen);
3206
3206
  });
3207
3207
  } else if (isPlainObject(value)) {
3208
3208
  for (const key in value) {
3209
- traverse(value[key], depth, currentDepth, seen);
3209
+ traverse(value[key], depth, seen);
3210
3210
  }
3211
3211
  }
3212
3212
  return value;
@@ -3351,7 +3351,7 @@ const BaseTransitionImpl = {
3351
3351
  instance
3352
3352
  );
3353
3353
  setTransitionHooks(oldInnerChild, leavingHooks);
3354
- if (mode === "out-in") {
3354
+ if (mode === "out-in" && innerChild.type !== Comment) {
3355
3355
  state.isLeaving = true;
3356
3356
  leavingHooks.afterLeave = () => {
3357
3357
  state.isLeaving = false;
@@ -3543,11 +3543,13 @@ function getKeepAliveChild(vnode) {
3543
3543
  return vnode;
3544
3544
  }
3545
3545
  const { shapeFlag, children } = vnode;
3546
- if (shapeFlag & 16) {
3547
- return children[0];
3548
- }
3549
- if (shapeFlag & 32 && isFunction(children.default)) {
3550
- return children.default();
3546
+ if (children) {
3547
+ if (shapeFlag & 16) {
3548
+ return children[0];
3549
+ }
3550
+ if (shapeFlag & 32 && isFunction(children.default)) {
3551
+ return children.default();
3552
+ }
3551
3553
  }
3552
3554
  }
3553
3555
  function setTransitionHooks(vnode, hooks) {
@@ -3853,7 +3855,7 @@ const KeepAliveImpl = {
3853
3855
  return () => {
3854
3856
  pendingCacheKey = null;
3855
3857
  if (!slots.default) {
3856
- return current = null;
3858
+ return null;
3857
3859
  }
3858
3860
  const children = slots.default();
3859
3861
  const rawVNode = children[0];
@@ -5279,13 +5281,13 @@ function createCompatVue$1(createApp, createSingletonApp) {
5279
5281
  return vm;
5280
5282
  }
5281
5283
  }
5282
- Vue.version = `2.6.14-compat:${"3.4.24"}`;
5284
+ Vue.version = `2.6.14-compat:${"3.4.26"}`;
5283
5285
  Vue.config = singletonApp.config;
5284
- Vue.use = (p, ...options) => {
5285
- if (p && isFunction(p.install)) {
5286
- p.install(Vue, ...options);
5287
- } else if (isFunction(p)) {
5288
- p(Vue, ...options);
5286
+ Vue.use = (plugin, ...options) => {
5287
+ if (plugin && isFunction(plugin.install)) {
5288
+ plugin.install(Vue, ...options);
5289
+ } else if (isFunction(plugin)) {
5290
+ plugin(Vue, ...options);
5289
5291
  }
5290
5292
  return Vue;
5291
5293
  };
@@ -5806,7 +5808,7 @@ function shouldSkipAttr(key, instance) {
5806
5808
  return false;
5807
5809
  }
5808
5810
 
5809
- const internalObjectProto = /* @__PURE__ */ Object.create(null);
5811
+ const internalObjectProto = {};
5810
5812
  const createInternalObject = () => Object.create(internalObjectProto);
5811
5813
  const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
5812
5814
 
@@ -6155,7 +6157,7 @@ const initSlots = (instance, children) => {
6155
6157
  const type = children._;
6156
6158
  if (type) {
6157
6159
  extend(slots, children);
6158
- def(slots, "_", type);
6160
+ def(slots, "_", type, true);
6159
6161
  } else {
6160
6162
  normalizeObjectSlots(children, slots);
6161
6163
  }
@@ -8586,8 +8588,8 @@ function guardReactiveProps(props) {
8586
8588
  return null;
8587
8589
  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
8588
8590
  }
8589
- function cloneVNode(vnode, extraProps, mergeRef = false) {
8590
- const { props, ref, patchFlag, children } = vnode;
8591
+ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
8592
+ const { props, ref, patchFlag, children, transition } = vnode;
8591
8593
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
8592
8594
  const cloned = {
8593
8595
  __v_isVNode: true,
@@ -8617,7 +8619,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
8617
8619
  dynamicChildren: vnode.dynamicChildren,
8618
8620
  appContext: vnode.appContext,
8619
8621
  dirs: vnode.dirs,
8620
- transition: vnode.transition,
8622
+ transition,
8621
8623
  // These should technically only be non-null on mounted VNodes. However,
8622
8624
  // they *should* be copied for kept-alive vnodes. So we just always copy
8623
8625
  // them since them being non-null during a mount doesn't affect the logic as
@@ -8631,6 +8633,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
8631
8633
  ctx: vnode.ctx,
8632
8634
  ce: vnode.ce
8633
8635
  };
8636
+ if (transition && cloneTransition) {
8637
+ cloned.transition = transition.clone(cloned);
8638
+ }
8634
8639
  {
8635
8640
  defineLegacyVNodeProperties(cloned);
8636
8641
  }
@@ -9138,7 +9143,7 @@ function isMemoSame(cached, memo) {
9138
9143
  return true;
9139
9144
  }
9140
9145
 
9141
- const version = "3.4.24";
9146
+ const version = "3.4.26";
9142
9147
  const warn$1 = NOOP;
9143
9148
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9144
9149
  const devtools = void 0;
@@ -12715,11 +12720,10 @@ const tokenizer = new Tokenizer(stack, {
12715
12720
  }
12716
12721
  },
12717
12722
  onselfclosingtag(end) {
12718
- var _a;
12719
12723
  const name = currentOpenTag.tag;
12720
12724
  currentOpenTag.isSelfClosing = true;
12721
12725
  endOpenTag(end);
12722
- if (((_a = stack[0]) == null ? void 0 : _a.tag) === name) {
12726
+ if (stack[0] && stack[0].tag === name) {
12723
12727
  onCloseTag(stack.shift(), end);
12724
12728
  }
12725
12729
  },
@@ -13035,7 +13039,7 @@ function endOpenTag(end) {
13035
13039
  function onText(content, start, end) {
13036
13040
  const parent = stack[0] || currentRoot;
13037
13041
  const lastNode = parent.children[parent.children.length - 1];
13038
- if ((lastNode == null ? void 0 : lastNode.type) === 2) {
13042
+ if (lastNode && lastNode.type === 2) {
13039
13043
  lastNode.content += content;
13040
13044
  setLocEnd(lastNode.loc, end);
13041
13045
  } else {
@@ -13139,11 +13143,10 @@ function isFragmentTemplate({ tag, props }) {
13139
13143
  return false;
13140
13144
  }
13141
13145
  function isComponent({ tag, props }) {
13142
- var _a;
13143
13146
  if (currentOptions.isCustomElement(tag)) {
13144
13147
  return false;
13145
13148
  }
13146
- if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || ((_a = currentOptions.isBuiltInComponent) == null ? void 0 : _a.call(currentOptions, tag)) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
13149
+ if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
13147
13150
  return true;
13148
13151
  }
13149
13152
  for (let i = 0; i < props.length; i++) {
@@ -13176,7 +13179,6 @@ function isUpperCase(c) {
13176
13179
  }
13177
13180
  const windowsNewlineRE = /\r\n/g;
13178
13181
  function condenseWhitespace(nodes, tag) {
13179
- var _a, _b;
13180
13182
  const shouldCondense = currentOptions.whitespace !== "preserve";
13181
13183
  let removedWhitespace = false;
13182
13184
  for (let i = 0; i < nodes.length; i++) {
@@ -13184,8 +13186,8 @@ function condenseWhitespace(nodes, tag) {
13184
13186
  if (node.type === 2) {
13185
13187
  if (!inPre) {
13186
13188
  if (isAllWhitespace(node.content)) {
13187
- const prev = (_a = nodes[i - 1]) == null ? void 0 : _a.type;
13188
- const next = (_b = nodes[i + 1]) == null ? void 0 : _b.type;
13189
+ const prev = nodes[i - 1] && nodes[i - 1].type;
13190
+ const next = nodes[i + 1] && nodes[i + 1].type;
13189
13191
  if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
13190
13192
  removedWhitespace = true;
13191
13193
  nodes[i] = null;
@@ -13338,7 +13340,7 @@ function baseParse(input, options) {
13338
13340
  }
13339
13341
  tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
13340
13342
  tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
13341
- const delimiters = options == null ? void 0 : options.delimiters;
13343
+ const delimiters = options && options.delimiters;
13342
13344
  if (delimiters) {
13343
13345
  tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
13344
13346
  tokenizer.delimiterClose = toCharCodes(delimiters[1]);
@@ -14665,7 +14667,6 @@ function genReturnStatement({ returns }, context) {
14665
14667
  }
14666
14668
 
14667
14669
  const isLiteralWhitelisted = /* @__PURE__ */ makeMap("true,false,null,this");
14668
- const constantBailRE = /\w\s*\(|\.[^\d]/;
14669
14670
  const transformExpression = (node, context) => {
14670
14671
  if (node.type === 5) {
14671
14672
  node.content = processExpression(
@@ -14760,7 +14761,6 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
14760
14761
  return `_ctx.${raw}`;
14761
14762
  };
14762
14763
  const rawExp = node.content;
14763
- const bailConstant = constantBailRE.test(rawExp);
14764
14764
  let ast = node.ast;
14765
14765
  if (ast === false) {
14766
14766
  return node;
@@ -14822,7 +14822,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
14822
14822
  node2.name = rewriteIdentifier(node2.name, parent, node2);
14823
14823
  ids.push(node2);
14824
14824
  } else {
14825
- if (!(needPrefix && isLocal) && !bailConstant) {
14825
+ if (!(needPrefix && isLocal) && parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "MemberExpression") {
14826
14826
  node2.isConstant = true;
14827
14827
  }
14828
14828
  ids.push(node2);
@@ -14866,7 +14866,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
14866
14866
  ret.ast = ast;
14867
14867
  } else {
14868
14868
  ret = node;
14869
- ret.constType = bailConstant ? 0 : 3;
14869
+ ret.constType = 3;
14870
14870
  }
14871
14871
  ret.identifiers = Object.keys(knownIds);
14872
14872
  return ret;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.24
2
+ * @vue/compat v3.4.26
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -81,10 +81,11 @@ const invokeArrayFns = (fns, arg) => {
81
81
  fns[i](arg);
82
82
  }
83
83
  };
84
- const def = (obj, key, value) => {
84
+ const def = (obj, key, value, writable = false) => {
85
85
  Object.defineProperty(obj, key, {
86
86
  configurable: true,
87
87
  enumerable: false,
88
+ writable,
88
89
  value
89
90
  });
90
91
  };
@@ -541,11 +542,10 @@ class ReactiveEffect {
541
542
  }
542
543
  }
543
544
  stop() {
544
- var _a;
545
545
  if (this.active) {
546
546
  preCleanupEffect(this);
547
547
  postCleanupEffect(this);
548
- (_a = this.onStop) == null ? void 0 : _a.call(this);
548
+ this.onStop && this.onStop();
549
549
  this.active = false;
550
550
  }
551
551
  }
@@ -758,8 +758,8 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
758
758
  resetScheduling();
759
759
  }
760
760
  function getDepFromReactive(object, key) {
761
- var _a;
762
- return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
761
+ const depsMap = targetMap.get(object);
762
+ return depsMap && depsMap.get(key);
763
763
  }
764
764
 
765
765
  const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
@@ -2971,7 +2971,7 @@ function renderComponentRoot(instance) {
2971
2971
  true ? {
2972
2972
  get attrs() {
2973
2973
  markAttrsAccessed();
2974
- return attrs;
2974
+ return shallowReadonly(attrs);
2975
2975
  },
2976
2976
  slots,
2977
2977
  emit
@@ -3004,7 +3004,7 @@ function renderComponentRoot(instance) {
3004
3004
  propsOptions
3005
3005
  );
3006
3006
  }
3007
- root = cloneVNode(root, fallthroughAttrs);
3007
+ root = cloneVNode(root, fallthroughAttrs, false, true);
3008
3008
  } else if (!accessedAttrs && root.type !== Comment) {
3009
3009
  const allAttrs = Object.keys(attrs);
3010
3010
  const eventAttrs = [];
@@ -3042,10 +3042,15 @@ function renderComponentRoot(instance) {
3042
3042
  getComponentName(instance.type)
3043
3043
  );
3044
3044
  }
3045
- root = cloneVNode(root, {
3046
- class: cls,
3047
- style
3048
- });
3045
+ root = cloneVNode(
3046
+ root,
3047
+ {
3048
+ class: cls,
3049
+ style
3050
+ },
3051
+ false,
3052
+ true
3053
+ );
3049
3054
  }
3050
3055
  }
3051
3056
  if (vnode.dirs) {
@@ -3054,7 +3059,7 @@ function renderComponentRoot(instance) {
3054
3059
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
3055
3060
  );
3056
3061
  }
3057
- root = cloneVNode(root);
3062
+ root = cloneVNode(root, null, false, true);
3058
3063
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
3059
3064
  }
3060
3065
  if (vnode.transition) {
@@ -3549,7 +3554,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3549
3554
  let parentSuspenseId;
3550
3555
  const isSuspensible = isVNodeSuspensible(vnode);
3551
3556
  if (isSuspensible) {
3552
- if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {
3557
+ if (parentSuspense && parentSuspense.pendingBranch) {
3553
3558
  parentSuspenseId = parentSuspense.pendingId;
3554
3559
  parentSuspense.deps++;
3555
3560
  }
@@ -3861,8 +3866,8 @@ function setActiveBranch(suspense, branch) {
3861
3866
  }
3862
3867
  }
3863
3868
  function isVNodeSuspensible(vnode) {
3864
- var _a;
3865
- return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;
3869
+ const suspensible = vnode.props && vnode.props.suspensible;
3870
+ return suspensible != null && suspensible !== false;
3866
3871
  }
3867
3872
 
3868
3873
  const legacyDirectiveHookMap = {
@@ -4143,34 +4148,29 @@ function createPathGetter(ctx, path) {
4143
4148
  return cur;
4144
4149
  };
4145
4150
  }
4146
- function traverse(value, depth, currentDepth = 0, seen) {
4147
- if (!isObject(value) || value["__v_skip"]) {
4151
+ function traverse(value, depth = Infinity, seen) {
4152
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
4148
4153
  return value;
4149
4154
  }
4150
- if (depth && depth > 0) {
4151
- if (currentDepth >= depth) {
4152
- return value;
4153
- }
4154
- currentDepth++;
4155
- }
4156
4155
  seen = seen || /* @__PURE__ */ new Set();
4157
4156
  if (seen.has(value)) {
4158
4157
  return value;
4159
4158
  }
4160
4159
  seen.add(value);
4160
+ depth--;
4161
4161
  if (isRef(value)) {
4162
- traverse(value.value, depth, currentDepth, seen);
4162
+ traverse(value.value, depth, seen);
4163
4163
  } else if (isArray(value)) {
4164
4164
  for (let i = 0; i < value.length; i++) {
4165
- traverse(value[i], depth, currentDepth, seen);
4165
+ traverse(value[i], depth, seen);
4166
4166
  }
4167
4167
  } else if (isSet(value) || isMap(value)) {
4168
4168
  value.forEach((v) => {
4169
- traverse(v, depth, currentDepth, seen);
4169
+ traverse(v, depth, seen);
4170
4170
  });
4171
4171
  } else if (isPlainObject(value)) {
4172
4172
  for (const key in value) {
4173
- traverse(value[key], depth, currentDepth, seen);
4173
+ traverse(value[key], depth, seen);
4174
4174
  }
4175
4175
  }
4176
4176
  return value;
@@ -4331,7 +4331,7 @@ const BaseTransitionImpl = {
4331
4331
  instance
4332
4332
  );
4333
4333
  setTransitionHooks(oldInnerChild, leavingHooks);
4334
- if (mode === "out-in") {
4334
+ if (mode === "out-in" && innerChild.type !== Comment) {
4335
4335
  state.isLeaving = true;
4336
4336
  leavingHooks.afterLeave = () => {
4337
4337
  state.isLeaving = false;
@@ -4526,11 +4526,13 @@ function getKeepAliveChild(vnode) {
4526
4526
  return vnode.component.subTree;
4527
4527
  }
4528
4528
  const { shapeFlag, children } = vnode;
4529
- if (shapeFlag & 16) {
4530
- return children[0];
4531
- }
4532
- if (shapeFlag & 32 && isFunction(children.default)) {
4533
- return children.default();
4529
+ if (children) {
4530
+ if (shapeFlag & 16) {
4531
+ return children[0];
4532
+ }
4533
+ if (shapeFlag & 32 && isFunction(children.default)) {
4534
+ return children.default();
4535
+ }
4534
4536
  }
4535
4537
  }
4536
4538
  function setTransitionHooks(vnode, hooks) {
@@ -4847,7 +4849,7 @@ const KeepAliveImpl = {
4847
4849
  return () => {
4848
4850
  pendingCacheKey = null;
4849
4851
  if (!slots.default) {
4850
- return current = null;
4852
+ return null;
4851
4853
  }
4852
4854
  const children = slots.default();
4853
4855
  const rawVNode = children[0];
@@ -6543,13 +6545,13 @@ function createCompatVue$1(createApp, createSingletonApp) {
6543
6545
  return vm;
6544
6546
  }
6545
6547
  }
6546
- Vue.version = `2.6.14-compat:${"3.4.24"}`;
6548
+ Vue.version = `2.6.14-compat:${"3.4.26"}`;
6547
6549
  Vue.config = singletonApp.config;
6548
- Vue.use = (p, ...options) => {
6549
- if (p && isFunction(p.install)) {
6550
- p.install(Vue, ...options);
6551
- } else if (isFunction(p)) {
6552
- p(Vue, ...options);
6550
+ Vue.use = (plugin, ...options) => {
6551
+ if (plugin && isFunction(plugin.install)) {
6552
+ plugin.install(Vue, ...options);
6553
+ } else if (isFunction(plugin)) {
6554
+ plugin(Vue, ...options);
6553
6555
  }
6554
6556
  return Vue;
6555
6557
  };
@@ -7180,7 +7182,7 @@ function shouldSkipAttr(key, instance) {
7180
7182
  return false;
7181
7183
  }
7182
7184
 
7183
- const internalObjectProto = /* @__PURE__ */ Object.create(null);
7185
+ const internalObjectProto = {};
7184
7186
  const createInternalObject = () => Object.create(internalObjectProto);
7185
7187
  const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
7186
7188
 
@@ -7667,7 +7669,7 @@ const initSlots = (instance, children) => {
7667
7669
  const type = children._;
7668
7670
  if (type) {
7669
7671
  extend(slots, children);
7670
- def(slots, "_", type);
7672
+ def(slots, "_", type, true);
7671
7673
  } else {
7672
7674
  normalizeObjectSlots(children, slots, instance);
7673
7675
  }
@@ -10506,8 +10508,8 @@ function guardReactiveProps(props) {
10506
10508
  return null;
10507
10509
  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
10508
10510
  }
10509
- function cloneVNode(vnode, extraProps, mergeRef = false) {
10510
- const { props, ref, patchFlag, children } = vnode;
10511
+ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
10512
+ const { props, ref, patchFlag, children, transition } = vnode;
10511
10513
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
10512
10514
  const cloned = {
10513
10515
  __v_isVNode: true,
@@ -10537,7 +10539,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10537
10539
  dynamicChildren: vnode.dynamicChildren,
10538
10540
  appContext: vnode.appContext,
10539
10541
  dirs: vnode.dirs,
10540
- transition: vnode.transition,
10542
+ transition,
10541
10543
  // These should technically only be non-null on mounted VNodes. However,
10542
10544
  // they *should* be copied for kept-alive vnodes. So we just always copy
10543
10545
  // them since them being non-null during a mount doesn't affect the logic as
@@ -10551,6 +10553,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10551
10553
  ctx: vnode.ctx,
10552
10554
  ce: vnode.ce
10553
10555
  };
10556
+ if (transition && cloneTransition) {
10557
+ cloned.transition = transition.clone(cloned);
10558
+ }
10554
10559
  {
10555
10560
  defineLegacyVNodeProperties(cloned);
10556
10561
  }
@@ -11373,7 +11378,7 @@ function isMemoSame(cached, memo) {
11373
11378
  return true;
11374
11379
  }
11375
11380
 
11376
- const version = "3.4.24";
11381
+ const version = "3.4.26";
11377
11382
  const warn = warn$1 ;
11378
11383
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11379
11384
  const devtools = devtools$1 ;
@@ -14799,11 +14804,10 @@ const tokenizer = new Tokenizer(stack, {
14799
14804
  }
14800
14805
  },
14801
14806
  onselfclosingtag(end) {
14802
- var _a;
14803
14807
  const name = currentOpenTag.tag;
14804
14808
  currentOpenTag.isSelfClosing = true;
14805
14809
  endOpenTag(end);
14806
- if (((_a = stack[0]) == null ? void 0 : _a.tag) === name) {
14810
+ if (stack[0] && stack[0].tag === name) {
14807
14811
  onCloseTag(stack.shift(), end);
14808
14812
  }
14809
14813
  },
@@ -15114,16 +15118,15 @@ function endOpenTag(end) {
15114
15118
  currentOpenTag = null;
15115
15119
  }
15116
15120
  function onText(content, start, end) {
15117
- var _a;
15118
15121
  {
15119
- const tag = (_a = stack[0]) == null ? void 0 : _a.tag;
15122
+ const tag = stack[0] && stack[0].tag;
15120
15123
  if (tag !== "script" && tag !== "style" && content.includes("&")) {
15121
15124
  content = currentOptions.decodeEntities(content, false);
15122
15125
  }
15123
15126
  }
15124
15127
  const parent = stack[0] || currentRoot;
15125
15128
  const lastNode = parent.children[parent.children.length - 1];
15126
- if ((lastNode == null ? void 0 : lastNode.type) === 2) {
15129
+ if (lastNode && lastNode.type === 2) {
15127
15130
  lastNode.content += content;
15128
15131
  setLocEnd(lastNode.loc, end);
15129
15132
  } else {
@@ -15257,11 +15260,10 @@ function isFragmentTemplate({ tag, props }) {
15257
15260
  return false;
15258
15261
  }
15259
15262
  function isComponent({ tag, props }) {
15260
- var _a;
15261
15263
  if (currentOptions.isCustomElement(tag)) {
15262
15264
  return false;
15263
15265
  }
15264
- if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || ((_a = currentOptions.isBuiltInComponent) == null ? void 0 : _a.call(currentOptions, tag)) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
15266
+ if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
15265
15267
  return true;
15266
15268
  }
15267
15269
  for (let i = 0; i < props.length; i++) {
@@ -15294,7 +15296,6 @@ function isUpperCase(c) {
15294
15296
  }
15295
15297
  const windowsNewlineRE = /\r\n/g;
15296
15298
  function condenseWhitespace(nodes, tag) {
15297
- var _a, _b;
15298
15299
  const shouldCondense = currentOptions.whitespace !== "preserve";
15299
15300
  let removedWhitespace = false;
15300
15301
  for (let i = 0; i < nodes.length; i++) {
@@ -15302,8 +15303,8 @@ function condenseWhitespace(nodes, tag) {
15302
15303
  if (node.type === 2) {
15303
15304
  if (!inPre) {
15304
15305
  if (isAllWhitespace(node.content)) {
15305
- const prev = (_a = nodes[i - 1]) == null ? void 0 : _a.type;
15306
- const next = (_b = nodes[i + 1]) == null ? void 0 : _b.type;
15306
+ const prev = nodes[i - 1] && nodes[i - 1].type;
15307
+ const next = nodes[i + 1] && nodes[i + 1].type;
15307
15308
  if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
15308
15309
  removedWhitespace = true;
15309
15310
  nodes[i] = null;
@@ -15441,7 +15442,7 @@ function baseParse(input, options) {
15441
15442
  }
15442
15443
  tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
15443
15444
  tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
15444
- const delimiters = options == null ? void 0 : options.delimiters;
15445
+ const delimiters = options && options.delimiters;
15445
15446
  if (delimiters) {
15446
15447
  tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
15447
15448
  tokenizer.delimiterClose = toCharCodes(delimiters[1]);