@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.
@@ -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
  **/
@@ -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`);
@@ -2978,7 +2978,7 @@ function renderComponentRoot(instance) {
2978
2978
  !!(process.env.NODE_ENV !== "production") ? {
2979
2979
  get attrs() {
2980
2980
  markAttrsAccessed();
2981
- return attrs;
2981
+ return shallowReadonly(attrs);
2982
2982
  },
2983
2983
  slots,
2984
2984
  emit
@@ -3011,7 +3011,7 @@ function renderComponentRoot(instance) {
3011
3011
  propsOptions
3012
3012
  );
3013
3013
  }
3014
- root = cloneVNode(root, fallthroughAttrs);
3014
+ root = cloneVNode(root, fallthroughAttrs, false, true);
3015
3015
  } else if (!!(process.env.NODE_ENV !== "production") && !accessedAttrs && root.type !== Comment) {
3016
3016
  const allAttrs = Object.keys(attrs);
3017
3017
  const eventAttrs = [];
@@ -3049,10 +3049,15 @@ function renderComponentRoot(instance) {
3049
3049
  getComponentName(instance.type)
3050
3050
  );
3051
3051
  }
3052
- root = cloneVNode(root, {
3053
- class: cls,
3054
- style
3055
- });
3052
+ root = cloneVNode(
3053
+ root,
3054
+ {
3055
+ class: cls,
3056
+ style
3057
+ },
3058
+ false,
3059
+ true
3060
+ );
3056
3061
  }
3057
3062
  }
3058
3063
  if (vnode.dirs) {
@@ -3061,7 +3066,7 @@ function renderComponentRoot(instance) {
3061
3066
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
3062
3067
  );
3063
3068
  }
3064
- root = cloneVNode(root);
3069
+ root = cloneVNode(root, null, false, true);
3065
3070
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
3066
3071
  }
3067
3072
  if (vnode.transition) {
@@ -3556,7 +3561,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3556
3561
  let parentSuspenseId;
3557
3562
  const isSuspensible = isVNodeSuspensible(vnode);
3558
3563
  if (isSuspensible) {
3559
- if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {
3564
+ if (parentSuspense && parentSuspense.pendingBranch) {
3560
3565
  parentSuspenseId = parentSuspense.pendingId;
3561
3566
  parentSuspense.deps++;
3562
3567
  }
@@ -3868,8 +3873,8 @@ function setActiveBranch(suspense, branch) {
3868
3873
  }
3869
3874
  }
3870
3875
  function isVNodeSuspensible(vnode) {
3871
- var _a;
3872
- return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;
3876
+ const suspensible = vnode.props && vnode.props.suspensible;
3877
+ return suspensible != null && suspensible !== false;
3873
3878
  }
3874
3879
 
3875
3880
  const legacyDirectiveHookMap = {
@@ -4171,34 +4176,29 @@ function createPathGetter(ctx, path) {
4171
4176
  return cur;
4172
4177
  };
4173
4178
  }
4174
- function traverse(value, depth, currentDepth = 0, seen) {
4175
- if (!isObject(value) || value["__v_skip"]) {
4179
+ function traverse(value, depth = Infinity, seen) {
4180
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
4176
4181
  return value;
4177
4182
  }
4178
- if (depth && depth > 0) {
4179
- if (currentDepth >= depth) {
4180
- return value;
4181
- }
4182
- currentDepth++;
4183
- }
4184
4183
  seen = seen || /* @__PURE__ */ new Set();
4185
4184
  if (seen.has(value)) {
4186
4185
  return value;
4187
4186
  }
4188
4187
  seen.add(value);
4188
+ depth--;
4189
4189
  if (isRef(value)) {
4190
- traverse(value.value, depth, currentDepth, seen);
4190
+ traverse(value.value, depth, seen);
4191
4191
  } else if (isArray(value)) {
4192
4192
  for (let i = 0; i < value.length; i++) {
4193
- traverse(value[i], depth, currentDepth, seen);
4193
+ traverse(value[i], depth, seen);
4194
4194
  }
4195
4195
  } else if (isSet(value) || isMap(value)) {
4196
4196
  value.forEach((v) => {
4197
- traverse(v, depth, currentDepth, seen);
4197
+ traverse(v, depth, seen);
4198
4198
  });
4199
4199
  } else if (isPlainObject(value)) {
4200
4200
  for (const key in value) {
4201
- traverse(value[key], depth, currentDepth, seen);
4201
+ traverse(value[key], depth, seen);
4202
4202
  }
4203
4203
  }
4204
4204
  return value;
@@ -4361,7 +4361,7 @@ const BaseTransitionImpl = {
4361
4361
  instance
4362
4362
  );
4363
4363
  setTransitionHooks(oldInnerChild, leavingHooks);
4364
- if (mode === "out-in") {
4364
+ if (mode === "out-in" && innerChild.type !== Comment) {
4365
4365
  state.isLeaving = true;
4366
4366
  leavingHooks.afterLeave = () => {
4367
4367
  state.isLeaving = false;
@@ -4885,7 +4885,7 @@ const KeepAliveImpl = {
4885
4885
  return () => {
4886
4886
  pendingCacheKey = null;
4887
4887
  if (!slots.default) {
4888
- return current = null;
4888
+ return null;
4889
4889
  }
4890
4890
  const children = slots.default();
4891
4891
  const rawVNode = children[0];
@@ -6583,13 +6583,13 @@ function createCompatVue$1(createApp, createSingletonApp) {
6583
6583
  return vm;
6584
6584
  }
6585
6585
  }
6586
- Vue.version = `2.6.14-compat:${"3.4.25"}`;
6586
+ Vue.version = `2.6.14-compat:${"3.4.26"}`;
6587
6587
  Vue.config = singletonApp.config;
6588
- Vue.use = (p, ...options) => {
6589
- if (p && isFunction(p.install)) {
6590
- p.install(Vue, ...options);
6591
- } else if (isFunction(p)) {
6592
- p(Vue, ...options);
6588
+ Vue.use = (plugin, ...options) => {
6589
+ if (plugin && isFunction(plugin.install)) {
6590
+ plugin.install(Vue, ...options);
6591
+ } else if (isFunction(plugin)) {
6592
+ plugin(Vue, ...options);
6593
6593
  }
6594
6594
  return Vue;
6595
6595
  };
@@ -7710,7 +7710,7 @@ const initSlots = (instance, children) => {
7710
7710
  const type = children._;
7711
7711
  if (type) {
7712
7712
  extend(slots, children);
7713
- def(slots, "_", type);
7713
+ def(slots, "_", type, true);
7714
7714
  } else {
7715
7715
  normalizeObjectSlots(children, slots, instance);
7716
7716
  }
@@ -10597,8 +10597,8 @@ function guardReactiveProps(props) {
10597
10597
  return null;
10598
10598
  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
10599
10599
  }
10600
- function cloneVNode(vnode, extraProps, mergeRef = false) {
10601
- const { props, ref, patchFlag, children } = vnode;
10600
+ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
10601
+ const { props, ref, patchFlag, children, transition } = vnode;
10602
10602
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
10603
10603
  const cloned = {
10604
10604
  __v_isVNode: true,
@@ -10628,7 +10628,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10628
10628
  dynamicChildren: vnode.dynamicChildren,
10629
10629
  appContext: vnode.appContext,
10630
10630
  dirs: vnode.dirs,
10631
- transition: vnode.transition,
10631
+ transition,
10632
10632
  // These should technically only be non-null on mounted VNodes. However,
10633
10633
  // they *should* be copied for kept-alive vnodes. So we just always copy
10634
10634
  // them since them being non-null during a mount doesn't affect the logic as
@@ -10642,6 +10642,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10642
10642
  ctx: vnode.ctx,
10643
10643
  ce: vnode.ce
10644
10644
  };
10645
+ if (transition && cloneTransition) {
10646
+ cloned.transition = transition.clone(cloned);
10647
+ }
10645
10648
  {
10646
10649
  defineLegacyVNodeProperties(cloned);
10647
10650
  }
@@ -11495,7 +11498,7 @@ function isMemoSame(cached, memo) {
11495
11498
  return true;
11496
11499
  }
11497
11500
 
11498
- const version = "3.4.25";
11501
+ const version = "3.4.26";
11499
11502
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11500
11503
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11501
11504
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -14971,11 +14974,10 @@ const tokenizer = new Tokenizer(stack, {
14971
14974
  }
14972
14975
  },
14973
14976
  onselfclosingtag(end) {
14974
- var _a;
14975
14977
  const name = currentOpenTag.tag;
14976
14978
  currentOpenTag.isSelfClosing = true;
14977
14979
  endOpenTag(end);
14978
- if (((_a = stack[0]) == null ? void 0 : _a.tag) === name) {
14980
+ if (stack[0] && stack[0].tag === name) {
14979
14981
  onCloseTag(stack.shift(), end);
14980
14982
  }
14981
14983
  },
@@ -15286,16 +15288,15 @@ function endOpenTag(end) {
15286
15288
  currentOpenTag = null;
15287
15289
  }
15288
15290
  function onText(content, start, end) {
15289
- var _a;
15290
15291
  {
15291
- const tag = (_a = stack[0]) == null ? void 0 : _a.tag;
15292
+ const tag = stack[0] && stack[0].tag;
15292
15293
  if (tag !== "script" && tag !== "style" && content.includes("&")) {
15293
15294
  content = currentOptions.decodeEntities(content, false);
15294
15295
  }
15295
15296
  }
15296
15297
  const parent = stack[0] || currentRoot;
15297
15298
  const lastNode = parent.children[parent.children.length - 1];
15298
- if ((lastNode == null ? void 0 : lastNode.type) === 2) {
15299
+ if (lastNode && lastNode.type === 2) {
15299
15300
  lastNode.content += content;
15300
15301
  setLocEnd(lastNode.loc, end);
15301
15302
  } else {
@@ -15429,11 +15430,10 @@ function isFragmentTemplate({ tag, props }) {
15429
15430
  return false;
15430
15431
  }
15431
15432
  function isComponent({ tag, props }) {
15432
- var _a;
15433
15433
  if (currentOptions.isCustomElement(tag)) {
15434
15434
  return false;
15435
15435
  }
15436
- if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || ((_a = currentOptions.isBuiltInComponent) == null ? void 0 : _a.call(currentOptions, tag)) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
15436
+ if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
15437
15437
  return true;
15438
15438
  }
15439
15439
  for (let i = 0; i < props.length; i++) {
@@ -15466,7 +15466,6 @@ function isUpperCase(c) {
15466
15466
  }
15467
15467
  const windowsNewlineRE = /\r\n/g;
15468
15468
  function condenseWhitespace(nodes, tag) {
15469
- var _a, _b;
15470
15469
  const shouldCondense = currentOptions.whitespace !== "preserve";
15471
15470
  let removedWhitespace = false;
15472
15471
  for (let i = 0; i < nodes.length; i++) {
@@ -15474,8 +15473,8 @@ function condenseWhitespace(nodes, tag) {
15474
15473
  if (node.type === 2) {
15475
15474
  if (!inPre) {
15476
15475
  if (isAllWhitespace(node.content)) {
15477
- const prev = (_a = nodes[i - 1]) == null ? void 0 : _a.type;
15478
- const next = (_b = nodes[i + 1]) == null ? void 0 : _b.type;
15476
+ const prev = nodes[i - 1] && nodes[i - 1].type;
15477
+ const next = nodes[i + 1] && nodes[i + 1].type;
15479
15478
  if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
15480
15479
  removedWhitespace = true;
15481
15480
  nodes[i] = null;
@@ -15613,7 +15612,7 @@ function baseParse(input, options) {
15613
15612
  }
15614
15613
  tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
15615
15614
  tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
15616
- const delimiters = options == null ? void 0 : options.delimiters;
15615
+ const delimiters = options && options.delimiters;
15617
15616
  if (delimiters) {
15618
15617
  tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
15619
15618
  tokenizer.delimiterClose = toCharCodes(delimiters[1]);
@@ -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
  **/
@@ -84,10 +84,11 @@ var Vue = (function () {
84
84
  fns[i](arg);
85
85
  }
86
86
  };
87
- const def = (obj, key, value) => {
87
+ const def = (obj, key, value, writable = false) => {
88
88
  Object.defineProperty(obj, key, {
89
89
  configurable: true,
90
90
  enumerable: false,
91
+ writable,
91
92
  value
92
93
  });
93
94
  };
@@ -544,11 +545,10 @@ var Vue = (function () {
544
545
  }
545
546
  }
546
547
  stop() {
547
- var _a;
548
548
  if (this.active) {
549
549
  preCleanupEffect(this);
550
550
  postCleanupEffect(this);
551
- (_a = this.onStop) == null ? void 0 : _a.call(this);
551
+ this.onStop && this.onStop();
552
552
  this.active = false;
553
553
  }
554
554
  }
@@ -761,8 +761,8 @@ var Vue = (function () {
761
761
  resetScheduling();
762
762
  }
763
763
  function getDepFromReactive(object, key) {
764
- var _a;
765
- return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
764
+ const depsMap = targetMap.get(object);
765
+ return depsMap && depsMap.get(key);
766
766
  }
767
767
 
768
768
  const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
@@ -2974,7 +2974,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
2974
2974
  true ? {
2975
2975
  get attrs() {
2976
2976
  markAttrsAccessed();
2977
- return attrs;
2977
+ return shallowReadonly(attrs);
2978
2978
  },
2979
2979
  slots,
2980
2980
  emit
@@ -3007,7 +3007,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3007
3007
  propsOptions
3008
3008
  );
3009
3009
  }
3010
- root = cloneVNode(root, fallthroughAttrs);
3010
+ root = cloneVNode(root, fallthroughAttrs, false, true);
3011
3011
  } else if (!accessedAttrs && root.type !== Comment) {
3012
3012
  const allAttrs = Object.keys(attrs);
3013
3013
  const eventAttrs = [];
@@ -3045,10 +3045,15 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3045
3045
  getComponentName(instance.type)
3046
3046
  );
3047
3047
  }
3048
- root = cloneVNode(root, {
3049
- class: cls,
3050
- style
3051
- });
3048
+ root = cloneVNode(
3049
+ root,
3050
+ {
3051
+ class: cls,
3052
+ style
3053
+ },
3054
+ false,
3055
+ true
3056
+ );
3052
3057
  }
3053
3058
  }
3054
3059
  if (vnode.dirs) {
@@ -3057,7 +3062,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3057
3062
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
3058
3063
  );
3059
3064
  }
3060
- root = cloneVNode(root);
3065
+ root = cloneVNode(root, null, false, true);
3061
3066
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
3062
3067
  }
3063
3068
  if (vnode.transition) {
@@ -3552,7 +3557,7 @@ If this is a native custom element, make sure to exclude it from component resol
3552
3557
  let parentSuspenseId;
3553
3558
  const isSuspensible = isVNodeSuspensible(vnode);
3554
3559
  if (isSuspensible) {
3555
- if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {
3560
+ if (parentSuspense && parentSuspense.pendingBranch) {
3556
3561
  parentSuspenseId = parentSuspense.pendingId;
3557
3562
  parentSuspense.deps++;
3558
3563
  }
@@ -3864,8 +3869,8 @@ If this is a native custom element, make sure to exclude it from component resol
3864
3869
  }
3865
3870
  }
3866
3871
  function isVNodeSuspensible(vnode) {
3867
- var _a;
3868
- return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;
3872
+ const suspensible = vnode.props && vnode.props.suspensible;
3873
+ return suspensible != null && suspensible !== false;
3869
3874
  }
3870
3875
 
3871
3876
  const legacyDirectiveHookMap = {
@@ -4140,34 +4145,29 @@ If this is a native custom element, make sure to exclude it from component resol
4140
4145
  return cur;
4141
4146
  };
4142
4147
  }
4143
- function traverse(value, depth, currentDepth = 0, seen) {
4144
- if (!isObject(value) || value["__v_skip"]) {
4148
+ function traverse(value, depth = Infinity, seen) {
4149
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
4145
4150
  return value;
4146
4151
  }
4147
- if (depth && depth > 0) {
4148
- if (currentDepth >= depth) {
4149
- return value;
4150
- }
4151
- currentDepth++;
4152
- }
4153
4152
  seen = seen || /* @__PURE__ */ new Set();
4154
4153
  if (seen.has(value)) {
4155
4154
  return value;
4156
4155
  }
4157
4156
  seen.add(value);
4157
+ depth--;
4158
4158
  if (isRef(value)) {
4159
- traverse(value.value, depth, currentDepth, seen);
4159
+ traverse(value.value, depth, seen);
4160
4160
  } else if (isArray(value)) {
4161
4161
  for (let i = 0; i < value.length; i++) {
4162
- traverse(value[i], depth, currentDepth, seen);
4162
+ traverse(value[i], depth, seen);
4163
4163
  }
4164
4164
  } else if (isSet(value) || isMap(value)) {
4165
4165
  value.forEach((v) => {
4166
- traverse(v, depth, currentDepth, seen);
4166
+ traverse(v, depth, seen);
4167
4167
  });
4168
4168
  } else if (isPlainObject(value)) {
4169
4169
  for (const key in value) {
4170
- traverse(value[key], depth, currentDepth, seen);
4170
+ traverse(value[key], depth, seen);
4171
4171
  }
4172
4172
  }
4173
4173
  return value;
@@ -4328,7 +4328,7 @@ If this is a native custom element, make sure to exclude it from component resol
4328
4328
  instance
4329
4329
  );
4330
4330
  setTransitionHooks(oldInnerChild, leavingHooks);
4331
- if (mode === "out-in") {
4331
+ if (mode === "out-in" && innerChild.type !== Comment) {
4332
4332
  state.isLeaving = true;
4333
4333
  leavingHooks.afterLeave = () => {
4334
4334
  state.isLeaving = false;
@@ -4846,7 +4846,7 @@ If this is a native custom element, make sure to exclude it from component resol
4846
4846
  return () => {
4847
4847
  pendingCacheKey = null;
4848
4848
  if (!slots.default) {
4849
- return current = null;
4849
+ return null;
4850
4850
  }
4851
4851
  const children = slots.default();
4852
4852
  const rawVNode = children[0];
@@ -6542,13 +6542,13 @@ If this is a native custom element, make sure to exclude it from component resol
6542
6542
  return vm;
6543
6543
  }
6544
6544
  }
6545
- Vue.version = `2.6.14-compat:${"3.4.25"}`;
6545
+ Vue.version = `2.6.14-compat:${"3.4.26"}`;
6546
6546
  Vue.config = singletonApp.config;
6547
- Vue.use = (p, ...options) => {
6548
- if (p && isFunction(p.install)) {
6549
- p.install(Vue, ...options);
6550
- } else if (isFunction(p)) {
6551
- p(Vue, ...options);
6547
+ Vue.use = (plugin, ...options) => {
6548
+ if (plugin && isFunction(plugin.install)) {
6549
+ plugin.install(Vue, ...options);
6550
+ } else if (isFunction(plugin)) {
6551
+ plugin(Vue, ...options);
6552
6552
  }
6553
6553
  return Vue;
6554
6554
  };
@@ -7666,7 +7666,7 @@ If you want to remount the same app, move your app creation logic into a factory
7666
7666
  const type = children._;
7667
7667
  if (type) {
7668
7668
  extend(slots, children);
7669
- def(slots, "_", type);
7669
+ def(slots, "_", type, true);
7670
7670
  } else {
7671
7671
  normalizeObjectSlots(children, slots, instance);
7672
7672
  }
@@ -10505,8 +10505,8 @@ Component that was made reactive: `,
10505
10505
  return null;
10506
10506
  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
10507
10507
  }
10508
- function cloneVNode(vnode, extraProps, mergeRef = false) {
10509
- const { props, ref, patchFlag, children } = vnode;
10508
+ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
10509
+ const { props, ref, patchFlag, children, transition } = vnode;
10510
10510
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
10511
10511
  const cloned = {
10512
10512
  __v_isVNode: true,
@@ -10536,7 +10536,7 @@ Component that was made reactive: `,
10536
10536
  dynamicChildren: vnode.dynamicChildren,
10537
10537
  appContext: vnode.appContext,
10538
10538
  dirs: vnode.dirs,
10539
- transition: vnode.transition,
10539
+ transition,
10540
10540
  // These should technically only be non-null on mounted VNodes. However,
10541
10541
  // they *should* be copied for kept-alive vnodes. So we just always copy
10542
10542
  // them since them being non-null during a mount doesn't affect the logic as
@@ -10550,6 +10550,9 @@ Component that was made reactive: `,
10550
10550
  ctx: vnode.ctx,
10551
10551
  ce: vnode.ce
10552
10552
  };
10553
+ if (transition && cloneTransition) {
10554
+ cloned.transition = transition.clone(cloned);
10555
+ }
10553
10556
  {
10554
10557
  defineLegacyVNodeProperties(cloned);
10555
10558
  }
@@ -11372,7 +11375,7 @@ Component that was made reactive: `,
11372
11375
  return true;
11373
11376
  }
11374
11377
 
11375
- const version = "3.4.25";
11378
+ const version = "3.4.26";
11376
11379
  const warn = warn$1 ;
11377
11380
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11378
11381
  const devtools = devtools$1 ;
@@ -14786,11 +14789,10 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14786
14789
  }
14787
14790
  },
14788
14791
  onselfclosingtag(end) {
14789
- var _a;
14790
14792
  const name = currentOpenTag.tag;
14791
14793
  currentOpenTag.isSelfClosing = true;
14792
14794
  endOpenTag(end);
14793
- if (((_a = stack[0]) == null ? void 0 : _a.tag) === name) {
14795
+ if (stack[0] && stack[0].tag === name) {
14794
14796
  onCloseTag(stack.shift(), end);
14795
14797
  }
14796
14798
  },
@@ -15101,16 +15103,15 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15101
15103
  currentOpenTag = null;
15102
15104
  }
15103
15105
  function onText(content, start, end) {
15104
- var _a;
15105
15106
  {
15106
- const tag = (_a = stack[0]) == null ? void 0 : _a.tag;
15107
+ const tag = stack[0] && stack[0].tag;
15107
15108
  if (tag !== "script" && tag !== "style" && content.includes("&")) {
15108
15109
  content = currentOptions.decodeEntities(content, false);
15109
15110
  }
15110
15111
  }
15111
15112
  const parent = stack[0] || currentRoot;
15112
15113
  const lastNode = parent.children[parent.children.length - 1];
15113
- if ((lastNode == null ? void 0 : lastNode.type) === 2) {
15114
+ if (lastNode && lastNode.type === 2) {
15114
15115
  lastNode.content += content;
15115
15116
  setLocEnd(lastNode.loc, end);
15116
15117
  } else {
@@ -15244,11 +15245,10 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15244
15245
  return false;
15245
15246
  }
15246
15247
  function isComponent({ tag, props }) {
15247
- var _a;
15248
15248
  if (currentOptions.isCustomElement(tag)) {
15249
15249
  return false;
15250
15250
  }
15251
- if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || ((_a = currentOptions.isBuiltInComponent) == null ? void 0 : _a.call(currentOptions, tag)) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
15251
+ if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
15252
15252
  return true;
15253
15253
  }
15254
15254
  for (let i = 0; i < props.length; i++) {
@@ -15281,7 +15281,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15281
15281
  }
15282
15282
  const windowsNewlineRE = /\r\n/g;
15283
15283
  function condenseWhitespace(nodes, tag) {
15284
- var _a, _b;
15285
15284
  const shouldCondense = currentOptions.whitespace !== "preserve";
15286
15285
  let removedWhitespace = false;
15287
15286
  for (let i = 0; i < nodes.length; i++) {
@@ -15289,8 +15288,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15289
15288
  if (node.type === 2) {
15290
15289
  if (!inPre) {
15291
15290
  if (isAllWhitespace(node.content)) {
15292
- const prev = (_a = nodes[i - 1]) == null ? void 0 : _a.type;
15293
- const next = (_b = nodes[i + 1]) == null ? void 0 : _b.type;
15291
+ const prev = nodes[i - 1] && nodes[i - 1].type;
15292
+ const next = nodes[i + 1] && nodes[i + 1].type;
15294
15293
  if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
15295
15294
  removedWhitespace = true;
15296
15295
  nodes[i] = null;
@@ -15428,7 +15427,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15428
15427
  }
15429
15428
  tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
15430
15429
  tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
15431
- const delimiters = options == null ? void 0 : options.delimiters;
15430
+ const delimiters = options && options.delimiters;
15432
15431
  if (delimiters) {
15433
15432
  tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
15434
15433
  tokenizer.delimiterClose = toCharCodes(delimiters[1]);