@vue/compat 3.4.25 → 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.
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.25
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
  };
@@ -592,11 +593,10 @@ class ReactiveEffect {
592
593
  }
593
594
  }
594
595
  stop() {
595
- var _a;
596
596
  if (this.active) {
597
597
  preCleanupEffect(this);
598
598
  postCleanupEffect(this);
599
- (_a = this.onStop) == null ? void 0 : _a.call(this);
599
+ this.onStop && this.onStop();
600
600
  this.active = false;
601
601
  }
602
602
  }
@@ -809,8 +809,8 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
809
809
  resetScheduling();
810
810
  }
811
811
  function getDepFromReactive(object, key) {
812
- var _a;
813
- return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
812
+ const depsMap = targetMap.get(object);
813
+ return depsMap && depsMap.get(key);
814
814
  }
815
815
 
816
816
  const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
@@ -3022,7 +3022,7 @@ function renderComponentRoot(instance) {
3022
3022
  true ? {
3023
3023
  get attrs() {
3024
3024
  markAttrsAccessed();
3025
- return attrs;
3025
+ return shallowReadonly(attrs);
3026
3026
  },
3027
3027
  slots,
3028
3028
  emit
@@ -3055,7 +3055,7 @@ function renderComponentRoot(instance) {
3055
3055
  propsOptions
3056
3056
  );
3057
3057
  }
3058
- root = cloneVNode(root, fallthroughAttrs);
3058
+ root = cloneVNode(root, fallthroughAttrs, false, true);
3059
3059
  } else if (!accessedAttrs && root.type !== Comment) {
3060
3060
  const allAttrs = Object.keys(attrs);
3061
3061
  const eventAttrs = [];
@@ -3093,10 +3093,15 @@ function renderComponentRoot(instance) {
3093
3093
  getComponentName(instance.type)
3094
3094
  );
3095
3095
  }
3096
- root = cloneVNode(root, {
3097
- class: cls,
3098
- style
3099
- });
3096
+ root = cloneVNode(
3097
+ root,
3098
+ {
3099
+ class: cls,
3100
+ style
3101
+ },
3102
+ false,
3103
+ true
3104
+ );
3100
3105
  }
3101
3106
  }
3102
3107
  if (vnode.dirs) {
@@ -3105,7 +3110,7 @@ function renderComponentRoot(instance) {
3105
3110
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
3106
3111
  );
3107
3112
  }
3108
- root = cloneVNode(root);
3113
+ root = cloneVNode(root, null, false, true);
3109
3114
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
3110
3115
  }
3111
3116
  if (vnode.transition) {
@@ -3600,7 +3605,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3600
3605
  let parentSuspenseId;
3601
3606
  const isSuspensible = isVNodeSuspensible(vnode);
3602
3607
  if (isSuspensible) {
3603
- if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {
3608
+ if (parentSuspense && parentSuspense.pendingBranch) {
3604
3609
  parentSuspenseId = parentSuspense.pendingId;
3605
3610
  parentSuspense.deps++;
3606
3611
  }
@@ -3912,8 +3917,8 @@ function setActiveBranch(suspense, branch) {
3912
3917
  }
3913
3918
  }
3914
3919
  function isVNodeSuspensible(vnode) {
3915
- var _a;
3916
- return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;
3920
+ const suspensible = vnode.props && vnode.props.suspensible;
3921
+ return suspensible != null && suspensible !== false;
3917
3922
  }
3918
3923
 
3919
3924
  const legacyDirectiveHookMap = {
@@ -4215,34 +4220,29 @@ function createPathGetter(ctx, path) {
4215
4220
  return cur;
4216
4221
  };
4217
4222
  }
4218
- function traverse(value, depth, currentDepth = 0, seen) {
4219
- if (!isObject(value) || value["__v_skip"]) {
4223
+ function traverse(value, depth = Infinity, seen) {
4224
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
4220
4225
  return value;
4221
4226
  }
4222
- if (depth && depth > 0) {
4223
- if (currentDepth >= depth) {
4224
- return value;
4225
- }
4226
- currentDepth++;
4227
- }
4228
4227
  seen = seen || /* @__PURE__ */ new Set();
4229
4228
  if (seen.has(value)) {
4230
4229
  return value;
4231
4230
  }
4232
4231
  seen.add(value);
4232
+ depth--;
4233
4233
  if (isRef(value)) {
4234
- traverse(value.value, depth, currentDepth, seen);
4234
+ traverse(value.value, depth, seen);
4235
4235
  } else if (isArray(value)) {
4236
4236
  for (let i = 0; i < value.length; i++) {
4237
- traverse(value[i], depth, currentDepth, seen);
4237
+ traverse(value[i], depth, seen);
4238
4238
  }
4239
4239
  } else if (isSet(value) || isMap(value)) {
4240
4240
  value.forEach((v) => {
4241
- traverse(v, depth, currentDepth, seen);
4241
+ traverse(v, depth, seen);
4242
4242
  });
4243
4243
  } else if (isPlainObject(value)) {
4244
4244
  for (const key in value) {
4245
- traverse(value[key], depth, currentDepth, seen);
4245
+ traverse(value[key], depth, seen);
4246
4246
  }
4247
4247
  }
4248
4248
  return value;
@@ -4403,7 +4403,7 @@ const BaseTransitionImpl = {
4403
4403
  instance
4404
4404
  );
4405
4405
  setTransitionHooks(oldInnerChild, leavingHooks);
4406
- if (mode === "out-in") {
4406
+ if (mode === "out-in" && innerChild.type !== Comment) {
4407
4407
  state.isLeaving = true;
4408
4408
  leavingHooks.afterLeave = () => {
4409
4409
  state.isLeaving = false;
@@ -4927,7 +4927,7 @@ const KeepAliveImpl = {
4927
4927
  return () => {
4928
4928
  pendingCacheKey = null;
4929
4929
  if (!slots.default) {
4930
- return current = null;
4930
+ return null;
4931
4931
  }
4932
4932
  const children = slots.default();
4933
4933
  const rawVNode = children[0];
@@ -6623,13 +6623,13 @@ function createCompatVue$1(createApp, createSingletonApp) {
6623
6623
  return vm;
6624
6624
  }
6625
6625
  }
6626
- Vue.version = `2.6.14-compat:${"3.4.25"}`;
6626
+ Vue.version = `2.6.14-compat:${"3.4.26"}`;
6627
6627
  Vue.config = singletonApp.config;
6628
- Vue.use = (p, ...options) => {
6629
- if (p && isFunction(p.install)) {
6630
- p.install(Vue, ...options);
6631
- } else if (isFunction(p)) {
6632
- p(Vue, ...options);
6628
+ Vue.use = (plugin, ...options) => {
6629
+ if (plugin && isFunction(plugin.install)) {
6630
+ plugin.install(Vue, ...options);
6631
+ } else if (isFunction(plugin)) {
6632
+ plugin(Vue, ...options);
6633
6633
  }
6634
6634
  return Vue;
6635
6635
  };
@@ -7747,7 +7747,7 @@ const initSlots = (instance, children) => {
7747
7747
  const type = children._;
7748
7748
  if (type) {
7749
7749
  extend(slots, children);
7750
- def(slots, "_", type);
7750
+ def(slots, "_", type, true);
7751
7751
  } else {
7752
7752
  normalizeObjectSlots(children, slots, instance);
7753
7753
  }
@@ -10586,8 +10586,8 @@ function guardReactiveProps(props) {
10586
10586
  return null;
10587
10587
  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
10588
10588
  }
10589
- function cloneVNode(vnode, extraProps, mergeRef = false) {
10590
- const { props, ref, patchFlag, children } = vnode;
10589
+ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
10590
+ const { props, ref, patchFlag, children, transition } = vnode;
10591
10591
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
10592
10592
  const cloned = {
10593
10593
  __v_isVNode: true,
@@ -10617,7 +10617,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10617
10617
  dynamicChildren: vnode.dynamicChildren,
10618
10618
  appContext: vnode.appContext,
10619
10619
  dirs: vnode.dirs,
10620
- transition: vnode.transition,
10620
+ transition,
10621
10621
  // These should technically only be non-null on mounted VNodes. However,
10622
10622
  // they *should* be copied for kept-alive vnodes. So we just always copy
10623
10623
  // them since them being non-null during a mount doesn't affect the logic as
@@ -10631,6 +10631,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10631
10631
  ctx: vnode.ctx,
10632
10632
  ce: vnode.ce
10633
10633
  };
10634
+ if (transition && cloneTransition) {
10635
+ cloned.transition = transition.clone(cloned);
10636
+ }
10634
10637
  {
10635
10638
  defineLegacyVNodeProperties(cloned);
10636
10639
  }
@@ -11470,7 +11473,7 @@ function isMemoSame(cached, memo) {
11470
11473
  return true;
11471
11474
  }
11472
11475
 
11473
- const version = "3.4.25";
11476
+ const version = "3.4.26";
11474
11477
  const warn = warn$1 ;
11475
11478
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11476
11479
  const devtools = devtools$1 ;
@@ -15236,11 +15239,10 @@ const tokenizer = new Tokenizer(stack, {
15236
15239
  }
15237
15240
  },
15238
15241
  onselfclosingtag(end) {
15239
- var _a;
15240
15242
  const name = currentOpenTag.tag;
15241
15243
  currentOpenTag.isSelfClosing = true;
15242
15244
  endOpenTag(end);
15243
- if (((_a = stack[0]) == null ? void 0 : _a.tag) === name) {
15245
+ if (stack[0] && stack[0].tag === name) {
15244
15246
  onCloseTag(stack.shift(), end);
15245
15247
  }
15246
15248
  },
@@ -15556,7 +15558,7 @@ function endOpenTag(end) {
15556
15558
  function onText(content, start, end) {
15557
15559
  const parent = stack[0] || currentRoot;
15558
15560
  const lastNode = parent.children[parent.children.length - 1];
15559
- if ((lastNode == null ? void 0 : lastNode.type) === 2) {
15561
+ if (lastNode && lastNode.type === 2) {
15560
15562
  lastNode.content += content;
15561
15563
  setLocEnd(lastNode.loc, end);
15562
15564
  } else {
@@ -15690,11 +15692,10 @@ function isFragmentTemplate({ tag, props }) {
15690
15692
  return false;
15691
15693
  }
15692
15694
  function isComponent({ tag, props }) {
15693
- var _a;
15694
15695
  if (currentOptions.isCustomElement(tag)) {
15695
15696
  return false;
15696
15697
  }
15697
- if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || ((_a = currentOptions.isBuiltInComponent) == null ? void 0 : _a.call(currentOptions, tag)) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
15698
+ if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
15698
15699
  return true;
15699
15700
  }
15700
15701
  for (let i = 0; i < props.length; i++) {
@@ -15727,7 +15728,6 @@ function isUpperCase(c) {
15727
15728
  }
15728
15729
  const windowsNewlineRE = /\r\n/g;
15729
15730
  function condenseWhitespace(nodes, tag) {
15730
- var _a, _b;
15731
15731
  const shouldCondense = currentOptions.whitespace !== "preserve";
15732
15732
  let removedWhitespace = false;
15733
15733
  for (let i = 0; i < nodes.length; i++) {
@@ -15735,8 +15735,8 @@ function condenseWhitespace(nodes, tag) {
15735
15735
  if (node.type === 2) {
15736
15736
  if (!inPre) {
15737
15737
  if (isAllWhitespace(node.content)) {
15738
- const prev = (_a = nodes[i - 1]) == null ? void 0 : _a.type;
15739
- const next = (_b = nodes[i + 1]) == null ? void 0 : _b.type;
15738
+ const prev = nodes[i - 1] && nodes[i - 1].type;
15739
+ const next = nodes[i + 1] && nodes[i + 1].type;
15740
15740
  if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
15741
15741
  removedWhitespace = true;
15742
15742
  nodes[i] = null;
@@ -15896,7 +15896,7 @@ function baseParse(input, options) {
15896
15896
  }
15897
15897
  tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
15898
15898
  tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
15899
- const delimiters = options == null ? void 0 : options.delimiters;
15899
+ const delimiters = options && options.delimiters;
15900
15900
  if (delimiters) {
15901
15901
  tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
15902
15902
  tokenizer.delimiterClose = toCharCodes(delimiters[1]);
@@ -17254,7 +17254,6 @@ function genReturnStatement({ returns }, context) {
17254
17254
  }
17255
17255
 
17256
17256
  const isLiteralWhitelisted = /* @__PURE__ */ makeMap("true,false,null,this");
17257
- const constantBailRE = /\w\s*\(|\.[^\d]/;
17258
17257
  const transformExpression = (node, context) => {
17259
17258
  if (node.type === 5) {
17260
17259
  node.content = processExpression(
@@ -17349,7 +17348,6 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
17349
17348
  return `_ctx.${raw}`;
17350
17349
  };
17351
17350
  const rawExp = node.content;
17352
- const bailConstant = constantBailRE.test(rawExp);
17353
17351
  let ast = node.ast;
17354
17352
  if (ast === false) {
17355
17353
  return node;
@@ -17411,7 +17409,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
17411
17409
  node2.name = rewriteIdentifier(node2.name, parent, node2);
17412
17410
  ids.push(node2);
17413
17411
  } else {
17414
- if (!(needPrefix && isLocal) && !bailConstant) {
17412
+ if (!(needPrefix && isLocal) && parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "MemberExpression") {
17415
17413
  node2.isConstant = true;
17416
17414
  }
17417
17415
  ids.push(node2);
@@ -17455,7 +17453,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
17455
17453
  ret.ast = ast;
17456
17454
  } else {
17457
17455
  ret = node;
17458
- ret.constType = bailConstant ? 0 : 3;
17456
+ ret.constType = 3;
17459
17457
  }
17460
17458
  ret.identifiers = Object.keys(knownIds);
17461
17459
  return ret;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.25
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;
@@ -3855,7 +3855,7 @@ const KeepAliveImpl = {
3855
3855
  return () => {
3856
3856
  pendingCacheKey = null;
3857
3857
  if (!slots.default) {
3858
- return current = null;
3858
+ return null;
3859
3859
  }
3860
3860
  const children = slots.default();
3861
3861
  const rawVNode = children[0];
@@ -5281,13 +5281,13 @@ function createCompatVue$1(createApp, createSingletonApp) {
5281
5281
  return vm;
5282
5282
  }
5283
5283
  }
5284
- Vue.version = `2.6.14-compat:${"3.4.25"}`;
5284
+ Vue.version = `2.6.14-compat:${"3.4.26"}`;
5285
5285
  Vue.config = singletonApp.config;
5286
- Vue.use = (p, ...options) => {
5287
- if (p && isFunction(p.install)) {
5288
- p.install(Vue, ...options);
5289
- } else if (isFunction(p)) {
5290
- 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);
5291
5291
  }
5292
5292
  return Vue;
5293
5293
  };
@@ -6157,7 +6157,7 @@ const initSlots = (instance, children) => {
6157
6157
  const type = children._;
6158
6158
  if (type) {
6159
6159
  extend(slots, children);
6160
- def(slots, "_", type);
6160
+ def(slots, "_", type, true);
6161
6161
  } else {
6162
6162
  normalizeObjectSlots(children, slots);
6163
6163
  }
@@ -8588,8 +8588,8 @@ function guardReactiveProps(props) {
8588
8588
  return null;
8589
8589
  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
8590
8590
  }
8591
- function cloneVNode(vnode, extraProps, mergeRef = false) {
8592
- const { props, ref, patchFlag, children } = vnode;
8591
+ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
8592
+ const { props, ref, patchFlag, children, transition } = vnode;
8593
8593
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
8594
8594
  const cloned = {
8595
8595
  __v_isVNode: true,
@@ -8619,7 +8619,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
8619
8619
  dynamicChildren: vnode.dynamicChildren,
8620
8620
  appContext: vnode.appContext,
8621
8621
  dirs: vnode.dirs,
8622
- transition: vnode.transition,
8622
+ transition,
8623
8623
  // These should technically only be non-null on mounted VNodes. However,
8624
8624
  // they *should* be copied for kept-alive vnodes. So we just always copy
8625
8625
  // them since them being non-null during a mount doesn't affect the logic as
@@ -8633,6 +8633,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
8633
8633
  ctx: vnode.ctx,
8634
8634
  ce: vnode.ce
8635
8635
  };
8636
+ if (transition && cloneTransition) {
8637
+ cloned.transition = transition.clone(cloned);
8638
+ }
8636
8639
  {
8637
8640
  defineLegacyVNodeProperties(cloned);
8638
8641
  }
@@ -9140,7 +9143,7 @@ function isMemoSame(cached, memo) {
9140
9143
  return true;
9141
9144
  }
9142
9145
 
9143
- const version = "3.4.25";
9146
+ const version = "3.4.26";
9144
9147
  const warn$1 = NOOP;
9145
9148
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9146
9149
  const devtools = void 0;
@@ -12717,11 +12720,10 @@ const tokenizer = new Tokenizer(stack, {
12717
12720
  }
12718
12721
  },
12719
12722
  onselfclosingtag(end) {
12720
- var _a;
12721
12723
  const name = currentOpenTag.tag;
12722
12724
  currentOpenTag.isSelfClosing = true;
12723
12725
  endOpenTag(end);
12724
- if (((_a = stack[0]) == null ? void 0 : _a.tag) === name) {
12726
+ if (stack[0] && stack[0].tag === name) {
12725
12727
  onCloseTag(stack.shift(), end);
12726
12728
  }
12727
12729
  },
@@ -13037,7 +13039,7 @@ function endOpenTag(end) {
13037
13039
  function onText(content, start, end) {
13038
13040
  const parent = stack[0] || currentRoot;
13039
13041
  const lastNode = parent.children[parent.children.length - 1];
13040
- if ((lastNode == null ? void 0 : lastNode.type) === 2) {
13042
+ if (lastNode && lastNode.type === 2) {
13041
13043
  lastNode.content += content;
13042
13044
  setLocEnd(lastNode.loc, end);
13043
13045
  } else {
@@ -13141,11 +13143,10 @@ function isFragmentTemplate({ tag, props }) {
13141
13143
  return false;
13142
13144
  }
13143
13145
  function isComponent({ tag, props }) {
13144
- var _a;
13145
13146
  if (currentOptions.isCustomElement(tag)) {
13146
13147
  return false;
13147
13148
  }
13148
- 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)) {
13149
13150
  return true;
13150
13151
  }
13151
13152
  for (let i = 0; i < props.length; i++) {
@@ -13178,7 +13179,6 @@ function isUpperCase(c) {
13178
13179
  }
13179
13180
  const windowsNewlineRE = /\r\n/g;
13180
13181
  function condenseWhitespace(nodes, tag) {
13181
- var _a, _b;
13182
13182
  const shouldCondense = currentOptions.whitespace !== "preserve";
13183
13183
  let removedWhitespace = false;
13184
13184
  for (let i = 0; i < nodes.length; i++) {
@@ -13186,8 +13186,8 @@ function condenseWhitespace(nodes, tag) {
13186
13186
  if (node.type === 2) {
13187
13187
  if (!inPre) {
13188
13188
  if (isAllWhitespace(node.content)) {
13189
- const prev = (_a = nodes[i - 1]) == null ? void 0 : _a.type;
13190
- 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;
13191
13191
  if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
13192
13192
  removedWhitespace = true;
13193
13193
  nodes[i] = null;
@@ -13340,7 +13340,7 @@ function baseParse(input, options) {
13340
13340
  }
13341
13341
  tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
13342
13342
  tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
13343
- const delimiters = options == null ? void 0 : options.delimiters;
13343
+ const delimiters = options && options.delimiters;
13344
13344
  if (delimiters) {
13345
13345
  tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
13346
13346
  tokenizer.delimiterClose = toCharCodes(delimiters[1]);
@@ -14667,7 +14667,6 @@ function genReturnStatement({ returns }, context) {
14667
14667
  }
14668
14668
 
14669
14669
  const isLiteralWhitelisted = /* @__PURE__ */ makeMap("true,false,null,this");
14670
- const constantBailRE = /\w\s*\(|\.[^\d]/;
14671
14670
  const transformExpression = (node, context) => {
14672
14671
  if (node.type === 5) {
14673
14672
  node.content = processExpression(
@@ -14762,7 +14761,6 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
14762
14761
  return `_ctx.${raw}`;
14763
14762
  };
14764
14763
  const rawExp = node.content;
14765
- const bailConstant = constantBailRE.test(rawExp);
14766
14764
  let ast = node.ast;
14767
14765
  if (ast === false) {
14768
14766
  return node;
@@ -14824,7 +14822,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
14824
14822
  node2.name = rewriteIdentifier(node2.name, parent, node2);
14825
14823
  ids.push(node2);
14826
14824
  } else {
14827
- if (!(needPrefix && isLocal) && !bailConstant) {
14825
+ if (!(needPrefix && isLocal) && parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "MemberExpression") {
14828
14826
  node2.isConstant = true;
14829
14827
  }
14830
14828
  ids.push(node2);
@@ -14868,7 +14866,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
14868
14866
  ret.ast = ast;
14869
14867
  } else {
14870
14868
  ret = node;
14871
- ret.constType = bailConstant ? 0 : 3;
14869
+ ret.constType = 3;
14872
14870
  }
14873
14871
  ret.identifiers = Object.keys(knownIds);
14874
14872
  return ret;