@vue/compat 3.5.19 → 3.5.21

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,12 +1,11 @@
1
1
  /**
2
- * @vue/compat v3.5.19
2
+ * @vue/compat v3.5.21
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
6
  var Vue = (function () {
7
7
  'use strict';
8
8
 
9
- /*! #__NO_SIDE_EFFECTS__ */
10
9
  // @__NO_SIDE_EFFECTS__
11
10
  function makeMap(str) {
12
11
  const map = /* @__PURE__ */ Object.create(null);
@@ -64,10 +63,10 @@ var Vue = (function () {
64
63
  return hit || (cache[str] = fn(str));
65
64
  });
66
65
  };
67
- const camelizeRE = /-(\w)/g;
66
+ const camelizeRE = /-\w/g;
68
67
  const camelize = cacheStringFunction(
69
68
  (str) => {
70
- return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
69
+ return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());
71
70
  }
72
71
  );
73
72
  const hyphenateRE = /\B([A-Z])/g;
@@ -1167,7 +1166,7 @@ var Vue = (function () {
1167
1166
  join(separator) {
1168
1167
  return reactiveReadArray(this).join(separator);
1169
1168
  },
1170
- // keys() iterator only reads `length`, no optimisation required
1169
+ // keys() iterator only reads `length`, no optimization required
1171
1170
  lastIndexOf(...args) {
1172
1171
  return searchProxy(this, "lastIndexOf", args);
1173
1172
  },
@@ -1519,7 +1518,7 @@ var Vue = (function () {
1519
1518
  get size() {
1520
1519
  const target = this["__v_raw"];
1521
1520
  !readonly && track(toRaw(target), "iterate", ITERATE_KEY);
1522
- return Reflect.get(target, "size", target);
1521
+ return target.size;
1523
1522
  },
1524
1523
  has(key) {
1525
1524
  const target = this["__v_raw"];
@@ -2230,11 +2229,11 @@ var Vue = (function () {
2230
2229
  if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
2231
2230
  return value;
2232
2231
  }
2233
- seen = seen || /* @__PURE__ */ new Set();
2234
- if (seen.has(value)) {
2232
+ seen = seen || /* @__PURE__ */ new Map();
2233
+ if ((seen.get(value) || 0) >= depth) {
2235
2234
  return value;
2236
2235
  }
2237
- seen.add(value);
2236
+ seen.set(value, depth);
2238
2237
  depth--;
2239
2238
  if (isRef(value)) {
2240
2239
  traverse(value.value, depth, seen);
@@ -2696,11 +2695,14 @@ var Vue = (function () {
2696
2695
  let isHmrUpdating = false;
2697
2696
  const hmrDirtyComponents = /* @__PURE__ */ new Map();
2698
2697
  {
2699
- getGlobalThis().__VUE_HMR_RUNTIME__ = {
2700
- createRecord: tryWrap(createRecord),
2701
- rerender: tryWrap(rerender),
2702
- reload: tryWrap(reload)
2703
- };
2698
+ const g = getGlobalThis();
2699
+ if (!g.__VUE_HMR_RUNTIME__) {
2700
+ g.__VUE_HMR_RUNTIME__ = {
2701
+ createRecord: tryWrap(createRecord),
2702
+ rerender: tryWrap(rerender),
2703
+ reload: tryWrap(reload)
2704
+ };
2705
+ }
2704
2706
  }
2705
2707
  const map = /* @__PURE__ */ new Map();
2706
2708
  function registerHMR(instance) {
@@ -2773,10 +2775,12 @@ var Vue = (function () {
2773
2775
  dirtyInstances.delete(instance);
2774
2776
  } else if (instance.parent) {
2775
2777
  queueJob(() => {
2776
- isHmrUpdating = true;
2777
- instance.parent.update();
2778
- isHmrUpdating = false;
2779
- dirtyInstances.delete(instance);
2778
+ if (!(instance.job.flags & 8)) {
2779
+ isHmrUpdating = true;
2780
+ instance.parent.update();
2781
+ isHmrUpdating = false;
2782
+ dirtyInstances.delete(instance);
2783
+ }
2780
2784
  });
2781
2785
  } else if (instance.appContext.reload) {
2782
2786
  instance.appContext.reload();
@@ -2880,7 +2884,6 @@ var Vue = (function () {
2880
2884
  _devtoolsComponentRemoved(component);
2881
2885
  }
2882
2886
  };
2883
- /*! #__NO_SIDE_EFFECTS__ */
2884
2887
  // @__NO_SIDE_EFFECTS__
2885
2888
  function createDevtoolsComponentHook(hook) {
2886
2889
  return (component) => {
@@ -3806,26 +3809,34 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3806
3809
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3807
3810
  o: { nextSibling, parentNode, querySelector, insert, createText }
3808
3811
  }, hydrateChildren) {
3812
+ function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3813
+ vnode2.anchor = hydrateChildren(
3814
+ nextSibling(node2),
3815
+ vnode2,
3816
+ parentNode(node2),
3817
+ parentComponent,
3818
+ parentSuspense,
3819
+ slotScopeIds,
3820
+ optimized
3821
+ );
3822
+ vnode2.targetStart = targetStart;
3823
+ vnode2.targetAnchor = targetAnchor;
3824
+ }
3809
3825
  const target = vnode.target = resolveTarget(
3810
3826
  vnode.props,
3811
3827
  querySelector
3812
3828
  );
3829
+ const disabled = isTeleportDisabled(vnode.props);
3813
3830
  if (target) {
3814
- const disabled = isTeleportDisabled(vnode.props);
3815
3831
  const targetNode = target._lpa || target.firstChild;
3816
3832
  if (vnode.shapeFlag & 16) {
3817
3833
  if (disabled) {
3818
- vnode.anchor = hydrateChildren(
3819
- nextSibling(node),
3834
+ hydrateDisabledTeleport(
3835
+ node,
3820
3836
  vnode,
3821
- parentNode(node),
3822
- parentComponent,
3823
- parentSuspense,
3824
- slotScopeIds,
3825
- optimized
3837
+ targetNode,
3838
+ targetNode && nextSibling(targetNode)
3826
3839
  );
3827
- vnode.targetStart = targetNode;
3828
- vnode.targetAnchor = targetNode && nextSibling(targetNode);
3829
3840
  } else {
3830
3841
  vnode.anchor = nextSibling(node);
3831
3842
  let targetAnchor = targetNode;
@@ -3856,6 +3867,10 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3856
3867
  }
3857
3868
  }
3858
3869
  updateCssVars(vnode, disabled);
3870
+ } else if (disabled) {
3871
+ if (vnode.shapeFlag & 16) {
3872
+ hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3873
+ }
3859
3874
  }
3860
3875
  return vnode.anchor && nextSibling(vnode.anchor);
3861
3876
  }
@@ -3967,7 +3982,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3967
3982
  setTransitionHooks(innerChild, enterHooks);
3968
3983
  }
3969
3984
  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
3970
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
3985
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
3971
3986
  let leavingHooks = resolveTransitionHooks(
3972
3987
  oldInnerChild,
3973
3988
  rawProps,
@@ -4250,7 +4265,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4250
4265
  return ret;
4251
4266
  }
4252
4267
 
4253
- /*! #__NO_SIDE_EFFECTS__ */
4254
4268
  // @__NO_SIDE_EFFECTS__
4255
4269
  function defineComponent(options, extraOptions) {
4256
4270
  return isFunction(options) ? (
@@ -4303,6 +4317,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4303
4317
  return ret;
4304
4318
  }
4305
4319
 
4320
+ const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
4306
4321
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4307
4322
  if (isArray(rawRef)) {
4308
4323
  rawRef.forEach(
@@ -4352,6 +4367,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4352
4367
  return !knownTemplateRefs.has(ref2);
4353
4368
  };
4354
4369
  if (oldRef != null && oldRef !== ref) {
4370
+ invalidatePendingSetRef(oldRawRef);
4355
4371
  if (isString(oldRef)) {
4356
4372
  refs[oldRef] = null;
4357
4373
  if (canSetSetupRef(oldRef)) {
@@ -4409,9 +4425,15 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4409
4425
  }
4410
4426
  };
4411
4427
  if (value) {
4412
- doSet.id = -1;
4413
- queuePostRenderEffect(doSet, parentSuspense);
4428
+ const job = () => {
4429
+ doSet();
4430
+ pendingSetRefMap.delete(rawRef);
4431
+ };
4432
+ job.id = -1;
4433
+ pendingSetRefMap.set(rawRef, job);
4434
+ queuePostRenderEffect(job, parentSuspense);
4414
4435
  } else {
4436
+ invalidatePendingSetRef(rawRef);
4415
4437
  doSet();
4416
4438
  }
4417
4439
  } else {
@@ -4419,6 +4441,13 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4419
4441
  }
4420
4442
  }
4421
4443
  }
4444
+ function invalidatePendingSetRef(rawRef) {
4445
+ const pendingSetRef = pendingSetRefMap.get(rawRef);
4446
+ if (pendingSetRef) {
4447
+ pendingSetRef.flags |= 8;
4448
+ pendingSetRefMap.delete(rawRef);
4449
+ }
4450
+ }
4422
4451
 
4423
4452
  let hasLoggedMismatchError = false;
4424
4453
  const logMismatchError = () => {
@@ -5151,7 +5180,6 @@ Server rendered element contains fewer child nodes than client vdom.`
5151
5180
  }
5152
5181
 
5153
5182
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
5154
- /*! #__NO_SIDE_EFFECTS__ */
5155
5183
  // @__NO_SIDE_EFFECTS__
5156
5184
  function defineAsyncComponent(source) {
5157
5185
  if (isFunction(source)) {
@@ -6156,7 +6184,7 @@ If this is a native custom element, make sure to exclude it from component resol
6156
6184
  }
6157
6185
  return renderSlot(instance.slots, name, props, fallback && (() => fallback));
6158
6186
  }
6159
- function legacyresolveScopedSlots(fns, raw, hasDynamicKeys) {
6187
+ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
6160
6188
  return createSlots(
6161
6189
  raw || { $stable: !hasDynamicKeys },
6162
6190
  mapKeyToName(fns)
@@ -6323,7 +6351,7 @@ If this is a native custom element, make sure to exclude it from component resol
6323
6351
  _b: () => legacyBindObjectProps,
6324
6352
  _v: () => createTextVNode,
6325
6353
  _e: () => createCommentVNode,
6326
- _u: () => legacyresolveScopedSlots,
6354
+ _u: () => legacyResolveScopedSlots,
6327
6355
  _g: () => legacyBindObjectListeners,
6328
6356
  _d: () => legacyBindDynamicKeys,
6329
6357
  _p: () => legacyPrependModifier
@@ -7239,7 +7267,7 @@ If this is a native custom element, make sure to exclude it from component resol
7239
7267
  return vm;
7240
7268
  }
7241
7269
  }
7242
- Vue.version = `2.6.14-compat:${"3.5.19"}`;
7270
+ Vue.version = `2.6.14-compat:${"3.5.21"}`;
7243
7271
  Vue.config = singletonApp.config;
7244
7272
  Vue.use = (plugin, ...options) => {
7245
7273
  if (plugin && isFunction(plugin.install)) {
@@ -7497,7 +7525,7 @@ If this is a native custom element, make sure to exclude it from component resol
7497
7525
  {
7498
7526
  for (let i = 0; i < container.attributes.length; i++) {
7499
7527
  const attr = container.attributes[i];
7500
- if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
7528
+ if (attr.name !== "v-cloak" && /^(?:v-|:|@)/.test(attr.name)) {
7501
7529
  warnDeprecation$1("GLOBAL_MOUNT_CONTAINER", null);
7502
7530
  break;
7503
7531
  }
@@ -10281,8 +10309,9 @@ If you want to remount the same app, move your app creation logic into a factory
10281
10309
  return emit$1(instance, event, args);
10282
10310
  }
10283
10311
  }
10312
+ const mixinEmitsCache = /* @__PURE__ */ new WeakMap();
10284
10313
  function normalizeEmitsOptions(comp, appContext, asMixin = false) {
10285
- const cache = appContext.emitsCache;
10314
+ const cache = asMixin ? mixinEmitsCache : appContext.emitsCache;
10286
10315
  const cached = cache.get(comp);
10287
10316
  if (cached !== void 0) {
10288
10317
  return cached;
@@ -10754,7 +10783,7 @@ If you want to remount the same app, move your app creation logic into a factory
10754
10783
  const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
10755
10784
  if (pendingBranch) {
10756
10785
  suspense.pendingBranch = newBranch;
10757
- if (isSameVNodeType(newBranch, pendingBranch)) {
10786
+ if (isSameVNodeType(pendingBranch, newBranch)) {
10758
10787
  patch(
10759
10788
  pendingBranch,
10760
10789
  newBranch,
@@ -10825,7 +10854,7 @@ If you want to remount the same app, move your app creation logic into a factory
10825
10854
  );
10826
10855
  setActiveBranch(suspense, newFallback);
10827
10856
  }
10828
- } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
10857
+ } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
10829
10858
  patch(
10830
10859
  activeBranch,
10831
10860
  newBranch,
@@ -10856,7 +10885,7 @@ If you want to remount the same app, move your app creation logic into a factory
10856
10885
  }
10857
10886
  }
10858
10887
  } else {
10859
- if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
10888
+ if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
10860
10889
  patch(
10861
10890
  activeBranch,
10862
10891
  newBranch,
@@ -12078,7 +12107,7 @@ Component that was made reactive: `,
12078
12107
  return instance.proxy;
12079
12108
  }
12080
12109
  }
12081
- const classifyRE = /(?:^|[-_])(\w)/g;
12110
+ const classifyRE = /(?:^|[-_])\w/g;
12082
12111
  const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
12083
12112
  function getComponentName(Component, includeInferred = true) {
12084
12113
  return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
@@ -12121,15 +12150,23 @@ Component that was made reactive: `,
12121
12150
  };
12122
12151
 
12123
12152
  function h(type, propsOrChildren, children) {
12153
+ const doCreateVNode = (type2, props, children2) => {
12154
+ setBlockTracking(-1);
12155
+ try {
12156
+ return createVNode(type2, props, children2);
12157
+ } finally {
12158
+ setBlockTracking(1);
12159
+ }
12160
+ };
12124
12161
  const l = arguments.length;
12125
12162
  if (l === 2) {
12126
12163
  if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
12127
12164
  if (isVNode(propsOrChildren)) {
12128
- return createVNode(type, null, [propsOrChildren]);
12165
+ return doCreateVNode(type, null, [propsOrChildren]);
12129
12166
  }
12130
- return createVNode(type, propsOrChildren);
12167
+ return doCreateVNode(type, propsOrChildren);
12131
12168
  } else {
12132
- return createVNode(type, null, propsOrChildren);
12169
+ return doCreateVNode(type, null, propsOrChildren);
12133
12170
  }
12134
12171
  } else {
12135
12172
  if (l > 3) {
@@ -12137,7 +12174,7 @@ Component that was made reactive: `,
12137
12174
  } else if (l === 3 && isVNode(children)) {
12138
12175
  children = [children];
12139
12176
  }
12140
- return createVNode(type, propsOrChildren, children);
12177
+ return doCreateVNode(type, propsOrChildren, children);
12141
12178
  }
12142
12179
  }
12143
12180
 
@@ -12347,7 +12384,7 @@ Component that was made reactive: `,
12347
12384
  return true;
12348
12385
  }
12349
12386
 
12350
- const version = "3.5.19";
12387
+ const version = "3.5.21";
12351
12388
  const warn = warn$1 ;
12352
12389
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12353
12390
  const devtools = devtools$1 ;
@@ -12738,7 +12775,7 @@ Component that was made reactive: `,
12738
12775
  type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION$1 : ANIMATION : null;
12739
12776
  propCount = type ? type === TRANSITION$1 ? transitionDurations.length : animationDurations.length : 0;
12740
12777
  }
12741
- const hasTransform = type === TRANSITION$1 && /\b(transform|all)(,|$)/.test(
12778
+ const hasTransform = type === TRANSITION$1 && /\b(?:transform|all)(?:,|$)/.test(
12742
12779
  getStyleProperties(`${TRANSITION$1}Property`).toString()
12743
12780
  );
12744
12781
  return {
@@ -12779,6 +12816,8 @@ Component that was made reactive: `,
12779
12816
  const vShowOriginalDisplay = Symbol("_vod");
12780
12817
  const vShowHidden = Symbol("_vsh");
12781
12818
  const vShow = {
12819
+ // used for prop mismatch check during hydration
12820
+ name: "show",
12782
12821
  beforeMount(el, { value }, { transition }) {
12783
12822
  el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display;
12784
12823
  if (transition && value) {
@@ -12812,9 +12851,6 @@ Component that was made reactive: `,
12812
12851
  setDisplay(el, value);
12813
12852
  }
12814
12853
  };
12815
- {
12816
- vShow.name = "show";
12817
- }
12818
12854
  function setDisplay(el, value) {
12819
12855
  el.style.display = value ? el[vShowOriginalDisplay] : "none";
12820
12856
  el[vShowHidden] = !value;
@@ -12893,7 +12929,7 @@ Component that was made reactive: `,
12893
12929
  }
12894
12930
  }
12895
12931
 
12896
- const displayRE = /(^|;)\s*display\s*:/;
12932
+ const displayRE = /(?:^|;)\s*display\s*:/;
12897
12933
  function patchStyle(el, prev, next) {
12898
12934
  const style = el.style;
12899
12935
  const isCssString = isString(next);
@@ -13260,11 +13296,10 @@ Expected function or array of functions, received type ${typeof value}.`
13260
13296
  }
13261
13297
 
13262
13298
  const REMOVAL = {};
13263
- /*! #__NO_SIDE_EFFECTS__ */
13264
13299
  // @__NO_SIDE_EFFECTS__
13265
13300
  function defineCustomElement(options, extraOptions, _createApp) {
13266
- const Comp = defineComponent(options, extraOptions);
13267
- if (isPlainObject(Comp)) extend(Comp, extraOptions);
13301
+ let Comp = defineComponent(options, extraOptions);
13302
+ if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
13268
13303
  class VueCustomElement extends VueElement {
13269
13304
  constructor(initialProps) {
13270
13305
  super(Comp, initialProps, _createApp);
@@ -13273,7 +13308,6 @@ Expected function or array of functions, received type ${typeof value}.`
13273
13308
  VueCustomElement.def = Comp;
13274
13309
  return VueCustomElement;
13275
13310
  }
13276
-
13277
13311
  const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
13278
13312
  return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);
13279
13313
  });
@@ -13737,7 +13771,7 @@ Expected function or array of functions, received type ${typeof value}.`
13737
13771
  if (e && e.target !== el) {
13738
13772
  return;
13739
13773
  }
13740
- if (!e || /transform$/.test(e.propertyName)) {
13774
+ if (!e || e.propertyName.endsWith("transform")) {
13741
13775
  el.removeEventListener("transitionend", cb);
13742
13776
  el[moveCbKey] = null;
13743
13777
  removeTransitionClass(el, moveClass);
@@ -14202,7 +14236,7 @@ Expected function or array of functions, received type ${typeof value}.`
14202
14236
  if (container.nodeType === 1) {
14203
14237
  for (let i = 0; i < container.attributes.length; i++) {
14204
14238
  const attr = container.attributes[i];
14205
- if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
14239
+ if (attr.name !== "v-cloak" && /^(?:v-|:|@)/.test(attr.name)) {
14206
14240
  compatUtils.warnDeprecation(
14207
14241
  "GLOBAL_MOUNT_CONTAINER",
14208
14242
  null
@@ -15806,7 +15840,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15806
15840
  return !currentOpenBracketCount && !currentOpenParensCount;
15807
15841
  };
15808
15842
  const isMemberExpression = isMemberExpressionBrowser ;
15809
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
15843
+ const fnExpRE = /^\s*(?:async\s*)?(?:\([^)]*?\)|[\w$_]+)\s*(?::[^=]+)?=>|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/;
15810
15844
  const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
15811
15845
  const isFnExpression = isFnExpressionBrowser ;
15812
15846
  function assert(condition, msg) {
@@ -17945,7 +17979,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17945
17979
  }
17946
17980
 
17947
17981
  const transformIf = createStructuralDirectiveTransform(
17948
- /^(if|else|else-if)$/,
17982
+ /^(?:if|else|else-if)$/,
17949
17983
  (node, dir, context) => {
17950
17984
  return processIf(node, dir, context, (ifNode, branch, isRoot) => {
17951
17985
  const siblings = context.parent.children;
@@ -18532,7 +18566,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18532
18566
  );
18533
18567
  } else if (vElse = findDir(
18534
18568
  slotElement,
18535
- /^else(-if)?$/,
18569
+ /^else(?:-if)?$/,
18536
18570
  true
18537
18571
  /* allowEmpty */
18538
18572
  )) {
@@ -18544,7 +18578,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18544
18578
  break;
18545
18579
  }
18546
18580
  }
18547
- if (prev && isTemplateNode(prev) && findDir(prev, /^(else-)?if$/)) {
18581
+ if (prev && isTemplateNode(prev) && findDir(prev, /^(?:else-)?if$/)) {
18548
18582
  let conditional = dynamicSlots[dynamicSlots.length - 1];
18549
18583
  while (conditional.alternate.type === 19) {
18550
18584
  conditional = conditional.alternate;